父级引用
如果您正在使用嵌套组件,则可以使用 $parent 表示法引用父组件。如果父组件使用重复构造构建多个配置对象,并且在每次迭代中,子组件构建其他配置对象,则 $parent 表示法始终引用父组件的当前迭代。例如,$parent.properties.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 的属性名称通过使用 $parent.parent 表示法,从其父级的父级(即 my-lbvserver-comp 组件)的属性名称中获取其值。