ansible.builtin.items lookup – list of items

Note

This lookup plugin is part of ansible-core and included in all Ansible installations. In most cases, you can use the short plugin name items even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same lookup plugin name.

Synopsis

  • this lookup returns a list of items given to it, if any of the top level items is also a list it will flatten it, but it will not recurse

Parameters

Parameter

Comments

_terms

string / required

list of items

Notes

Note

  • this is the standard lookup used for loops in most examples

  • check out the ‘flattened’ lookup for recursive flattening

  • if you do not want flattening nor any other transformation look at the ‘list’ lookup.

Examples

- name: "loop through list"
  debug:
    msg: "An item: {{ item }}"
  with_items:
    - 1
    - 2
    - 3

- name: add several users
  user:
    name: "{{ item }}"
    groups: "wheel"
    state: present
  with_items:
     - testuser1
     - testuser2

- name: "loop through list from a variable"
  debug:
    msg: "An item: {{ item }}"
  with_items: "{{ somelist }}"

- name: more complex items to add several users
  user:
    name: "{{ item.name }}"
    uid: "{{ item.uid }}"
    groups: "{{ item.groups }}"
    state: present
  with_items:
     - { name: testuser1, uid: 1002, groups: "wheel, staff" }
     - { name: testuser2, uid: 1003, groups: staff }

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key

Description

_raw

list / elements=string

once flattened list

Returned: success

Authors

  • Michael DeHaan

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.