%PDF- %PDF-
| Direktori : /lib/python3.9/site-packages/ansible/plugins/filter/ |
| Current File : //lib/python3.9/site-packages/ansible/plugins/filter/combine.yml |
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