Application Delivery Management

Parameter

Dieser Abschnitt ermöglicht es Ihnen, alle Parameter zu definieren, die Sie in Ihrem StyleBook benötigen, um eine Konfiguration zu erstellen. Er beschreibt die Eingaben, die Ihr StyleBook entgegennimmt. Obwohl dieser Abschnitt optional ist, benötigen die meisten StyleBooks einen. Sie können den Parameterabschnitt verwenden, um die Felder für Benutzer zu definieren, die das StyleBook zur Erstellung einer Konfiguration auf einer NetScaler-Instanz verwenden.

Wenn Sie Ihr StyleBook in NetScaler® ADM importieren und es zur Erstellung einer Konfiguration verwenden, nutzt die GUI diesen Abschnitt des StyleBooks, um ein Formular anzuzeigen. Dieses Formular nimmt Eingaben für die definierten Parameterwerte entgegen.

Der folgende Abschnitt beschreibt die Attribute, 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 Buchstaben beginnen und kann weitere Buchstaben, Zahlen, Bindestriche (-) oder Unterstriche (_) enthalten.

Beim Schreiben eines StyleBooks können Sie dieses Attribut “name” verwenden, um in anderen Abschnitten auf den Parameter zu verweisen, indem Sie die Notation $parameters.<name> nutzen.

Obligatorisch? Ja

‘label’

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

Obligatorisch? Nein

‘description’

Eine Hilfszeichenfolge, 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’

Der Werttyp, den diese Parameter annehmen können. Parameter können einen der folgenden integrierten Typen haben:

  • string: Ein Array von Zeichen. Wenn keine Länge angegeben ist, kann der Zeichenfolgenwert eine beliebige Anzahl von Zeichen annehmen. Sie können die Länge eines Zeichenfolgentyps jedoch mithilfe der Attribute min-length und max-length begrenzen.

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

  • boolean: Kann entweder true oder false sein. YAML betrachtet alle Literale als Booleans (zum Beispiel Yes oder No).

  • 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 Netzmaske.

    IP-Netzwerk

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

    Beim Erstellen oder Aktualisieren eines Konfigurationspakets über die NetScaler ADM-GUI können Sie eine der folgenden Aktionen ausführen:

    • Netzmaskenlänge aktivieren und die IP-Adresse sowie die Netzmaskenlänge eingeben
    • Netzmaskenlänge deaktivieren und die IP-Adresse sowie die Netzmasken-IP-Adresse eingeben

    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 darstellt.

  • password: Stellt einen undurchsichtigen/geheimen Zeichenfolgenwert dar. Wenn die ADM-GUI einen Wert für diesen Parameter anzeigt, wird er als Sternchen (*****) dargestellt.

  • certfile: Stellt eine Zertifikatsdatei dar. Dieser Wert ermöglicht es Ihnen, die Dateien direkt von Ihrem lokalen System hochzuladen, wenn Sie eine StyleBook-Konfiguration über die 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: Stellt eine Zertifikatsschlüsseldatei dar. Dieser Wert ermöglicht es Ihnen, die Datei direkt von Ihrem lokalen System hochzuladen, wenn Sie eine StyleBook-Konfiguration über die ADM-GUI erstellen. Die hochgeladene Zertifikatsschlüsseldatei wird im Verzeichnis /var/mps/tenants/\<tenant_path>/ns_ssl_keys in ADM gespeichert.

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

  • file: Stellt eine Datei dar.

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

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

Ein Parameter kann auch einen type haben, der eine Liste von Typen ist. Dazu fügen Sie [] am Ende des Typs hinzu. Wenn beispielsweise das Attribut type string[] ist, nimmt dieser Parameter eine Liste von Zeichenfolgen als Eingabe entgegen. Sie können eine, zwei oder mehrere Zeichenfolgen für diesen Parameter angeben, wenn Sie eine Konfiguration aus diesem StyleBook erstellen.

Obligatorisch? Ja

‘network’

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

ADM weist automatisch eine IP-Adresse aus dem network-Attribut 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 Feld virtual-ip automatisch eine IP-Adresse aus network-1 zu. Die IP-Adresse wird an das Netzwerk zurückgegeben, wenn die Konfiguration gelöscht wird.

‘dynamic-allocation’

