APIを使用してカスタムStyleBookをインポートする
StyleBook APIを使用して、カスタムStyleBookをNetScaler Consoleにインポートします。REST APIを使用して、cURLコマンドラインツールやPostman Chromeブラウザ拡張機能などの任意のツールで、このStyleBookから構成パックを作成します。たとえば、NetScalerインスタンスでロードバランサー構成を作成するために使用できる
example-lbという名前のStyleBookをインポートできます。
HTTPメソッド: POST
URL:
https://<ADM-endpoint-name>/stylebook/nitro/v2/config/stylebooks/actions/import?mode=async
{
"import": {
"file_name": "add_dnssoarec.yaml",
"source": "<base 64 encoded content of the sb definition>",
"encoding": "base64"
}
}
ここで、
source属性の値は、StyleBookファイルの内容をbase64エンコードしたものです。StyleBookファイルのYAMLコンテンツをオンラインツールに貼り付けることができます。たとえば、<https://www.browserling.com/tools/file-to-base64>を使用して、source属性の値として使用できるbase64文字列を取得します。
このAPI呼び出しを使用すると、複数のStyleBookファイルを含む圧縮されたtarballファイル(.tgzファイル)を1回のAPI操作でアップロードすることもできます。次の手順を実行します。
-
file_name属性を.tgzファイルに変更します -
source属性を.tgzファイルの内容のbase64エンコードに変更します
ツールでAPIが正常に実行されると、ジョブIDを含む応答が返されます。このジョブIDを使用して、操作の完了まで追跡します。
200 ACCEPTED
応答本文:
{
"job": {
"job_id": "12345678"
}
}
ジョブIDを使用して、操作のステータスを追跡します。
HTTPメソッド: GET
URL:
https://<ADM-endpoint-name>/stylebook/nitro/v2/config/jobs/<job-id>
ジョブのステータスが返されます。
200 OK
応答本文:
{
"job": {
"job_id": "<job-id>",
"progress_info": [
{
"is_last": "true",
"message": "No job found",
"status": "failed"
}
],
"status": "completed"
}
}
「completed」のステータス値は、StyleBookが正常にインポートされたことを示します。StyleBookに関する情報を取得して、操作のステータスを確認します。
HTTPメソッド: GET
URL:
https://<ADM-endpoint-name>/stylebook/nitro/v2/config/stylebooks/samples/1.0/demo-helper-object
インポートされたStyleBookの詳細が表示されます。
200 OK
応答本文:
{
"stylebook": {
"builtin_namespaces": {},
"created_datetime": "2023-01-14 00:13:59",
"custom": true,
"dependencies": [],
"deprecate": "false",
"description": "This Stylebook is a test",
"display_name": "Test StyleBooks",
"encoding": "BASE64",
"header": "Test StyleBooks",
"icon": "''",
"id": "demo575731aacbfc20b4ff00b3b60ea59855",
"is_updatable": true,
"name": "demo-helper-object",
"namespace": "samples",
"primary_keys": {},
"private": false,
"repository_name": "",
"reverse_dependencies": [],
"schema_version": "1.0",
"source": "<base 64 encoded content of the stylebook definition>",
"tenant_id": "1a45fd70-7ce3-4bff-8642-1bd7f7e97673",
"username": "abc",
"version": "1.0"
}
}