Application Delivery Management

这篇文章已经过机器翻译.放弃

嵌套重复

通过使用嵌套的重复构造,根据组件的定义,一个组件中可以有多个重复构造。假定一个嵌套的重复有两个级别。对于外层列表(第一个 repeat-list)中的每个元素,您可以为内层列表(第二个 repeat-list)的所有元素创建一个重复列表。样本编译器最多支持三个嵌套的重复。每个重复级别都有与之关联的 repeat-item 和 repeat-index 属性。repeat-item 和 repeat-index 属性是可选的。此外,每个重复还可以指定 repeat-condition。

示例

parameters: - name: vips type: ipaddress[] - name: vip-ports type: tcp-port[] components: - name: lbvservers-comp type: ns::lbvserver repeat: repeat-list: $parameters.vips repeat-item: ip repeat: repeat-list: $parameters.vip-ports repeat-item: port properties: name: str("lb-") + str($ip) + '-' + str($port) servicetype: HTTP ipv46: $ip port: $port

在上述示例中,对于 $parameters.vips 中的每项,均对 $parameters.vip-ports 的所有项进行迭代。因此,对于 $parameters.vips 中指定的每个 IP 地址,均为 $parameters.vip-ports 中指定的所有端口创建 lbvserver 配置对象。properties 部分定义对象的名称,并以“lb”作为 IP 地址和端口的组合的前缀。因此,对于每个迭代,$ip + $port 均定义 IP 地址和端口号的唯一组合。

如果未提供 repeat-item 属性,则编译器将为其生成默认值。repeat-item 的默认值为:分别对应每个重复级别的 $repeat-item、$repeat-item-1、$repeat-item-2。同样,如果未提供 repeat-index 属性,则编译器将为其生成默认值。repeat-index 的默认值为:分别对应每个重复级别的 $repeat-index、$repeat-index-1 和 $repeat-index-2。

以下示例说明了嵌套的重复对象中没有 repeat-item 和 repeat-index 属性时的命名约定。

示例

components: - name: lbvservers-comp type: ns::lbvserver repeat: repeat-list: $parameters.vips repeat: repeat-list: $parameters.vip-ports properties: name: str("lb-") + str($repeat-item) + '-' + str($repeat-item-1) servicetype: HTTP ipv46: $repeat-item port: $repeat-item-1
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
嵌套重复