Question:
I’m trying to check if the version supplied is a valid supported version. I’ve set the list of acceptable versions in a variable, and I want to fail out of the task if the supplied version is not in the list. However, I’m unsure of how to do that.
1 2 3 4 |
#/role/vars/main.yml --- acceptable_versions: [2, 3, 4] |
and
1 2 3 4 5 6 7 8 9 |
#/role/tasks/main.yml --- - fail: msg: "unsupported version" with_items: "{{acceptable_versions}}" when: "{{item}} != {{version}}" - name: continue with rest of tasks... |
Above is sort of what I want to do, but I haven’t been able to figure out if there’s a one line way to construct a “list contains” call for the fail module.
Answer:
You do not need {{}}
in when conditions. What you are searching for is:
1 2 3 |
- fail: msg="unsupported version" when: version not in acceptable_versions |