blob: 86788f310791be546fffbfd2559e6da81c7b2ca6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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} | combine({'b':3, 'c':4}) }}
many: "{{ dict1 | combine(dict2, dict3, dict4) }}"
RETURN:
_value:
description: Resulting merge of supplied dictionaries.
type: dict
|