Application Delivery Management

親参照

ネストされたコンポーネントを使用している場合は、$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
<!--NeedCopy-->

また、親の親のプロパティにアクセスしてコンポーネントの階層を上方向に移動し、最上位レベルのコンポーネントまで遡ることもできます。たとえば、コンポーネント lbvserver-svg-binding-comp のプロパティ名は、 $parent.parent 表記を使用して、その親の親であるmy-lbvserver-compコンポーネントのプロパティ名から値を取得します

親参照

この記事の概要