У меня есть роль Ansible, которая использует переменные: connection_name, connection_ip и т. Д. Для создания соединения.
В моих файлах hosts у меня могло быть множество «соединений», и я определил его каксловарь списков:
host_file:
hosts:
host_one:
domain: one
ip: 172.18.1.1
connection:
- connection_name: two
connection_ip: 172.18.1.2
- connection_index: three
local_hub_ip: 172.18.1.3
host_two:
domain: two
ip: 172.18.1.2
host_three:
domain: three
ip: 172.18.1.3
Как передать каждый объект «подключения» в мою роль Ansible, чтобы он мог использовать вложенные переменные «имя_соединения» и «имя_соединения»?Я попытался использовать «with_items» и «with_dict» следующим образом:
---
- name: Creating new connection
hosts: "{{ host_name }}"
gather_facts: no
become: yes
remote_user: "{{ user | default('root')}}"
tasks:
- include_role:
name: connection-create
with_items: "{{connection}}"
Но я получаю «FAILED: имя_соединения не определено», потому что оно передается в объекте как {"connection_name": two, "connection_ip": 172.18.1.2} вместо внутренней части" имя_соединения ": два," имя_соединения ": 172.18.1.2 без {}.