Application Delivery Management

Parameter

In diesem Abschnitt können Sie alle Parameter definieren, die Sie in Ihrem StyleBook benötigen, um eine Konfiguration zu erstellen. Es beschreibt die Eingabe, die Ihr StyleBook nimmt. Obwohl dieser Abschnitt optional ist, benötigen die meisten StyleBook möglicherweise einen. Sie können den Abschnitt Parameter in Betracht ziehen, um die Felder für die Benutzer zu definieren, die das StyleBook zum Erstellen einer Konfiguration auf einer NetScaler-Instanz verwenden.

Wenn Sie Ihr StyleBook in NetScaler ADM importieren und zum Erstellen einer Konfiguration verwenden, verwendet die GUI diesen Abschnitt des StyleBook, um ein Formular anzuzeigen. Dieses Formular nimmt eine Eingabe für die definierten Parameterwerte an.

Im folgenden Abschnitt werden die Attribute beschrieben, die Sie für jeden Parameter in diesem Abschnitt angeben müssen:

‘name’

Der Name des Parameters, den Sie definieren möchten. Sie können einen alphanumerischen Namen angeben.

Der Name muss mit einem Alphabet beginnen und kann mehr Alphabete, Zahlen, Bindestriche (-) oder Unterstriche (_) enthalten.

Wenn Sie ein StyleBook schreiben, können Sie dieses Attribut “name” verwenden, um mithilfe der Notation $parameters auf den Parameter in anderen Abschnitten zu verweisen. <name>.

Obligatorisch? Ja

‘label’

Eine Zeichenfolge, die in der ADM-GUI als Name dieses Parameters angezeigt wird.

Obligatorisch? Nein

‘description’

Eine Hilfe-Zeichenfolge, die beschreibt, wofür der Parameter verwendet wird. Die ADM-GUI zeigt diesen Text an, wenn der Benutzer auf das Hilfesymbol für diesen Parameter klickt.

Obligatorisch? Nein

‘type’

