Komponenten
Das Komponenten-Konstrukt in einem StyleBook wird als der wichtigste Abschnitt im StyleBook angesehen. In diesem Abschnitt definieren Sie die Konfigurationsobjekte, die erstellt werden müssen. Mit diesem Konstrukt können Sie ein oder mehrere Konfigurationsobjekte desselben Typs erstellen.
Das Komponentenkonstrukt kann die im Parameterbereich bereitgestellten Eingaben verwenden, um die vom StyleBook generierte Konfiguration anzupassen. Dies ist ein optionaler Abschnitt, obwohl die meisten StyleBooks einen Komponentenabschnitt haben.
In der folgenden Tabelle werden die Hauptattribute einer Komponente beschrieben.
Attribut | Beschreibung |
---|---|
name |
Der Name der Komponente. Sie können einen alphanumerischen Namen angeben. Der Name muss mit einem Alphabet beginnen und kann zusätzliche Alphabete, Zahlen, Bindestriche (-) oder Unterstriche (_) enthalten. |
description |
Eine Beschreibung der Rolle dieser Komponente im StyleBook. |
type |
Der Typ bestimmt, welche Eigenschaften diese Komponente bietet. Komponenten haben zwei Arten von Typen: Eingebauter Typ: Dieser Typ wird vom System bereitgestellt und Sie müssen ihn nicht definieren, z. B. die NITRO-Entitätstypen lbvserver oder servicegroup . Wenn eine Komponente über ein integriertes Typattribut verfügt, erstellt sie ein Konfigurationsobjekt dieses Typs auf dem NetScaler. Wenn sich eine Komponente beispielsweise auf den integrierten Typ lbvserver bezieht, erstellt diese Komponente einen virtuellen Lastausgleichsserver auf der NetScaler-Instanz, der das Ziel der Konfiguration ist. Zusammengesetzter Typ: Dieser Typ bezieht sich auf ein vorhandenes StyleBook, das Sie erstellt und in NetScaler Console importiert haben. Wenn eine Komponente über ein zusammengesetztes Typattribut verfügt, erstellt sie alle Konfigurationsobjekte, die im referenzierten StyleBook angegeben sind, auf der NetScaler-Instanz, die das Ziel der Konfiguration ist. Auf diese Weise können Sie mehrere StyleBooks kombinieren, in denen jedes StyleBook einen Teil der endgültigen Konfiguration erstellt. Weitere Informationen zu zusammengesetzten StyleBooks finden Sie unter Erstellen eines zusammengesetzten StyleBook. |
meta-properties |
Meta-Eigenschaften definieren die Aktionen, die für NetScaler-Objekte ausgeführt werden sollen. Es kann statische oder dynamische Werte als gültige Meta-Eigenschaftsaktion annehmen. Wenn Sie Ausdrücke für eine Metaeigenschaft angeben, werden die gültigen Metaeigenschaftenaktionen für NetScaler-Objekte dynamisch angewendet. Dieses Attribut kann in einem StyleBook verwendet werden, wenn Sie Nicht-CRUD-Operationen an NetScaler-Objekten ausführen möchten. Weitere Informationen finden Sie unter Erstellen eines StyleBook zum Ausführen von Nicht-CRUD-Vorgängen. |
properties |
Die Unterattribute, die für ein Komponententypattribut verwendet werden können. Die Eigenschaften, die für eine Komponente gültig sind, werden durch ihren Typ bestimmt. Bei einem integrierten Typ sind dies die Eigenschaften oder Attribute des entsprechenden NITRO-Objekts. Für eine Komponente, deren Typ ein anderes StyleBook ist, d. h. ein zusammengesetzter Typ, entsprechen die Eigenschaften den in diesem StyleBook definierten Parametern. |
Beispiel:
components:
-
name: my-lbvserver-comp
type: ns::lbvserver
properties:
name: $parameters.name
servicetype: HTTP
ipv46: $parameters.ip
port: 80
lbmethod: $parameters.lb-alg
<!--NeedCopy-->
In diesem Beispiel haben Sie eine Komponente mit dem Namen definiert my-lbvserver-comp
. Diese Komponente ist vom Typ ns: :lbvserver (ein integrierter Typ), wobei “ns” das Präfix ist, das sich auf den Namespace netscaler.nitro.config
und die Version 10.5 bezieht, die Sie im Abschnitt import-stylebooks angegeben haben, und eine NITRO-Ressource in diesem Namespace lbvserver
ist.
Die Eigenschaften in diesem Abschnitt enthalten vier obligatorische und ein optionales Attribut (lbmethod
) der Ressource lbvserver
und ermöglichen es Ihnen, Werte für diese Attribute anzugeben. In diesem Beispiel geben Sie statische Werte für servicetype
und Port an, während der Name, ipv46 und lbmethod
ihre Werte aus den Eingabeparametern erhalten. Sie beziehen sich auf die im Parameterabschnitt definierten Parameternamen mit der Notation $parameters.\<name>
, zum Beispiel $parameters.ip.
Weitere Informationen zu allen verfügbaren NetScaler NITRO-Ressourcen und ihren Attributen/Eigenschaften finden Sie in der Dokumentation zur NetScaler NITRO REST API .
Hinweis
Sie müssen Kleinbuchstaben für die Attributnamen von NITRO-Ressourcentypen (deren Komponenteneigenschaften) verwenden. Andernfalls schlägt der Import eines StyleBook fehl.