Я думаю, вы можете сгенерировать свой список через модуль ec2_instance_info, а затем l oop через этот список в шаблоне. Таким образом, задачи будут:
- name: grab private ip from ec2
ec2_instance_info:
filter:
"tag:some_tag_key": "some_tag_value"
register: ec2_instance_info
- name:
set_fact:
public_ip_addresses: "{{ ec2_instnace_info | json_query('instances[].public_ip_address') }}"
- name: loop though private ips in template
template:
src: template_file.j2
dest: destination
Шаблон jinja будет:
{% for public_ip_address in public_ip_addresses %}
node {
name "O=texas,L=Huston,C=USA"
p2pPort 10008
rpcSettings {
address("{{ public_ip_address }}:10009")
adminAddress("{{ public_ip_address }}:10010")
}
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
{% endfor %}
Я не проверял, но теоретически я думаю, что он будет работать.