ansible.builtin.vars lookup – Lookup templated value of variables
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 vars
. However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.vars
for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same lookup plugin name.
Synopsis
- Retrieves the value of an Ansible variable. Note: Only returns top level variable names.
Terms
Parameter | Comments |
---|---|
Terms string / required | The variable names to look up. |
Keyword parameters
This describes keyword parameters of the lookup. These are the values key1=value1
, key2=value2
and so on in the following examples: lookup('ansible.builtin.vars', key1=value1, key2=value2, ...)
and query('ansible.builtin.vars', key1=value1, key2=value2, ...)
Parameter | Comments |
---|---|
default string | What to return if a variable is undefined. If no default is set, it will result in an error if any of the variables is undefined. |
Notes
Note
- When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters:
lookup('ansible.builtin.vars', term1, term2, key1=value1, key2=value2)
andquery('ansible.builtin.vars', term1, term2, key1=value1, key2=value2)
Examples
- name: Show value of 'variablename' ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar) }}" vars: variablename: hello myvar: ename - name: Show default empty since i dont have 'variablnotename' ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar, default='')}}" vars: variablename: hello myvar: notename - name: Produce an error since i dont have 'variablnotename' ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar)}}" ignore_errors: True vars: variablename: hello myvar: notename - name: find several related variables ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'ansible_play_hosts', 'ansible_play_batch', 'ansible_play_hosts_all') }}" - name: Access nested variables ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'variabl' + myvar).sub_var }}" ignore_errors: True vars: variablename: sub_var: 12 myvar: ename - name: alternate way to find some 'prefixed vars' in loop ansible.builtin.debug: msg="{{ lookup('ansible.builtin.vars', 'ansible_play_' + item) }}" loop: - hosts - batch - hosts_all
Return Value
Key | Description |
---|---|
Return value list / elements=any | value of the variables requested. Returned: success |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/vars_lookup.html