Application Delivery Management

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

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

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

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

     -
     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を作成できます。以下に、このような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-->

StyleBook acme-biz-appでは、まず「import-stylebooks」セクションを使用して、vip-params StyleBookの名前空間とバージョンをインポートします。次に、parameters-default-sources構造を追加して、StyleBook名、つまりvip-paramsを指定します。これにより、StyleBook vip-paramsのパラメーターをこの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
<!--NeedCopy-->

これは、StyleBook vip-paramsのパラメーターをこのStyleBookのvip-detailsパラメーターの子パラメーターとして直接追加する場合と同様です。

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

この記事の概要