Parameterbedingungen werden verwendet, um das Verhalten bestimmter Parameter in der StyleBook-Definition zu ändern. Parameter in einer StyleBook-Definition sind die Eingabe zum Erstellen eines Konfigurationspakets. Verwenden Sie parameters-conditions
, um eine Parameterbedingung in der Definition festzulegen.
Ein Parameter kann in der StyleBook-Definition viele Einschränkungen haben. Die Parameterbedingungen werden verwendet, um Konflikte zu lösen, wenn ein Benutzer das Parameterverhalten ändert. Wenn ein Benutzer beispielsweise das SSL-Protokoll auswählt, werden die Zertifikatdetails benötigt, um ein Konfigurationspaket zu erstellen. Allerdings sind die Zertifikatsdetails möglicherweise zunächst nicht als Pflichtfeld festgelegt.
Der Parameter Bedingung hat die folgenden Attribute:
Ziel
: Geben Sie den Zielparameter an, auf den Sie eine Aktion anwenden möchten. Sie können mehrere Zielparameter angeben.
Aktion
: Geben Sie an, welche Aktion für die Zielparameter ausgeführt werden soll. Parameterbedingungen unterstützen die folgenden Aktionen:
Bedingung
: Optional, geben Sie eine Bedingung an, um eine Aktion für die angegebenen Zielparameter anzuwenden. Wenn Sie keine Bedingung angeben, wird die Aktion direkt auf die Zielparameter angewendet.
Wert
: Legen Sie die Werte für das Zielparameterattribut abhängig von der Aktion fest.
Notiz:
Derzeit können die Parameterbedingungen nicht auf die Parameter innerhalb von Listenobjekten angewendet werden.
Wenn die Aktion augment-allowed-values
ist, wird der Zielparameter als Dropdown-Menü in der GUI angezeigt. Das Dropdown-Menü wird mit den im Attribut value
der StyleBook-Definition definierten Werten festgelegt.
Beispiel:
Parameterbedingungen:
-
Ziel: $parameters.rewritepolicy.action
Aktion: Erhöhen Sie zulässige Werte
Wert: $parameters.rewriteaction
<!--NeedCopy-->
Wenn die Aktion show
ist und die angegebene Bedingung True
zurückgibt, wird der Zielparameter auf der GUI angezeigt.
Wenn die Aktion hide
ist und die angegebene Bedingung True
zurückgibt, verschwindet der Zielparameter aus der GUI.
Beispiel:
Parameterbedingungen:
-
Ziel: $parameters.Sicherheitseinstellungen.Zertifikatdetails
Aktion: anzeigen
Bedingung: $parameters.Protokoll in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Zunächst werden die Zertifikatsdetails für den Parameter security-settings
ausgeblendet. Wenn ein Benutzer SSL- oder SSL-Bridge-Protokolle auswählt, werden die Zertifikatsdetails angezeigt.
Wenn die Aktion set-default
ist und die angegebene Bedingung True
zurückgibt, wird der Wert des Zielparameters auf den Standardwert gesetzt.
Beispiel 1:
Parameterbedingungen:
-
Ziel: $parameters.Port
Aktion: Standard festlegen
Bedingung: $parameters.Protokoll == "SSL"
Wert: 443
-
Ziel: $parameters.Port
Aktion: Standard festlegen
Bedingung: $parameters.Protokoll != "SSL"
Wert: 80
<!--NeedCopy-->
Beispiel 2:
Parameterbedingungen:
-
Ziel: $parameters.Port
Aktion: Standard festlegen
Wert: wenn-dann-sonst($parameters.Protokoll == "SSL", 443, 80)
<!--NeedCopy-->
Wenn ein Benutzer das Protokoll SSL auswählt, wird der Standardportwert auf 443
gesetzt. Für andere Protokolle ist der Standardportwert auf 80
eingestellt. Beispiel 1 und 2 liefern das gleiche Ergebnis.
Wenn die Aktion set-required
ist und die angegebene Bedingung True
zurückgibt, wird der Zielparameter zu einem erforderlichen Feld zum Erstellen eines Konfigurationspakets.
Parameterbedingungen:
-
Ziel: $parameters.Sicherheitseinstellungen.Zertifikatdetails
Aktion: Erforderlich festlegen
Bedingung: $parameters.Protokoll in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Zunächst werden die Zertifikatdetails für den Parameter Sicherheitseinstellungen
möglicherweise nicht benötigt. Wenn ein Benutzer die Protokolle SSL oder SSL-Bridge auswählt, werden die Zertifikatdetails zu einem Pflichtfeld zum Erstellen eines Konfigurationspakets.
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:
Parameterbedingungen:
-
Ziel: $parameters.app-name
Aktion: Zulässige Werte festlegen
Wert:
- "SSL"
Bedingung: $parameters.lb-virtual-port == 443
<!--NeedCopy-->
Wenn ein Benutzer 443
als virtuellen Port für den Lastenausgleich angibt, lässt der Name der Anwendung nur die Option SSL zu.
Wenn die Aktion set-label
ist und die angegebene Bedingung True
zurückgibt, ändert sich die Bezeichnung des Zielparameters in den angegebenen Text.
Beispiel:
Parameterbedingungen:
-
Ziel: $parameters.app-name
Aktion: Setze-Label
Wert: wenn-dann-sonst($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")
<!--NeedCopy-->
Wenn ein Benutzer das Load Balancer-Protokoll als TCPauswä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.
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 erscheint im Tooltip eines Zielparameters.
Beispiel:
Parameterbedingungen:
-
Ziel: $parameters.app-name
Aktion: Set-Beschreibung
Wert: if-then-else($parameters.lb-service-type == "TCP", "Wählen Sie einen TCP-Anwendungsnamen", "Wählen Sie einen UDP-Anwendungsnamen")
<!--NeedCopy-->
Wenn ein Benutzer das Load Balancer-Protokoll als TCPauswählt, zeigt der Tooltip der Anwendung den folgenden Text an: Wählen Sie einen TCP-Anwendungsnamen
aus. Wenn der Benutzer eine andere Option auswählt, wird in der Anwendungsbeschreibung angezeigt. Wählen Sie einen UDP-Anwendungsnamen
aus.
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:
Parameterbedingungen:
-
Ziel: $parameters.Sicherheitseinstellungen.Zertifikatdetails
Aktion: Bereich erweitern
Bedingung: $parameters.Protokoll in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Zunächst wird der Bereich mit den Zertifikatdetails möglicherweise nicht für den Parameter security-settings
erweitert. Wenn ein Benutzer die Protokolle SSL oder SSL-Bridge auswählt, wird der Bereich mit den Zertifikatdetails in der GUI erweitert.
Wenn die Aktion set-pattern
ist und die angegebene Bedingung True
zurückgibt, wird das Zielparameterfeld auf das angegebene Muster gesetzt.
Beispiel:
Parameterbedingungen:
-
Ziel: $parameters.app-name
Aktion: Muster festlegen
Wert: "[az]+"
<!--NeedCopy-->
In diesem Beispiel sind im Anwendungsnamen nur Kleinbuchstaben zulässig.
In einer StyleBook-Definition können Sie eine Parameterbedingung innerhalb einer Parameterbedingung angeben. Diese Bedingungen werden als verschachtelte Parameterbedingungen bezeichnet und verwenden eine Wiederholungskonstruktion, 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:
Parameterbedingungen:
-
Wiederholung: $parameters.lbvservers
Wiederholungselement: lbvserver
Parameterbedingungen:
-
Ziel: $lbvserver.Port
Aktion: Zulässige Werte festlegen
Bedingung: $lbvserver.Protokoll == "HTTPS"
Wert: $parameters.SSL-Ports
<!--NeedCopy-->
Wenn der Benutzer in diesem Beispiel das HTTPS-Protokoll für einen virtuellen Lastausgleichsserver auswählt, werden die Portwerte dynamisch ausgefüllt. Und es gilt für jeden virtuellen Lastausgleichsserver in der Liste.