Application Delivery Management

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.

    Red IP

    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:

  1. Seleccione la red IPAM requerida de la lista.

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