Я запускаю несколько Ansible плейбуков в AWS, и у меня возникли трудности с тестовым файлом yaml. Цель файла yaml - запросить AWS список серверов с использованием фильтра и set_fact имени экземпляра, идентификатора экземпляра, размера экземпляра и частного IP.
Код, который у меня есть, возвращает только данные для первого узла в списке и повторяет строку отладки каждые 12 строк. Все остальные строки не показывают возвращенных данных. Я использую ec2_instance_info для получения различных данных об экземплярах.
Вот файл Ansible yaml
---
# This script gathers the Instance ID's et. al.
- name: Get EC2 Info
ec2_instance_info:
region: '{{ aws_region }}'
aws_access_key: "{{ lookup('ini', 'aws_access_key_id section=saml file=~/.aws/credentials') }}"
aws_secret_key: "{{ lookup('ini', 'aws_secret_access_key section=saml file=~/.aws/credentials') }}"
security_token: "{{ lookup('ini', 'aws_session_token section=saml file=~/.aws/credentials') }}"
filters:
"tag:Name": "test-envMan*"
register: Instance_ID
- name: Get Instance ID
debug:
msg: "{{ item.0 }} | {{ item.1 }} | {{ item.2 }} | {{ item.3 }}"
with_together:
- "{{ Instance_ID.instances | map(attribute='tags.Name') | list }}"
- "{{ Instance_ID.instances[0].instance_id }}"
- "{{ Instance_ID.instances[1].instance_type }}"
- "{{ Instance_ID.instances[2].private_ip_address }}"
- name: Gather and Save info
set_fact:
Tag_Name: "{{ Instance_ID.instances | map(attribute='tags.Name') | list }}"
Instance_ID: "{{ Instance_ID.instances[0].instance_id }}"
Instance_Size: "{{ Instance_ID.instances[1].instance_type }}"
Instance_PrivIP: "{{ Instance_ID.instances[2].private_ip_address }}"
Вывод показывает 12 строк вывода Ansible "ok" для каждого сервера. Первая строка которого включает вывод отладки ожидаемых полей для первого узла.
Итак, 1 строка вывода журнала «ok», затем строка отладки. Затем 11 строк журнала «ok» того же узла. Затем 1 строка вывода «ok» для второго узла, строка отладки для первого узла. et c.
Мне нужно выяснить, что я делаю неправильно и как заставить его себя вести.
Любые комментарии, предложения или указатели приветствуются.
Спасибо.