Das Attribut dynamic-allocation wird in der Parameterdefinition von type:ipaddress hinzugefügt. Verwenden Sie dieses Attribut, um die ADM IPAM-Netzwerke dynamisch aufzulisten. Dieses Attribut kann entweder true oder false als Eingabe annehmen. Für type: ipaddress geben Sie das Attribut dynamic-allocation: true an, um die in ADM vorhandenen ADM IPAM-Netzwerke dynamisch aufzulisten. Im Formular zur Erstellung des Konfigurationspakets 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 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 Feld virtual-ip die in ADM vorhandenen ADM IPAM-Netzwerke auf. Wählen Sie ein Netzwerk aus der Liste aus, um eine IP-Adresse automatisch aus dem Netzwerk zuzuweisen. Die IP-Adresse wird an das Netzwerk zurückgegeben, wenn die Konfiguration gelöscht wird.

‘key’

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

Ein StyleBook kann nur einen Parameter als “key”-Parameter definiert haben.

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

Der Standardwert ist false.

Obligatorisch? Nein

‘required’

Geben Sie true oder false an, um zu kennzeichnen, ob ein Parameter obligatorisch oder optional ist. Wenn er 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 Radio-Optionen anzeigen möchten, setzen Sie das Attribut layout.

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, wobei jedes Element der Liste nur Werte haben kann, die in allowed-values angegeben sind.

-
      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:

Um die Standardwerte des Parameters aufzulisten:

-
      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ären 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-->

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

Obligatorisch? Nein

‘max-value’

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

Stellen Sie sicher, dass der Maximalwert größer als der Minimalwert 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 für einen Parameter vom Typ “string” akzeptierten Werte zu definieren.

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

Beispiel:

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

Obligatorisch? Nein

‘max-length’

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

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

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 Elementen größer ist als die minimale Anzahl 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, in denen die Parameter vom Typ type: object[] in der ADM-GUI angezeigt werden sollen.

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. Setzen Sie dieses Attribut nur für einfache Parametertypen wie string, boolean oder number.

Wenn der Wert auf false gesetzt ist, wird das Parameterfeld beim Aktualisieren der Konfiguration ausgegraut.

Obligatorisch? Nein

‘collapse_pane’

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

Wenn der Wert auf true gesetzt ist, kann der Benutzer die untergeordneten Parameter unter diesem Elternparameter erweitern oder einklappen.

Beispiel:

gui:

 collapse_pane: true

 columns: 2
<!--NeedCopy-->

Beispiel eines vollständigen Parameterabschnitts:


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-->

Das Folgende ist 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. Setzen Sie das Attribut layout im Parameterabschnitt einer StyleBook-Definition auf radio. Es gilt für den Parameter, der das Attribut allowed-values besitzt. Wenn Sie ein Konfigurationspaket erstellen, zeigt die ADM-GUI die Werte in der allowed-values-Liste als Optionsfelder an.

Beispiel:

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

Die Werte One, Two und Three erscheinen als Optionsfelder in der ADM-GUI.

‘dependent-parameters’

Dieses Attribut ist ein Unterattribut des Attributs gui. Es steuert dynamisch das Erscheinungsbild oder den Anfangswert des Parameters 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 einschließen, die andere Parameter steuern. Zum Beispiel kann ein Quellparameter protocol einen abhängigen Parameter certificate haben, der nur erscheint, wenn der Wert des protocol-Parameters SSL ist.

Jede Bedingung kann die folgenden Attribute haben:

  • target-parameter: Geben Sie den Zielparameter an, auf den diese Bedingung zutrifft.

  • matching-values: Geben Sie die Liste der Werte des Quellparameters an, die die Aktion auslösen.

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

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

    • show: Der Parameter erscheint im Formular, wenn er ausgeblendet war.

    • hide: Der Parameter wird aus dem Formular entfernt.

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

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

Wenn eine Benutzereingabe mit den angegebenen Werten des Quellparameters übereinstimmt, ändert sich das Erscheinungsbild oder der Wert des Zielparameters entsprechend der angegebenen Aktion.

Beispiel:

 -
    name: lb-virtual-port
    label: "Load Balancer IP Address"
    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 Parameter lb-virtual-port (Quellparameter) angegeben.

Wenn der Wert des Quellparameters auf 80 gesetzt wird, löst der Parameter lb-service-type die Aktion set-value aus. Infolgedessen kann ein Benutzer eine der folgenden Optionen auswählen:

  • HTTP
  • TCP
  • UDP