ansible - 在ansible中从yaml文件导入变量
问题描述
我正在尝试从 yaml 文件导入变量并在角色中使用它们,但是我试图以我在角色中导入的任何任务文件也可以毫无问题地使用相同变量的方式导入变量。因此,简单来说,我正在尝试为多个角色或任务文件可以使用的变量创建一种存储库,并且可以保留该值。我从文档中找到的代码是:
include_vars:
dir: /projects/Variable_files
files_matching:
- default.yml
- debian.yml
name: default_vars
但我收到此错误:
错误!'include_vars' 不是 Play 的有效属性。该错误似乎在“/projects/wordpress.yml”中:第 2 行,第 3 列,但可能在文件中的其他位置,具体取决于确切的语法问题。
解决方案
破折号-
不见了。正确的语法是
- include_vars:
dir: /projects/Variable_files
files_matching: '^(.*).yml$'
name: default_vars
除此之外,参数files_matching
是一个带有正则表达式的字符串。例如^(.*).yml$
匹配所有扩展名为yml
. 请参阅include_vars。
可以使用first_found从列表中选择文件。例如,请参阅使用 Ansible 列出已安装包的通用方式。
尽管参数files_matching
应该是一个字符串,但列表也可以工作
- include_vars:
dir: /projects/Variable_files
files_matching:
- default.yml
- debian.yml
name: default_vars
推荐阅读
- android - 模拟器 kitkat API 级别 19 中的 Google Play 服务错误
- python - 使用beautifulsoup和python从html页面获取文本
- html - django 反向 url 命中相同的 url
- discord - 创建通道切换记录器
- simulation - 在 Anylogic 仿真中很难找到代理的当前位置
- c# - 使用 Cortana 的声音
- python - 使用python解析具有重复值键对的文本文件
- r - 如何将列表中的所有数据帧写入 csv(保留列表名称)?
- apache-spark - h2o-ai 中超级学习算法中的元学习算法问题
- swift - 在 cellforitem swift 中显示两种不同类型的单元格