在Jinja2模板中“项目存在于列表中”时打印字符串

时间:2017-11-28 22:47:07

标签: ansible jinja2 ansible-template

我正在尝试使用从列表中确定的值填充nsswitch.conf。列表是字符串:

openldap_nsswitch:
  - group
  - hosts
  - passwd
  - shadow

如果字符串在列表中,我想在模板中输出一些内容。

passwd:         compat {% if openldap_nsswitch contains passwd %}ldap{% endif %}

如果我的列表包含特定元素,我该如何编写字符串?

2 个答案:

答案 0 :(得分:4)

你在这里:

passwd:         compat{{ ' ldap' if ('passwd' in openldap_nsswitch) else ‘’ }}

答案 1 :(得分:0)

Compat不适用于我:

{% if is in('passwd', openldap_nsswitch) %} ldap {% endif %}

此外,我在ansible之外进行此操作。