2016-07-28 3 views
0

Ich möchte die gleiche Ansible Vorlage in zwei verschiedene Dateien schreiben, eine mit einem Wert in der Datei auf True gesetzt, und die andere mit einem Wert auf False gesetzt.Schreiben Sie dieselbe Vorlage in zwei verschiedene Dateien und ändern Sie einen Wert

Was ist der beste Weg, dies zu tun? Mein Instinkt war zu versuchen, einen Wert in der template: Richtlinie zu übergeben. Jedoch, it seems like this is frowned upon.

Ein Weg wäre, zwei verschiedene jinja-Dateien mit fast vollständig demselben Inhalt zu haben; Einer hat den Wert True und der andere False.

Eine andere Möglichkeit wäre, eine Variable zu definieren, eine Vorlage zu schreiben, dann set_fact zu verwenden, um den Wert der Variablen zu ändern, und dann die zweite Datei zu schreiben. Dies erscheint auch ein wenig umständlich.

Eine andere wäre, die Vorlage zu erkennen, welcher Dateiname es gerendert wird, irgendwie? Und verzweige in der darauf basierenden Vorlage.

Ich muss etwas offensichtlich fehlen.

+0

Mögliche Duplikat (http://stackoverflow.com/questions/31142369/how-to-use-template-modul-mit-verschiedenen-set-of-variables) –

Antwort

0

Mit ansible 2.x können Sie vars: mit Aufgaben verwenden: [? Wie Template-Modul mit anderen Satz von Variablen verwenden]

--- 
- hosts: localhost 
    tasks: 
    - template: src=my_template.j2 dest=out1.txt 
     vars: 
     name: John 
    - template: src=my_template.j2 dest=out2.txt 
     vars: 
     name: Jane 
Verwandte Themen