Application Delivery Management

Parent reference

If you are using nested components, you can refer to the parent component using the $parent notation. If the parent component builds multiple configuration objects using the repeat construct, and within each iteration, child components build other configuration objects, then the $parent notation always refers to the current iteration of the parent component. For example, $parent.properties.name refers to the name property of the configuration object built in the current iteration by the parent.

Example:

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

You can also navigate upward through the hierarchy of components by accessing the properties of the parents of parents all the way to top-level components. For example, the property name of the component lbvserver-svg-binding-comp takes its value from the property name of the parent of its parent, the my-lbvserver-comp component, by using the $parent.parent notation.

Parent reference