样书配置

使用 API 导入自定义样书

使用样书 API 将定制样书导入 NetScaler 控制台。使用 REST API 在任何工具(例如 cURL 命令行工具或 Postman Chrome 浏览器扩展程序)中使用此样书创建配置包。例如,您可以导入名为 example-lb 的样书,该样书可用于在 NetScaler 实例上创建负载平衡器配置。

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"
    }
}
<!--NeedCopy-->

其中,source 属性的值是样书文件内容的 base64 编码。您可以将样书文件的 YAML 内容粘贴到在线工具中。例如,使用 https://www.browserling.com/tools/file-to-base64 获取 base64 字符串,然后可以将其用作 source 属性的值。

使用此 API 调用,您还可以在一个 API 操作中上载包含多个样书文件的压缩压缩包文件(.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-->

“已完成”的状态值表示样书已成功导入。通过获取有关样书的信息来确认操作状态:

HTTP 方法: GET

URL: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/stylebooks/samples/1.0/demo-helper-object

显示导入的样书的详细信息:

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-->
使用 API 导入自定义样书

在本文中