【发布时间】:2020-01-25 17:57:56
【问题描述】:
我想在 ansible.xml 中动态包含 var 文件。动态意味着,用户可以提供一个列表作为额外变量,该列表将被转换为一个数组并定义要加载的文件。到目前为止这是可能的。让事情变得困难的是,这些文件将产生一个保存信息的对象。
这可以工作并加载文件夹中的所有文件,并根据那里指定的值创建一个变量(项目):
- name: Load project-specific Configuration
include_vars:
name: projects
dir: "{{project_vars_dir}}"
extensions:
- yml
为了达到我的目标并能够指定要加载的文件,我尝试了以下方法:
- name: Load project-specific Configuration (requested projects only)
include_vars:
name: projects
file: "{{project_vars_dir}}/{{item}}.yml"
with_items: "{{projectlist.split(',') | list}}"
我现在可以调用我的剧本并指定 --extra-vars,如下所示:--extra-vars projectlist=projectA,projectB
加载这些文件是可行的,但最后一个文件总是会覆盖项目变量。怎么组合呢?
在此先感谢
【问题讨论】: