
Ansible を使用して仮想マシンをいくつかデプロイしており、VM を定義するリスト変数があります。辞書項目の 1 つで、同じリスト要素内の変数として別の項目を使用できるかどうか知りたいです。たとえば、次の変数が定義されているとします。
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"
(未検証)