Eine NetScaler-Instanz als Datenquelle verwenden
Sie können die verwalteten NetScaler-Instanzen als Datenquellen verwenden. Der managed-adc ist ein integrierter Datenquellentyp, der in der NetScaler Console direkt als Datenquelle verwendet werden kann. Jede verwaltete NetScaler-Instanz in der NetScaler Console ist standardmäßig eine Datenquelle. Sie können diese Datenquellen in Ihren StyleBooks verwenden, wenn Sie Daten von einem bestehenden, von der NetScaler Console verwalteten NetScaler benötigen, während Sie Konfigurationspakete erstellen.
In der StyleBook-Definition geben Sie den integrierten Typparameter datum an. Sie können die Datenquellentypen in Ihrem StyleBook verwenden. Die StyleBook-Benutzer können eine Datenquelle auswählen, die zum Abrufen von Daten aus dieser Quelle verwendet werden kann.
Verwenden der integrierten Datenquelle ohne Sammlung
parameters:
- name: selected-adc
label: Select an existing NetScaler
type: datum
required: true
data-source:
type: managed-adc
<!--NeedCopy-->
In diesem Beispiel wird der Parameter datum verwendet, um eine beliebige von der NetScaler Console verwaltete NetScaler-Instanz auszuwählen. Die integrierte Datenquelle managed-adc ermöglicht es Ihnen, Daten von jeder von der NetScaler Console verwalteten NetScaler-Instanz abzurufen.
In Ihrem StyleBook können Sie auf jede Konfiguration der ausgewählten NetScaler-Instanz zugreifen. Und Sie können diese Konfiguration beim Erstellen oder Aktualisieren von Konfigurationen auf derselben NetScaler-Instanz oder einer anderen NetScaler-Instanz verwenden; dies hängt von der ausgewählten Ziel-NetScaler-Instanz ab.
Zugriff auf die Sammlung aus einer Datenquelle:
Um in der ausgewählten NetScaler-Instanz auf eine Sammlung zuzugreifen, verwenden Sie den folgenden Ausdruck:
$parameters.selected-adc.collections.<collection-name>
<!--NeedCopy-->
Beispiel:
$parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->
Dieser Ausdruck gibt die Liste der lbvserver-Entitäten auf der ausgewählten NetScaler-Instanz zurück. Sie können beispielsweise diese Liste durchlaufen, um einen bestimmten lbvserver auszuwählen, der eine bestimmte Bedingung erfüllt.
Beispiel-StyleBook ohne Sammlung
name: add-vservers-from-managed-adc-instances
namespace: com.citrix.adc.stylebooks
version: "1.0"
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-adc
label: Select a NetScaler instance
type: datum
required: true
data-source:
type: "managed-adc"
components:
-
name: sslvserver-comp
type: ns::sslvserver
repeat: $parameters.selected-adc.collections.lbvserver
repeat-item: lbvs
repeat-condition: $lbvs.attributes.servicetype == "SSL"
properties:
name: $lbvs.attributes.name
ssl2: DISABLED
ssl3: DISABLED
tls1: DISABLED
tls11: ENABLED
tls12: ENABLED
<!--NeedCopy-->
Die GUI des Konfigurationspakets zeigt die von der NetScaler Console verwalteten NetScaler-Instanzen an, und StyleBook-Benutzer können beim Erstellen oder Aktualisieren des Konfigurationspakets einen beliebigen NetScaler auswählen.

