パラメーター条件
parameters-conditionsを使用します。
-
target: アクションを適用するターゲットパラメーターを指定します。複数のターゲットパラメーターを指定できます。 -
action: ターゲットパラメーターに対して実行するアクションを指定します。パラメーター条件は、次のアクションをサポートしています。 -
condition: オプションで、指定されたターゲットパラメーターにアクションを適用する条件を指定します。条件を指定しない場合、アクションはターゲットパラメーターに直接適用されます。 -
value: アクションに応じて、ターゲットパラメーター属性の値を設定します。
'augment-allowed-values'
augment-allowed-valuesの場合、ターゲットパラメーターはGUIにドロップダウンメニューとして表示されます。ドロップダウンメニューには、StyleBook定義のvalue属性で定義された値が設定されます。
parameters-conditions:
-
target: $parameters.rewritepolicy.action
action: augment-allowed-values
value: $parameters.rewriteaction
'show' または 'hide'
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-Bridgeプロトコルを選択すると、証明書の詳細が表示されます。
'set-default'
set-defaultで、指定された条件がTrueを返す場合、ターゲットパラメーターの値はデフォルト値に設定されます。
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
parameters-conditions:
-
target: $parameters.port
action: set-default
value: if-then-else($parameters.protocol == "SSL", 443, 80)
443に設定されます。その他のプロトコルの場合、デフォルトのポート値は80に設定されます。例1と例2は同じ結果になります。
'set-required'
set-requiredで、指定された条件がTrueを返す場合、ターゲットパラメーターは設定パックを作成するための必須フィールドになります。
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: set-required
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
security-settingsパラメーターの証明書の詳細は必須ではない場合があります。ユーザーがSSLまたはSSL-Bridgeプロトコルを選択すると、証明書の詳細は設定パックを作成するための必須フィールドになります。
'set-allowed-values'
set-allowed-valuesで、指定された条件がTrueを返す場合、ターゲットパラメーターは指定された値のみを選択できるようになります。
parameters-conditions:
-
target: $parameters.app-name
action: set-allowed-values
value:
- "SSL"
condition: $parameters.lb-virtual-port == 443
443を指定すると、アプリケーション名ではSSLオプションのみが許可されます。
'set-label'
set-labelで、指定された条件がTrueを返す場合、ターゲットパラメーターのラベルは指定されたテキストに変更されます。
parameters-conditions:
-
target: $parameters.app-name
action: set-label
value: if-then-else($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")
'set-description'
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")
Select a TCP application name」というテキストが表示されます。ユーザーが別のオプションを選択すると、アプリケーションの説明には「Select a UDP application name」と表示されます。
'collapse-pane' または 'expand-pane'
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-Bridgeプロトコルを選択すると、証明書の詳細ペインがGUIで展開されます。
'set-pattern'
set-patternで、指定された条件がTrueを返す場合、ターゲットパラメーターフィールドは指定されたパターンに設定されます。
parameters-conditions:
-
target: $parameters.app-name
action: set-pattern
value: "[a-z]+"
ネストされたパラメーター条件
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