样书配置

条件构造

可以使用 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,则样书引擎将忽略此组件的存在,并且不创建servicegroup

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

以下示例在条件求值结果为 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”表达式,即希望仅当样本中的两个其他组件已处理(不是跳过)时,样本创建此配置对象,从而创建组件之间的依赖关系。

条件构造

在本文中