StyleBookの設定

ネストされたコンポーネント

コンポーネントを別のコンポーネント内にネストした場合、ネストされたコンポーネントは、親コンポーネントによって作成される構成オブジェクトまたはコンテキストを参照してその構成オブジェクトを作成できます。ネストされたコンポーネントは、親コンポーネントでオブジェクトが作成されるたびに、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 ADCインスタンス上にサービスグループ構成オブジェクトを作成するために使用されます。my-svcgコンポーネントの最初の子コンポーネントであるlbvserver-svg-binding-compは、親コンポーネントによって作成されたサービスグループを、親の親コンポーネントによって作成された負荷分散仮想サーバー (lbvserver) にバインドするために使用されます。$parent表記(親参照とも呼ばれる)は、親コンポーネントのエンティティを参照するために使用されます。2 番目の子コンポーネントmembers-svcg-compは、親コンポーネントによって作成されたサービスグループにサービスのリストをバインドするために使用されます。バインドは、StyleBookのrepeat構造を使用して、パラメータsvc-serversに指定されたサービスのリストを反復処理することで実現されます。repeat構造については、「repeat構造」を参照してください。

同じ構成オブジェクトを、コンポーネントのネストを使用せずに作成することもできます。追加の情報および例については、「基本的な負荷分散の構成を作成するためのStyleBook」を参照してください。

ネストされたコンポーネント

この記事の概要