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>

提示

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