Beim Erstellen einer neuen Ansible-Rolle erstellt die Vorlage sowohl varsein defaultsVerzeichnis als auch ein Verzeichnis mit einer leeren main.ymlDatei. 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 defaultsund vars? Was soll hineingehen defaultsund 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.ymloder in die setzen vars/main.yml, aus Sicht der Ausführung würde es keinen Unterschied machen - aber wohin sollte es gehen?
defaultsund wasvarsweiter unten eingegeben werden soll.