Ansible 的 Jinja 模板
Jinja templating for Ansible
我有一个模板可以对 sudoers 执行以下操作:
{% for a in cde_admins %}
User_Alias CDEADMIN = {{ a }}
{% endfor %}
我定义了变量:
cde_admins:
- foo
- bar
我正在寻找一种可以遍历循环并在 foo 之后添加 ,
的方法。所以它基本上看起来像这样当我 运行 Ansible:
User_Alias CDEADMIN = foo, bar
我尝试了一些方法,比如在 Jinja2 语法中添加 join(",")
,但所做的只是:
User_Alias CDEADMIN = f,o,o
User_Alias CDEADMIN = b,a,r
有人可以指出正确的方向来制作它所以它只是在 foo
的末尾添加一个逗号吗?
您应该使用 join
过滤器,但在原始列表上,而不是在项目上:
User_Alias CDEADMIN = {{ cde_admins|join(', ') }}
只有上面这行,没有for
循环。
我有一个模板可以对 sudoers 执行以下操作:
{% for a in cde_admins %}
User_Alias CDEADMIN = {{ a }}
{% endfor %}
我定义了变量:
cde_admins:
- foo
- bar
我正在寻找一种可以遍历循环并在 foo 之后添加 ,
的方法。所以它基本上看起来像这样当我 运行 Ansible:
User_Alias CDEADMIN = foo, bar
我尝试了一些方法,比如在 Jinja2 语法中添加 join(",")
,但所做的只是:
User_Alias CDEADMIN = f,o,o
User_Alias CDEADMIN = b,a,r
有人可以指出正确的方向来制作它所以它只是在 foo
的末尾添加一个逗号吗?
您应该使用 join
过滤器,但在原始列表上,而不是在项目上:
User_Alias CDEADMIN = {{ cde_admins|join(', ') }}
只有上面这行,没有for
循环。