New lookup plugin : ini. Can handle ini file and java properties file.

Can also read a list of value in a section using regexp.
This commit is contained in:
Yannig Perre 2015-05-27 21:51:20 +02:00
commit c2968d6d84
4 changed files with 150 additions and 0 deletions

View file

@ -0,0 +1,24 @@
[global]
# A comment
value1=Text associated with value1 and global section
value2=Same for value2 and global section
value.dot=Properties with dot
field.with.space = another space
[section1]
value1=Another value for section1
# No value2 in this section
[value_section]
value1=1
value2=2
value3=3
other1=4
other2=5
[other_section]
value1=1
value2=2
value3=3
other1=4
other2=5

View file

@ -0,0 +1,5 @@
# A comment
value1=Text associated with value1
value2=Same for value2
value.dot=Properties with dot
field.with.space = another space

View file

@ -0,0 +1,29 @@
---
- name: "Lookup test"
hosts: "localhost"
# connection: local
tasks:
- name: "read properties value"
set_fact:
test1: "{{lookup('ini', 'value1 type=properties file=lookup.properties')}}"
test2: "{{lookup('ini', 'value2 type=properties file=lookup.properties')}}"
test_dot: "{{lookup('ini', 'value.dot type=properties file=lookup.properties')}}"
field_with_space: "{{lookup('ini', 'field.with.space type=properties file=lookup.properties')}}"
- debug: var={{item}}
with_items: [ 'test1', 'test2', 'test_dot', 'field_with_space' ]
- name: "read ini value"
set_fact:
value1_global: "{{lookup('ini', 'value1 section=global file=lookup.ini')}}"
value2_global: "{{lookup('ini', 'value2 section=global file=lookup.ini')}}"
value1_section1: "{{lookup('ini', 'value1 section=section1 file=lookup.ini')}}"
- debug: var={{item}}
with_items: [ 'value1_global', 'value2_global', 'value1_section1' ]
- name: "read ini value with section and regexp"
set_fact:
value_section: "{{lookup('ini', 'value[1-2] section=value_section file=lookup.ini re=true')}}"
other_section: "{{lookup('ini', 'other[1-2] section=other_section file=lookup.ini re=true')}}"
- debug: var={{item}}
with_items: [ 'value_section', 'other_section' ]
- name: "Reading unknown value"
set_fact:
value2_section2: "{{lookup('ini', 'value2 section=section1 file=lookup.ini')}}"