在Ansible中,可以使用combine
过滤器来合并列出的字典。以下是一个示例代码:
- name: Combine dictionaries
hosts: localhost
gather_facts: false
vars:
dict1:
key1: value1
key2: value2
dict2:
key2: updated_value
key3: value3
dict3:
key4: value4
key5: value5
tasks:
- name: Merge dictionaries
set_fact:
merged_dict: "{{ dict1 | combine(dict2, recursive=True) | combine(dict3, recursive=True) }}"
- name: Print merged dictionary
debug:
var: merged_dict
在上面的示例中,我们定义了三个字典dict1
,dict2
和dict3
,然后使用combine
过滤器将它们合并为一个名为merged_dict
的新字典。recursive=True
参数用于递归合并所有嵌套字典的键值对。
运行上述代码后,你将看到输出中的merged_dict
包含了所有三个字典的键值对。
上一篇:Ansible合并两个数组
下一篇:Ansible合并“复杂”字典