Dieses StyleBook verwendet den ausgewählten NetScaler und durchläuft alle lbvserver-Entitäten. Es wählt die SSL-virtuellen Server aus und legt die zulässigen SSL-Protokollversionen auf jedem virtuellen Server fest.
Der folgende Ausdruck ermöglicht es Ihnen, die Liste der lbvserver-Entitäten in der NetScaler-Instanz zu durchlaufen.
repeat: $parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->
-
collections: Bezieht sich auf alle Entitätstypen auf der NetScaler-Instanz. Zum Beispielcsvserver,lbmonitor,servicegroupusw. -
lbvserver: Bezieht sich auf die Liste der Load-Balancing-Virtual-Server-Entitäten in der NetScaler-Instanz.
Verwenden der integrierten Datenquelle mit Sammlung
parameters:
- name: selected-lbvserver
label: Select an existing lbvserver
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
<!--NeedCopy-->
In diesem Beispiel wird der Parameter datum verwendet, um einem Benutzer die Auswahl sowohl der NetScaler-Instanz als auch eines spezifischen lbvserver aus dem Datenquellentyp managed-adc zu ermöglichen.
Wenn Sie einen Sammlungstyp im Abschnitt parameters definieren, können die StyleBook-Benutzer die NetScaler-Instanz und eine spezifische Entität aus einer Sammlung auf dieser Instanz auswählen.

