Antworten:
Ja, es ist möglich. Überprüfen Sie die Online-Dokumentation unter Zugriff auf komplexe variable Daten .
Um genau das zu tun, wird ein Beispiel bereitgestellt:
tasks:
- shell: echo "I've got '{{ foo }}' and am not afraid to use it!"
when: foo is defined
- fail: msg="Bailing out: this play requires 'bar'"
when: bar is not defined
Fügen Sie diese Zeile dem [defaults]Abschnitt Ihrer ansible.cfg hinzu:
error_on_undefined_vars = True
Sie erhalten jetzt eine Fehlermeldung, wenn eine Variable undefiniert ist.
Definieren Sie Ihre Variablen in
roles/<role_name>/defaults/main.yml
mögen:
SUPERVAR:
VAR1:foo
VAR2:bar
und dann rein
roles/<role_name>/tasks/main.yml
mögen:
- fail: msg="{{ item }} is not defined"
when: not {{ item }}
with_items:
- SUPERVAR.VAR1
- SUPERVAR.VAR2