I knew I was missing something obvious. I totally blanked that you can use
straight Python in when. Duh. Thanks!


On Sat, Mar 8, 2014 at 7:23 AM, Christian Thiemann <[email protected]>wrote:

> Regular Python should work in this case:
>
>   when: myvariable in mylist
>
> You need to quote the whole condition if it starts with a literal string,
> though:
>
>   when: "'literal string' in mylist"
>
>
>
> On Saturday, March 8, 2014 1:54:24 PM UTC+1, David Adams wrote:
>>
>> My apologies if there's an obvious solution to this, but I've been unable
>> to find it.
>>
>> I have a list variable defined with some values, eg:
>>
>>     mylist:
>>       - aaa
>>       - bbb
>>       - ddd
>>
>> I need to execute a task conditionally based on whether the value of a
>> variable is a member of that list. In other words, if myvar is set to
>> "aaa", "bbb", or "ddd" I want to execute my task, but if it's set to
>> anything else the task should be skipped.
>>
>> When I ran into this, I expected to find a Jinja filter called something
>> like "contains" or "includes" such that I could do this:
>>
>>     tasks:
>>       - debug: msg="Found the value in mylist"
>>         when: mylist|contains(myvariable)
>>
>> But I haven't been able to find any filters that do this. I did come up
>> with this alternative solution:
>>
>>     tasks:
>>       - debug: msg="Found the value in mylist"
>>         when: mylist|intersect([myvariable])|count > 0
>>
>> But that feels really hacky and is hard to read at a glance. Is there a
>> Jinja filter I'm overlooking, or some better way to do this?
>>
>> Thanks!
>>
>> -dave
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/1bd3752e-fac8-4263-8cca-b0f20fe64229%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/1bd3752e-fac8-4263-8cca-b0f20fe64229%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAN3s8zZOdYC7OLfshs2e%2B3D5biy0G8opm7gfV1nV_9841W_uTQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to