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

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

例1

StyleBook to Create a Load Balancing Virtual Serverで作成したlb-vserver StyleBookを検討してください。このStyleBookからREST APIを使用して構成パックを作成するには、次のようにします。
HTTPメソッド: POST URL: https://<IP>/stylebook/nitro/v2/config/configpacks
リクエストヘッダー:
コンテンツタイプ: application/json
受諾: application/json
リクエストボディペイロード:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
このHTTPリクエストでは、IPアドレス10.102.117.31を持つロードバランシング仮想サーバーlb1が、インスタンスID「deecee30-f478-4446-9741-a85041903410」を持つNetScalerインスタンス上に作成されます。NetScalerインスタンスのインスタンスIDはNetScaler Consoleから取得されます。
NetScaler Consoleによって管理されているインスタンスのIDを取得するには、NetScaler Console APIを使用できます。たとえば、IPアドレスが192.168.153.160であるNetScalerインスタンスのインスタンスIDを取得するには、次のAPIを使用できます。
HTTPメソッド: GET
URL: https://<IP>/nitro/v2/config/ns?filter=ip_address:192.168.153.160
リクエストヘッダー:
アクセプト: application/json
レスポンスにはJSONペイロードにIDが含まれています。
予期されるレスポンスヘッダー (成功時):
200 OK
コンテンツタイプ: 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",
   }
 ]
}
設定 (config pack) が正常に作成された場合、次のHTTPレスポンスを受け取ります。
予期されるレスポンスヘッダー (成功時):
202 OK
コンテンツタイプ: application/json
予期されるレスポンスボディ (成功時):
{
  "job":
  {
    "job_id": "1460806080"
  }
}
ID 1460806080 を使用して一意に識別される最初のジョブが作成されました。このIDを使用して、設定を照会、更新、または削除できます。
次のURLを使用してジョブのステータスを照会できます。
https://<IP>/stylebook/nitro/v2/config/jobs/<jobid>.

例 2

同じStyleBookを使用して、別のconfig packを作成し、同じまたは異なるNetScalerインスタンスで実行できます。この例では、別の構成を作成し、仮想サーバーに異なる名前とIPアドレスを指定します。ロードバランシング方法としてLEASTCONNECTIONを指定します。この構成を2つのNetScalerインスタンスに展開します。
HTTPリクエストは次のとおりです。
HTTPメソッド: POST
URL: https://<IP>/stylebook/nitro/v2/config/configpacks
リクエストヘッダー:
コンテンツタイプ: application/json
承諾: application/json
リクエストボディペイロード:
{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31",
      "lb-alg": "LEASTCONNECTION"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      },
      {
        "instance_id": "abcdee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
このHTTPリクエストでは、IPアドレス10.102.117.31を持つロードバランシング仮想サーバーlb1が、インスタンスID「deecee30-f478-4446-9741-a85041903410」と「abcdee30-f478-4446-9741-a85041903410」を持つ2つのNetScalerインスタンス上に作成されます。
config packが正常に作成されると、次のHTTPレスポンスが受信されます。
予期されるレスポンスヘッダー (成功時):
202 OK
コンテンツタイプ: application/json
予期されるレスポンスボディ (成功時):
{
    "job": {
        "job_id": "165769629"
    }
}
この新しいconfig packには、異なるID 1657696292があります。このIDを使用して、この構成を更新または削除できます。

例 3

StyleBook to Create a Basic Load balancing Configuration で作成した「basic-lb-config」StyleBook を検討します。この StyleBook から REST API を使用して構成パックを作成するには、次のようにします。
HTTP メソッド: POST
URL: https://<IP>/stylebook/nitro/v2/config/configpacks
リクエストヘッダー:
コンテンツタイプ: application/json
アクセプト: application/json
リクエストボディペイロード:
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
    },
    "targets":
    [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abcdefgi-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "basic-lb-config",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
}
予期される応答ヘッダー (成功時):
202 OK
コンテンツタイプ: application/json
予期される応答ボディ (成功時):
{
    "job": {
        "job_id": "3628681382"
    }
}
この HTTP リクエストでは、負荷分散構成が 2 つの NetScaler インスタンスで実行されます。これらの NetScaler インスタンスにログオンして、仮想サーバーと、2 つのサービスがバインドされたサービスグループが作成されているかどうかを確認できます。

例 4

Create a Composite StyleBook で作成した複合 StyleBook composite-example を検討します。この StyleBook から REST API を使用して構成パックを作成するには、次のようにします。
HTTP メソッド: POST
URL: https://<IP>/stylebook/nitro/v2/config/configpacks
リクエストヘッダー:
コンテンツタイプ: application/json
受諾: application/json
リクエストボディペイロード:
{
  "configpack":
  {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53"]
    },
    "targets":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "abcdefgg-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "composite-example",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
この HTTP リクエストでは、設定は ID で表される 2 つの NetScaler インスタンス上に作成されます。NetScaler インスタンスにログオンすると、「composite-example」StyleBook にインポートされた「basic-lb-config」StyleBook によって作成された設定オブジェクトを表示できます。また、「composite-example」StyleBook の一部であった myapp-mon という新しい HTTP モニターも表示されます。
設定パックが正常に作成されると、次の HTTP レスポンスが受信されます。
期待されるレスポンスヘッダー (成功時):
202 OK
コンテンツタイプ: application/json
期待されるレスポンスボディ (成功時):
{
    "job": {
        "job_id": "3628681382"
    }
}

設定の更新

IP アドレス 10.102.29.54 の新しいバックエンドサーバーで更新したい設定を考えてみましょう。サーバーをロードバランシング仮想サーバー myapp に追加するには、次の API を使用します。
HTTP メソッド: PUT
URL:https://<IP>/stylebook/nitro/v2/config/configpacks/<configpackid>
リクエストヘッダー:
コンテンツタイプ: application/json
アクセプト: 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"]
  },
  "targets":
   [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abdcedff-d589-4557-8632-a74032802412"
     }
   ]
  }
}
設定パックの更新が成功すると、以下のHTTPレスポンスが受信されます。
予期されるレスポンスヘッダー(成功時):
202 OK
コンテンツタイプ: application/json
予期されるレスポンスボディ(成功時):
{
    "job": {
        "job_id": "3628681382"
    }
}

設定の削除

この設定(すべてのNetScalerインスタンスから)を削除するには、設定パックを削除するためのAPIを次のように使用できます。
設定パックの削除が成功すると、以下のHTTPレスポンスが受信されます。
HTTPメソッド:DELETE
URL:https://<DNS-or-IP>//stylebook/nitro/v2/config/configpacks/<configpackid>
リクエストヘッダー:
受け入れ: application/json
期待される応答ヘッダー (成功時):
202 OK
コンテンツタイプ: application/json
期待される応答ペイロード (成功時):
{
    "job": {
        "job_id": "3628681382"
    }
}
NetScalerインスタンスにログオンし、この構成パックの一部であるすべての構成オブジェクトが削除されていることを確認します。
すべてのインスタンスからではなく、特定のNetScalerインスタンスから構成を削除するには、構成の更新で構成パックの更新操作を使用します。JSONペイロードのターゲット属性を変更して、特定のNetScalerインスタンスIDを削除します。