Ansible
在 Ansible 中使用變數構造字典鍵
我正在嘗試更新主機變數中的字典,並且密鑰的名稱是使用變數(節點)構造的。例如,如果“節點”為 1,那麼我想更新主機變數
$$ ‘fakehost’ $$$$ ‘mydict’ $$$$ ’localaddress1’ $$. 這是我的程式碼:
- name: Read IPv4 of first interface add_host: name: "fakehost" telium: "{{ hostvars['fakehost']['mydict'] | combine ({ 'localaddress{{ node }}' : ansible_all_ipv4_addresses[0] }) }}"
我不知道如何用 ansible 抱怨語法來構造 localaddress{{node}} 。
不要嵌套鬍鬚 (
{{ }}
)。一旦你在一個表達式中,你就已經在一個 Jinja 上下文中並且在訪問變數時不應該使用額外的分隔符。telium: "{{ hostvars['fakehost']['mydict'] | combine ({ 'localaddress' ~ node: ansible_all_ipv4_addresses[0] }) }}