Este artículo ha sido traducido automáticamente. (Aviso legal)
Utilice una instancia de NetScaler como fuente de datos
Puede utilizar las instancias de ADC administradas como fuentes de datos. managed-adc
es un tipo de fuente de datos integrada que se puede utilizar fácilmente como fuentes de datos en ADM. Cada instancia de ADC administrada en ADM es una fuente de datos de forma predeterminada. Puede empezar a utilizar estas fuentes de datos en sus StyleBooks si necesita datos de un ADC existente administrado por ADM al crear paquetes de configuración.
En la definición de StyleBook, especifique el parámetro de texto integrado datum
. Por lo tanto, puede utilizar los tipos de fuentes de datos de su StyleBook. Los usuarios de StyleBook pueden seleccionar una fuente de datos que se pueda utilizar para recuperar datos de esa fuente.
Uso de la fuente de datos integrada sin recopilación
parameters:
-
name: selected-adc
label: Select an existing lbvserver
type: datum
required: true
data-source:
type: managed-adc
En el ejemplo, el parámetro datum
se usa para seleccionar cualquier instancia de ADC administrada por ADM. La fuente de datos managed-adc
integrada le permite recuperar datos de cualquier instancia de ADC administrada por NetScaler ADM.
En el StyleBook, puede acceder a cualquier configuración desde la instancia de ADC seleccionada. Además, puede usar esa configuración al crear o actualizar configuraciones en el mismo ADC o en una instancia de ADC diferente; depende de la instancia de ADC de destino seleccionada.
Seleccione la colección de una fuente de datos:
En la instancia de ADC seleccionada, para acceder a una colección, utilice la siguiente expresión:
$parameters.selected-adc.collections.<collection-name>
Ejemplo :
$parameters.selected-adc.collections.lbvserver
Esta expresión devuelve la lista de lbvserver
en la instancia de ADC seleccionada. Por ejemplo, puede repetir esta lista para seleccionar un lbvserver
específico que cumpla una condición determinada.
Ejemplo de StyleBook sin colecció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: Select a custom datasource environment
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
La GUI del paquete de configuración muestra las instancias de ADC administradas por ADM y los usuarios de StyleBook pueden seleccionar cualquier ADC al crear o actualizar el paquete de configuración.
Este StyleBook utiliza el ADC seleccionado iterando sobre todos los lbvserver
. Seleccione los servidores virtuales SSL y establece la versión permitida en cada servidor virtual.
La siguiente expresión le permite recorrer en iteración la lista de lbvserver
en la instancia de ADC.
repeat: $parameters.selected-adc.collections.lbvserver
-
collections
: hace referencia a los tipos de entidad de la instancia ADC. -
lbvserver
: hace referencia a la lista de servidores virtuales de equilibrio de carga de la instancia ADC.
Para cada uno lbvserver
que cumpla la condición (servicetype == SSL
), actualiza la configuración de SSL de los servidores virtuales para permitir versiones de SSL específicas.
Uso de la fuente de datos integrada con la colección
parameters:
-
name: selected-lbvserver
label: Select an existing ADC
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
En este ejemplo, el parámetro datum
se usa para seleccionar tanto la instancia de ADC como el lbvserver
de la fuente de datos managed-adc
.
Al definir un tipo de colección en la sección parameters
, los usuarios de StyleBook pueden seleccionar la instancia de ADC y una entidad específica de una colección de esa instancia.
Seleccione un atributo de la colección:
Cuando el usuario de StyleBook selecciona un servidor virtual, la siguiente expresión del StyleBook puede acceder a cualquier atributo del elemento seleccionado.
$parameters.selected-lbvserver.attributes.<attribute-name>
En este ejemplo, el seleccionado datum
es lbvserver
. Por lo tanto, puede acceder a cualquier atributo de la entidad ADC lbvserver
, como name
, servicetype
, ipv46
, etc.
Ejemplo :
$parameters.selected-lbvserver.attributes.name
Esta expresión recupera el nombre del servidor virtual de equilibrio de carga seleccionado. Para obtener más información sobre las entidades ADC (colecciones) y sus atributos, consulte la referencia de la API de NITRO de NetScaler.
Seleccione una lista de la colección:
Además del elemento seleccionado por el usuario de StyleBook, también puede acceder a cualquier elemento de la misma colección o de colecciones diferentes en la instancia de ADC seleccionada. Para acceder a otra colección de esa instancia de ADC, utilice la siguiente expresión en la sección components
:
$parameters.selected-lbvserver.datasource.collections.<collection-name>
Ejemplo :
$parameters.selected-lbvserver.datasource.collections.csvserver
Esta expresión devuelve la lista de servidores virtuales de conmutación de contenido de la instancia de ADC seleccionada.
Además, la siguiente expresión devuelve una lista de todos los enlaces entre lbvservers
y servicegroups
:
$parameters.selected-lbvserver.datasource.collections.lbvserver_servicegroup_binding
Ejemplo de StyleBook con una colección
A continuación, se muestra un ejemplo de StyleBook para demostrar cómo utilizar la instancia ADC gestionada como fuente de datos:
---
name: bind-lb-to-servicegroup-using-ADC-as-datasource
namespace: com.citrix.adc.stylebooks
version: "1.1"
display-name: "HTTP/SSL LoadBalancing StyleBook with Service Binding"
description: "This stylebook defines a typical Load Balanced Application configuration where we allow the user to select an existing lbvserver on the ADC using datum type parameter. Then a servicegroup for the selected lb is created if it does not exist on the ADC. Finally, the selected lbvserver is bound to the service "
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
parameters:
-
name: selected-vserver
label: "Select an Existing VServer"
description: "Load Balancing Application Vservers to be bound to service on the ADC"
type: datum
required: true
data-source:
type: managed-adc
collection: lbvserver
-
name: services
label: Services
type: object[]
required: true
parameters:
-
name: ip
label: IP address
type: ipaddress
required: true
-
name: port
label: Port
type: tcp-port
required: true
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
-
name: servicegroupmember-comp
type: ns::servicegroup_servicegroupmember_binding
repeat: $parameters.services
repeat-item: service
properties:
servicegroupname: if-then-else($components.servicegroup-discovery-comp, $components.servicegroup-discovery-comp.properties.servicegroupname, $components.servicegroup-creation-if-not-exists-comp.properties.servicegroupname)
ip: $service.ip
port: $service.port
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 busca el grupo de servicios con ese nombre lbv1-svcgrp
. Si no lo encuentra, crea un grupo de servicios lbv1-svcgrp
y se vincula con el servidor virtual lbv1
.
La siguiente expresión obtiene la lista de grupos de servicios de la instancia ADC.
repeat: $parameters.selected-vserver.datasource.collections.servicegroup
-
datasource
: hace referencia a la instancia de ADC seleccionada administrada por ADM. -
collections
: hace referencia a las entidades de la instancia de ADC. -
servicegroup
: hace referencia a los grupos de servicios de la instancia ADC.