Citrix Application Delivery Managementサービス

ヘルパーコンポーネント

StyleBookのコンポーネントセクションの主な用途は、NITRO 組み込み型または実際の構成オブジェクトを作成する別のStyleBookを使用して設定オブジェクトを生成することです。ヘルパーコンポーネントは、それ自身では構成オブジェクトを構築しません。ヘルパーコンポーネントは、パラメーターオブジェクト、他のコンポーネントのプロパティ、または他のコンポーネントの出力などを入力として、それらを他の形式に変換します。これが後に他のコンポーネントで使用されて、実際の構成オブジェクトが生成されます。ヘルパーコンポーネントには2種類あり、オブジェクトタイプとコンポーネントセクションを含まない他のStyleBookです。

次の例は、Citrix ADCインスタンス上でmonitor(lb-mon-comp)を使用して負荷分散サーバーを作成するために使用されるStyleBookのスニペットを示しています。

parameters:

  -

    name: appname

    type: string

  -

    name: ips

    type: ipaddress[]

  -

    name: vip

    type: ipaddress

components:

  -

    name: help-comp

    type: cmtypes::server-ip-port-params

    repeat:

      repeat-list: $parameters.ips

      repeat-item: server-ip

    properties:

      ip: $server-ip

      port: 80

 -

    name: lb-mon-comp

    type: stlb::lb-mon

    properties:

      lb-appname: $parameters.appname

      lb-virtual-ip: $parameters.vip

      lb-virtual-port: 80

      lb-service-type: HTTP

      svc-service-type: HTTP

      svc-servers: $components.help-comp.properties

<!--NeedCopy-->

パラメーターセクションにはアプリケーションの名前と負荷分散サーバーのIPアドレスを入力することができます。lb-mon-compコンポーネントセクションでは、lb-monStyleBookのsvc-serversパラメータには、 各項目に2つのサブパラメータipとポートがあるオブジェクトのリストが必要です。

ただし、このStyleBookのパラメーターセクションは、$parameters.ipsを使ってサーバーIPのみを受け取ります。このStyleBookでは、すべてのサーバーがポート80で実行されると想定されています。lb-monStyleBookを使用して負荷分散構成を作成するには、$parameters.ipsをオブジェクトのリストに変換する必要があります。これは、上記の例では、ヘルパーコンポーネント、help-compを使用して達成されます。ヘルプコンプコンポーネントの型はserver-ip-port-paramsStyleBook です。このStyleBookはコンポーネントを持ちません。結果として、構成オブジェクトを作成しません。help-comp は $parameters.ips の上にリピートリストを作成し、$parameters.ips の各項目に対して、ipとポート (静的 80 に設定) で構成されるオブジェクトを構築します。したがって、help-comp は、IP アドレスのリストをオブジェクトのリストに変換し、後でsvc-serversプロパティを割り当てるためにlb-mon-compで使用することができます。help-comp の結果は、lb-mon-compsvc-serversプロパティに割り当てられます。

ヘルパーコンポーネント