小编pan*_*ohn的帖子

Ansible:如果满足某个条件,则有条件地在 vars 文件中定义变量

根据定义到 group_vars 中的变量的值(真/假),我试图在 vars 文件中定义一些变量。它们的值取决于组变量的值。

我当前的 var 文件如下所示:

{% if my_group_var %}
test:
   var1: value
   var2: value
   ...
   varn: value
{% else %}
test:
   var1: other_value
   var2: other_value
   ...
   varn: other_value
{% endif %}
Run Code Online (Sandbox Code Playgroud)

对于我的每一个角色,我都使用了一个定义在这个文件中的变量。

我的测试手册如下所示:

- name: blabla
  hosts: blabla
  vars_files:
     - <path>/test_vars.yml
  roles: blabla 
Run Code Online (Sandbox Code Playgroud)

运行剧本后我收到的错误是:

{% 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>"
Run Code Online (Sandbox Code Playgroud)

我在这里做一些愚蠢的事情还是什至不支持?我试图找到另一种定义这些变量的方法(我有很多),但我没有设法在这里得到一些功能。有什么建议?

automation ansible jinja

30
推荐指数
3
解决办法
8万
查看次数

标签 统计

ansible ×1

automation ×1

jinja ×1