Condition construct 编辑
Condition construct
You can make a component conditional by using a condition construct. The value of a conditional construct is a boolean expression that evaluates to true or false. If the condition is true, the component is used to build its configuration objects. If the condition is false, the component is skipped, and no configuration objects are created through it. The boolean expression is often based on parameter values.
Example:
components:
-
name: servicegroup-comp
type: ns::servicegroup
condition: $parameters.svc-server-ips
properties:
name: $parameters.name + "-svcgrp"
servicetype: HTTP
<!--NeedCopy-->
In this example, if the user specifies a value for the optional parameter svc-server-ips
, then the component, servicegroup-comp
, is processed by the StyleBook engine. If the condition is false, that is, if the user does not provide a value to this parameter, a null value is assigned to this parameter and evaluates to false, then the StyleBook engine ignores the presence of this component, and no servicegroup
is created.
Note that the boolean expression can be based on any valid expression supported in StyleBooks (for example, whether another component is present, or whether a parameter has a certain value).
The following example builds the configuration object of NITRO type ns::systemfile if the condition is evaluated to true.
Example:
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
<!--NeedCopy-->
In this example, the condition is a complex “or” expression, where you want this configuration object to be created by the StyleBook only if two other components in the StyleBook have been processed (not skipped), therefore, creating a dependency between components.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论