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

注意

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

概要

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

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

术语

参数

注释

术语

字符串 / 必需

要查找的键。

关键字参数

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

提示

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