Uso de una instancia de NetScaler como origen de datos
Puedes usar las instancias de NetScaler administradas como orígenes de datos. El tipo de origen de datos integrado managed-adc
se puede usar fácilmente como origen de datos en NetScaler Console. Cada instancia de NetScaler administrada en NetScaler Console es un origen de datos de forma predeterminada. Puedes empezar a usar estos orígenes de datos en tus StyleBooks si necesitas datos de un NetScaler existente administrado por NetScaler Console al crear paquetes de configuración.
En la definición de StyleBook, especifica el parámetro de tipo integrado datum
. Puedes usar los tipos de origen de datos en tu StyleBook. Los usuarios de StyleBook pueden seleccionar un origen de datos que se pueda usar para recuperar datos de ese origen.
Uso del origen de datos integrado sin recopilación
parameters:
- name: selected-adc
label: Seleccionar un NetScaler existente
type: datum
required: true
data-source:
type: managed-adc
<!--NeedCopy-->
En el ejemplo, el parámetro datum
se usa para seleccionar cualquier instancia de NetScaler administrada por NetScaler Console. El origen de datos integrado managed-adc
te permite recuperar datos de cualquier instancia de NetScaler administrada por NetScaler Console.
En tu StyleBook, puedes acceder a cualquier configuración de la instancia de NetScaler seleccionada. Y puedes usar esa configuración al crear o actualizar configuraciones en la misma instancia de NetScaler o en una diferente; depende de la instancia de NetScaler de destino seleccionada.
Acceder a la recopilación desde un origen de datos:
En la instancia de NetScaler seleccionada, para acceder a una recopilación, usa la siguiente expresión:
$parameters.selected-adc.collections.<collection-name>
<!--NeedCopy-->
Ejemplo:
$parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->
Esta expresión devuelve la lista de entidades lbvserver
en la instancia de NetScaler seleccionada. Por ejemplo, puedes iterar sobre esta lista para seleccionar un lbvserver
específico que cumpla una determinada condición.
Ejemplo de StyleBook sin recopilación
name: add-vservers-from-managed-adc-instances
namespace: com.citrix.adc.stylebooks
version: "1.0"
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-adc
label: Seleccionar una instancia de NetScaler
type: datum
required: true
data-source:
type: "managed-adc"
components:
-
name: sslvserver-comp
type: ns::sslvserver
repeat: $parameters.selected-adc.collections.lbvserver
repeat-item: lbvs
repeat-condition: $lbvs.attributes.servicetype == "SSL"
properties:
name: $lbvs.attributes.name
ssl2: DISABLED
ssl3: DISABLED
tls1: DISABLED
tls11: ENABLED
tls12: ENABLED
<!--NeedCopy-->
La GUI del paquete de configuración muestra las instancias de NetScaler administradas por NetScaler Console y los usuarios de StyleBook pueden seleccionar cualquier NetScaler al crear o actualizar el paquete de configuración.
Este StyleBook usa el NetScaler seleccionado e itera sobre todas las entidades lbvserver
. Selecciona los servidores virtuales SSL y establece las versiones de protocolo SSL permitidas en cada servidor virtual.
La siguiente expresión te permite iterar a través de la lista de entidades lbvserver
en la instancia de NetScaler.
repeat: $parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->
-
collections
: Se refiere a todos los tipos de entidad en la instancia de NetScaler. Por ejemplo,csvserver
,lbmonitor
,servicegroup
, etc. -
lbvserver
: Se refiere a la lista de entidades de servidor virtual de equilibrio de carga en la instancia de NetScaler.
Uso del origen de datos integrado con recopilación
parameters:
- name: selected-lbvserver
label: Seleccionar un lbvserver existente
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
<!--NeedCopy-->
En este ejemplo, el parámetro datum
se usa para permitir que un usuario seleccione tanto la instancia de NetScaler como un lbvserver
específico del tipo de origen de datos managed-adc
.
Cuando defines un tipo de recopilación en la sección parameters
, los usuarios de StyleBook pueden seleccionar la instancia de NetScaler y una entidad específica de una recopilación en esa instancia.
Acceder a un atributo del elemento seleccionado:
Cuando el usuario de StyleBook selecciona un servidor virtual, la siguiente expresión en tu StyleBook puede acceder a cualquier atributo del elemento seleccionado.
$parameters.selected-lbvserver.attributes.<attribute-name>
<!--NeedCopy-->
En este ejemplo, el datum
seleccionado es lbvserver
. Por lo tanto, puedes acceder a cualquier atributo de la entidad de NetScaler lbvserver
, como name
, servicetype
, ipv46
, etc.
Ejemplo:
$parameters.selected-lbvserver.attributes.ipv46
<!--NeedCopy-->
Esta expresión recupera la IP del servidor virtual de equilibrio de carga seleccionado. Para obtener más información sobre las entidades de NetScaler (recopilaciones) y sus atributos, consulta la referencia de la API NITRO de NetScaler.
Seleccionar varios elementos de una recopilación:
La siguiente sección de parámetros permite a los usuarios de StyleBook seleccionar varios elementos de una recopilación.
parameters:
- name: selected-lbvservers
label: Seleccionar lbvservers existentes
type: datum[]
required: true
data-source:
type: managed-adc
collection: lbvserver
<!--NeedCopy-->
En este ejemplo, el parámetro datum se usa para definir la matriz de origen de datos. El usuario puede seleccionar uno o más lbvservers de una única instancia de NetScaler o de varias instancias de NetScaler.
El siguiente fragmento de código muestra la forma de acceder a los elementos seleccionados y sus atributos.
components:
- name: sslvserver-comp
type: ns::sslvserver
repeat:
repeat-list: $parameters.selected-lbvservers
repeat-item: vserverObj
properties:
name: $vserverObj.attributes.name
ssl2: DISABLED
ssl3: DISABLED
tls1: DISABLED
tls11: ENABLED
tls12: ENABLED
<!--NeedCopy-->
Acceder a una recopilación por la referencia del elemento seleccionado:
Además de permitir que un usuario de StyleBook seleccione una entidad específica en una instancia de NetScaler administrada, también puedes acceder a cualquier entidad de la misma recopilación o de diferentes recopilaciones en la instancia de NetScaler seleccionada. Para acceder a otra recopilación en esa instancia de NetScaler, usa la siguiente expresión en la sección components
:
$parameters.selected-lbvserver.datasource.collections.<collection-name>
<!--NeedCopy-->
Ejemplo:
$parameters.selected-lbvserver.datasource.collections.csvserver
<!--NeedCopy-->
Esta expresión devuelve la lista de servidores virtuales de conmutación de contenido de la instancia de NetScaler seleccionada.
Y la siguiente expresión devuelve una lista de todas las vinculaciones entre lbvservers
y servicegroups
:
$parameters.selected-lbvserver.datasource.collections.lbvserver_servicegroup_binding
<!--NeedCopy-->
Ejemplo de StyleBook con una recopilación
El siguiente es un ejemplo de StyleBook para demostrar cómo usar la instancia de NetScaler administrada como origen de datos:
name: bind-lb-to-servicegroup-using-ADC-as-datasource
namespace: com.citrix.adc.stylebooks
version: "1.1"
display-name: "StyleBook de equilibrio de carga HTTP/SSL con vinculación de servicio"
description: "Este StyleBook define una configuración típica de aplicación con equilibrio de carga donde permitimos al usuario seleccionar un lbvserver existente en NetScaler usando el parámetro de tipo datum. Luego, se crea un grupo de servicios para el lb seleccionado si no existe en NetScaler. Finalmente, el lbvserver seleccionado se vincula al servicio"
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-vserver
label: "Seleccionar un VServer existente"
description: "VServers de aplicación de equilibrio de carga que se vincularán al servicio en el ADC"
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
components:
-
name: servicegroup-discovery-comp
type: object
repeat: $parameters.selected-vserver.datasource.collections.servicegroup
repeat-item: svcgrp
repeat-condition: $svcgrp.attributes.servicegroupname == $parameters.selected-vserver.attributes.name + "-svcgrp"
properties:
servicegroupname: $svcgrp.attributes.servicegroupname
-
name: servicegroup-creation-if-not-exists-comp
type: ns::servicegroup
condition: not exists($components.servicegroup-discovery-comp)
properties:
servicegroupname: $parameters.selected-vserver.attributes.name + "-svcgrp"
servicetype: $parameters.selected-vserver.attributes.servicetype
components:
-
name: lbvserver-servicegroup-binding
type: ns::lbvserver_servicegroup_binding
properties:
name: $parameters.selected-vserver.attributes.name
servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->
En este StyleBook, la sección components
comprueba el nombre del grupo de servicios que coincide con el nombre del servidor virtual de equilibrio de carga seleccionado concatenado con svcgrp
.
Si el nombre del servidor virtual de equilibrio de carga seleccionado es lbv1
, este StyleBook comprueba si existe un grupo de servicios con el nombre lbv1-svcgrp
. Si no se encuentra, crea un grupo de servicios lbv1-svcgrp
y lo vincula con el servidor virtual lbv1
.
La siguiente expresión obtiene la lista de grupos de servicios en la instancia de NetScaler.
repeat: $parameters.selected-vserver.datasource.collections.servicegroup
<!--NeedCopy-->
En esta expresión:
-
datasource
: Se refiere a la instancia de NetScaler seleccionada administrada por NetScaler Console. -
collections
: Se refiere a todas las entidades en la instancia de NetScaler. -
servicegroup
: Se refiere a los grupos de servicios en la instancia de NetScaler.
Filtrado de datos de recopilación:
La siguiente sección de parámetros explica cómo especificar filtros en una recopilación de origen de datos integrada en la definición de StyleBook. Permite a los usuarios de StyleBook seleccionar un elemento específico de una recopilación filtrada.
parameters:
- name: selected-lbvserver
label: Seleccionar un lbvserver existente
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
collection-filters:
protocol: SSL
<!--NeedCopy-->
En este ejemplo, el parámetro datum se usa para permitir que un usuario seleccione tanto la instancia de NetScaler como un lbvserver específico con protocolo SSL del tipo de origen de datos managed-adc.
Después de que el usuario de StyleBook selecciona un servidor virtual, se puede acceder a cualquier atributo del elemento seleccionado de la misma manera que se explicó en la sección anterior.