ansible.builtin.vars lookup – 查询变量的模板值

注意

此 lookup 插件是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 vars。但是,我们建议您使用完全限定的集合名称 (FQCN) ansible.builtin.vars,以便轻松链接到插件文档并避免与可能具有相同 lookup 插件名称的其他集合冲突。

概要

  • 检索 Ansible 变量的值。注意:仅返回顶级变量名称。

术语

参数

注释

术语

字符串 / 必需

要查找的变量名称。

关键字参数

这描述了 lookup 的关键字参数。这些是在以下示例中的值 key1=value1key2=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)

另请参阅

另请参阅

ansible.builtin.varnames lookup 插件

查找匹配的变量名称。

示例

- 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

返回值

描述

返回值

列表 / 元素=任意

请求的变量的值。

返回:成功

作者

  • Ansible核心团队

提示

每种条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。