Die Art des Wertes, den diese Parameter annehmen können. Parameter können von einem der folgenden integrierten Typen sein:

  • string: Eine Reihe von Zeichen. Wenn keine Länge angegeben wird, kann der Zeichenfolgenwert beliebig viele Zeichen annehmen. Sie können jedoch die Länge eines String-Typs einschränken, indem Sie die Attribute min-length und max-length verwenden.

  • number: Eine ganze Zahl. Sie können die minimale und maximale Anzahl angeben, die dieser Typ annehmen kann, indem Sie die Attribute min-value und max-value verwenden.

  • boolean: Kann entweder wahr oder falsch sein. YAML betrachtet alle Literale als Boolesche (zum Beispiel Ja oder Nein).

  • ipaddress: Eine Zeichenfolge, die eine gültige IPv4- oder IPv6-Adresse darstellt.

  • ipnetwork: Es besteht aus zwei Teilen. Der erste Teil ist die IP-Adresse und der zweite Teil ist die Netzwerkmaske.

    IP-Netzwerk

    Die Netzmaske besteht aus der Netzmaskenlänge (netmask-len) oder der Netzmasken-IP-Adresse (netmask_ip). Die Netzwerkmaskenlänge ist eine Ganzzahl zwischen 0-32 und 0-128 für eine IPv6-Adresse. Es wird verwendet, um die Anzahl der IP-Adressen in einem Netzwerk zu bestimmen.

    Wenn Sie ein Konfigurationspaket über die NetScaler ADM-GUI erstellen oder aktualisieren, können Sie eine der folgenden Aktionen ausführen:

    • Aktivieren Sie die Netzmaskenlänge und geben Sie die IP-Adresse und die Netzmaskenlänge ein
    • Deaktivieren Sie die Netzmaskenlänge und geben Sie die IP-Adresse und die Netzmasken-IP-Adresse ein

    In der API sind die Netzmaskenlänge und die Netzmasken-IP-Adresse als einzelner Wert verfügbar, wie im folgenden Beispiel gezeigt:

    Beispiel:

       Content-Type: application/json
       Accept: application/json
       {
       “configpack”:
       {
             “stylebook”: {
             “namespace”: “com.example.stylebook”,
             “version”:“1.0”,
             “name”: “ipnetwork-example”,
             ..
             },
             “parameters”: {
                “name: “test-app”,
                 “virtual-ip”: “212.100.30.0/255.255.255.0”,
             },
             “targets”:
             [
             ]
       }
       }
       <!--NeedCopy-->
    
  • tcp-port: Eine Zahl zwischen 0 und 65535, die einen TCP- oder UDP-Port repräsentiert.

  • password: Repräsentiert einen undurchsichtigen/geheimen String-Wert. Wenn die ADM-GUI einen Wert für diesen Parameter anzeigt, wird sie als Sternchen (*****) angezeigt.

  • certfile: Repräsentiert eine Zertifikatdatei. Mit diesem Wert können Sie die Dateien direkt von Ihrem lokalen System hochladen, wenn Sie eine StyleBook-Konfiguration mit der ADM-GUI erstellen. Die hochgeladene Zertifikatsdatei wird im Verzeichnis /var/mps/tenants/\<tenant_path>/ns_ssl_certs in ADM gespeichert.

    Die Zertifikatsdatei wird der Liste der von ADM verwalteten Zertifikate hinzugefügt.

  • keyfile: Repräsentiert eine Zertifikatschlüsseldatei. Mit diesem Wert können Sie die Datei direkt von Ihrem lokalen System hochladen, wenn Sie eine StyleBook-Konfiguration mit der ADM-GUI erstellen. Die hochgeladene Zertifikatsdatei wird im Verzeichnis /var/mps/tenants/\<tenant_path>/ns_ssl_keys in ADM gespeichert.

    Die Zertifikatschlüsseldatei wird zur Liste der von ADM verwalteten Zertifikatschlüssel hinzugefügt.

  • file: Repräsentiert eine Datei.

  • object: Dieser Typ wird verwendet, wenn Sie mehrere verwandte Parameter unter einem übergeordneten Element gruppieren möchten. Geben Sie den übergeordneten Parameter den Typ als “Objekt” an. Ein Parameter vom Typ “object” kann einen verschachtelten Abschnitt “parameter” haben, um die darin enthaltenen Parameter zu beschreiben.

  • another StyleBook: Wenn Sie diesen Parametertyp verwenden, erwartet dieser Parameter, dass sein Wert in Form der Parameter vorliegt, die im StyleBook definiert sind und seinen Typ angibt.

Ein Parameter kann auch eine type die Liste der Typen haben. Fügen Sie dazu [] am Ende des Typs hinzu. Wenn das type Attribut beispielsweise lautet string[], verwendet dieser Parameter eine Liste von Strings als Eingabe. Sie können eine, zwei oder mehrere Strings für diesen Parameter angeben, wenn Sie eine Konfiguration aus diesem StyleBook erstellen.

Obligatorisch? Ja

‘network’

Für können Sie das network Attribut angeben type: ipaddress, um eine IP-Adresse automatisch aus einem ADM IPAM-Netzwerk zuzuweisen.

ADM weist automatisch eine IP-Adresse aus dem networkAttribut zu, wenn Sie eine StyleBook-Konfiguration erstellen.

Beispiel:

      name: virtual-ip
      label: "Load Balancer IP Address"
      type: ipaddress
      network: "network-1"
      required: true
<!--NeedCopy-->

In diesem Beispiel weist das virtual-ipFeld automatisch eine IP-Adresse aus. network-1Die IP-Adresse wird wieder an das Netzwerk freigegeben, wenn die Konfiguration gelöscht wird.

‘dynamic-allocation’

Das dynamic-allocation Attribut wird in der Parameterdefinition von hinzugefügt type:ipaddress. Verwenden Sie dieses Attribut, um die ADM IPAM-Netzwerke dynamisch aufzulisten. Dieses Attribut kann entweder true oder false als Eingabe verwendet werden. Geben Sie für das dynamic-allocation: true Attribut an type: ipaddress, um die ADM IPAM-Netzwerke, die sich in ADM befinden, dynamisch aufzulisten. Im Formular zur Erstellung von Konfigurationspaketen können Sie Folgendes tun:

  1. Wählen Sie das erforderliche IPAM-Netzwerk aus der Liste aus.

  2. Geben Sie eine IP-Adresse an, die Sie aus dem ausgewählten IPAM-Netzwerk zuweisen möchten.

    Wenn keine IP-Adresse angegeben ist, weist der ADM automatisch eine IP-Adresse aus dem ausgewählten IPAM-Netzwerk zu.

