Application Delivery Management

Das parameters-default-sources-Konstrukt

Sie können dieses Konstrukt verwenden, um Parameterdefinitionen aus anderen StyleBooks wiederzuverwenden.

Stellen Sie sich ein Szenario vor, in dem ein Parameter oder eine Gruppe von Parametern wiederholt in mehreren StyleBooks verwendet wird. Um eine erneute Definition dieser Parameter jedes Mal zu vermeiden, wenn Sie ein neues StyleBook erstellen möchten, können Sie sie einmal definieren und dann ihre Definitionen in die StyleBooks importieren, die diese Parameter benötigen, indem Sie das parameters-default-sources-Konstrukt verwenden.

Wenn beispielsweise viele Ihrer StyleBooks eine virtuelle IP konfigurieren müssen, müssen Sie möglicherweise die gleichen Parameter für virtuelle IPs in jedem neuen StyleBook definieren, das Sie erstellen. Stattdessen können Sie ein separates StyleBook erstellen, das beispielsweise “vip-params” genannt wird, in dem Sie alle zugehörigen Parameter definieren, wie im folgenden Beispiel gezeigt:

     -
     name: vip-params
     namespace: com.acme.commontypes
     version: "1.0"
     description: This StyleBook defines a typical virtual IP config.
     private: true
     schema-version: "1.0"
     parameters:
       -
           name: lb-appname
           label: Load Balanced Application Name
          description: Name of the Load Balanced application
           type: string
           required: true
       -
           name: lb-virtual-ip
           label: Load Balanced App Virtual IP address
           description: Virtual IP address representing the Load Balanced application
           type: ipaddress
           required: true
       -
           name: lb-virtual-port
           label: Load Balanced App Virtual Port
           description: TCP port representing the Load Balanced application
           type: tcp-port
           default: 80
       -
           name: lb-service-type
           label: Load Balanced App Protocol
           description: Protocol used for the Load Balanced application.
           type: string
           default: HTTP
           required: true
           allowed-values:
                - HTTP
                - SSL
                - TCP
<!--NeedCopy-->

Anschließend können Sie andere StyleBooks erstellen, die diese Parameter verwenden. Es folgt ein Beispiel für ein solches StyleBook.

     -
     name: acme-biz-app
     namespace: com.acme.stylebooks
     version: "1.0"
     description: This stylebook defines the NetScaler configuration for Biz App
     schema-version: "1.0"
     import-stylebooks:
       -
          namespace: com.acme.commontypes
          prefix: cmtypes
          version: "1.0"
     parameters-default-sources:
           - cmtypes::vip-params
     parameters:
         -
           name: monitorname
           label: Monitor Name
           description: Name of the monitor
           type: string
           required: true
         -
           name: type
           label: Monitor Type
           description: Type of the monitor
           type: string
           required: true
           allowed-values:
             - PING
             - TCP
             - HTTP
             - HTTP-ECV
             - TCP-ECV
             - HTTP-INLINE
<!--NeedCopy-->

Im StyleBook acme-biz-app wird zunächst der Namespace und die Version des vip-params StyleBooks mithilfe des Abschnitts “import-stylebooks” importiert. Anschließend wird das parameters-default-sources-Konstrukt hinzugefügt und der StyleBook-Name, d. h. vip-params, angegeben. Dies hat den gleichen Effekt, als würden die Parameter des vip-params StyleBooks direkt in diesem StyleBook definiert.

Sie können Parameter aus mehreren StyleBooks einschließen, da parameters-default-sources eine Liste ist und jedes Element in der Liste ein StyleBook sein soll.

Zusätzlich zum Einschließen von Parametern aus anderen StyleBooks können Sie auch Ihre eigenen Parameter mithilfe des Abschnitts “parameters” definieren. Die vollständige Liste der Parameter des StyleBooks ist die Kombination aus Parametern, die aus anderen StyleBooks eingeschlossen wurden, und Parametern, die in diesem StyleBook definiert sind. Daher bezieht sich der Ausdruck $parameters auf diese Kombination von Parametern.

Beachten Sie, dass, wenn ein Parameter sowohl in einem importierten StyleBook als auch im aktuellen StyleBook definiert ist, die Definition im aktuellen StyleBook die aus einem anderen StyleBook importierte Definition überschreibt. Sie können dies effektiv nutzen, indem Sie bei Bedarf einige der importierten Parameter anpassen, während Sie die restlichen importierten Parameter unverändert verwenden.

Das parameters-default-sources-Konstrukt kann auch in verschachtelten Parametern verwendet werden, wie gezeigt:

parameters:
    -
      name: vip-details
      label: Virtual IP details
      description: Details of the Virtual IP
      type: object
      required: true
      parameters-default-sources:
              - cmtypes::vip-params
<!--NeedCopy-->

Dies ist vergleichbar damit, dass die Parameter des StyleBooks vip-params direkt als untergeordnete Parameter des vip-details-Parameters in diesem StyleBook hinzugefügt werden.

Das parameters-default-sources-Konstrukt