ansible.builtin.dict lookup – returns key/value pair items from dictionaries
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
dict
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.
New in Ansible 1.5
Synopsis
Takes dictionaries as input and returns a list with each item in the list being a dictionary with ‘key’ and ‘value’ as keys to the previous dictionary’s structure.
Terms
Parameter |
Comments |
---|---|
A list of dictionaries |
Examples
vars:
users:
alice:
name: Alice Appleworth
telephone: 123-456-7890
bob:
name: Bob Bananarama
telephone: 987-654-3210
tasks:
# with predefined vars
- name: Print phone records
ansible.builtin.debug:
msg: "User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
loop: "{{ lookup('ansible.builtin.dict', users) }}"
# with inline dictionary
- name: show dictionary
ansible.builtin.debug:
msg: "{{item.key}}: {{item.value}}"
with_dict: {a: 1, b: 2, c: 3}
# Items from loop can be used in when: statements
- name: set_fact when alice in key
ansible.builtin.set_fact:
alice_exists: true
loop: "{{ lookup('ansible.builtin.dict', users) }}"
when: "'alice' in item.key"
Return Value
Key |
Description |
---|---|
list of composed dictonaries with key and value Returned: success |
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.