Я получаю разные выходные данные, используя тот же метод в отладке против set_fact.
- name: Get EC2 instances
ec2_instance_facts:
filters:
"tag:Name": "{{ item }}"
loop:
- value
- value
register: servers
- debug:
msg: "{{ item.instances | map(attribute='private_ip_address') | list }}"
loop: "{{ servers.results }}"
- name: Set the private IPs list
set_fact:
private_ips: "{{ item.instances | map(attribute='private_ip_address') | list }}"
loop: "{{ servers.results }}"
- debug:
var: private_ips
В начальном цикле ec2_instance_facts выводятся 6 экземпляров. Во время цикла отладки для получения частных IP-адресов все 6 IP-адресов выводятся, хотя и в 2 отдельных блока (я предполагаю, что из начального цикла - 2 выводятся в первом блоке, а затем в оставшиеся 4).
Однако при использовании set_fact я получаю только первые 2 IP-адреса. Я предполагаю, что делаю это более трудным, чем это должно быть, и это нужно делать правильно, используя первый цикл, но я застрял.