Ich versuche, Dinge so einfach wie möglich zu machen, wenn neue Sachen zu unseren Konfigurationsdateien in der Automatisierung hinzufügen und ich möchte es dynamisch aus der VARS-Datei generieren, ohne die Vorlage anpassen zu müssen jedes Mal, wenn eine neue Zeile benötigt wird.jinja2 Vorlage für ansible von vars gesteuert
Wir verwenden Rubin, also YAML formale Konfiguration. Ich dachte an so etwas wie dies mit:
{% for variable,value in example.iteritems() %}
{{ variable|lower() }}: "{{ value }}"
{% endfor %}
und in der Vars-Datei haben so etwas wie:
example:
host: whatever
pass: 123
port: 577
and so on
Dies funktioniert ohne Probleme, außer wenn ich eine weitere Vertiefung Schicht hinzufügen müssen.
example:
host: whatever
pass: 123
port: 577
domain:
somevalue: bla.com
othervalue: foo.com
Statt die gleiche Struktur in der Config zu erzeugen, es so etwas wie generieren:
domain: "{u'somevalue': u'bla.com', u'othervalue': u'foo.com'}"
Jede Art und Weise die gleiche Struktur und Inhalte wie zu halten in Vars-Datei?
Danke.
auch versucht, indem einfach hinzugefügt: {{Beispiel | to_nice_yaml}}, aber das führt dazu, dass der "domain" -Teil zuerst gedruckt wird, und zwar richtig eingerückt, aber der Rest ohne Einrückung. Wenn ich (Einrückung = 2, wahr) hinzufüge, wird alles korrekt eingerückt außer den Kindern aus der Domäne, die 4 Leerzeichen anstelle von 2 haben wird. – SeerKan