Usar la API para crear configuraciones a partir de StyleBooks

Last published : Oct 02, 2026
Después de haber creado su StyleBook, debe importarlo a NetScaler® Application Delivery Management (ADM) para usarlo, ya sea mediante NetScaler ADM o mediante las API de NetScaler ADM. NetScaler ADM valida su StyleBook cuando lo importa y, si la validación es correcta, su StyleBook aparece en el catálogo de StyleBooks de NetScaler ADM, listo para ser utilizado para crear configuraciones.
Ahora puede usar las API de StyleBook para crear configuraciones basadas en este StyleBook. Puede usar cualquier herramienta, como la herramienta de línea de comandos curl o la extensión de navegador Chrome Postman, para enviar solicitudes HTTP a NetScaler ADM.

Ejemplo 1

Considere el StyleBook "lb-vserver" que ha creado en StyleBook para crear un servidor virtual de equilibrio de carga. Utilice la API REST para crear un paquete de configuración a partir de este StyleBook de la siguiente manera:
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"
      }
    ]
}
}
En esta solicitud HTTP, el id (por ejemplo, "deecee30-f478-4446-9741-a85041903410") es el ID de instancia de la instancia de NetScaler en la que se crea el servidor virtual de equilibrio de carga lb1 con la dirección IP 10.102.117.31. El ID de instancia de la instancia de NetScaler se recupera de NetScaler ADM.
Para obtener el ID de una instancia administrada por NetScaler ADM, puede usar las API de NetScaler ADM. Por ejemplo, para recuperar el ID de instancia de una instancia de NetScaler cuya dirección IP es 192.168.153.160, puede usar la siguiente API:
GET https://<MAS-IP>/nitro/v1/config/ns?filter=ip_address:192.168.153.160
Accept: application/json
La respuesta contiene el ID en la carga útil:
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 el paquete de configuración se crea correctamente, recibirá la siguiente respuesta HTTP:
200 OK
Content-Type: application/json
{
  "configpack":
  {
    "config_id": "1460806080"
  }
}
Ha creado su primer paquete de configuración, que se identifica de forma única mediante el id 1460806080. Puede usar este ID para consultar, actualizar o eliminar la configuración.

Ejemplo 2

Puede usar el mismo StyleBook para crear otro paquete de configuración y ejecutarlo en las mismas o diferentes instancias de NetScaler. En este ejemplo, cree otra configuración y proporcione un nombre y una dirección IP diferentes para el servidor virtual, y también especifique LEASTCONNECTION como método de equilibrio de carga. Implemente esta configuración en dos instancias de NetScaler.
La solicitud HTTP es la siguiente:
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"}
    ]
  }
}
En esta solicitud HTTP, el servidor virtual de equilibrio de carga lb2 con la dirección IP 10.102.117.32 se crea en las dos instancias de NetScaler representadas por los ids "deecee30-f478-4446-9741-a85041903410" y "debecc60-d589-4557-8632-a74032802412".
Tras la creación correcta del paquete de configuración, se recibe la siguiente respuesta HTTP:
200 OK
Content-Type: application/json
{
   "configpack":
  {
     "config_id": "1657696292"
  }
}
Este nuevo paquete de configuración tiene un ID diferente: 165769629. Puede actualizar o eliminar esta configuración usando este ID.

Ejemplo 3

Considere el StyleBook "basic-lb-config" que ha creado en StyleBook para crear una configuración básica de equilibrio de carga. Utilice la API REST para crear un paquete de configuración a partir de este StyleBook de la siguiente manera:
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"
     }
    ]
  }
}
En esta solicitud HTTP, la configuración de equilibrio de carga se ejecuta en dos instancias de NetScaler. Puede iniciar sesión en estas instancias de NetScaler para verificar si se han creado un servidor virtual y un grupo de servicios con dos servicios vinculados.

Ejemplo 4

Considere el StyleBook compuesto composite-example que creó en Crear un StyleBook compuesto. Utilice la API REST para crear un paquete de configuración a partir de este StyleBook de la siguiente manera:
POST http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks
Content-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"
    }
    ]
 }
}
En esta solicitud HTTP, la configuración se crea en dos instancias de NetScaler representadas por sus ID. Si inicia sesión en las instancias de NetScaler, puede ver los objetos de configuración creados por el StyleBook "basic-lb-config" que se importó en el StyleBook "composite-example". También puede ver un nuevo monitor HTTP llamado "myapp-mon" que formaba parte del StyleBook "composite-example".
Tras la creación correcta del paquete de configuración, se recibe la siguiente respuesta HTTP:
200 OK
Content-Type: application/json{
  "configpack": {
    "config_id": "4917276817"
  }
}

Actualización de una configuración

Para actualizar esta configuración, por ejemplo, agregando un nuevo servidor backend con la dirección IP 10.102.29.54 al servidor virtual de equilibrio de carga myapp, utilice la API para actualizar un paquete de configuración de la siguiente manera:
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"
  }
]
}
}
Tras la actualización correcta del paquete de configuración, se recibe la siguiente respuesta HTTP:
200 OK
Content-Type: application/json
{
   "configpack": {
     "config-id": "4917276817"
  }
}

Eliminación de una configuración

Para eliminar esta configuración (de todas las instancias de NetScaler), puede utilizar la API para eliminar un paquete de configuración de la siguiente manera:
DELETE http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817Accept: application/json
Tras la eliminación correcta del paquete de configuración, se recibe la siguiente respuesta HTTP:
200 OK
Content-Type: application/json
{
   "configpack": {
     "config_id": "4917276817"
  }
}
Puede iniciar sesión en la instancia de NetScaler y verificar que todos los objetos de configuración que forman parte de este paquete de configuración se han eliminado.
Si desea eliminar la configuración de instancias de NetScaler específicas en lugar de todas, utilice la operación de paquete de configuración de actualización descrita anteriormente y cambie el atributo "target_devices" en la carga útil JSON para eliminar los ID de instancia de NetScaler específicos.