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. However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.items 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

Terms

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"
  ansible.builtin.debug:
    msg: "An item: {{ item }}"
  with_items:
    - 1
    - 2
    - 3

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

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

- name: more complex items to add several users
  ansible.builtin.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 Value

Key

Description

Return value

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.