Beispiel:

  -
    name: virtual-ip
    label: "Load Balancer IP Address"
    type: ipaddress
    dynamic-allocation: true
    required: true
<!--NeedCopy-->

In diesem Beispiel listet das virtual-ip Feld die ADM IPAM-Netzwerke auf, die sich in ADM befinden. Wählen Sie ein Netzwerk aus der Liste aus, um eine IP-Adresse automatisch aus dem Netzwerk zuzuweisen. Die IP-Adresse wird beim Löschen der Konfiguration wieder an das Netzwerk freigegeben.

‘key’

Geben Sie true oder false an, um anzugeben, ob dieser Parameter ein Schlüsselparameter für das StyleBook ist.

In einem StyleBook kann nur ein Parameter als “key”-Parameter definiert sein.

Wenn Sie verschiedene Konfigurationen aus demselben StyleBook erstellen (auf denselben oder verschiedenen ADC-Instanzen), hat jede Konfiguration einen anderen/eindeutigen Wert für diesen Parameter.

Der Standardwert ist falsch.

Obligatorisch? Nein

‘required’

Geben Sie true oder false an, um anzugeben, ob ein Parameter obligatorisch oder optional ist. Wenn es auf true gesetzt ist, ist der Parameter obligatorisch und der Benutzer muss beim Erstellen von Konfigurationen einen Wert für diesen Parameter angeben.

Die ADM-GUI zwingt den Benutzer, einen gültigen Wert für diesen Parameter anzugeben.

Der Standardwert ist false.

Obligatorisch? Nein

‘allowed-values’

Verwenden Sie dieses Attribut, um eine Liste gültiger Werte für einen Parameter zu definieren, wenn der Typ auf string gesetzt ist.

Beim Erstellen einer Konfiguration über die ADM-GUI wird der Benutzer aufgefordert, einen Parameterwert aus dieser Liste auszuwählen.

Hinweis

Wenn Sie die Listenwerte als Radiooptionen anzeigen möchten, legen Sie das Attribut layout fest.

Beispiel 1:

-
      name: ipaddress
      type: string
      allowed-values:
            -  SOURCEIP
            -  DEST IP
            -  NONE
<!--NeedCopy-->

Beispiel 2:

-
      name: TCP Port
      type: tcp-port
      allowed-values:
            -  80
            -  81
            -  8080
<!--NeedCopy-->

Beispiel 3:

Liste von tcp-ports, in der jedes Element der Liste nur Werte in angegeben haben kann allowed-values.

-
      name: tcpports
      type: tcp-port[]
      allowed-values:
            -  80
            -  81
            -  8080
            -  8081
<!--NeedCopy-->

Obligatorisch? Nein

‘default’

Verwenden Sie dieses Attribut, um einem optionalen Parameter einen Standardwert zuzuweisen. Wenn ein Benutzer eine Konfiguration erstellt, ohne einen Wert anzugeben, wird der Standardwert verwendet.

Der Parameter nimmt keinen Wert an, wenn die folgenden Bedingungen erfüllt sind:

  • Der Parameter hat keinen Standardwert.

  • Ein Benutzer gibt keinen Wert für den Parameter an.

Beispiel 1:

-
      name: timeout
      type: number
      default: 20
<!--NeedCopy-->

Beispiel 2:

So listen Sie die Standardwerte des Parameters auf:

-
      name: protocols
      type: string[]
      default:
            -  TCP
            -  UDP
            -  IP
<!--NeedCopy-->

Beispiel 3:

-
      name: timeout
      type: number
      default: 20
<!--NeedCopy-->

Beispiel 4:

-
      name: tcpport
      type: tcp-port
      default: 20
<!--NeedCopy-->

Obligatorisch? Nein

‘pattern’

Verwenden Sie dieses Attribut, um ein Muster (regulärer Ausdruck) für die gültigen Werte dieses Parameters zu definieren, wenn der Typ des Parameters string ist.

Beispiel:

-
      name: appname
      type: string
      pattern: "[a-z]+"
<!--NeedCopy-->

