ansible.builtin.combine 过滤器 – 合并两个字典
注意
此过滤器插件是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 combine。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.combine,以便轻松链接到插件文档并避免与可能具有相同过滤器插件名称的其他集合冲突。
概要
创建一个字典(哈希/关联数组),作为合并现有字典的结果。
输入
这描述了过滤器的输入,即 | ansible.builtin.combine 之前的值。
参数 |
注释 |
|---|---|
第一个要合并的字典。 |
位置参数
这描述了过滤器的 位置参数。这些是在以下示例中的 positional1、positional2 等值:input | ansible.builtin.combine(positional1, positional2, ...)
参数 |
注释 |
|---|---|
要合并的字典列表。 |
关键字参数
这描述了过滤器的关键字参数。这些是在以下示例中的 key1=value1、key2=value2 等值:input | ansible.builtin.combine(key1=value1, key2=value2, ...)
参数 |
注释 |
|---|---|
遇到列表元素时的行为。 选项
|
|
如果为 选项
|
备注
注意
当同时使用关键字参数和位置参数时,位置参数必须列在关键字参数之前:
input | ansible.builtin.combine(positional1, positional2, key1=value1, key2=value2)
示例
# ab => {'a':1, 'b':3, 'c': 4}
ab: {{ {'a':1, 'b':2} | ansible.builtin.combine({'b':3, 'c':4}) }}
many: "{{ dict1 | ansible.builtin.combine(dict2, dict3, dict4) }}"
# defaults => {'a':{'b':3, 'c':4}, 'd': 5}
# customization => {'a':{'c':20}}
# final => {'a':{'b':3, 'c':20}, 'd': 5}
final: "{{ defaults | ansible.builtin.combine(customization, recursive=true) }}"
返回值
键 |
描述 |
|---|---|
提供的字典的合并结果。 返回:成功 |
提示
每种条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。