|
Server : LiteSpeed System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : elvh3918 ( 1528) PHP Version : 8.2.31 Disable Function : mail Directory : /lib/python3.9/site-packages/ansible/plugins/filter/ |
DOCUMENTATION:
name: combine
version_added: "2.0"
short_description: combine two dictionaries
description:
- Create a dictionary (hash/associative array) as a result of merging existing dictionaries.
positional: _input, _dicts
options:
_input:
description: First dictionary to combine.
type: dict
required: true
_dicts: # TODO: this is really an *args so not list, but list ref
description: The list of dictionaries to combine.
type: list
elements: dictionary
required: true
recursive:
description: If C(True), merge elements recursively.
type: bool
default: false
list_merge:
description: Behavior when encountering list elements.
type: str
default: replace
choices:
replace: overwrite older entries with newer ones
keep: discard newer entries
append: append newer entries to the older ones
prepend: insert newer entries in front of the older ones
append_rp: append newer entries to the older ones, overwrite duplicates
prepend_rp: insert newer entries in front of the older ones, discard duplicates
EXAMPLES: |
# 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) }}"
RETURN:
_value:
description: Resulting merge of supplied dictionaries.
type: dict