Configuration de StyleBook

Utiliser les instances NetScaler cibles comme sources de données

Vous pouvez également utiliser le NetScaler cible de votre configuration elle-même comme source de données d’entrée pour votre configuration. Dans ce scénario, vous souhaiterez peut-être vous référer à la configuration existante sur le NetScaler cible pour créer de nouvelles configurations sur ce NetScaler.

Pour utiliser des instances cibles comme sources de données, il n’est pas nécessaire d’utiliser le datumparamètre de type intégré, car aucune instance NetScaler n’a besoin d’être sélectionnée par l’utilisateur de StyleBook. Vous pouvez écrire directement des expressions dans la componentssection de votre StyleBook qui récupère les données de l’instance NetScaler cible.

Utilisez l’expression suivante pour récupérer les informations suivantes à partir des instances NetScaler cibles :

  • Collections :

     $current-target-as-datasource.collections.<collection-name>
     <!--NeedCopy-->
    

    Exemple :

     $current-target-as-datasource.collections.lbvserver
     <!--NeedCopy-->
    
  • Attributs :

     $current-target-as-datasource.collections.attributes.<attribute>
     <!--NeedCopy-->
    

Exemple de StyleBook pour utiliser l’instance NetScaler cible comme source de données

Voici un exemple de StyleBook qui montre comment utiliser l’instance NetScaler cible comme source de données :

---
name: lb-add-service-with-target-adc
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."
schema-version: "1.0"
import-stylebooks:
  -
    namespace: netscaler.nitro.config
    prefix: ns
    version: "10.5"

components:
  -
    name: servicegroup-comp
    type: ns::servicegroup
    properties:
      servicegroupname: "lb-demo-svcgrp"
      servicetype: "HTTP"

    components:
      -
        name: lbvserver-svg-binding
        type: ns::lbvserver_servicegroup_binding
        repeat: $current-target-as-datasource.collections.lbvserver
        repeat-item: lbvsrvr
        repeat-condition: $lbvsrvr.attributes.name == "lb-demo-lb"
        properties:
          name: $lbvsrvr.attributes.name
          servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->

Dans cet exemple, le pack de configuration vérifie la présence de serveurs virtuels d’équilibrage de charge dans les instances NetScaler cibles. Et, si l’adresse IP du serveur virtuel d’équilibrage de charge donnée correspond, il récupère le nom et le nom du groupe de services.

Instance NetScaler cible en tant que source de données

Utiliser les instances NetScaler cibles comme sources de données