Obligatorisch? Nein

‘min-value’

Verwenden Sie dieses Attribut, um den Mindestwert für Parameter vom Typ number oder tcp-port zu definieren.

Beispiel:

-
      name: audio-port
      type: tcp-port
      min-value: 5000
<!--NeedCopy-->

min-value für Zahlen kann negativ sein. min-value für tcp-port muss jedoch positiv sein.

Obligatorisch? Nein

‘max-value’

Verwenden Sie dieses Attribut, um den Höchstwert für Parameter vom Typ number oder zu definieren tcp-port.

Stellen Sie sicher, dass der Maximalwert größer als der Mindestwert ist, falls definiert.

Beispiel:

-
      name: audio-port
      type: tcp-port
      min-value: 5000
      max-value: 15000
<!--NeedCopy-->

Obligatorisch? Nein

‘min-length’

Verwenden Sie dieses Attribut, um die Mindestlänge der Werte zu definieren, die für einen Parameter vom Typ “string” akzeptiert werden.

Stellen Sie sicher, dass die Mindestlänge der Zeichen definiert ist, die größer oder gleich Null sind.

Beispiel:

-
      name: appname
      type: string
      min-length: 3
<!--NeedCopy-->

Obligatorisch? Nein

‘max-length’

Verwenden Sie dieses Attribut, um die maximale Länge der Werte zu definieren, die für einen Parameter vom Typ “string” akzeptiert werden.

Stellen Sie sicher, dass die maximale Länge der Werte größer oder gleich der Länge der in definierten Zeichen ist min-length.

Beispiel:

-
      name: appname
      type: string
      max-length: 64
<!--NeedCopy-->

Obligatorisch? Nein

‘min-items’

Verwenden Sie dieses Attribut, um die Mindestanzahl von Elementen in einem Parameter zu definieren, der eine Liste ist.

Stellen Sie sicher, dass die Mindestanzahl von Elementen größer oder gleich Null ist.

Beispiel:

-
      name: server-ips
      type: ipaddress[]
      min-items: 2
<!--NeedCopy-->

Obligatorisch? Nein

‘max-items’

Verwenden Sie dieses Attribut, um die maximale Anzahl von Elementen in einem Parameter zu definieren, der eine Liste ist.

Stellen Sie sicher, dass die maximale Anzahl von Artikeln größer ist als die Mindestanzahl von Elementen, falls definiert.

Beispiel:

-
      name: server-ips
      type: ipaddress[]
      min-items: 2
      max-items: 250
<!--NeedCopy-->

Obligatorisch? Nein

‘gui’

Verwenden Sie dieses Attribut, um das Layout des Parameters in der ADM-GUI anzupassen.

Obligatorisch? Nein

‘columns’

Dieses Attribut ist ein Unterattribut des Attributs gui. Verwenden Sie dieses Attribut, um die Anzahl der Spalten zu definieren, die die type: object[]Parameter in der ADM-GUI anzeigen.

Obligatorisch? Nein

‘updatable’

Dieses Attribut ist ein Unterattribut des Attributs gui. Verwenden Sie dieses Attribut, um anzugeben, ob der Parameter nach dem Erstellen der Konfiguration aktualisiert werden kann. Legen Sie dieses Attribut nur für einfache Parametertypen wie String, Boolesch oder Zahl fest.

Wenn der Wert auf festgelegt ist false, ist das Parameterfeld beim Aktualisieren der Konfiguration abgeblendet.

Obligatorisch? Nein

‘collapse_pane’

Dieses Attribut ist ein Unterattribut des gui Attributs. Verwenden Sie dieses Attribut, um anzugeben, ob der Bereich, der das Layout dieses Objektparameters definiert, zusammenlegbar ist.

Wenn der Wert auf true gesetzt ist, kann der Benutzer die untergeordneten Parameter unter diesem übergeordneten Parameter erweitern oder reduzieren.

Beispiel:

gui:

 collapse_pane: true

 columns: 2
<!--NeedCopy-->

Beispiel für einen vollständigen Parameterabschnitt:


