я их конечно понимаю, но хочется полностью понимать и применять у себя.
with_items:
"{{
(
(
groups['all']
| map('extract',hostvars)
| selectattr('rabbitmq_slave_of','defined')
| selectattr('rabbitmq_slave_of','equalto',(rabbitmq_slave_of | d(inventory_hostname, true)))
| map(attribute='inventory_hostname')
| list
)
+
[ rabbitmq_slave_of | ternary(rabbitmq_slave_of,inventory_hostname) ]
) | unique
}}"
node: "{{ hostvars[item]['rabbitmq_node_name'] | d('rabbit',True) }}"
Можно начать отсюда: https://docs.ansible.com/ansible/latest/playbook_guide/complex_data_manipulation.html
По возможности такие конструкции применять не надо, чтобы не горели уши, когда это будут читать последователи 😁 Лучше ввести лишнюю переменную-две.
Но тогда получается много переменных заполнять перед стартом)) Правильно я тут понимаю, это означает - если переменная rabbitmq_node_name не определена, то она будет ‘rabbit’ ? node: "{{ hostvars[item]['rabbitmq_node_name'] | d('rabbit',True) }}"
Обсуждают сегодня