这篇文章已经过机器翻译.放弃
重复构造
您可以使用组件的 repeat 构造来构建多个相同类型的配置对象。
在下面的示例中,members-svcg-comp 组件用于将一组服务绑定到父组件创建的服务组。为了创建将每个服务器绑定到服务组的配置对象,请使用 repeat 构造来迭代为参数 svc-servers 指定的服务列表。在迭代过程中,该组件为服务组中的每个服务(在 repeat-item 构造中称为 serv)创建一个类型为 servicegroup_servicegroupmember_binding 的 NITRO 对象,并将每个 NITRO 对象中的 ip 属性设置为相应服务的 IP 地址。
示例:
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: $parameters.svc-port servicegroupname: $parent.properties.name
repeat 本身就是一个对象,repeat-list和 repeat-item 是重复对象的属性。
- repeat-list 是必需属性,它标识组件迭代的列表。
- repeat-item 是可选的,用于为迭代中的当前项目指定友好名称。
如果未指定,则可以使用表达式$repeat-item 访问当前 项目。上述示例中的最后一个组件还可以编写如下:
- name: members-svcg-comp type: ns::servicegroup_servicegroupmember_binding repeat: repeat-list: $parameters.svc-servers properties: ip: $repeat-item port: $parameters.svc-port servicegroupname: $parent.properties.name
除了能够在列表上以白色迭代方式引用当前项目外,还可以使用 repeat-index 引用列表中项目的当前索引 。在以下示例中, 重复索引 用于基于当前索引计算端口号:
name: services type: ns::service repeat: repeat-list: $parameters.app-services repeat-item: srv properties: ip: $parameters.app-ip port: $parameters.base-port + repeat-index servicegroupname: $parent.properties.name
与 repeat-item 构造类似,您可以指定不同的变量名来引用迭代的当前索引。上述示例与以下示例等同:
- name: services type: ns::service repeat: repeat-list: $parameters.app-services repeat-item: srv repeat-index: idx properties: ip: $parameters.app-ip port: $parameters.base-port + $idx servicegroupname: $parent.properties.name
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
已复制!
失败!