Ich versuche, zwei verschiedene Dateien mit einer Vorlage zu erstellen, da sie sich nur um eine Zeile unterscheiden.
file
{
"/tmp/bootstrap-raid.sh":
content => template("pxe/bootstrap.sh.erb"),
}
file
{
"/tmp/bootstrap-noraid.sh":
content => template("pxe/bootstrap.sh.erb"),
}
bootstrap.sh.erb:
<% if ??? == "???" %>
-r yes \
<% else %>
-r no \
<% end %>
Ich kann eine Variable nicht übergeben, indem $raid=yes file{} $raid=no file{}
ich sie zweimal so definiere, also habe ich versucht, die Variable in jeder Variablen file{}
ohne Aufwand zu definieren . dann habe ich darüber nachgedacht, den zieldateinamen in der vorlage zu verwenden, wie <% if filename == "/tmp/bootstrap-raid.sh" %>
es auch nicht möglich ist.
Funktionsweise Rufen Sie eine Vorlage zweimal mit verschiedenen "Parametern" auf.
Mein Ziel ist es, keine zusätzliche Funktion in der Manifestdatei zu definieren und aufzurufen oder zwei Vorlagen zu erstellen. irgendwelche Ideen?
Gibt es vordefinierte Standardvariablen in einer Vorlage wie den Dateinamen der Zieldatei, den Vorlagennamen, ...?
edit: ein anderes Beispiel wären zwei php.ini-Dateien wie in debian, eine für die Kommandozeile und eine für den Webserver. Ich möchte nur das Speicherlimit austauschen. Jeder Server benötigt jedoch beide php.ini-Dateien. Ich suche nach einer Möglichkeit, einen fest codierten Parameter an die Vorlagendatei zu übergeben, oder nach einer Möglichkeit, die ich if/then/else
basierend auf dem Zieldateinamen verwenden kann. Natürlich weiß ich, dass ich eine neue Definition erstellen kann, die ich zweimal aufrufen kann. aber ich suche einen einfacheren Weg.