Zugriff auf ein Attribut des ausgewählten Elements:
Wenn der StyleBook-Benutzer einen virtuellen Server auswählt, kann der folgende Ausdruck in Ihrem StyleBook auf jedes Attribut des ausgewählten Elements zugreifen.
$parameters.selected-lbvserver.attributes.<attribute-name>
<!--NeedCopy-->
In diesem Beispiel ist das ausgewählte datum lbvserver. Sie können also auf jedes Attribut der NetScaler-Entität lbvserver zugreifen, wie z. B. name, servicetype, ipv46 und so weiter.
Beispiel:
$parameters.selected-lbvserver.attributes.ipv46
<!--NeedCopy-->
Dieser Ausdruck ruft die IP-Adresse des ausgewählten Load-Balancing-Virtual-Servers ab. Weitere Informationen zu den NetScaler-Entitäten (Sammlungen) und ihren Attributen finden Sie in der NetScaler NITRO API-Referenz.
Mehrere Elemente aus einer Sammlung auswählen:
Der folgende Parameterabschnitt ermöglicht StyleBook-Benutzern, mehrere Elemente einer Sammlung auszuwählen.
parameters:
- name: selected-lbvservers
label: Select existing lbvservers
type: datum[]
required: true
data-source:
type: managed-adc
collection: lbvserver
<!--NeedCopy-->
In diesem Beispiel wird der Datumsparameter verwendet, um das Datenquellen-Array zu definieren. Der Benutzer kann einen oder mehrere lbvserver von einer einzelnen NetScaler®-Instanz oder über mehrere NetScaler-Instanzen hinweg auswählen.
Das folgende Code-Snippet zeigt, wie auf ausgewählte Elemente und deren Attribute zugegriffen wird.
components:
- name: sslvserver-comp
type: ns::sslvserver
repeat:
repeat-list: $parameters.selected-lbvservers
repeat-item: vserverObj
properties:
name: $vserverObj.attributes.name
ssl2: DISABLED
ssl3: DISABLED
tls1: DISABLED
tls11: ENABLED
tls12: ENABLED
<!--NeedCopy-->
Zugriff auf eine Sammlung über die Referenz des ausgewählten Elements:
Zusätzlich zur Möglichkeit, einem StyleBook-Benutzer die Auswahl einer spezifischen Entität auf einer verwalteten NetScaler-Instanz zu ermöglichen, können Sie auch auf jede Entität aus derselben oder verschiedenen Sammlungen auf der ausgewählten NetScaler-Instanz zugreifen. Um auf eine andere Sammlung auf dieser NetScaler-Instanz zuzugreifen, verwenden Sie den folgenden Ausdruck im Abschnitt components:
$parameters.selected-lbvserver.datasource.collections.<collection-name>
<!--NeedCopy-->
Beispiel:
$parameters.selected-lbvserver.datasource.collections.csvserver
<!--NeedCopy-->
Dieser Ausdruck gibt die Liste der Content-Switching-Virtual-Server von der ausgewählten NetScaler-Instanz zurück.
Und der folgende Ausdruck gibt eine Liste aller Bindungen zwischen lbvservers und servicegroups zurück:
$parameters.selected-lbvserver.datasource.collections.lbvserver_servicegroup_binding
<!--NeedCopy-->
Beispiel-StyleBook mit einer Sammlung
Das Folgende ist ein Beispiel-StyleBook, das zeigt, wie die verwaltete NetScaler-Instanz als Datenquelle verwendet wird:
name: bind-lb-to-servicegroup-using-ADC-as-datasource
namespace: com.citrix.adc.stylebooks
version: "1.1"
display-name: "HTTP/SSL LoadBalancing StyleBook with Service Binding"
description: "This stylebook defines a typical Load Balanced Application configuration where we allow the user to select an existing lbvserver on the NetScaler using datum type parameter. Then a servicegroup for the selected lb is created if it does not exist on the NetScaler. Finally, the selected lbvserver is bound to the service "
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-vserver
label: "Select an Existing VServer"
description: "Load Balancing Application Vservers to be bound to service on the ADC"
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
components:
-
name: servicegroup-discovery-comp
type: object
repeat: $parameters.selected-vserver.datasource.collections.servicegroup
repeat-item: svcgrp
repeat-condition: $svcgrp.attributes.servicegroupname == $parameters.selected-vserver.attributes.name + "-svcgrp"
properties:
servicegroupname: $svcgrp.attributes.servicegroupname
-
name: servicegroup-creation-if-not-exists-comp
type: ns::servicegroup
condition: not exists($components.servicegroup-discovery-comp)
properties:
servicegroupname: $parameters.selected-vserver.attributes.name + "-svcgrp"
servicetype: $parameters.selected-vserver.attributes.servicetype
components:
-
name: lbvserver-servicegroup-binding
type: ns::lbvserver_servicegroup_binding
properties:
name: $parameters.selected-vserver.attributes.name
servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->
In diesem StyleBook prüft der Abschnitt components den Namen der Dienstgruppe, der mit dem Namen des ausgewählten Load-Balancing-Virtual-Servers, der mit svcgrp verkettet ist, übereinstimmt.
Wenn der Name des ausgewählten Load-Balancing-Virtual-Servers lbv1 ist, prüft dieses StyleBook, ob eine Dienstgruppe mit dem Namen lbv1-svcgrp existiert. Wenn sie nicht gefunden wird, erstellt es eine Dienstgruppe lbv1-svcgrp und bindet sie an den virtuellen Server lbv1.
Der folgende Ausdruck ruft die Liste der Dienstgruppen in der NetScaler-Instanz ab.
repeat: $parameters.selected-vserver.datasource.collections.servicegroup
<!--NeedCopy-->
In diesem Ausdruck:
-
datasource: Bezieht sich auf die ausgewählte, von der NetScaler Console verwaltete NetScaler-Instanz. -
collections: Bezieht sich auf alle Entitäten in der NetScaler-Instanz. -
servicegroup: Bezieht sich auf die Dienstgruppen in der NetScaler-Instanz.
Filtern von Sammlungsdaten:
Der folgende Parameterabschnitt erklärt, wie Filter für eine integrierte Datenquellensammlung in der StyleBook-Definition angegeben werden. Er ermöglicht StyleBook-Benutzern, ein spezifisches Element aus einer gefilterten Sammlung auszuwählen.
parameters:
- name: selected-lbvserver
label: Select an existing lbvserver
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
collection-filters:
protocol: SSL
<!--NeedCopy-->
In diesem Beispiel wird der Datumsparameter verwendet, um einem Benutzer die Auswahl sowohl der NetScaler-Instanz als auch eines spezifischen lbvserver mit SSL-Protokoll aus dem Datenquellentyp managed-adc zu ermöglichen.
Nachdem der StyleBook-Benutzer einen virtuellen Server ausgewählt hat, kann auf jedes Attribut des ausgewählten Elements auf die gleiche Weise zugegriffen werden, wie im vorherigen Abschnitt erläutert.