Der Konfigurationsteil einer Konfigurationsvorlage ist ein Textdokument, das einer normalen Gerätekonfiguration sehr ähnlich
ist. Bei der Erstellung einer Konfigurationsvorlage wird empfohlen, mit einem Backup der Konfiguration zu beginnen, das von
einem Mustergerät stammt, das bereits mit den Funktionen und Einstellungen konfiguriert ist, welche die Vorlage ermöglichen
soll. Eine Konfigurationsvorlage unterscheidet sich von einer Gerätekonfiguration dadurch, dass gerätespezifische Parameter –
wie z.B. ein Hostname – durch Platzhalter ersetzt werden.
Wenn Sie einen neuen Gerätedatensatz erstellen, wird Ihnen ein Formular angezeigt, mit dem Sie die richtigen Werte für jeden
der Platzhalter in der Konfigurationsvorlage angeben können. Diese Werte werden mit der Konfigurationsvorlage zusammengeführt,
um die eigentliche Konfiguration zu erzeugen, die an das Gerät gesendet wird.
Hinweis |
Die Platzhalterwerte werden mit der Konfigurationsvorlage zusammengeführt, wenn die Konfiguration an das Gerät gesendet wird.
Das bedeutet, dass die endgültige Gerätekonfiguration von der in der Vorschau angezeigten abweichen kann, wenn sich irgendwelche
Systemvariablen ändern, bevor das Gerät mit dem Manager verbunden wird.
|
Konfigurationen werden als Mustache-Vorlagen erstellt – https://mustache.github.io/. Mustache erlaubt die Verwendung einer Vielzahl von Platzhaltern – in der Mustache-Dokumentation als Tags bezeichnet –, darunter:
-
Einfache Variablen, bei denen der Platzhalter durch den im Gerätedatensatz angegebenen Wert ersetzt wird. Eine einfache Variable
hat die Form {{name}}.
-
Abschnitte, in denen der Platzhalter einen Konfigurationsblock umschließt – optional mit weiteren Platzhaltern. Der Inhalt
des Abschnitts kann aus der endgültigen Konfiguration ausgeschlossen, einmal eingeschlossen oder mehrmals wiederholt werden.
Das Verhalten dieser Art von Platzhaltern wird durch die Metadaten in der Vorlage und die Werte, die der Benutzer beim Erstellen
eines Geräteeintrags angibt, definiert.
Ein Abschnitt hat die Form {{#name}}…{{/name}}, wobei das erste Tag den Anfang des Blocks und das zweite Tag das Ende markiert.
-
Kommentare können zur Dokumentation der Konfigurationsvorlage verwendet werden. Ein Kommentar hat die Form {{! Dies ist ein Kommentar}}.
Es folgt ein Beispiel für eine einfache Vorlage:
!
hostname {{hostname}}
!
{{! Insert a list of VLANs}}
{{#vlans}}
interface vlan {{vlan-id}}
name {{vlan-name}}
!
{{/vlans}}
In diesem Beispiel gibt es mehrere verschiedene Platzhalter:
-
{{hostname}} ist eine einfache Variable. Sie wird durch den für den Hostnamen im Gerätedatensatz festgelegten Wert ersetzt.
-
Direkt nach der Konfiguration des Hostnamens wird ein Kommentar eingefügt. Der Kommentar wird nicht in die an das Gerät gesendete
Konfiguration aufgenommen.
-
{{#vlans}}…{{/vlans}} ist ein Abschnitt, der in diesem Beispiel verwendet wird, um eine Liste einzelner VLANs zu speichern. Für jedes im Geräteeintrag
definierte VLAN wird in der Gerätekonfiguration eine Kopie des Inhalts dieses Containers erstellt.
-
{{vlan-id}} und {{vlan-name}} sind einfache Variablen, aber sie sind in der Liste {{#vlans}} enthalten. Wenn der Geräteeintrag erstellt wird, können Sie
mehrere Werte für {{vlan-id}} und {{vlan-name}} angeben. Diese werden zur Erzeugung der Konfiguration verwendet, die zur Erstellung jedes dieser VLANs erforderlich ist.
Weitere Einzelheiten über die Syntax von Mustache finden Sie auf der Mustache-Startseite unter https://mustache.github.io/mustache.5.html.
Metadaten von Vorlagen
Jede Konfigurationsvorlage enthält Metadaten, die beschreiben, wie ein bestimmter Platzhalter dem Benutzer bei der Erstellung
von Gerätedatensätzen angezeigt werden soll. Diese Metadaten werden bei der Erstellung von Vorlagen mit dem Vorlageneditor
erzeugt.
Wenn Sie eine Konfigurationsvorlage erstellen oder bearbeiten, wird der Vorlageneditor angezeigt, wobei links die Konfiguration
selbst und rechts ein Formular angezeigt wird, mit dem Sie die Metadaten für jeden Platzhalter einstellen können.
Rechts wird jeder Platzhalter in der Konfiguration angezeigt, zusammen mit den folgenden Bedienelementen:
-
Ein Kontrollkästchen Required (Erforderlich). Dieses Steuerelement bestimmt, ob der Benutzer einen Wert für diesen Platzhalter angeben muss oder nicht.
-
Eine Dropdownliste Type (Typ). Mit diesem Bedienelement können Sie den Typ des Platzhalters auswählen. Es steuert, wie dieser Platzhalter dem Benutzer
angezeigt wird.
-
Ein Titel. Dieses Element kann verwendet werden, um einen benutzerfreundlicheren Namen für den Parameter auf der GUI bereitzustellen.
Wenn für einen Platzhalter kein Titel angegeben wird, dann wird der Platzhalter selbst angezeigt.
-
Ein Symbol zum Bearbeiten. Bestimmte Typen verfügen über weitere Einstellungen zur Steuerung der Darstellung. So kann beispielsweise ein Zeichenfolgen-Platzhalter
weiter verfeinert werden, um für eine IP-Adresse oder eine URL zu stehen, und das Eingabeformular zeigt einen Fehler an, wenn
der eingegebene Text nicht das richtige Format hat. Bestimmte Typen können auch basierend auf Systeminformationen statt auf
Benutzereingaben eingestellt werden. Weitere Informationen finden Sie unter „System- und dynamische Variablen“ unten.
-
Steuerelemente Nach oben/Nach unten. Mit diesen Pfeilen können Sie die Reihenfolge ändern, in der die Platzhalter dem Benutzer angezeigt werden. Platzhalter
können nach dem, was für den Benutzer am sinnvollsten ist, gruppiert werden, anstatt nach der Reihenfolge, in der sie in der
Konfiguration erscheinen.
Der Vorlageneditor bietet auch eine Vorschaufunktion, mit der ein Beispiel dafür gegeben werden kann, wie das Formular für
Platzhalter beim Erstellen und Bearbeiten von Geräteaufzeichnungen für den Benutzer aussehen wird.
Platzhalter-Typen
Die folgenden Platzhaltertypen stehen zur Verfügung:
-
Zeichenfolge: Platzhalter dieses Typs werden in der GUI als einfaches Texteingabefeld angezeigt.
-
Ganzzahl: Ganze Zahlen werden als Texteingabefeld mit Steuerelementen zum Erhöhen oder Verringern des Wertes der angezeigten Zahl angezeigt.
In dieses Feld dürfen nur Zahlen eingegeben werden.
-
Boolesch: Ein boolescher Platzhalter wird in der GUI als Kontrollkästchen angezeigt. Wenn das Kontrollkästchen aktiviert ist, wird
der Platzhalter auf den Zeichenfolgen-Wert ‚true‘ gesetzt. Wenn das Kontrollkästchen nicht aktiviert ist, ist der Wert ‚false‘.
Ein Abschnitt kann auch als boolescher Abschnitt gekennzeichnet werden. In diesem Fall wird die in dem Abschnitt enthaltene
Konfiguration nur dann einbezogen, wenn das Kontrollkästchen für den Abschnitt aktiviert ist.
-
Container: Der Typ „Container“ kann verwendet werden, um andere Platzhalter im Formular zu gruppieren.
-
Liste: Eine Liste ist ein Container oder Abschnitt einer Konfiguration, der in einer erzeugten Konfigurationsdatei mehrfach wiederholt
werden kann. Wenn für die Platzhalter innerhalb einer Liste Formularelemente erzeugt werden, werden zusätzliche Steuerelemente
hinzugefügt, um Elemente in der Liste hinzuzufügen oder zu entfernen.
Zusätzlich zu den oben aufgeführten einfachen Typen können Zeichenfolgen-Variablen durch Klicken auf das Bearbeiten-Symbol weiter verfeinert werden. Die verfügbaren Optionen umfassen:
-
Angeben eines Standardwertes für den Platzhalter.
-
Einstellung der minimalen und/oder maximalen Länge für Zeichenketten-Platzhalter.
-
Festlegen einer vordefinierten Liste von Auswahlmöglichkeiten (mit der Option „Enum“ (Aufzählung)).
-
Beschränken des Formats einer Zeichenfolge auf einen Hostnamen, einen URI, eine IPv4- oder eine IPv6-Adresse. Eine Zeichenfolge
kann auch als Textbereich gekennzeichnet werden, wenn wahrscheinlich eine beträchtliche Menge an Inhalt eingegeben werden
muss.
System- und dynamische Variablen
Platzhalter können ihre Werte nicht nur aus Benutzereingaben, sondern auch aus systemintern definierten Parametern übernehmen.
Systemvariablen sind Parameter, die für den Manager selbst definiert wurden, z. B. die Manager-IP-Adresse.
Durch Festlegen eines Platzhalters, der seinen Wert von einer Systemvariablen übernimmt, fügt der Manager diesen Wert ohne
jeglichen Benutzereingriff in die Konfiguration ein. Einige komplexere Bereitstellungen erfordern möglicherweise Benutzereingaben,
damit die Systemvariablen ordnungsgemäß funktionieren. Näheres dazu finden Sie unter Verwalten der Plattformeinstellungen.
Dynamische Variablen ähneln Systemvariablen, aber es handelt sich um Werte, die dynamisch auf der Grundlage von Informationen
wie dem angemeldeten Benutzer oder der Gerätegruppe, zu der das Gerät gehört, erzeugt werden. System- und dynamische Variablen
werden verwendet, um die Übertragbarkeit von Vorlagen zwischen Geräten und Systemen zu ermöglichen.