Application Delivery Management

ヘルパーコンポーネント

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

次の例は、NetScalerインスタンスでモニター付きのロードバランシングサーバー (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-->

parametersセクションでは、アプリケーションの名前とロードバランシングサーバーのIPアドレスを入力できます。lb-mon-compコンポーネントセクションでは、lb-mon StyleBookのsvc-serversパラメーターは、各項目に2つのサブパラメーター (ipとport) を持つオブジェクトのリストを想定しています。

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

ヘルパーコンポーネント