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 NetScaler Console direkt als Datenquelle verwendet werden kann. Jede verwaltete NetScaler-Instanz in NetScaler Console ist standardmäßig eine Datenquelle. Sie können diese Datenquellen in Ihren StyleBooks verwenden, wenn Sie Daten von einem vorhandenen, von 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: Vorhandenen NetScaler auswählen
type: datum
required: true
data-source:
type: managed-adc
<!--NeedCopy-->
In diesem Beispiel wird der Parameter datum
verwendet, um eine beliebige von NetScaler Console verwaltete NetScaler-Instanz auszuwählen. Die integrierte Datenquelle managed-adc
ermöglicht es Ihnen, Daten von jeder von 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: Eine NetScaler-Instanz auswählen
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 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
,servicegroup
usw. -
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: Vorhandenen lbvserver auswählen
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 bestimmten lbvserver
vom Typ der managed-adc
-Datenquelle zu ermöglichen.
Wenn Sie einen Sammlungstyp im Abschnitt parameters
definieren, können die StyleBook-Benutzer die NetScaler-Instanz und eine bestimmte 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
usw.
Beispiel:
$parameters.selected-lbvserver.attributes.ipv46
<!--NeedCopy-->
Dieser Ausdruck ruft die IP 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 Abschnitt parameters
ermöglicht StyleBook-Benutzern die Auswahl mehrerer Elemente einer Sammlung.
parameters:
- name: selected-lbvservers
label: Vorhandene lbvserver auswählen
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 bestimmten Entität auf einer verwalteten NetScaler-Instanz zu ermöglichen, können Sie auch auf jede Entität aus derselben oder anderen 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 lbvservern
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 mit Service-Bindung"
description: "Dieses StyleBook definiert eine typische Load-Balanced-Anwendungskonfiguration, bei der der Benutzer einen vorhandenen lbvserver auf dem NetScaler mithilfe des datum-Typparameters auswählen kann. Anschließend wird eine Servicegruppe für den ausgewählten lb erstellt, falls sie auf dem NetScaler nicht existiert. Schließlich wird der ausgewählte lbvserver an den Dienst gebunden."
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-vserver
label: "Vorhandenen VServer auswählen"
description: "Load-Balancing-Anwendungs-VServer, die an den Dienst auf dem ADC gebunden werden sollen"
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 auf die Dienstgruppe mit dem Namen lbv1-svcgrp
. 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 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 Abschnitt parameters
erklärt, wie Filter für eine integrierte Datenquellensammlung in der StyleBook-Definition angegeben werden. Er ermöglicht StyleBook-Benutzern die Auswahl eines bestimmten Elements aus einer gefilterten Sammlung.
parameters:
- name: selected-lbvserver
label: Vorhandenen lbvserver auswählen
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 bestimmten lbvserver mit SSL-Protokoll vom Typ der managed-adc
-Datenquelle zu ermöglichen.
Nachdem der StyleBook-Benutzer einen virtuellen Server ausgewählt hat, kann jedes Attribut des ausgewählten Elements auf die gleiche Weise wie im vorherigen Abschnitt erläutert abgerufen werden.