根据在group_vars中定义的变量的值(真/假),我尝试在vars文件中定义一些变量。它们的值取决于var组的值。
我当前的var文件如下所示:
{% if my_group_var %}
test:
var1: value
var2: value
...
varn: value
{% else %}
test:
var1: other_value
var2: other_value
...
varn: other_value
{% endif %}
对于我的每个角色,我都使用在此文件中定义的变量。
我的测试剧本如下所示:
- name: blabla
hosts: blabla
vars_files:
- <path>/test_vars.yml
roles: blabla
运行剧本后收到的错误是:
{% if my_group_var %}
^ here
exception type: <class 'yaml.scanner.ScannerError'>
exception: while scanning for the next token
found character that cannot start any token
in "<unicode string>"
我在这里做蠢事还是不支持?我试图找到另一种定义这些var的方法(我有很多),但是我没有在这里得到一些功能。有什么建议么?
test
是组依赖的,则应将其放入group_vars中。
template
模块调用的一部分,则这可能是不必要的。