
저는 Ansible을 사용하여 일부 가상 머신을 배포하고 있으며 VM을 정의하는 목록 변수가 있습니다. 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"
(검증되지 않은)