Ansible的Jinja模板

Ansible的Jinja模板,ansible,jinja2,ansible-template,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

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

您应该使用
加入
过滤器,但在原始列表上,而不是在项目上:

User_Alias CDEADMIN = {{ cde_admins|join(', ') }}
只有上面的一行,没有用于-循环的