À l'aide de Vrai Faux avec Ansible Lorsque la Clause
Je suis en cours d'exécution dans les plus idiotes de problème.
Je ne peux pas comprendre comment faire pour tester le booléen dans un Ansible 2.2 fichier de tâche.
Dans vars/main.yml
, j'ai:
destroy: false
Dans le playbook, j'ai:
roles:
- {'role': 'vmdeploy','destroy': true}
Dans le fichier de tâche, j'ai le texte suivant:
- include: "create.yml"
when: "{{ destroy|bool }} == 'false'"
J'ai essayé différentes combinaisons ci-dessous:
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
Dans tous les cas ci-dessus, j'obtiens toujours:
statically included: .../vmdeploy/tasks/create.yml
Sortie de débogage:
- debug:
msg: "{{ destroy }}"
---
ok: [atlcicd009] => {
"msg": true
}
Le résultat souhaité, c'est qu'il serait ignorer les inclure.
OriginalL'auteur Simply Seth | 2016-09-22
Vous devez vous connecter pour publier un commentaire.
Pour exécuter une tâche lorsque
destroy
esttrue
:et quand
destroy
estfalse
:OriginalL'auteur techraf
Il n'est pas nécessaire d'utiliser le
bool
Jinja filtre lorsque la valeur de la variable est définie en vertu de l'hostvars.Ainsi, une simple
devrait pour l'astuce.
OriginalL'auteur Henrik Pingel
L'inclure arrivait avant le quand.
Donc je viens de faire l'inclure dynamique.
OriginalL'auteur Simply Seth