ansible.builtin.vars 查找 – 查找变量的模板化值
注意
此查找插件是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 vars
。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.vars
,以便轻松链接到插件文档并避免与可能具有相同查找插件名称的其他集合发生冲突。
摘要
检索 Ansible 变量的值。注意:仅返回顶级变量名称。
术语
参数 |
注释 |
---|---|
要查找的变量名称。 |
关键字参数
这描述了查找的关键字参数。这些是在以下示例中 key1=value1
、key2=value2
等值:lookup('ansible.builtin.vars', key1=value1, key2=value2, ...)
和 query('ansible.builtin.vars', key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
如果变量未定义,则返回什么。 如果未设置默认值,则如果任何变量未定义,则会导致错误。 |
备注
注意
当关键字和位置参数一起使用时,必须在关键字参数之前列出位置参数:
lookup('ansible.builtin.vars', term1, term2, key1=value1, key2=value2)
和query('ansible.builtin.vars', term1, term2, key1=value1, key2=value2)
示例
- 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
返回值
键 |
描述 |
---|---|
请求的变量的值。 返回:成功 |