summaryrefslogtreecommitdiffstats
path: root/lib/ansible/plugins/filter/dict2items.yml
blob: aa51826aa094d0b82cf1f2d972928c4118c0a2c6 (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
45
DOCUMENTATION:
  name: dict2items
  author: Ansible core team
  version_added: "2.6"
  short_description: Convert a dictionary into an itemized list of dictionaries
  positional: _input, key_name, value_name
  description:
    - Takes a dictionary and transforms it into a list of dictionaries, with each having a
      C(key) and C(value) keys that correspond to the keys and values of the original.
  options:
    _input:
      description:
        - The dictionary to transform
      type: dict
      required: true
    key_name:
      description: The name of the property on the item representing the dictionary's keys.
      type: str
      default: key
      version_added: "2.8"
    value_name:
      description: The name of the property on the item representing the dictionary's values.
      type: str
      default: value
      version_added: "2.8"
  seealso:
    - plugin_type: filter
      plugin: ansible.builtin.items2dict

EXAMPLES: |

  # items => [ { "key": "a", "value": 1 }, { "key": "b", "value": 2 } ]
  items: "{{ {'a': 1, 'b': 2}| dict2items}}"

  vars:
    files:
      users: /etc/passwd
      groups: /etc/group
    files_dicts: "{{ files | dict2items(key_name='file', value_name='path') }}"

RETURN:
  _value:
    description: A list of dictionaries.
    type: list
    elements: dict