Application Delivery Management

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

参数条件

参数条件用于修改样书定义中某些参数的行为。样书定义中的参数是为创建配置包而提供的输入。 parameters-conditions 用于在定义中定义参数条件。

一个参数在样书定义中可以有许多约束。参数条件用于解决用户更改参数行为时的冲突。例如,当用户选择 SSL 协议时,需要证书详细信息才能创建配置包。但是,起初可能不会将证书详细信息设置为必填字段。

参数条件具有以下属性:

注意:

目前,参数条件不能应用于列表对象中的参数。

‘允许增加的值’

当操作为 augment-allowed-values 时,目标参数将作为下拉菜单显示在 GUI 中。下拉菜单使用在样书定义的 value 属性中定义的值进行设置。

示例

parameters-conditions: - target: $parameters.rewritepolicy.action action: augment-allowed-values value: $parameters.rewriteaction

“显示”或“隐藏”

当操作为 show 且指定的条件返回 True 时,目标参数将显示在 GUI 上。

当操作为 hide 且指定的条件返回 True 时,目标参数将从 GUI 中消失。

示例

parameters-conditions: - target: $parameters.security-settings.cert-details action: show condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]

首先, security-settings 参数的证书详细信息是隐藏的。当用户选择 SSL 或 SSL 桥协议时,将显示证书详细信息。

‘设置默认值’

当操作为 set-default 且指定的条件返回 True 时,目标参数的值将设置为默认值。

示例 1

parameters-conditions: - target: $parameters.port action: set-default condition: $parameters.protocol == "SSL" value: 443 - target: $parameters.port action: set-default condition: $parameters.protocol != "SSL" value: 80

示例 2

parameters-conditions: - target: $parameters.port action: set-default-value value: if-then-else($parameters.protocol == "SSL", 443, 80)

当用户选择 SSL 协议时,默认端口值将设置为 443。对于其他协议,默认端口值设置为 80。示例 1 和 2 给出了相同的结果。

‘需要设置’

当操作为 set-required 且指定条件返回 True 时,目标参数将成为创建配置包的必填字段。

parameters-conditions: - target: $parameters.security-settings.cert-details action: set-required condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]

首先, security-settings 参数可能不需要证书详细信息。当用户选择 SSLSSL-Bridge 协议时,证书详细信息将成为创建配置包的必填字段。

‘设置允许的值’

当操作为 set-allowed-values 且指定的条件返回 True 时,target 参数允许您仅选择指定的值。

示例

parameters-conditions: - target: $parameters.app-name action: set-allowed-values value: - "SSL" condition: $parameters.lb-virtual-port == 443

当用户指定 443 为负载平衡器虚拟端口时,应用程序的名称仅允许 SSL 选项。

‘设置标签’

当操作为 set-label 且指定的条件返回 True 时,目标参数的标签将更改为指定的文本。

示例

parameters-conditions: - target: $parameters.app-name action: set-label value: if-then-else($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")

当用户选择负载平衡器协议作为 TCP时,应用程序的标签将更改为 TCPApp。如果用户选择其他选项,应用程序的标签将更改为 UDPApp

‘设置描述’

当操作为 set-description 且指定的条件返回 True 时,目标参数的描述将更改为指定的文本。此描述将出现在目标参数的工具提示中。

示例

parameters-conditions: - target: $parameters.app-name action: set-description value: if-then-else($parameters.lb-service-type == "TCP", "Select a TCP application name","Select a UDP application name")

当用户选择负载平衡器协议作为 TCP时,应用程序的工具提示将显示文本: Select a TCP application name。如果用户选择其他选项,应用程序的说明将显示 Select a UDP application name

‘折叠窗格’或’展开窗格’

当操作为 collapse-pane 且指定的条件返回 True 时,目标参数的窗格将在 GUI 中折叠。

当操作为 expand-pane 且指定的条件返回 True 时,目标参数的窗格将在 GUI 中展开。

示例

parameters-conditions: - target: $parameters.security-settings.cert-details action: expand-pane condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]

首先,可能无法展开 security-settings 参数的证书详细信息窗格。当用户选择 SSL 或 SSL 协议时,证书详细信息窗格将在 GUI 上展开。

‘设置模式’

当操作为 set-pattern 且指定条件返回 True 时,目标参数字段将设置为指定的模式。

示例

parameters-conditions: - target: $parameters.app-name action: set-pattern value: "[a-z]+"

在此示例中,应用程序的名称仅允许使用小写字母字符。

嵌套参数条件

在样书定义中,可以在参数条件中指定参数条件。这些条件被称为嵌套参数条件,并使用 repeat 构造来定义这些条件。当您要对来自其他参数的参数应用操作时,嵌套参数条件非常有用。

示例

parameters-conditions: - repeat: $parameters.lbvservers repeat-item: lbvserver parameters-conditions: - target: $lbvserver.port action: set-allowed-values condition: $lbvserver.protocol == "HTTPS" value: $parameters.ssl-ports

在此示例中,当用户为负载平衡虚拟服务器选择 HTTPS 协议时,会动态填充端口值。而且,它适用于列表中的每台负载平衡虚拟服务器。

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