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

最終公開日 : Sep 25, 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を作成できます。以下に、そのような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パラメータの子パラメータとして直接追加されるのと同様です。
Related information