Hello
As a part of another project, I have written a playbook:
Create it in Jinja. For example,
soarecords: |
{% for zone in zones %}
{{ zone }}:
{% for field in lookup('dig', zone, 'qtype=SOA')|split %}
{{ soafields[loop.index0] }}: {{ field }}
{% endfor %}
{% endfor %}
soarecords_dict: "{{ soarecords|from_yaml }}"
The next option is putting the iteration into one task. For example,
- set_fact:
soarecords_dict: "{{ soarecords_dict|d({})|
combine({item: _dict}) }}"
loop: "{{ zones }}"
vars:
_dict: "{{ dict(soafields|
zip(lookup('dig', item, 'qtype=SOA')|split)) }}"
Thank you, Vladimir. I’ve completely forgotten that ansible allows vars to be defined for a single task.