Вывести json вывод в Ansible и сохранить в списке? - PullRequest
1 голос
/ 04 марта 2020

Ansible playbook:

---
- task:-
  - code goes here

  - name: Trying to get instance Private IP from ASG
    ec2_instance_facts:
      instance_ids: 
         - "{{ item }}"
    with_items: "{{ INSTANCE_IDS_FROM_ASG }}"    
    register: instance_ids_result

  - set_fact:
      msg: "{{ instance_ids_result | json_query('results[*].instances[*].network_interfaces[*].private_ip_address') }} "

  - debug: var=msg

У меня есть следующий вывод:

ok: [localhost] => {
    "msg": [
        [
            "172.31.144.74"
        ],
        [
            "172.31.147.69"
        ]
    ]
}

Но мне нужен вывод в списке как ["172.31.144.74", "172.31.147.69"] или "172.31.147.69" "172.31.147.69".
Какой самый лучший способ напечатать это?

1 Ответ

1 голос
/ 05 марта 2020

Вы можете сгладить свой список, используя фильтр

  - set_fact:
  msg: "{{ instance_ids_result | json_query('results[*].instances[*].network_interfaces[*].private_ip_address') | flatten }} "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...