10

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?

techraf
  • 64,883
  • 27
  • 193
  • 198
Ken J
  • 4,312
  • 12
  • 50
  • 86

2 Answers2

15

Here you are:

passwd:         compat{{ ' ldap' if ('passwd' in openldap_nsswitch) else ‘’ }}
techraf
  • 64,883
  • 27
  • 193
  • 198
3

Compat didn't work for me:

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

Also, I was doing this outside of ansible.

Brian C.
  • 6,455
  • 3
  • 32
  • 42