在Ansible中,可以使用with_dict
迭代复杂字典。下面是一个示例解决方案:
假设有一个复杂的字典my_dict
,其中包含多个层级的嵌套字典。我们想要迭代它,并打印每个字典中的键和值。
---
- name: 迭代复杂字典
hosts: localhost
vars:
my_dict:
key1: value1
key2:
subkey1: subvalue1
subkey2: subvalue2
tasks:
- name: 迭代字典
debug:
msg: "键: {{ item.key }}, 值: {{ item.value }}"
with_dict: "{{ my_dict }}"
在这个示例中,我们定义了一个名为my_dict
的复杂字典。然后,在with_dict
中迭代该字典,并使用debug
模块打印每个字典的键和值。
运行这个Ansible playbook,将会得到以下输出:
TASK [迭代字典] *****************************************************************
ok: [localhost] => (item={'key': 'key1', 'value': 'value1'}) => {
"msg": "键: key1, 值: value1"
}
ok: [localhost] => (item={'key': 'key2', 'value': {'subkey1': 'subvalue1', 'subkey2': 'subvalue2'}}) => {
"msg": "键: key2, 值: {'subkey1': 'subvalue1', 'subkey2': 'subvalue2'}"
}
可以看到,我们成功迭代了复杂字典,并打印了每个字典中的键和值。
下一篇:Ansible如何给变量赋值?