Parámetros
Esta sección le permite definir todos los parámetros que necesita en su StyleBook para crear una configuración. Describe la entrada que toma su StyleBook. Aunque esta sección es opcional, la mayoría de StyleBook puede necesitar una. Puede considerar la sección de parámetros para definir los campos de los usuarios que utilizan StyleBook para crear una configuración en una instancia de NetScaler.
Al importar el StyleBook a NetScaler ADM y utilizarlo para crear una configuración, la GUI utiliza esta sección del StyleBook para mostrar un formulario. Este formulario toma una entrada para los valores de parámetro definidos.
En la siguiente sección se describen los atributos que debe especificar para cada parámetro de esta sección:
‘nombre’
El nombre del parámetro que quiere definir. Puede especificar un nombre alfanumérico.
El nombre debe comenzar con un alfabeto, y puede incluir más alfabetos, números, guión (-) o guión bajo (_).
Al escribir un StyleBook, puede utilizar este atributo “name” para hacer referencia al parámetro en otras secciones mediante la notación $parameters. <name>.
¿Obligatorio? Sí
‘etiqueta’
Cadena que se muestra en la GUI de ADM como nombre de este parámetro.
¿Obligatorio? No
‘descripción’
Cadena de ayuda que describe para qué se utiliza el parámetro. La GUI de ADM muestra este texto cuando el usuario hace clic en el icono de ayuda de este parámetro.
¿Obligatorio? No
‘tipo’
El tipo de valor que pueden tomar estos parámetros. Los parámetros pueden ser de cualquiera de los siguientes tipos incorporados:
-
cadena: matriz de caracteres. Si no se especifica una longitud, el valor de cadena puede tener cualquier número de caracteres. Sin embargo, puede limitar la longitud de un tipo de cadena utilizando los atributos longitud mínima y longitud máxima.
-
number
: un número entero. Puede especificar el número mínimo y máximo que puede tomar este tipo mediante los atributos valor mínimo y valor máximo. -
boolean
: Puede ser verdadero o falso. YAML considera todos los literales como booleanos (por ejemplo, Sí o No). -
ipaddress
: cadena que representa una dirección IPv4 o IPv6 válida. -
ipnetwork
: Tiene dos partes. La primera parte es la dirección IP y la segunda parte es la máscara de red.La máscara de red consiste en la longitud de la máscara de red (
netmask-len
) o la dirección IP de la máscara de red (netmask_ip
). La longitud de la máscara de red es un entero entre 0-32 y 0-128 para una dirección IPv6. Se utiliza para determinar el recuento de direcciones IP en una red.Al crear o actualizar un paquete de configuración desde la GUI de NetScaler ADM, puede realizar una de las siguientes acciones:
- Habilite la longitud de la máscara de red e introduzca la dirección IP y la longitud de la máscara de red
- Desactive la longitud de la máscara de red e introduzca la dirección IP y la dirección IP de la máscara de red
En la API, la longitud de la máscara de red y la dirección IP de la máscara de red están disponibles como un solo valor, como se muestra en el siguiente ejemplo:
Ejemplo:
Content-Type: application/json Accept: application/json { “configpack”: { “stylebook”: { “namespace”: “com.example.stylebook”, “version”:“1.0”, “name”: “ipnetwork-example”, .. }, “parameters”: { “name: “test-app”, “virtual-ip”: “212.100.30.0/255.255.255.0”, }, “targets”: [ ] } } <!--NeedCopy-->
-
tcp-port
: número entre 0 y 65535 que representa un puerto TCP o UDP. -
password
: Representa un valor de cadena opaca/secreta. Cuando la GUI de ADM muestra un valor para este parámetro, se muestra como asteriscos (*****). -
certfile
: Representa un archivo de certificado. Este valor le permite cargar los archivos directamente desde su sistema local al crear una configuración de StyleBook mediante la GUI ADM. El archivo de certificado cargado se almacena en el directorio/var/mps/tenants/\<tenant_path>/ns_ssl_certs
de ADM.El archivo de certificado se agrega a la lista de certificados administrados por ADM.
-
keyfile
: Representa un archivo de clave de certificado. Este valor le permite cargar el archivo directamente desde su sistema local al crear una configuración de StyleBook mediante la GUI ADM. El archivo de certificado cargado se almacena en el directorio/var/mps/tenants/\<tenant_path>/ns_ssl_keys
de ADM.El archivo de clave de certificado se agrega a la lista de claves de certificado administradas por ADM.
-
file
: Representa un archivo. -
object
: este tipo se utiliza cuando se quiere agrupar varios parámetros relacionados bajo un elemento principal. Especifique el parámetro principal el tipo como “objeto”. Un parámetro de tipo “objeto” puede tener una sección de “parámetros” anidada para describir los parámetros que contiene. -
another StyleBook
: cuando se utiliza este tipo de parámetro, este parámetro espera que su valor tenga la forma de los parámetros definidos en el StyleBook que denota su tipo.
Un parámetro también puede tener una type
que es la lista de tipos. Para ello, agregue []
al final del tipo. Por ejemplo, si el atributo type
es string[]
, este parámetro toma una lista de cadenas como entrada. Puede proporcionar una, dos o varias cadenas para este parámetro al crear una configuración a partir de este StyleBook.
¿Obligatorio? Sí
‘red’
Para type: ipaddress
, puede especificar el atributo network
para asignar automáticamente una dirección IP de una red de IPAM ADM.
ADM asigna automáticamente una dirección IP del atributo network
cuando se crea una configuración de StyleBook.
Ejemplo :
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
network: "network-1"
required: true
<!--NeedCopy-->
En este ejemplo, el campo virtual-ip
asigna automáticamente una dirección IP de network-1
. La dirección IP se libera de nuevo a la red cuando se elimina la configuración.
‘asignación dinámica’
El atributo dynamic-allocation
se agrega en la definición de parámetro de type:ipaddress
. Utilice este atributo para enumerar dinámicamente las redes de IPAM de ADM. Este atributo puede tomar true
o false
como una entrada. Para type: ipaddress
, especifique el atributo dynamic-allocation: true
para mostrar dinámicamente las redes de IPAM de ADM que están en ADM. En el formulario de creación del paquete de configuración, puede hacer lo siguiente:
-
Seleccione la red IPAM requerida de la lista.
-
Especifique la dirección IP que quiere asignar desde la red IPAM seleccionada.
Si no se especifica ninguna dirección IP, el ADM asigna automáticamente una dirección IP de la red IPAM seleccionada.
Ejemplo:
-
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
dynamic-allocation: true
required: true
<!--NeedCopy-->
En este ejemplo, el virtual-ip
campo muestra las redes de IPAM de ADM que están en ADM. Seleccione una red de la lista para asignar automáticamente una dirección IP de la red. La dirección IP se libera de nuevo a la red cuando se elimina la configuración.
‘Tecla’
Especifique true o false para indicar si este parámetro es un parámetro clave para StyleBook.
Un StyleBook solo puede tener un parámetro definido como parámetro “clave”.
Al crear configuraciones diferentes a partir del mismo StyleBook (en las mismas instancias ADC o diferentes), cada configuración tiene un valor diferente/único para este parámetro.
El valor predeterminado es false.
¿Obligatorio? No
“requerido”
Especifique true o false para indicar si un parámetro es obligatorio u opcional. Si se establece en true, el parámetro es obligatorio y el usuario debe proporcionar un valor para este parámetro al crear configuraciones.
La GUI ADM obliga al usuario a proporcionar un valor válido para este parámetro.
El valor predeterminado es false.
¿Obligatorio? No
‘allowed-values’
Utilice este atributo para definir una lista de valores válidos para un parámetro, cuando el tipo se establece en “cadena”.
Al crear una configuración a partir de la GUI de ADM, se solicita al usuario que seleccione un valor de parámetro de esta lista.
Nota:
Si quiere mostrar los valores de la lista como opciones de radio, defina el atributo
layout
.
Ejemplo 1:
-
name: ipaddress
type: string
allowed-values:
- SOURCEIP
- DEST IP
- NONE
<!--NeedCopy-->
Ejemplo 2:
-
name: TCP Port
type: tcp-port
allowed-values:
- 80
- 81
- 8080
<!--NeedCopy-->
Ejemplo 3:
Lista de tcp-ports
, donde cada elemento de la lista solo puede tener valores especificados en allowed-values
.
-
name: tcpports
type: tcp-port[]
allowed-values:
- 80
- 81
- 8080
- 8081
<!--NeedCopy-->
¿Obligatorio? No
‘predeterminado’
Utilice este atributo para asignar un valor predeterminado a un parámetro opcional. Cuando un usuario crea una configuración sin especificar un valor, se utiliza el valor predeterminado.
El parámetro no toma ningún valor si se cumplen las siguientes condiciones:
-
El parámetro no tiene ningún valor predeterminado.
-
Un usuario no proporciona un valor para el parámetro.
Ejemplo 1:
-
name: timeout
type: number
default: 20
<!--NeedCopy-->
Ejemplo 2:
Para enumerar los valores predeterminados del parámetro:
-
name: protocols
type: string[]
default:
- TCP
- UDP
- IP
<!--NeedCopy-->
Ejemplo 3:
-
name: timeout
type: number
default: 20
<!--NeedCopy-->
Ejemplo 4:
-
name: tcpport
type: tcp-port
default: 20
<!--NeedCopy-->
¿Obligatorio? No
‘patrón’
Utilice este atributo para definir un patrón (expresión regular) para los valores válidos de este parámetro, cuando el tipo del parámetro sea “cadena”.
Ejemplo:
-
name: appname
type: string
pattern: "[a-z]+"
<!--NeedCopy-->
¿Obligatorio? No
‘valor mín’
Utilice este atributo para definir el valor mínimo de los parámetros de tipo number
o tcp-port
.
Ejemplo:
-
name: audio-port
type: tcp-port
min-value: 5000
<!--NeedCopy-->
El min-value
de números puede ser negativo. Sin embargo, el min-value
para tcp-port
debe ser positivo.
¿Obligatorio? No
‘valor máx’
Utilice este atributo para definir el valor máximo de los parámetros de tipo number
o
tcp-port
.
Asegúrese de que el valor máximo es mayor que el valor mínimo, si se define.
Ejemplo:
-
name: audio-port
type: tcp-port
min-value: 5000
max-value: 15000
<!--NeedCopy-->
¿Obligatorio? No
‘longitud mín’
Utilice este atributo para definir la longitud mínima de los valores aceptados para un parámetro de tipo “cadena”.
Asegúrese de que la longitud mínima de los caracteres definidos como valores sea mayor o igual a cero.
Ejemplo:
-
name: appname
type: string
min-length: 3
<!--NeedCopy-->
¿Obligatorio? No
‘longitud máx’
Utilice este atributo para definir la longitud máxima de los valores aceptados para un parámetro de tipo “cadena”.
Asegúrese de que la longitud máxima de los valores sea mayor o igual a la longitud de los caracteres definidos en min-length
.
Ejemplo:
-
name: appname
type: string
max-length: 64
<!--NeedCopy-->
¿Obligatorio? No
‘min-artículos’
Utilice este atributo para definir el número mínimo de elementos en un parámetro que es una lista.
Asegúrese de que el número mínimo de elementos sea mayor o igual a cero.
Ejemplo:
-
name: server-ips
type: ipaddress[]
min-items: 2
<!--NeedCopy-->
¿Obligatorio? No
‘Máx-artículos’
Utilice este atributo para definir el número máximo de elementos en un parámetro que es una lista.
Asegúrese de que el número máximo de elementos sea mayor que el número mínimo de elementos si se define.
Ejemplo:
-
name: server-ips
type: ipaddress[]
min-items: 2
max-items: 250
<!--NeedCopy-->
¿Obligatorio? No
‘gui’
Utilice este atributo para personalizar el diseño del parámetro en la GUI de ADM.
¿Obligatorio? No
‘columnas’
Este atributo es un subatributo del atributo gui
. Utilice este atributo para definir el número de columnas para mostrar los type: object[]
parámetros en la GUI de ADM.
¿Obligatorio? No
‘updatable’
Este atributo es un subatributo del atributo gui
. Utilice este atributo para especificar si el parámetro se puede actualizar después de crear la configuración. Establezca este atributo solo en tipos de parámetros simples como string, booleano o number.
Si el valor se establece en false
, el campo de parámetro aparece atenuado cuando se actualiza la configuración.
¿Obligatorio? No
‘colapse_pane’
Este atributo es un subatributo del atributo gui
. Utilice este atributo para especificar si el panel que define el diseño de este parámetro de objeto se puede contraer.
Si el valor se establece en true, el usuario puede expandir o contraer los parámetros secundarios bajo este parámetro principal.
Ejemplo:
gui:
collapse_pane: true
columns: 2
<!--NeedCopy-->
Ejemplo de una sección completa de parámetros:
parameters:
-
name: name
label: Name
description: Name of the application
type: string
required: true
-
name: ip
label: IP Address
description: The virtual IP address used for this application
type: ipaddress
required: true
-
name: svc-servers
label: Servers
type: object[]
required: true
parameters:
-
name: svc-ip
label: Server IP
description: The IP address of the server
type: ipaddress
required: true
-
name: svc-port
label: Server Port
description: The TCP port of the server
type: tcp-port
default: 80
-
name: lb-alg
label: LoadBalancing Algorithm
type: string
allowed-values:
- ROUNDROBIN
- LEASTCONNECTION
default: ROUNDROBIN
-
name: enable-healthcheck
label: Enable HealthCheck?
type: boolean
default: true
<!--NeedCopy-->
A continuación se muestra un ejemplo que define todos los atributos de una lista y los valores explicados en secciones anteriores:
-
name: features-list
type: string[]
min-length: 1
max-length: 3
min-items: 1
max-items: 3
pattern: "[A-Z]+"
allowed-values:
- SP
- LB
- CS
default:
- LB
<!--NeedCopy-->
‘diseño’
Este atributo es un subatributo del atributo gui
. Utilice este atributo para mostrar los valores de la lista como botones de opción. Establezca el atributo layout
en radio
en la sección de parámetros de una definición de StyleBook. Se aplica al parámetro que contiene el atributo allowed-values
. Al crear un paquete de configuración, la GUI de ADM muestra los valores de la lista allowed-values
como botones de opción.
Ejemplo :
-
gui:
layout: radio
allowed-values:
- One
- Two
- Three
<!--NeedCopy-->
Los valores Uno, Dos y Tres aparecen como botones de opción en la GUI ADM.
‘parámetros dependientes’
Este atributo es un subatributo del atributo gui
. Controla dinámicamente el aspecto del parámetro o su valor inicial en el formulario de configuración de StyleBook basándose en el valor especificado en otro parámetro.
Especifique este atributo en un parámetro de origen que controle el comportamiento del parámetro en el formulario. Puede incluir varias condiciones que controlen otros parámetros. Por ejemplo, un parámetro de origen protocol
puede tener un parámetro dependiente certificate
, que solo aparece si el valor del parámetro protocol
es SSL
.
Cada condición puede tener los siguientes atributos:
-
target-parameter: especifique el parámetro de destino al que se aplica esta condición.
-
valores de coincidencia: especifique la lista de valores del parámetro de origen que activan la acción.
-
acción: especifique una de las siguientes acciones en el parámetro de destino:
-
read-only
: El parámetro se hace de solo lectura. -
show
: el parámetro aparece en el formulario si está oculto. -
hide
: el parámetro se elimina del formulario. -
set-value
: El valor del parámetro se establece en el valor especificado en el atributo value.
-
-
value: Valor del parámetro objetivo si la acción es
set-value
.
Cuando una entrada de usuario coincide con los valores especificados en el parámetro de origen, el aspecto o el valor del parámetro de destino cambia de acuerdo con la acción especificada.
Ejemplo:
-
name: lb-virtual-port
label: "Load Balanced App Virtual Port"
description: "TCP port representing the Load Balanced application"
type: tcp-port
gui:
updatable: false
dependent-parameters:
-
matching-values:
- 80
target-parameter: $parameters.lb-service-type
action: set-value
allowed-values:
- HTTP
- TCP
- UDP
default: 80
<!--NeedCopy-->
En este ejemplo, el parámetro dependiente se especifica en el parámetro lb-virtual-port
(parámetro source).
Cuando el valor del parámetro de origen se establece en 80
, el parámetro lb-service-type
activa la acción set-value
. Como resultado, un usuario puede seleccionar una de las siguientes opciones:
- HTTP
- TCP
- UDP