Parameters-default-sources コンストラクト

最終公開日 : Oct 02, 2026
このコンストラクトを使用して、他のStyleBookからパラメータ定義を再利用できます。
複数のStyleBookでパラメータまたはパラメータのグループが繰り返し使用されるシナリオを考えてみましょう。新しいStyleBookを作成するたびにこれらのパラメータを再定義するのを避けるために、一度定義し、parameters-default-sources コンストラクトを使用して、これらのパラメータを必要とするStyleBookにその定義をインポートできます。
たとえば、多くのStyleBookで仮想IPを構成する必要がある場合、作成する新しいStyleBookごとに仮想IPに関連する同じパラメータを定義しなければならないことがあります。代わりに、たとえば vip-params という別のStyleBookを作成し、次の例に示すように、それに関連するすべてのパラメータをそこで定義できます。
     -

     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
その後、これらのパラメータを使用する他の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
StyleBook acme-biz-app では、まず「import-stylebooks」セクションを使用して vip-params StyleBookの名前空間とバージョンがインポートされます。次に、parameters-default-sources コンストラクトが追加され、StyleBook名、つまり vip-params が指定されます。このパラメータは、vip-params StyleBookのパラメータをこのStyleBookに直接定義するのと同じ効果があります。
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
このアプローチは、StyleBook vip-params のパラメータを、このStyleBookの vip-details パラメータの子パラメータとして直接追加するのと似ています。