Application Delivery Management

コンポーネントのネスト

別のコンポーネント内にコンポーネントをネストすると、ネストされたコンポーネントは、親コンポーネントによって作成された構成オブジェクトまたはコンテキストを参照して、独自の構成オブジェクトを作成できます。ネストされたコンポーネントは、親コンポーネントで作成された各オブジェクトに対して1つ以上のオブジェクトを作成できます。別のコンポーネント内にコンポーネントをネストしても、作成された構成オブジェクト間にいかなる関係も示されません。ネストは、親コンポーネントの既存のコンテキスト内で構成オブジェクトを構築するコンポーネントのタスクを容易にする方法です。

:


components:
 -
  name: my-lbvserver-comp
  type: ns::lbvserver
   properties:
      name: $parameters.name + "-lb"
      servicetype: HTTP
      ipv46: $parameters.ip
      port: 80
      lbmethod: $parameters.lb-alg
      components:
        -
         name: my-svcg-comp
         type: ns::servicegroup
         properties:
            name: $parameters.name + "-svcgrp"
            servicetype: HTTP
         components:
            -
              name: lbvserver-svg-binding-comp
              type: ns::lbvserver_servicegroup_binding
              properties:
                name: $parent.parent.properties.name
                servicegroupname: $parent.properties.name
                  -
                    name: members-svcg-comp
                    type: ns::servicegroup_servicegroupmember_binding
                    repeat:
                      repeat-list: $parameters.svc-servers
                      repeat-item: srv
                    properties:
                      ip: $srv
                      port: str($parameters.svc-port)
                      servicegroupname: $parent.properties.name
<!--NeedCopy-->

この例では、多階層のネストが使用されています。my-lbvserver-comp コンポーネントには、my-svcg-comp という子コンポーネントがあります。そして、my-svcg-comp コンポーネントには2つの子コンポーネントが含まれています。my-svcg-comp コンポーネントは、組み込みの NITRO リソースタイプ「servicegroup」の属性に値を提供することで、NetScaler インスタンス上にサービスグループ構成オブジェクトを作成するために使用されます。my-svcg コンポーネントの最初の子コンポーネントである lbvserver-svg-binding-comp は、その親コンポーネントによって作成されたサービスグループを、親の親コンポーネントによって作成されたロードバランシング仮想サーバー (lbvserver) にバインドするために使用されます。$parent 表記は、親参照とも呼ばれ、親コンポーネント内のエンティティを参照するために使用されます。2番目の子コンポーネントである members-svcg-comp は、サービスのリストを親コンポーネントによって作成されたサービスグループにバインドするために使用されます。このバインディングは、svc-servers パラメータに指定されたサービスのリストを反復処理するために、StyleBook の repeat コンストラクトを使用することで実現されます。repeat コンストラクトの詳細については、「Repeat Construct」を参照してください。

コンポーネントのネストを使用せずに、同じ構成オブジェクトを作成することもできます。詳細と例については、「StyleBook to Create a Basic Load Balancing Configuration」を参照してください。

コンポーネントのネスト

この記事の概要