Application Delivery Management

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

条件构造

可以使用 condition 构造使组件成为有条件的组件。condition 构造的值是求值结果为 true 或 false 的布尔表达式。如果条件为 true,则使用该组件构建其配置对象。如果条件为 false,则跳过该组件,不通过它创建配置对象。布尔表达式通常基于参数值。

示例

components: - name: servicegroup-comp type: ns::servicegroup condition: $parameters.svc-server-ips properties: name: $parameters.name + "-svcgrp" servicetype: HTTP

在此示例中,如果用户为可选参数 svc-server-ips 指定一个值,则样书引擎将处理组件 servicegroup-comp。如果条件为 false,即如果用户没有为此参数提供值,则系统为此参数指定空值,且求值结果为 false,那么样本引擎将忽略此组件,且不创建服务组。

请注意,布尔表达式可以基于样书中支持的任何有效表达式(例如,另一个组件是否存在,或一个参数是否有特定值)。

以下示例在条件求值结果为 true 时构建 NITRO 类型 ns::systemfile 的配置对象。

示例

components - name: pem_key_files type: ns::systemfile condition: "$components.der-certificate-files-comp or $components.pem-certificate-files-comp" properties: filecontent: $certificate.keyfile.contents fileencoding: "BASE64" filelocation: "/nsconfig/ssl" filename: $certificate.keyfile.filename

在此示例中,条件是一个复杂的“OR”表达式,只有在样书中的其他两个组件已经处理(未跳过)时,才希望样书才创建此配置对象,从而在组件之间创建依赖关系。

本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
条件构造