Jinja模仿Ansible

时间:2017-10-05 20:39:14

标签: ansible jinja2 ansible-template

我有一个模板,可以对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的末尾添加逗号?

1 个答案:

答案 0 :(得分:1)

您应该使用join过滤器,但要使用原始列表,而不是项目:

User_Alias CDEADMIN = {{ cde_admins|join(', ') }}

仅上述行,没有for - 循环。