Ansible include task nur wenn Datei existiert
Ich versuche, eine Datei nur einzuschließen, wenn sie existiert. Dies ermöglicht benutzerdefinierte "Aufgaben / Rollen" zwischen vorhandenen "Aufgaben / Rollen", wenn dies vom Benutzer meiner Rolle benötigt wird. Ich habe das gefunden
- include: ...
when: condition
Aber in den Ansible-Dokumenten heißt es:
"Alle Aufgaben werden ausgewertet, aber die Bedingung wird auf jede einzelne Aufgabe angewendet" -http: //docs.ansible.com/playbooks_conditionals.html#applying-when-to-roles-and-include
S
- stat: path=/home/user/optional/file.yml
register: optional_file
- include: /home/user/optional/file.yml
when: optional_file.stat.exists
Wird fehlschlagen, wenn die eingeschlossene Datei nicht existiert. Möglicherweise gibt es einen anderen Mechanismus, mit dem ein Benutzer einem vorhandenen Rezept Aufgaben hinzufügen kann. Ich kann nicht zulassen, dass der Benutzer eine Rolle nach meiner hinzufügt, da er nicht die Kontrolle über die Reihenfolge hat: Ihre Rolle wird nach meiner ausgeführt.