Application Delivery Management

parameters-default-sources 構成

この構成を使用して、他の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: このStyleBookは一般的な仮想IP構成を定義します。
     private: true
     schema-version: "1.0"
     parameters:
       -
           name: lb-appname
           label: ロードバランスされたアプリケーション名
          description: ロードバランスされたアプリケーションの名前
           type: string
           required: true
       -
           name: lb-virtual-ip
           label: ロードバランスされたアプリケーション仮想IPアドレス
           description: ロードバランスされたアプリケーションを表す仮想IPアドレス
           type: ipaddress
           required: true
       -
           name: lb-virtual-port
           label: ロードバランスされたアプリケーション仮想ポート
           description: ロードバランスされたアプリケーションを表すTCPポート
           type: tcp-port
           default: 80
       -
           name: lb-service-type
           label: ロードバランスされたアプリケーションプロトコル
           description: ロードバランスされたアプリケーションに使用されるプロトコル。
           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: このStyleBookはBiz AppのNetScaler構成を定義します
     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: モニター名
           description: モニターの名前
           type: string
           required: true
         -
           name: type
           label: モニタータイプ
           description: モニターのタイプ
           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が指定されます。これは、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: 仮想IPの詳細
      description: 仮想IPの詳細
      type: object
      required: true
      parameters-default-sources:
              - cmtypes::vip-params
<!--NeedCopy-->

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

parameters-default-sources 構成

この記事の概要