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.