parameters:

   -

      name: name

      label: Name

      description: Name of the application

      type: string

      required: true

   -

      name: ip

      label: IP Address

      description: The virtual IP address used for this application

      type: ipaddress

      required: true

   -

      name: svc-servers

      label: Servers

      type: object[]

      required: true

      parameters:

        -

              name: svc-ip

              label: Server IP

              description: The IP address of the server

              type: ipaddress

              required: true

        -

              name: svc-port

              label: Server Port

              description: The TCP port of the server

              type: tcp-port

              default: 80

        -

              name: lb-alg

              label: LoadBalancing Algorithm

              type: string

              allowed-values:

                 - ROUNDROBIN

                 - LEASTCONNECTION

              default: ROUNDROBIN

        -

              name: enable-healthcheck

              label: Enable HealthCheck?

              type: boolean

              default: true
<!--NeedCopy-->

Im Folgenden finden Sie ein Beispiel, das alle Attribute einer Liste und die in früheren Abschnitten erläuterten Werte definiert:


        -
              name: features-list

              type: string[]

              min-length: 1

              max-length: 3

              min-items: 1

              max-items: 3

              pattern: "[A-Z]+"

              allowed-values:

                - SP

                - LB

                - CS

              default:

                - LB
<!--NeedCopy-->

‘layout’

Dieses Attribut ist ein Unterattribut des Attributs gui. Verwenden Sie dieses Attribut, um die Listenwerte als Optionsfelder anzuzeigen. Legen Sie das layout Attribut radio im Parameterabschnitt einer StyleBook-Definition fest. Sie gilt für den Parameter, der das Attribut allowed-values hat. Wenn Sie ein Konfigurationspaket erstellen, zeigt die ADM-GUI die Werte in der allowed-valuesListe als Optionsfelder an.

Beispiel:

-
    gui:
        layout: radio
    allowed-values:
        - One
        - Two
        - Three
<!--NeedCopy-->

Die Werte Eins, Zwei und Drei werden als Optionsfelder in der ADM-GUI angezeigt.

‘dependent-parameter’

Dieses Attribut ist ein Unterattribut des Attributs gui. Es steuert dynamisch das Aussehen des Parameters oder seinen Anfangswert im StyleBook-Konfigurationsformular basierend auf dem in einem anderen Parameter angegebenen Wert.

Geben Sie dieses Attribut für einen Quellparameter an, der das Verhalten des Parameters im Formular steuert. Sie können mehrere Bedingungen einbeziehen, die andere Parameter steuern. Beispielsweise protocol kann ein Quellparameter einen dependent-Parameter haben, der nur angezeigt wird certificate, wenn der protocol Parameterwert lautet SSL.

Jede Bedingung kann die folgenden Attribute haben:

  • target-parameter: Geben Sie den Zielparameter an, für den diese Bedingung gilt.

  • Matching-Werte: Geben Sie die Liste der Werte des Quellparameters an, der die Aktion auslöst.

  • action: Geben Sie eine der folgenden Aktionen für den Zielparameter an:

    • read-only: Der Parameter wird schreibgeschützt.

    • show: Der Parameter wird im Formular angezeigt, wenn er ausgeblendet ist.

    • hide: Der Parameter wird aus dem Formular entfernt.

    • set-value: Der Parameterwert wird auf den im value-Attribut angegebenen Wert festgelegt.

  • value: Der Wert des Zielparameters, wenn die Aktion ist set-value.

Wenn eine Benutzereingabe den angegebenen Werten für den Quellparameter entspricht, ändert sich das Aussehen oder der Wert des Zielparameters entsprechend der angegebenen Aktion.

Beispiel:

 -
    name: lb-virtual-port
    label: "Load Balanced App Virtual Port"
    description: "TCP port representing the Load Balanced application"
    type: tcp-port
    gui:
      updatable: false
      dependent-parameters:
            -
              matching-values:
                - 80
              target-parameter: $parameters.lb-service-type
              action: set-value
              allowed-values:
              - HTTP
              - TCP
              - UDP

    default: 80

<!--NeedCopy-->

In diesem Beispiel wird der abhängige Parameter unter dem lb-virtual-port Parameter (Quellparameter) angegeben.

Wenn der Quellparameterwert auf festgelegt ist 80, löst der lb-service-type Parameter die set-value Aktion aus. Infolgedessen kann ein Benutzer eine der folgenden Optionen auswählen:

  • HTTP
  • TCP
  • UDP