ansible.builtin.config 查找 - 显示“解析后的”Ansible 选项值。

注意

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

概要

  • 检索 Ansible 配置设置的值,解析所有来源,从默认值、ansible.cfg、环境、CLI 和变量中解析,但不解析关键字。

  • 返回的值假定当前主机或 inventory_hostname 的上下文。

  • 可以使用 ansible-config list 查看全局可用设置,添加 -t all 以显示插件选项。

术语

参数

注释

术语

字符串 / 必需

要查找的选项。

关键字参数

这描述了查找的关键字参数。这些是在以下示例中 key1=value1key2=value2 等值:lookup('ansible.builtin.config', key1=value1, key2=value2, ...)query('ansible.builtin.config', key1=value1, key2=value2, ...)

参数

注释

on_missing

字符串

如果术语在配置中缺失,要采取的操作

选择

  • "error" (默认): 出现错误消息并引发致命信号

  • "skip": 静默忽略

  • "warn": 出现警告消息并继续

plugin_name

字符串

在 ansible-core 2.12 中添加

要检索其配置设置的插件的名称。

plugin_type

字符串

在 ansible-core 2.12 中添加

由“plugin_name”选项引用的插件的类型。

选择

  • "become"

  • "cache"

  • "callback"

  • "cliconf"

  • "connection"

  • "httpapi"

  • "inventory"

  • "lookup"

  • "netconf"

  • "shell"

  • "vars"

show_origin

布尔值

在 ansible-core 2.16 中添加

将其设置为返回值来自哪个配置子系统(默认值、配置文件、环境、CLI 或变量)。

选择

  • false

  • true

备注

注意

  • 当关键字和位置参数一起使用时,位置参数必须列在关键字参数之前:lookup('ansible.builtin.config', term1, term2, key1=value1, key2=value2)query('ansible.builtin.config', term1, term2, key1=value1, key2=value2)

  • 请注意,目前此查找无法考虑关键字或委托,因此对于支持关键字或受委托影响的选项,它充其量只是一个好的猜测或近似值。

示例

- name: Show configured default become user
  ansible.builtin.debug: msg="{{ lookup('ansible.builtin.config', 'DEFAULT_BECOME_USER')}}"

- name: print out role paths
  ansible.builtin.debug:
    msg: "These are the configured role paths: {{lookup('ansible.builtin.config', 'DEFAULT_ROLES_PATH')}}"

- name: find retry files, skip if missing that key
  ansible.builtin.find:
    paths: "{{lookup('ansible.builtin.config', 'RETRY_FILES_SAVE_PATH')|default(playbook_dir, True)}}"
    patterns: "*.retry"

- name: see the colors
  ansible.builtin.debug: msg="{{item}}"
  loop: "{{lookup('ansible.builtin.config', 'COLOR_OK', 'COLOR_CHANGED', 'COLOR_SKIP', wantlist=True)}}"

- name: skip if bad value in var
  ansible.builtin.debug: msg="{{ lookup('ansible.builtin.config', config_in_var, on_missing='skip')}}"
  var:
    config_in_var: UNKNOWN

- name: show remote user and port for ssh connection
  ansible.builtin.debug: msg={{q("ansible.builtin.config", "remote_user", "port", plugin_type="connection", plugin_name="ssh", on_missing='skip')}}

- name: show remote_tmp setting for shell (sh) plugin
  ansible.builtin.debug: msg={{q("ansible.builtin.config", "remote_tmp", plugin_type="shell", plugin_name="sh")}}

返回值

描述

返回值

任何

如果 show_origin 为 false(默认),则为配置中键的值的列表。

如果 show_origin 为 true,则可选地为 2 元素列表(值,来源)的列表。

返回:成功

作者

  • Ansible Core 团队

提示

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