---# Site-specific vars
level1: level2: - _type: listType1 _instance: 1 level3: level4: - "theImportanStuff1" - "theImportanStuff2" - _type: notListType1 _instance: 1 level3: level4: - "notImportanStuff1" - "notImportanStuff2"# TEST FILE# Insert Info Here6{% for item in [level1.level2|selectattr('_type','match','listType1')|selectattr('level3.level4') | list ] %}myInfo: {{ item }}{% endfor %}
---- name: set set_fact: testit: "{{level1.level2|selectattr('_type','match','listType1')| map(attribute='level3') | join (', ') }}"
- debug: msg="{{ testit }}"
- name: set2 set_fact: testit2: "{{level1.level2|selectattr('_type','match','listType1')| list }}"
- debug: msg="{{ testit2 }}"
- name: set3 set_fact: testit3: "{{level1.level2|selectattr('_type','match','listType1') }}"
- debug: msg="{{ testit3 }}"
# tasks file for ansible-role snmp- name: "Gather OS specific variables" include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution|lower }}-{{ ansible_distribution_version }}.yml" - "{{ ansible_distribution|lower }}.yml" - "{{ ansible_os_family|lower }}.yml"
- name: Copy TEST configuration file template: src: test.conf.j2 dest: /root/test.conf mode: 0600 owner: root group: root---- name: set set_fact: testit: "{{level1.level2|selectattr('_type','match','listType1')| map(attribute='level3') | join (', ') }}"
- debug: msg="{{ testit }}"
- name: set2 set_fact: testit2: "{{level1.level2|selectattr('_type','match','listType1')| list }}"
- debug: msg="{{ testit2 }}"
- name: set3 set_fact: testit3: "{{level1.level2|selectattr('_type','match','listType1') }}"
- debug: msg="{{ testit3 }}"
# tasks file for ansible-role snmp- name: "Gather OS specific variables" include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution|lower }}-{{ ansible_distribution_version }}.yml" - "{{ ansible_distribution|lower }}.yml" - "{{ ansible_os_family|lower }}.yml"
- name: Copy TEST configuration file template: src: test.conf.j2 dest: /root/test.conf mode: 0600 owner: root group: rootPLAY [Test-c7-1] ******************************************************************************************************************************************************************
TASK [Gathering Facts] ************************************************************************************************************************************************************ok: [Test-c7-1]
TASK [john.test : set] ************************************************************************************************************************************************************ok: [Test-c7-1]
TASK [john.test : debug] **********************************************************************************************************************************************************ok: [Test-c7-1] => { "msg": { "level4": [ "theImportanStuff1", "theImportanStuff2" ] }}
TASK [john.test : set2] ***********************************************************************************************************************************************************ok: [Test-c7-1]
TASK [john.test : debug] **********************************************************************************************************************************************************ok: [Test-c7-1] => { "msg": [ { "_instance": 1, "_type": "listType1", "level3": { "level4": [ "theImportanStuff1", "theImportanStuff2" ] } } ]}
TASK [john.test : set3] ***********************************************************************************************************************************************************ok: [Test-c7-1]
TASK [john.test : debug] **********************************************************************************************************************************************************ok: [Test-c7-1] => { "msg": "<generator object _select_or_reject at 0x1aa9730>"}
TASK [john.test : Gather OS specific variables] ***********************************************************************************************************************************ok: [Test-c7-1] => (item=/etc/ansible/roles/john.test/vars/redhat.yml)
TASK [john.test : Copy TEST configuration file] ***********************************************************************************************************************************ok: [Test-c7-1]
PLAY RECAP ************************************************************************************************************************************************************************Test-c7-1 : ok=9 changed=0 unreachable=0 failed=0
{% for item in level1.level2|selectattr('_type','match','listType1') %}
{% for item2 in item.level3.level4 %}
myInfo: {{ item2 }}
{% endfor %}
{% endfor %}