a )g @s`ddlmZmZmZeZdZdZdZddl m Z m Z ddl m Z ddlmZGdd d eZd S) )absolute_importdivisionprint_functiona name: vars author: Ansible Core Team version_added: "2.5" short_description: Lookup templated value of variables description: - 'Retrieves the value of an Ansible variable. Note: Only returns top level variable names.' options: _terms: description: The variable names to look up. required: True default: description: - 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. a - 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 z] _value: description: - value of the variables requested. type: list elements: raw ) AnsibleErrorAnsibleUndefinedVariable) string_types) LookupBasec@seZdZdddZdS) LookupModuleNc Ks|dur||j_t|jdi}|j||d|d}g}|D]}t|ts`td|t|fzrz ||}WnJt yz|d|d|}Wnt yt d|Yn0Yn0| |jj |dd Wq>t y|dur| |nYq>0q>|S) NZ_available_variables)Z var_optionsZdirectdefaultz:Invalid setting identifier, "%s" is not a string, its a %sZhostvarsZinventory_hostnamez$No variable found with this name: %sT)Zfail_on_undefined) Z_templarZavailable_variablesgetattrZ set_optionsZ get_option isinstancerrtypeKeyErrorrappendtemplate) selfZtermsZ variableskwargsZmyvarsr retZtermvaluer?/usr/lib/python3.9/site-packages/ansible/plugins/lookup/vars.pyrunMs.        zLookupModule.run)N)__name__ __module__ __qualname__rrrrrr Ksr N)Z __future__rrrr Z __metaclass__Z DOCUMENTATIONZEXAMPLESZRETURNZansible.errorsrrZansible.module_utils.sixrZansible.plugins.lookuprr rrrrs'