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/CAN3s8zYTJPTS-AoxnWH%2B_31F2Hy4sxJH%2BYYtuZ_jd9677v%2BBJA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to