Application Delivery Management

Parameterbedingungen

Parameterbedingungen werden verwendet, um das Verhalten bestimmter Parameter in der StyleBook-Definition zu ändern. Parameter in einer StyleBook-Definition sind die Eingabe, die zum Erstellen eines Konfigurationspakets bereitgestellt wird. Verwenden Sie parameters-conditions, um eine Parameterbedingung in der Definition zu definieren.

Ein Parameter kann viele Einschränkungen in der StyleBook-Definition haben. Die Parameterbedingungen werden verwendet, um Konflikte zu lösen, wenn ein Benutzer das Verhalten der Parameter ändert. Wenn ein Benutzer beispielsweise das SSL-Protokoll auswählt, sind die Zertifikatsdetails erforderlich, um ein Konfigurationspaket zu erstellen. Die Zertifikatsdetails werden jedoch möglicherweise zunächst nicht als erforderliches Feld festgelegt.

Der Parameter condition hat folgende Eigenschaften:

Hinweis:

Derzeit können die Parameterbedingungen nicht auf die Parameter in Listenobjekten angewendet werden.

‘zulässige Werte steigern’

Wenn die Aktion ausgeführt wird augment-allowed-values, wird der Zielparameter als Dropdownmenü in der GUI angezeigt. Das Dropdownmenü enthält die Werte, die im Attribut value der StyleBook-Definition definiert sind.

Beispiel:

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

‘show’ oder ‘hide’

Wenn die Aktion show ist und die angegebene Bedingung True zurückgibt, wird der Zielparameter in der GUI angezeigt.

Wenn die Aktion hide ist und die angegebene Bedingung True zurückgibt, verschwindet der Zielparameter aus der GUI.

Beispiel:

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

Zunächst sind die Zertifikatsdetails für den Parameter security-settings ausgeblendet. Wenn ein Benutzer SSL- oder SSL-Bridge-Protokolle auswählt, werden die Zertifikatsdetails angezeigt.

‘set-default’

Wenn die Aktion set-default ist und die angegebene Bedingung True zurückgibt, wird der Wert des Zielparameters auf den Standardwert festgelegt.

Beispiel 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-->

Beispiel 2:

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

Wenn ein Benutzer das SSL-Protokoll auswählt, ist der Standardportwert auf festgelegt 443. Für andere Protokolle ist der Standardportwert auf festgelegt 80. Beispiel 1 und 2 liefert dasselbe Ergebnis.

‘set-required’

Wenn die Aktion ausgeführt ist set-requiredund die angegebene Bedingung zurückgegeben Truewird , wird der Zielparameter zu einem erforderlichen Feld, um ein Konfigurationspaket zu erstellen.

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

Zunächst sind die Zertifikatsdetails möglicherweise nicht für den Parameter security-settings erforderlich. Wenn ein Benutzer SSL - oder SSL-Bridge-Protokolle auswählt, werden die Zertifikatsdetails zu einem Pflichtfeld, um ein Konfigurationspaket zu erstellen.

‘set-allowed-values’

Wenn die Aktion set-allowed-values ist und die angegebene Bedingung True zurückgibt, können Sie mit dem Zielparameter nur angegebene Werte auswählen.

Beispiel:

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

Wenn ein Benutzer als virtuellen Load-Balancer-Port 443 angibt, ist für den Namen der Anwendung nur die Option SSL zugelassen.

‘set-label’

Wenn die Aktion set-label ist und die angegebene Bedingung True zurückgibt, ändert sich die Beschriftung des Zielparameters in den angegebenen Text.

Beispiel:

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

Wenn ein Benutzer das Load-Balancer-Protokoll als TCP auswählt, ändert sich die Bezeichnung der Anwendung in TCPApp. Wenn der Benutzer eine andere Option auswählt, ändert sich die Bezeichnung der Anwendung in UDPApp.

‘set-description’

Wenn die Aktion set-description ist und die angegebene Bedingung True zurückgibt, ändert sich die Beschreibung des Zielparameters in den angegebenen Text. Diese Beschreibung wird in der QuickInfo eines Zielparameters angezeigt.

Beispiel:

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

Wenn ein Benutzer das Load-Balancer-Protokoll als TCPauswählt, wird im Tooltip der Anwendung ein Text angezeigt: Select a TCP application name. Wenn der Benutzer eine andere Option auswählt, wird die Beschreibung der Anwendung angezeigt Select a UDP application name.

‘collapse-pane’ oder ‘expand-pane’

Wenn die Aktion collapse-pane ist und die angegebene Bedingung True zurückgibt, wird der Bereich des Zielparameters in der GUI reduziert.

Wenn die Aktion expand-pane ist und die angegebene Bedingung True zurückgibt, wird der Bereich des Zielparameters in der GUI erweitert.

Beispiel:

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

Zunächst wird der Bereich mit den Zertifikatsdetails möglicherweise nicht für den Parameter security-settings erweitert. Wenn ein Benutzer SSL- oder SSL-Bridge-Protokolle auswählt, wird der Bereich mit den Zertifikatsdetails auf der GUI erweitert.

‘set-pattern’

Wenn die Aktion set-pattern ist und die angegebene Bedingung True zurückgibt, wird das Zielparameterfeld auf das angegebene Muster festgelegt.

Beispiel:

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

In diesem Beispiel erlaubt der Name der Anwendung nur alphabetische Kleinbuchstaben.

Verschachtelte Parameterbedingungen

In einer StyleBook-Definition können Sie eine Parameterbedingung innerhalb einer Parameterbedingung angeben. Diese Bedingungen werden als verschachtelte Parameterbedingungen bezeichnet und verwenden ein Wiederholungskonstrukt, um diese Bedingungen zu definieren. Die verschachtelten Parameterbedingungen sind nützlich, wenn Sie eine Aktion für einen Parameter aus einem anderen Parameter anwenden möchten.

Beispiel:

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

Wenn der Benutzer in diesem Beispiel das HTTPS-Protokoll für einen virtuellen Lastausgleichsserver auswählt, werden die Portwerte dynamisch aufgefüllt. Und es gilt für jeden virtuellen Lastausgleichsserver in der Liste.

Parameterbedingungen