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 referir a él como un tipo que es utilizado por los componentes del segundo StyleBook similar a un StyleBook incorporado Nitro.

Por ejemplo, puede usar el StyleBook basic-lb-configque 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 su 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

En la sección import-stylebooks, se importa el StyleBook basic-lb-config mediante su espacio de nombres y 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 usar cualquier parámetro del StyleBook (tanto obligatorio como opcional). En lugar de volver a crear un lbvserver, un grupo de servicios y enlaces de grupos de servicios, importe el StyleBook que hace todo esto como un componente y lo utiliza 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 incorporado) 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 vincula el monitor al grupo de servicios creado en el primer componente. Debido a que el componente servicegroup creado en el StyleBook “basic-lb-config” se expone como una salida, este StyleBook puede acceder a él mediante 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