Now I want to iterate over this, say a get_url task:
`
name: Get the files depending on server name
get_url: src=http://some_host/{{ what to put here so I get each file for the server }}
when: “{{item.key}} in ansible_hostname”
with_dict: “{{ war_files }}”
`
IOW, if role is running in server1, it’ll download file1.war and file2.war; if running on server2, it downloads file1.war, fiel2.war, and file3.war. I know there’s probably other ways to do this, but I want to be able to do iterate through all the dictionary values in a single task.
I created a plugin for more complicated looping, which also covers your
problem. You can find the plugin here: https://github.com/felixfontein/ansible-dependentloop
With it, your problem could be solved as follows:
- name: Get the files depending on server name
get_url: src=http://some_host/{{ item.1 }}
when: "{{ item.0 }} in ansible_hostname"
with_dependent:
- "war_files.keys()"
- "war_files[item.0]"