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 }}"

  # files_dicts: [
  #       {
  #           "file": "users",
  #           "path": "/etc/passwd"
  #       },
  #       {
  #           "file": "groups",
  #           "path": "/etc/group"
  #       }
  # ]
  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
