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 |
---|---|
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 |
---|---|
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)
See Also
See also
- ansible.builtin.varnames lookup plugin
Lookup matching variable names.
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="{{ q('vars', 'variabl' + myvar) }}"
ignore_errors: True
vars:
variablename: hello
myvar: notename
- name: find several related variables
ansible.builtin.debug: msg="{{ query('ansible.builtin.vars', 'ansible_play_hosts', 'ansible_play_batch', 'ansible_play_hosts_all') }}"
- name: show values from variables found via varnames (note "*" is used to dereference the list to a 'list of arguments')
debug: msg="{{ q('vars', *q('varnames', 'ansible_play_.+')) }}"
- 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 |
---|---|
value of the variables requested. Returned: success |