Доступ к значению dict в переменной из того же элемента списка в Ansible
Я использую Ansible для развертывания некоторых виртуальных машин, и у меня есть переменная списка, определяющая виртуальные машины. Мне интересно, могу ли я заставить один из элементов dict использовать другой в качестве переменной в одном и том же элементе списка. Например, скажем, у меня определена следующая переменная:
nodes:
- name: vm1
aliases:
- vm1
- vm1.local
- name: vm2
aliases:
- vm2
- vm2.local
Могу ли я вместо этого сделать что-то подобное?
nodes:
- name: vm1
aliases:
- "{{ name }}"
- "{{ name }}.local"
- name: vm2
aliases:
- "{{ name }}"
- "{{ name }}.local"
Я попробовал это и попробовал использовать"{{ nodes.0.name }}"
.
1 ответ
Нет, ты не можешь. Вам придется объединить строки во время выполнения. Например
- debug:
msg: "vm:{{ item.0 }} alias:{{ item.0 }}{{ item.1 }}"
with_subelements:
- "{{ nodes }}"
- aliases
vars:
nodes:
- name: vm1
aliases:
- ""
- ".local"
- name: vm2
aliases:
- ""
- ".local"
(не испытано)