在Ansible中,可以使用with_nested
模块来实现循环嵌套在一个字典中的操作。下面是一个示例代码:
- hosts: localhost
gather_facts: false
vars:
my_dict:
key1:
- value1
- value2
key2:
- value3
- value4
tasks:
- name: Nested Loop Example
debug:
msg: "Key: {{ item.0 }}, Value: {{ item.1 }}"
with_nested:
- "{{ my_dict.keys() }}"
- "{{ my_dict.values() | list }}"
在上面的示例中,我们定义了一个名为my_dict
的字典变量,并将其传递给with_nested
循环。with_nested
循环会遍历字典的键和值,然后将它们作为item.0
和item.1
传递给debug
模块。
运行上面的示例代码将输出:
TASK [Nested Loop Example] *******************************************************
ok: [localhost] => (item=['key1', ['value1', 'value2']]) => {
"msg": "Key: key1, Value: ['value1', 'value2']"
}
ok: [localhost] => (item=['key2', ['value3', 'value4']]) => {
"msg": "Key: key2, Value: ['value3', 'value4']"
}
如上所示,循环嵌套在一个字典中的键和值被正确迭代,并作为参数传递给debug
模块。
下一篇:Ansible循环嵌套字典