Citrix Application Delivery Management 服务

嵌套组件

通过在一个组件中嵌套另一个组件,嵌套的组件可以通过引用父组件创建的配置对象或上下文来创建其配置对象。嵌套的组件可以为父组件中创建的每个对象创建一个或多个对象。在一个组件中嵌套另一个组件并不表示创建的配置对象之间有任何关系。嵌套是一种简化组件的任务以在父组件的现有上下文中构造配置对象的方式。

示例

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 

在此示例中,使用了多层嵌套。组件my-lbvserver-comp有一个名为my-svcg-comp的子组件。而且,my-svcg-comp组件中有两个子组件。my-svcg-comp组件用于通过向内置 NITRO 资源类型 “的属性提供值,在 Citrix ADC 实例上创建服务组配置对象servicegroupmy-svcg组件的第一个子组件lbvserver-svg-binding-comp用于将其父组件创建的服务组绑定到由父组件创建的负载平衡虚拟服务器 (lbvserver)。$parent 表示法(也称为父引用)用于引用父组件中的实体。第二个子组件members-svcg-comp用于将服务列表绑定到父组件创建的服务组。绑定是通过使用样书的重复构造来遍历为参数svc-servers指定的服务列表来实现的。有关重复构造的信息,请参阅重复构造

还可以在不使用组件嵌套的情况下创建相同配置对象。有关详细信息和示例,请参阅用于创建基本负载平衡配置的样本

嵌套组件