パラメータ条件

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

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

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

注記:

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

「許容値の増加」

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

:

パラメーター条件:
  -
   ターゲット: $parameters.rewritepolicy.action
   アクション: 許容値の増加
   :  $parameters.rewriteaction
<!--NeedCopy-->

「表示」または「非表示」

アクションが show で、指定された条件が Trueを返す場合、対象のパラメータが GUI に表示されます。

アクションが 非表示 で、指定された条件が Trueを返す場合、対象のパラメータが GUI から消えます。

:

パラメーター条件:
  -
   ターゲット: $parameters.security-settings.cert-details
   アクション: show
   条件: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->

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

「デフォルト設定」

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

例1:

パラメーター条件:
  -
   ターゲット: $parameters.port
   アクション: set-default
   条件: $parameters.protocol == "SSL"
   : 443
  -
   ターゲット: $parameters.port
   アクション: set-default
   条件: $parameters.protocol != "SSL"
   : 80
<!--NeedCopy-->

例2:

パラメーター条件:
  -
   ターゲット: $parameters.port
   アクション: set-default
   : if-then-else($parameters.protocol == "SSL", 443, 80)
<!--NeedCopy-->

ユーザーが SSL プロトコルを選択すると、デフォルトのポート値は 443に設定されます。 その他のプロトコルの場合、デフォルトのポート値は 80に設定されています。 例 1 と例 2 では同じ結果が得られます。

‘設定必須’

アクションが set-required で、指定された条件が Trueを返す場合、ターゲット パラメータは構成パックを作成するための必須フィールドになります。

パラメーター条件:
  -
   ターゲット: $parameters.security-settings.cert-details
   アクション: set-required
   条件: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->

最初は、 security-settings パラメータに証明書の詳細が必要ない場合があります。 ユーザーが SSL または SSL ブリッジ プロトコルを選択すると、構成パックを作成するために証明書の詳細が必須フィールドになります。

「許可された値の設定」

アクションが set-allowed-values で、指定された条件が Trueを返す場合、ターゲット パラメータでは指定された値のみを選択できます。

:

パラメーター条件:
  -
   ターゲット: $parameters.app-name
   アクション: set-allowed-values
   :
    -  "SSL"
   条件: $parameters.lb-virtual-port == 443
<!--NeedCopy-->

ユーザーがロードバランサーの仮想ポートとして 443 を指定すると、アプリケーションの名前では SSL オプションのみが許可されます。

‘ラベル設定’

アクションが set-label で、指定された条件が Trueを返す場合、ターゲット パラメータのラベルが指定されたテキストに変更されます。

:

パラメーター条件:
  -
   ターゲット: $parameters.app-name
   アクション: set-label
   : if-then-else($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")
<!--NeedCopy-->

ユーザーがロードバランサ プロトコルを TCPとして選択すると、アプリケーションのラベルは TCPAppに変更されます。 ユーザーが別のオプションを選択した場合、アプリケーションのラベルは UDPAppに変更されます。

‘セットの説明’

アクションが set-description で、指定された条件が Trueを返す場合、ターゲット パラメータの説明が指定されたテキストに変更されます。 この説明は、ターゲット パラメータのツールヒントに表示されます。

:

パラメータ条件:
  -
   ターゲット: $parameters.app-name
   アクション: set-description
   : if-then-else($parameters.lb-service-type == "TCP", "TCPアプリケーション名を選択","UDPアプリケーション名を選択")
<!--NeedCopy-->

ユーザーがロードバランサー プロトコルとして TCPを選択すると、アプリケーションのツールヒントに次のテキストが表示されます: TCP アプリケーション名を選択してください。 ユーザーが別のオプションを選択した場合、アプリケーションの説明に「 UDP アプリケーション名を選択してください」と表示されます。

「折りたたみペイン」または「展開ペイン」

アクションが collapse-pane で、指定された条件が Trueを返す場合、ターゲット パラメータのペインが GUI で折りたたまれます。

アクションが expand-pane で、指定された条件が Trueを返す場合、ターゲット パラメータのペインが GUI で展開されます。

:

パラメーター条件:
  -
    ターゲット: $parameters.security-settings.cert-details
    アクション: expand-pane
    条件: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->

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

‘set-pattern’

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

:

パラメーター条件:
  -
    ターゲット: $parameters.app-name
    アクション: set-pattern
    : "[az]+"
<!--NeedCopy-->

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

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

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

:

パラメーター条件:
  -
    繰り返し: $parameters.lbvservers
    繰り返し項目: lbvserver
    パラメーター条件:
      -
        ターゲット: $lbvserver.port
        アクション: set-allowed-values
        条件: $lbvserver.protocol == "HTTPS"
        : $parameters.ssl-ports
<!--NeedCopy-->

この例では、ユーザーが負荷分散仮想サーバーに対して HTTPS プロトコルを選択すると、ポート値が動的に設定されます。 また、リスト内の各負荷分散仮想サーバーに適用されます。