I'm running into the silliest issue.
I cannot figure out how to test for boolean in an Ansible 2.2 task file.
In vars/main.yml
, I have:
destroy: false
In the playbook, I have:
roles:
- {'role': 'vmdeploy','destroy': true}
In the task file, I have the following:
- include: "create.yml"
when: "{{ destroy|bool }} == 'false'"
I've tried various combinations below:
when: "{{ destroy|bool }} == false"
when: "{{ destroy|bool }} == 'false'"
when: "{{ destroy|bool == false}}"
when: "{{ destroy == false}}"
when: "{{ destroy == 'false'}}"
when: destroy|bool == false
when: destroy|bool == 'false'
when: not destroy|bool
In all the above cases, I still get:
statically included: .../vmdeploy/tasks/create.yml
Debug output:
- debug:
msg: "{{ destroy }}"
---
ok: [atlcicd009] => {
"msg": true
}
The desired result, is that it would skip the include.
question from:
https://stackoverflow.com/questions/39640654/using-true-false-with-ansible-when-clause 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…