我正在尝试更新主机变量中的字典,并且密钥的名称是使用变量(节点)构造的。例如,如果 'node' 为 1,那么我想更新 hostvars['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 上下文中并且在访问变量时不应该使用额外的分隔符。