Application Delivery Management

パラメーター条件

パラメーター条件は、StyleBook定義内の特定のパラメーターの動作を変更するために使用されます。StyleBook定義内のパラメーターは、設定パックを作成するために提供される入力です。定義内でパラメーター条件を定義するには、parameters-conditionsを使用します。

パラメーターはStyleBook定義において多くの制約を持つことができます。パラメーター条件は、ユーザーがパラメーターの動作を変更したときに競合を解決するために使用されます。たとえば、ユーザーがSSLプロトコルを選択した場合、設定パックを作成するには証明書の詳細が必要です。ただし、証明書の詳細は最初、必須フィールドとして設定されていない場合があります。

パラメーター条件には、次の属性があります。

注:

現在、リストオブジェクト内のパラメーターにはパラメーター条件を適用できません。

‘augment-allowed-values’

アクションがaugment-allowed-valuesの場合、ターゲットパラメーターはGUIにドロップダウンメニューとして表示されます。ドロップダウンメニューには、StyleBook定義のvalue属性で定義された値が設定されます。

:

parameters-conditions:
  -
   target: $parameters.rewritepolicy.action
   action: augment-allowed-values
   value:  $parameters.rewriteaction
<!--NeedCopy-->

‘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"]
<!--NeedCopy-->

最初、security-settingsパラメーターの証明書の詳細は非表示になっています。ユーザーがSSLまたはSSL-Bridgeプロトコルを選択すると、証明書の詳細が表示されます。

‘set-default’

アクションが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
<!--NeedCopy-->

例 2:

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

ユーザーがSSLプロトコルを選択すると、デフォルトのポート値は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"]
<!--NeedCopy-->

最初、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
<!--NeedCopy-->

ユーザーがロードバランサーの仮想ポートとして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")
<!--NeedCopy-->

ユーザーがロードバランサープロトコルとして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")
<!--NeedCopy-->

ユーザーがロードバランサープロトコルとしてTCPを選択すると、アプリケーションのツールチップに「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"]
<!--NeedCopy-->

最初、security-settingsパラメーターの証明書の詳細ペインは展開されていない場合があります。ユーザーがSSLまたはSSL-Bridgeプロトコルを選択すると、証明書の詳細ペインがGUIで展開されます。

‘set-pattern’

アクションがset-patternで、指定された条件がTrueを返す場合、ターゲットパラメーターフィールドは指定されたパターンに設定されます。

:

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

この例では、アプリケーション名には小文字のアルファベット文字のみが許可されます。

ネストされたパラメーター条件

StyleBook定義では、パラメーター条件内にパラメーター条件を指定できます。これらの条件はネストされたパラメーター条件と呼ばれ、これらの条件を定義するために繰り返し構造を使用します。ネストされたパラメーター条件は、あるパラメーターから別のパラメーターに対してアクションを適用したい場合に役立ちます。

:

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
<!--NeedCopy-->

この例では、ユーザーがロードバランシング仮想サーバーに対してHTTPSプロトコルを選択すると、ポート値が動的に入力されます。そして、これはリスト内の各ロードバランシング仮想サーバーに適用されます。

パラメーター条件