API を使用して StyleBook から構成を作成する

最終公開日 : Sep 25, 2026
StyleBook を構築したら、NetScaler ADM を使用するか、NetScaler ADM API を使用して、NetScaler® Application Delivery Management (ADM) にインポートする必要があります。NetScaler ADM は、インポート時に StyleBook を検証し、検証が成功すると、StyleBook は NetScaler ADM の StyleBook カタログに表示され、構成の作成に使用できるようになります。
この StyleBook に基づいて構成を作成するために、StyleBook API を使用できるようになりました。curl コマンドラインツールや Postman Chrome ブラウザ拡張機能など、任意のツールを使用して NetScaler ADM に HTTP リクエストを送信できます。

例 1

StyleBook to Create a Load Balancing Virtual Server で作成した「lb-vserver」StyleBook を検討します。この StyleBook から REST API を使用して構成パックを作成するには、次のようにします。
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"
      }
    ]
}
}
この HTTP リクエストでは、id (例: 「deecee30-f478-4446-9741-a85041903410」) は、IP アドレス 10.102.117.31 を持つロードバランシング仮想サーバー lb1 が作成される NetScaler インスタンスのインスタンス ID です。NetScaler インスタンスのインスタンス ID は NetScaler ADM から取得されます。
NetScaler ADM によって管理されているインスタンスの ID を取得するには、NetScaler ADM API を使用できます。たとえば、IP アドレスが 192.168.153.160 の NetScaler インスタンスのインスタンス ID を取得するには、次の API を使用できます。
GET https://<MAS-IP>/nitro/v1/config/ns?filter=ip_address:192.168.153.160Accept: application/json
応答にはペイロード内の ID が含まれています。
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",
    ...
   }
 ]
}
構成パックが正常に作成されると、次の HTTP 応答が返されます。
200 OK
Content-Type: application/json
{
  "configpack":
  {
    "config_id": "1460806080"
  }
}
ID 1460806080 を使用して一意に識別される最初の構成パックを作成しました。この ID を使用して、構成のクエリ、更新、または削除を行うことができます。

例 2

同じ StyleBook を使用して別の構成パックを作成し、同じまたは異なる NetScaler インスタンスで実行できます。この例では、別の構成を作成し、仮想サーバーに異なる名前と IP アドレスを指定し、ロードバランシング方法として LEASTCONNECTION を指定します。この構成を 2 つの NetScaler インスタンスに展開します。
HTTP リクエストは次のとおりです。
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"}
    ]
  }
}
この HTTP リクエストでは、IP アドレス 10.102.117.32 を持つロードバランシング仮想サーバー lb2 が、「deecee30-f478-4446-9741-a85041903410」と「debecc60-d589-4557-8632-a74032802412」の ID で表される 2 つの NetScaler インスタンス上に作成されます。
構成パックの作成が成功すると、次の HTTP 応答が返されます。
200 OK
Content-Type: application/json
{
   "configpack":
  {
     "config_id": "1657696292"
  }
}
この新しい構成パックには、異なるID 165769629があります。このIDを使用して、この構成を更新または削除できます。

例 3

StyleBook to Create a Basic Load balancing Configurationで作成した「basic-lb-config」StyleBookを検討してください。このStyleBookからREST APIを使用して構成パックを作成するには、次のようにします。
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"
     }
    ]
  }
}
このHTTPリクエストでは、負荷分散構成が2つのNetScalerインスタンスで実行されます。これらのNetScalerインスタンスにログオンして、仮想サーバーと2つのサービスがバインドされたサービスグループが作成されているかどうかを確認できます。

例 4

Create a Composite StyleBookで作成した複合StyleBook composite-example を検討してください。このStyleBookからREST APIを使用して構成パックを作成するには、次のようにします。
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"
    }
    ]
 }
}
このHTTPリクエストでは、構成はIDで表される2つのNetScalerインスタンスに作成されます。NetScalerインスタンスにログオンすると、「composite-example」StyleBookにインポートされた「basic-lb-config」StyleBookによって作成された構成オブジェクトを表示できます。また、「composite-example」StyleBookの一部であった「myapp-mon」という新しいHTTPモニターも表示されます。
構成パックが正常に作成されると、次のHTTP応答が受信されます。
200 OK
Content-Type: application/json{
  "configpack": {
    "config_id": "4917276817"
  }
}

構成の更新

この構成を更新するには、たとえば、IPアドレス10.102.29.54を持つ新しいバックエンドサーバーを負荷分散仮想サーバーmyappに追加するなど、構成パックを更新するためのAPIを次のように使用します。
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"
  }
]
}
}
構成パックが正常に更新されると、次のHTTP応答が受信されます。
200 OK
Content-Type: application/json
{
   "configpack": {
     "config-id": "4917276817"
  }
}

構成の削除

この構成を(すべてのNetScalerインスタンスから)削除するには、構成パックを削除するためのAPIを次のように使用できます。
DELETE http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817Accept: application/json
構成パックが正常に削除されると、次のHTTP応答が受信されます。
200 OK
Content-Type: application/json
{
   "configpack": {
     "config_id": "4917276817"
  }
}
NetScalerインスタンスにログオンし、この構成パックの一部であるすべての構成オブジェクトが削除されていることを確認できます。
すべてのNetScalerインスタンスからではなく、特定のNetScalerインスタンスから構成を削除したい場合は、上記で説明した構成パック更新操作を使用し、JSONペイロード内の「target_devices」属性を変更して、特定のNetScalerインスタンスIDを削除します。