親参照

最終公開日 : Oct 02, 2026
ネストされたコンポーネントを使用している場合、$parent 表記を使用して親コンポーネントを参照できます。親コンポーネントが repeat コンストラクトを使用して複数の構成オブジェクトを構築し、各イテレーション内で子コンポーネントが他の構成オブジェクトを構築する場合、$parent 表記は常に親コンポーネントの現在のイテレーションを参照します。例えば、$parent.properties.name は、親によって現在のイテレーションで構築された構成オブジェクトの name プロパティを参照します。
例:
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: $parameters.svc-servers

                     repeat-item: srv

                     properties:

                       ip: $srv

                       port: str($parameters.svc-port)

                       servicegroupname: $parent.properties.name
最上位コンポーネントに至るまで、親の親のプロパティにアクセスすることで、コンポーネントの階層を上位に移動することもできます。例えば、lbvserver-svg-binding-comp コンポーネントのプロパティ名が、その親の親である my-lbvserver-comp コンポーネントのプロパティ名から値を取得するのは、$parent.parent 表記を使用することによってです。