Condiciones de los parámetros
Las condiciones de los parámetros se utilizan para modificar el comportamiento de determinados parámetros de la definición de StyleBook. Los parámetros de una definición de StyleBook son la entrada que se proporciona para crear un paquete de configuración. Use parameters-conditions
para definir una condición de parámetro en la definición.
Un parámetro puede tener muchas restricciones en la definición de StyleBook. Las condiciones de los parámetros se utilizan para resolver conflictos cuando un usuario cambia el comportamiento del parámetro. Por ejemplo, cuando un usuario selecciona el protocolo SSL, se requieren los detalles del certificado para crear un paquete de configuración. Sin embargo, es posible que los detalles del certificado no se establezcan como el campo obligatorio al principio.
La condición del parámetro tiene los siguientes atributos:
-
target
: Especifique el parámetro de destino al que quiere aplicar una acción. Puede especificar varios parámetros de destino. -
action
: Especifique qué acción se debe llevar a cabo en los parámetros del objetivo. Las condiciones de los parámetros admiten las siguientes acciones:- Aumentar los valores permitidos
- Mostrar u ocultar parámetros
- Establecer un valor predeterminado
- Establecer como campo obligatorio
- Establecer valores permitidos
- Establecer la etiqueta del parámetro
- Establecer la descripción del parámetro
- Contraer o expandir el panel del parámetro
- Establecer el patrón del parámetro
-
condition
: Opcional, especifique una condición para aplicar una acción a los parámetros de destino especificados. Si no especifica una condición, la acción se aplica directamente en los parámetros de destino. -
value
: Defina los valores del atributo de parámetros de destino en función de la acción.
Nota:
Actualmente, las condiciones de los parámetros no se pueden aplicar a los parámetros de los objetos de la lista.
‘aumentar los valores permitidos’
Cuando la acción es augment-allowed-values
, el parámetro de destino aparece como un menú desplegable en la GUI. El menú desplegable se establece con los valores definidos en el atributo value
de la definición de StyleBook.
Ejemplo:
parameters-conditions:
-
target: $parameters.rewritepolicy.action
action: augment-allowed-values
value: $parameters.rewriteaction
<!--NeedCopy-->
‘show’ o ‘hide’
Cuando la acción es show
y la condición especificada devuelve True
, el parámetro target aparece en la GUI.
Cuando la acción es hide
y la condición especificada devuelve True
, el parámetro de destino desaparece de la interfaz gráfica de usuario.
Ejemplo:
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: show
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Al principio, los detalles del certificado se ocultan para el parámetro security-settings
. Cuando un usuario selecciona protocolos SSL o puente SSL, aparecen los detalles del certificado.
‘set-default’
Cuando la acción es set-default
y la condición especificada devuelve True
, el valor del parámetro de destino se establece en el valor predeterminado.
Ejemplo 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-->
Ejemplo 2:
parameters-conditions:
-
target: $parameters.port
action: set-default-value
value: if-then-else($parameters.protocol == "SSL", 443, 80)
<!--NeedCopy-->
Cuando un usuario selecciona el protocolo SSL, el valor de puerto predeterminado se establece en 443
. Para otros protocolos, el valor de puerto predeterminado se establece en 80
. Los ejemplos 1 y 2 dan el mismo resultado.
‘set-required’
Cuando se realiza la acción set-required
y la condición especificada devuelve True
, el parámetro target se convierte en un campo obligatorio para crear un paquete de configuración.
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: set-required
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Al principio, es posible que los detalles del certificado no sean necesarios para el parámetro security-settings
. Cuando un usuario selecciona los protocolos SSL o SSL-bridge , los detalles del certificado se convierten en un campo obligatorio para crear un paquete de configuración.
‘set-allowed-values’
Cuando la acción es set-allowed-values
y la condición especificada devuelve True
, el parámetro target le permite seleccionar solo los valores especificados.
Ejemplo:
parameters-conditions:
-
target: $parameters.app-name
action: set-allowed-values
value:
- "SSL"
condition: $parameters.lb-virtual-port == 443
<!--NeedCopy-->
Cuando un usuario especifica 443
como puerto virtual de equilibrador de carga, el nombre de la aplicación solo permite la opción SSL.
‘set-label’
Cuando la acción es set-label
y la condición especificada devuelve True
, la etiqueta del parámetro de destino cambia al texto especificado.
Ejemplo:
parameters-conditions:
-
target: $parameters.app-name
action: set-label
value: if-then-else($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")
<!--NeedCopy-->
Cuando un usuario selecciona el protocolo de equilibrador de carga como TCP, la etiqueta de la aplicación cambia a TCPApp. Si el usuario selecciona una opción diferente, la etiqueta de la aplicación cambia a UDPApp.
‘set-description’
Cuando la acción es set-description
y la condición especificada devuelve True
, la descripción del parámetro de destino cambia al texto especificado. Esta descripción aparece en la información de herramientas de un parámetro de objetivo.
Ejemplo:
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-->
Cuando un usuario selecciona el protocolo de equilibrador de carga como TCP, la información sobre herramientas de la aplicación muestra un texto: Select a TCP application name
. Si el usuario selecciona una opción diferente, se muestra la descripción de la aplicación Select a UDP application name
.
‘collapse-pane’ o ‘expand-pane’
Cuando la acción es collapse-pane
y la condición especificada devuelve True
, el panel del parámetro de destino se contrae en la GUI.
Cuando la acción es expand-pane
y la condición especificada devuelve True
, el panel del parámetro de destino se expande en la GUI.
Ejemplo:
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: expand-pane
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Al principio, es posible que el panel de detalles del certificado no se expanda para el parámetro security-settings
. Cuando un usuario selecciona protocolos SSL o puente SSL, el panel de detalles del certificado se expande en la GUI.
‘set-pattern’
Cuando la acción es set-pattern
y la condición especificada devuelve True
, el campo del parámetro de destino se establece en el patrón especificado.
Ejemplo:
parameters-conditions:
-
target: $parameters.app-name
action: set-pattern
value: "[a-z]+"
<!--NeedCopy-->
En este ejemplo, el nombre de la aplicación solo permite caracteres alfabéticos en minúsculas.
Condiciones de parámetros anidados
En una definición de StyleBook, puede especificar una condición de parámetro dentro de una condición de parámetro. Estas condiciones se denominan condiciones de parámetros anidados y utilizan una construcción de repetición para definir estas condiciones. Las condiciones de parámetros anidados son útiles cuando se quiere aplicar una acción para un parámetro de otro parámetro.
Ejemplo:
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-->
En este ejemplo, cuando el usuario selecciona el protocolo HTTPS para un servidor virtual de equilibrio de carga, los valores de los puertos se rellenan de forma dinámica. Además, se aplica a cada servidor virtual de equilibrio de carga de la lista.