Ansible
從 Ansible 中的同一列表項訪問變數中的 dict 值
我正在使用 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 }}"
.
不,你不能。您必須在執行時連接字元串。例如
- debug: msg: "vm:{{ item.0 }} alias:{{ item.0 }}{{ item.1 }}" with_subelements: - "{{ nodes }}" - aliases vars: nodes: - name: vm1 aliases: - "" - ".local" - name: vm2 aliases: - "" - ".local"
(未測試)