Citrix Application Delivery Management

Crear un StyleBook compuesto

Una función importante y poderosa de StyleBooks es que se pueden usar como bloques de construcción para otros StyleBooks. Un StyleBook se puede importar a otro StyleBook y se puede denominar un tipo utilizado por componentes del segundo StyleBook similar a un StyleBook integrado NITRO.

Por ejemplo, puede usar el StyleBook basic-lb-config que creó en la sección anterior, para crear otro StyleBook llamado composite-example. Para usar el StyleBook “basic-lb-config”, tiene que importarlo en el nuevo StyleBook en la sección import-stylebooks.

Crea tu StyleBook

El nuevo StyleBook se vería de la siguiente manera:

name: composite-example
namespace: com.example.stylebooks
version: "0.1"
display-name: Load Balancing Virtual Server (HTTP/RoundRobin)
description: This StyleBook defines a RoundRobin load balancing configuration with a monitor.
schema-version: "1.0"
import-stylebooks:
  -
   namespace: netscaler.nitro.config
   version: "10.5"
   prefix: ns
  -
   namespace: com.example.stylebooks
   version: "0.1"
   prefix: stlb
parameters:
  -
    name: name
    type: string
    label: Application Name
    description: Give a name to the application configuration.
    required: true
  -
    name: ip
    type: ipaddress
    label: Application Virtual IP (VIP)
    description: The Application VIP that clients access
    required: true
  -
    name: svc-servers
    type: ipaddress[]
    label: Application Server IPs
    description: The IP addresses of all the servers of this application
    required: true

  -
    name: response-code
    type: string[]
    label: List of Response Codes
    description: List of Response Codes - Provide a list of response codes in integer.

components:
  -
    name: basic-lb-comp
    type: stlb::basic-lb-config
    description: This component's type is another StyleBook that builds the NetScaler lbvserver, servicegroups and services configuration objects.
    properties:
     name: $parameters.name
     ip: $parameters.ip
     svc-servers: $parameters.svc-servers
  -
     name: monit-comp
     type: ns::lbmonitor
     description: This component is a basic Nitro type (a Builtin StyleBook) that builds the NetScaler monitor configuration object.
     properties:
       monitorname: $parameters.name + "-mon"
       type: HTTP
       respcode: $parameters.response-code
       httprequest: "'GET /'"
       lrtm: ENABLED
       secure: "YES"

     components:
        -
          name: monit-svcgrp-bind-comp
          type: ns::servicegroup_lbmonitor_binding
          properties:
            servicegroupname: $components.basic-lb-comp.outputs.servicegroup-comp.properties.servicegroupname
            monitor_name: $parent.properties.monitorname
<!--NeedCopy-->

En la sección import-stylebooks, puede importar basic-lb-config StyleBook utilizando su espacio de nombres y su versión, a los que se hace referencia con el prefijo stlb.

En la sección de componentes, se definen dos componentes. El primer componente es de tipo stlb: :basic-lb-config, donde “basic-lb-config” es el nombre del StyleBook en el que creóStyleBook para crear una configuración básica de equilibrio de carga. Las propiedades definidas para este componente corresponden a los parámetros obligatorios declarados en el StyleBook basic-lb-config. Sin embargo, puede utilizar cualquier parámetro del StyleBook (tanto obligatorio como opcional). En lugar de volver a crear un lbvserver, un grupo de servicios y enlaces de grupo de servicios y servicios, debe importar el StyleBook que hace todo esto como componente y utilizarlo para crear estos objetos de configuración en el nuevo StyleBook.

StyleBook agrega un segundo componente monit-comp que utiliza los atributos del recurso NITRO lbmonitor (un StyleBook integrado) para crear un objeto de configuración de monitor. También tiene un subcomponente monit-svcgrp-bind-comp para crear el objeto de configuración de enlace que enlaza el monitor con el servicegroup creado en el primer componente. Dado que el servicegroup componente creado en el StyleBook «basic-lb-config» se expone como una salida, este StyleBook puede acceder a él utilizando la expresión $components.basic-lb-comp.outputs.servicegroup-comp. Este es un ejemplo de cómo la sección de salidas puede ser utilizada por los StyleBooks importadores para tener acceso a los componentes de los StyleBooks importados a los que no habrían podido acceder de otro modo.

A continuación, copie y pegue el contenido de StyleBook en un editor de texto y, a continuación, guarde el archivo como composite-example.yaml. Asegúrese de validar el contenido de YAML antes de importar el archivo en Citrix ADM. A continuación, impórtelo a Citrix ADM y cree una o varias configuraciones mediante este StyleBook.

Citrix recomienda utilizar el validador YAML integrado en StyleBooks para validar e importar el contenido YAML.

Crear un StyleBook compuesto