Utiliser l'API pour créer des configurations à partir de StyleBooks

Dernière publication : Sep 25, 2026
Après avoir créé votre StyleBook, vous devez l'importer dans NetScaler® Application Delivery Management (ADM) pour l'utiliser, soit via NetScaler ADM, soit via les API NetScaler ADM. NetScaler ADM valide votre StyleBook lors de l'importation, et si la validation est réussie, votre StyleBook apparaît dans le catalogue de StyleBooks de NetScaler ADM, prêt à être utilisé pour créer des configurations.
Vous pouvez maintenant utiliser les API StyleBook pour créer des configurations basées sur ce StyleBook. Vous pouvez utiliser n'importe quel outil, tel que l'outil de ligne de commande curl ou l'extension de navigateur Chrome Postman, pour envoyer des requêtes HTTP à NetScaler ADM.

Exemple 1

Considérez le StyleBook « lb-vserver » que vous avez créé dans StyleBook pour créer un serveur virtuel d'équilibrage de charge. Utilisez l'API REST pour créer un pack de configuration à partir de ce StyleBook comme suit :
POST

https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "ip": "10.102.117.31"
    },
    "target_devices":
    [
      {
        "id": "deecee30-f478-4446-9741-a85041903410"
      }
    ]
}
}
Dans cette requête HTTP, l'ID (par exemple, « deecee30-f478-4446-9741-a85041903410 ») est l'ID d'instance de l'instance NetScaler sur laquelle le serveur virtuel d'équilibrage de charge lb1 avec l'adresse IP 10.102.117.31 est créé. L'ID d'instance de l'instance NetScaler est récupéré depuis NetScaler ADM.
Pour obtenir l'ID d'une instance gérée par NetScaler ADM, vous pouvez utiliser les API NetScaler ADM. Par exemple, pour récupérer l'ID d'instance d'une instance NetScaler dont l'adresse IP est 192.168.153.160, vous pouvez utiliser l'API suivante :
GET https://<MAS-IP>/nitro/v1/config/ns?filter=ip_address:192.168.153.160Accept: application/json
La réponse contient l'ID dans la charge utile :
200
OK
Content-Type: application/json
{
  "errorcode": 0,
  "message": "Done",
  "operation": "get",
  "resourceType": "ns",
  "username": "nsroot",
  "tenant_name": "Owner",
  "resourceName": "",
  "ns":
  [
    {
    "is_grace": "false",
    "hostname": "",
    "std_bw_config": "0",
    "gateway_deployment": "false",
    …"id": "deecee30-f478-4446-9741-a85041903410",
    ...
   }
 ]
}
Si le pack de configuration est créé avec succès, vous recevez la réponse HTTP suivante :
200 OK
Content-Type: application/json
{
  "configpack":
  {
    "config_id": "1460806080"
  }
}
Vous avez créé votre premier pack de configuration, identifié de manière unique par l'ID 1460806080. Vous pouvez utiliser cet ID pour interroger, mettre à jour ou supprimer la configuration.

Exemple 2

Vous pouvez utiliser le même StyleBook pour créer un autre pack de configuration et l'exécuter sur les mêmes instances NetScaler ou sur des instances différentes. Dans cet exemple, créez une autre configuration et fournissez un nom et une adresse IP différents pour le serveur virtuel, et spécifiez également LEASTCONNECTION comme méthode d'équilibrage de charge. Déployez cette configuration sur deux instances NetScaler.
La requête HTTP est la suivante :
POST

https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters":
    {
      "name": "lb2",
      "ip": "10.102.117.32",
      "lb-alg": "LEASTCONNECTION"
    },
    "target_devices"
    [
     {"id": "deecee30-f478-4446-9741-a85041903410"},
     {"id": "debecc60-d589-4557-8632-a74032802412"}
    ]
  }
}
Dans cette requête HTTP, le serveur virtuel d'équilibrage de charge lb2 avec l'adresse IP 10.102.117.32 est créé sur les deux instances NetScaler représentées par les ID « deecee30-f478-4446-9741-a85041903410 » et « debecc60-d589-4557-8632-a74032802412 ».
Lors de la création réussie du pack de configuration, la réponse HTTP suivante est reçue :
200 OK
Content-Type: application/json
{
   "configpack":
  {
     "config_id": "1657696292"
  }
}
Ce nouveau pack de configuration a un identifiant différent 165769629. Vous pouvez mettre à jour ou supprimer cette configuration en utilisant cet identifiant.

