Print string when "item exists in a list" in Jinja2 template
17,986
Solution 1
Here you are:
passwd: compat{{ ' ldap' if ('passwd' in openldap_nsswitch) else ‘’ }}
Solution 2
Compat didn't work for me:
{% if is in('passwd', openldap_nsswitch) %} ldap {% endif %}
Also, I was doing this outside of ansible.
Author by
Ken J
Updated on June 09, 2022Comments
-
Ken J almost 2 years
I'm trying to populate nsswitch.conf with values that are determined from a list. The list is of string:
openldap_nsswitch: - group - hosts - passwd - shadow
If the string is in the list I want to output something in the template.
passwd: compat {% if openldap_nsswitch contains passwd %}ldap{% endif %}
How can I write a string only if my list contains a specific element?