StyleBook-Konfiguration

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.

Integrierte NetScaler-Datenquelle ohne Sammlung

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 Beispiel csvserver, 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.

Integrierte Instanz-Datenquelle mit Sammlung

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.

Eine NetScaler-Instanz als Datenquelle verwenden