ansible常用模块 -- include_vars模块 -- 从文件中动态加载变量
include_vars模块 – 从文件中动态加载变量
一、摘要
- 在任务运行时,递归地从文件或目录动态加载YAML/JSON变量。
- 如果加载一个目录,文件在加载之前会按字母顺序排序。
- Windows目标也支持此模块。
- 要将包含的变量分配给与inventory_hostname不同的主机,请使用delegate_to并设置delegate_facts=yes。
二、参数
参数 | 选项/默认值 | 描述 |
---|---|---|
depth integer | Default: 0 | 当使用dir时,默认情况下,这个模块将递归地遍历每个子目录并加载变量。通过显式设置深度,这个模块将只执行与深度相同的深度。 |
dir path | 应该从其中加载变量的目录名。 如果路径是相对的,并且任务在角色中,它将在角色的vars/子目录中查找。 如果路径是相对的,并且不在角色内部,那么它将相对于剧本进行解析。 | |
extensions list | Default: [“json”, “yaml”, “yml”] | 使用dir时要读取的文件扩展名列表。 |
file path | 应该从中加载变量的文件名。 如果路径是相对的,它将在角色或相对于playbook的vars/子目录中查找文件。 | |
files_matching string | 将任何目录中加载的文件限制为此正则表达式。 | |
free-form | 这个模块允许你直接指定’file’选项,而不需要任何其他选项。 没有“自由形式”选项,这只是一个指示,参见下面的例子。 | |
ignore_files list | 要忽略的文件名列表。 | |
ignore_unknown_extensions boolean | · no ← · yes | 忽略目录中未知的文件扩展名。 这允许用户指定一个包含vars文件的目录,这些文件与非vars文件扩展类型混合在一起(例如,一个目录中有一个README和vars文件)。 |
name string | 将包含的变量赋值到其中的变量的名称。 如果省略(null),它们将成为顶级变量。 |
三、示例
官方文档:https://docs.ansible.com/ansible/2.9/modules/include_vars_module.html#include-vars-module