StyleBookの設定

パラメータ-デフォルトソース構成

この構造を使用すると、ほかのStyleBookのパラメーター定義を再利用できます。

パラメーターまたはパラメーターグループを複数のStyleBookで繰り返し使用するシナリオについて考えてみます。新しいStyleBookを作成するたびにこれらのパラメーターを再定義することを避けるために、パラメーターを一度定義してから、parameters-default-sources構造を使用して、これらのパラメーターを必要とするStyleBookにその定義をインポートできます。

たとえば、StyleBookの多くで仮想IPを構成する必要がある場合は、新しく作成する各StyleBookで仮想IPに関連する同じパラメーターの定義が必要になることがあります。代わりに、という別のStyleBookを作成できます。たとえば、次の例(vip-params)に示すように、関連するすべてのパラメータを定義します。

     -

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

次に、これらのパラメーターを使用する他の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-->

StyleBookacme-biz-appでは、まず、vip-paramsStyleBookの名前空間とバージョンは、「import-stylebooks」セクションを使用してインポートされます。次に、 パラメーター default-sources 構造が追加され、StyleBook 名 (つまりvip-params) が指定されます。このパラメータは、このStyleBookでvip-paramsStyleBookのパラメータを直接定義するのと同じ効果があります。

parameters-default-sourcesは一覧であり、一覧の各項目がStyleBookであると想定されるので、複数のStyleBookのパラメーターを含めることができます。

ほかのStyleBookのパラメーターを含めることができるだけでなく、Parametersセクションを使用して独自のパラメーターを定義することもできます。StyleBookのパラメーターの一覧全体は、ほかのStyleBookのパラメーターとこのStyleBookで定義したパラメーターの組み合わせになります。したがって、式$parametersはこのパラメーターの組み合わせを参照します。

インポートされたStyleBookと現在のStyleBookの両方でパラメータが定義されている場合、現在のStyleBookの定義は、別のStyleBookからインポートされた定義を上書きします。このアプローチは、必要に応じてインポートされたパラメータの一部をカスタマイズし、残りのインポートされたパラメータをそのまま使用することで、効果的に使用できます。

parameters-default-sources構造は、次に示すようにネストされたパラメーターでも使用できます。

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

この方法は、StyleBookvip-paramsのパラメータを、 このStyleBookのvip-detailsパラメータの子パラメータとして直接追加することに似ています。

パラメータ-デフォルトソース構成

この記事の概要