ansible.builtin.ini lookup – 从 ini 文件读取数据

注意

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

概述

  • ini 查找读取 INI 格式文件 key1=value1 的内容。此插件检索给定节 [section] 等号 '=' 右侧的值。

  • 您也可以读取属性文件,在这种情况下,它不包含节。

术语

参数

注释

术语

字符串 / 必需

要查找的键。

关键字参数

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

参数

注释

allow_no_value

别名:allow_none

布尔值

在 ansible-core 2.12 中添加

读取包含没有值且没有 ' =' 符号的键的 ini 文件。

选项

  • false ← (默认)

  • true

case_sensitive

字符串

在 ansible-core 2.12 中添加

file 读取的键名是否区分大小写。这可以防止由于键仅在大小写上有所不同而导致的重复键错误。

默认: false

default

字符串

如果键不在 ini 文件中,则返回值。

默认: ""

encoding

字符串

要使用的文本编码。

默认: "utf-8"

file

字符串

要加载的文件的名称。

默认: "ansible.ini"

interpolation

布尔值

在 ansible-core 2.18 中添加

允许对值进行插值,请参阅 https://docs.pythonlang.cn/3/library/configparser.html#configparser.BasicInterpolation

选项

  • false

  • true ← (默认)

re

布尔值

标志,指示提供的键是否是正则表达式。

选项

  • false ← (默认)

  • true

section

字符串

要在其中查找键的节。

默认: "global"

type

字符串

文件的类型。'properties' 指的是 Java 属性文件。

选项

  • "ini" ← (默认)

  • "properties"

说明

注意

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

另请参阅

另请参阅

任务路径

用于相对文件的搜索路径。

示例

- ansible.builtin.debug: msg="User in integration is {{ lookup('ansible.builtin.ini', 'user', section='integration', file='users.ini') }}"

- ansible.builtin.debug: msg="User in production  is {{ lookup('ansible.builtin.ini', 'user', section='production',  file='users.ini') }}"

- ansible.builtin.debug: msg="user.name is {{ lookup('ansible.builtin.ini', 'user.name', type='properties', file='user.properties') }}"

- ansible.builtin.debug:
    msg: "{{ item }}"
  loop: "{{ q('ansible.builtin.ini', '.*', section='section1', file='test.ini', re=True) }}"

- name: Read an ini file with allow_no_value
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.ini', 'user', file='mysql.ini', section='mysqld', allow_no_value=True) }}"

返回值

描述

返回值

列表 / 元素=字符串

ini 文件中键的值。

返回:成功

作者

  • Yannig Perre <yannig.perre(at)gmail.com>

提示

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