API を使用してカスタムスタイルブックをインポートする
スタイルブックAPIを使用して、カスタムスタイルブックをCitrix ADM にインポートします。REST APIを使用して、cURLコマンドラインツールやPostmanクロームブラウザ拡張機能などの任意のツールでこのStyleBookから構成パックを作成します。たとえば、 example-lb
という名前のStyleBookをインポートして、NetScaler インスタンスにロードバランサー構成を作成できます。
HTTPメソッド: ポスト
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"
}
}
<!--NeedCopy-->
ここで、 source
属性の値はStyleBookファイルの内容のbase64エンコーディングです。StyleBookファイルのYAMLコンテンツをオンラインツールに貼り付けることができます。たとえば、https://www.browserling.com/tools/file-to-base64を使用してbase64文字列を取得し、それをsource
属性の値として使用できます。
このAPIコールを使用すると、1つのAPI操作で複数のStyleBookファイルを含む圧縮されたtarballファイル(.tgzファイル)をアップロードすることもできます。以下を実行します:
-
file_name
属性を.tgz ファイルに変更 - .tgzファイルの内容の
source
属性を base64 エンコーディングに変更します。
API がツールで正常に実行されると、ジョブ ID を含む応答が返されます。このジョブ ID を使用して、操作を完了まで追跡します。
200 ACCEPTED
<!--NeedCopy-->
レスポンス本文:
{
"job": {
"job_id": "12345678"
}
}
<!--NeedCopy-->
ジョブ ID を使用して操作のステータスを追跡します。
HTTP メソッド: GET
URL: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/jobs/<job-id>
ジョブのステータスが返されます。
200 OK
<!--NeedCopy-->
レスポンス本文:
{
"job": {
"job_id": "<job-id>",
"progress_info": [
{
"is_last": "true",
"message": "No job found",
"status": "failed"
}
],
"status": "completed"
}
}
<!--NeedCopy-->
ステータス値が「完了」の場合は、StyleBookが正常にインポートされたことを示します。StyleBookの情報を取得して、操作のステータスを確認します。
HTTP メソッド: GET
URL: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/stylebooks/samples/1.0/demo-helper-object
インポートされたStyleBookの詳細が表示されます。
200 OK
<!--NeedCopy-->
レスポンス本文:
{
"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"
}
}
<!--NeedCopy-->