Exemple 3

Considérez le StyleBook « basic-lb-config » que vous avez créé dans StyleBook pour créer une configuration d'équilibrage de charge de base. Utilisez l'API REST pour créer un pack de configuration à partir de ce StyleBook comme suit :
POST

http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/basic-lb-config/configpacks
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters":
    {
      "name": "myapp",
      "ip": "10.70.122.25",
      "svc-servers":
      ["192.168.100.11","192.168.100.12"],
       "svc-port": 8080
    },
    "target_devices":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "debecc60-d589-4557-8632-a74032802412"
     }
    ]
  }
}
Dans cette requête HTTP, la configuration d'équilibrage de charge est exécutée sur deux instances NetScaler. Vous pouvez vous connecter à ces instances NetScaler pour vérifier si un serveur virtuel et un groupe de services avec deux services liés sont créés.

Exemple 4

Considérez le StyleBook composite composite-example que vous avez créé dans Créer un StyleBook composite. Utilisez l'API REST pour créer un pack de configuration à partir de ce StyleBook comme suit :
POST http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacksContent-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53"]
    },
    "target_devices":
    [
    {
      "id": "deecee30-f478-4446-9741-a85041903410"
    },
    {
      "id": "debecc60-d589-4557-8632-a74032802412"
    }
    ]
 }
}
Dans cette requête HTTP, la configuration est créée sur deux instances NetScaler représentées par leurs ID. Si vous vous connectez aux instances NetScaler, vous pouvez afficher les objets de configuration créés par le StyleBook « basic-lb-config » qui a été importé dans le StyleBook « composite-example ». Vous pouvez également voir un nouveau moniteur HTTP appelé « myapp-mon » qui faisait partie du StyleBook « composite-example ».
En cas de création réussie du pack de configuration, la réponse HTTP suivante est reçue :
200 OK
Content-Type: application/json{
  "configpack": {
    "config_id": "4917276817"
  }
}

Mise à jour d'une configuration

Pour mettre à jour cette configuration, par exemple, en ajoutant un nouveau serveur backend avec l'adresse IP 10.102.29.54 au serveur virtuel d'équilibrage de charge myapp, utilisez l'API de mise à jour d'un pack de configuration comme suit :
PUT http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817Content-Type: application/json
Accept: application/json
{
  "configpack": {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53","10.102.29.54"]
  },
  "target_devices":
  [
    {
    "id": "deecee30-f478-4446-9741-a85041903410"
    },
  {
    "id": "debecc60-d589-4557-8632-a74032802412"
  }
]
}
}
En cas de mise à jour réussie du pack de configuration, la réponse HTTP suivante est reçue :
200 OK
Content-Type: application/json
{
   "configpack": {
     "config-id": "4917276817"
  }
}

Suppression d'une configuration

Pour supprimer cette configuration (de toutes les instances NetScaler), vous pouvez utiliser l'API de suppression d'un pack de configuration comme suit :
DELETE http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817Accept: application/json
En cas de suppression réussie du pack de configuration, la réponse HTTP suivante est reçue :
200 OK
Content-Type: application/json
{
   "configpack": {
     "config_id": "4917276817"
  }
}
Vous pouvez vous connecter à l'instance NetScaler et vérifier que tous les objets de configuration faisant partie de ce pack de configuration ont été supprimés.
Si vous souhaitez supprimer la configuration d'instances NetScaler spécifiques au lieu de toutes, utilisez l'opération de mise à jour du pack de configuration décrite ci-dessus et modifiez l'attribut "target_devices" dans la charge utile JSON pour supprimer les ID d'instances NetScaler spécifiques.