是否可以将 Ansible 中的 vars 文件动态包含到另一个 vars 文件中?
即我有 vars 文件:
---
definitions:
- { product: web_v2, suite: mysuite, include: default_step.yml }
- { product: prod2, suite: mysuite2, include: default_step.yml }
我希望将 default_step.yml
的内容添加到字典中。请注意,这是在 vars 文件中,因此有关如何从任务中包含 vars 文件的文档似乎不适用。
我能想到的就是用 jinja 模板化这个文件并使用它的 {% include %}
函数,然后在主任务中使用 include_vars
但那看起来很复杂...
最佳答案
不幸的是,vars 文件没有 include 语句。
您可以将所有变量放入definitions
字典中,或者将变量添加为同一文件中的另一个字典。
如果您不想将它们放在同一个文件中,可以通过在播放开始时添加 vars 文件将它们包含在剧本级别:
---
- hosts: myhosts
vars_files:
- default_step.yml
或在任务中:
---
- hosts: myhosts
tasks:
- name: include default step variables
include_vars: default_step.yml
关于ansible - 如何使用ansible将vars文件包含在vars文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746077/