StyleBook-Konfiguration

Parameters-Default-Sources-Konstrukt

Mit diesem Konstrukt können Sie Parameterdefinitionen aus anderen StyleBooks wiederverwenden.

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

Wenn beispielsweise viele Ihrer StyleBooks eine virtuelle IP konfigurieren müssen, müssen Sie möglicherweise dieselben Parameter für virtuelle IPs in jedem neuen StyleBook definieren, das Sie erstellen. Stattdessen können Sie ein separates StyleBook, z. B. mit dem Namen vip-params erstellen, in dem Sie alle damit verbundenen 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

     -

     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 werden zunächst der Namespace und die Version des vip-params StyleBook mithilfe des Abschnitts “Import-Stylebooks” importiert. acme-biz-app Dann wird das Gebäudemodul Parameter-Default-sources hinzugefügt, und der StyleBook-Name vip-params wird angegeben. Dieser Parameter hat den gleichen Effekt wie das Definieren der Parameter von vip-params StyleBook direkt in diesem StyleBook.

Sie können Parameter aus mehreren StyleBooks einbeziehen, da es sich bei den parameters-default-sources um eine Liste handelt und bei jedem Element in der Liste erwartet wird, dass es sich um ein StyleBook handelt.

Sie können nicht nur Parameter aus anderen StyleBooks einbeziehen, sondern auch Ihre eigenen Parameter definieren, indem Sie den Parameterbereich verwenden. Die vollständige Liste der Parameter des StyleBook ist die Kombination von Parametern aus anderen StyleBooks und Parametern, die in diesem StyleBook definiert sind. Daher bezieht sich der Ausdruck $parameters auf diese Kombination von Parametern.

Wenn ein Parameter sowohl in einem importierten StyleBook als auch im aktuellen StyleBook definiert ist, überschreibt die Definition im aktuellen StyleBook die aus einem anderen StyleBook importierte Definition. Sie können diesen Ansatz effektiv verwenden, indem Sie bei Bedarf einige der importierten Parameter anpassen und dabei die restlichen importierten Parameter verwenden.

Das Konstrukt parameters-default-sources 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-->

Dieser Ansatz ähnelt dem vip-params Hinzufügen der Parameter des StyleBook direkt als untergeordnete Parameter des vip-details Parameters in diesem StyleBook.

Parameters-Default-Sources-Konstrukt

In diesem Artikel