Configuration de StyleBook

Utiliser les instances ADC cibles comme sources de données

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

Pour utiliser des instances cibles comme sources de données, vous n’avez pas besoin d’utiliser le paramètre de type datum intégré, car aucune instance ADC n’a besoin d’être sélectionnée par l’utilisateur de StyleBook. Vous pouvez écrire directement des expressions dans la components section de votre StyleBook qui récupère les données de l’instance ADC cible.

Utilisez l’expression suivante pour récupérer les informations suivantes à partir des instances ADC 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 ADC cible comme source de données

Voici un exemple de StyleBook qui montre comment utiliser l’instance ADC 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 ADC 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 ADC cible en tant que source de données

Utiliser les instances ADC cibles comme sources de données