Beim Erstellen einer neuen Ansible-Rolle erstellt die Vorlage sowohl vars
ein defaults
Verzeichnis als auch ein Verzeichnis mit einer leeren main.yml
Datei. Bei der Definition meiner Rolle kann ich Variablendefinitionen in eine dieser Rollen einfügen, die in meinen Aufgaben verfügbar sind.
Was ist der Unterschied zwischen dem Einfügen der Definitionen in defaults
und vars
? Was soll hineingehen defaults
und was soll hineingehen vars
? Ist es sinnvoll, beide für dieselben Daten zu verwenden?
Ich weiß, dass es einen Unterschied in der Priorität / Priorität zwischen den beiden gibt, aber ich würde gerne verstehen, was wohin gehen soll.
Angenommen, meine Rolle würde eine Liste von Verzeichnissen auf dem Zielsystem erstellen. Ich möchte eine Liste der zu erstellenden Standardverzeichnisse bereitstellen, möchte dem Benutzer jedoch erlauben, diese bei Verwendung der Rolle zu überschreiben.
So würde das aussehen:
---
- directories:
- foo
- bar
- baz
Ich könnte dies entweder in die defaults/main.yml
oder in die setzen vars/main.yml
, aus Sicht der Ausführung würde es keinen Unterschied machen - aber wohin sollte es gehen?
defaults
und wasvars
weiter unten eingegeben werden soll.