集群 API

API 版本

概念

Senlin API 支持在请求 URL 中表达的 ‘’主要版本’’ 和可以通过 HTTP 头部 OpenStack-API-Version 发送的 ‘’微版本’’。

如果 API 服务不支持指定的 OpenStack-API-Version,将引发 406 (NotAcceptable) 异常。请注意,这适用于本指南中记录的所有 API 请求。

GET
/

列出主要版本

列出所有集群 API 主要版本的信息。

响应代码

成功

代码

原因

300 - 多重选择

存在多个 API 版本可供选择。客户端必须更具体地请求服务端点。

错误

代码

原因

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

versions

body

数组

受支持的主要 API 版本列表。

id

body

字符串

API 版本号的字符串表示形式,例如 1.0

links

body

数组

指向不同版本对象的相对 URL 列表。

max_version

body

字符串

支持的最高微版本的字符串表示形式。

media-types

body

数组

支持基于内容类型的媒体类型请求的列表。

min_version

body

字符串

支持的最低微版本的字符串表示形式。

status

body

字符串

指示版本支持状态的字符串。

updated

body

字符串

上次更新版本的时间和日期。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

响应示例

{
    "versions": [
        {
            "id": "1.0",
            "links": [
                {
                    "href": "/v1/",
                    "rel": "self"
                },
                {
                    "href": "https://docs.openstack.org/api-ref/clustering",
                    "rel": "help"
                }
            ],
            "max_version": "1.7",
            "media-types": [
                {
                    "base": "application/json",
                    "type": "application/vnd.openstack.clustering-v1+json"
                }
            ],
            "min_version": "1.0",
            "status": "CURRENT",
            "updated": "2016-01-18T00:00:00Z"
        }
    ]
}
GET
/{version}/

显示 API 版本详情

显示 API 主要版本的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

404 - Not Found

找不到请求的资源。

406 - 不可接受

API 未支持请求的 API 版本。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

版本

路径

字符串

指示集群 API 的主要版本的字符串。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

版本

body

对象

主要 API 版本的详细信息。

id

body

字符串

API 版本号的字符串表示形式,例如 1.0

links

body

数组

指向不同版本对象的相对 URL 列表。

max_version

body

字符串

支持的最高微版本的字符串表示形式。

media-types

body

数组

支持基于内容类型的媒体类型请求的列表。

min_version

body

字符串

支持的最低微版本的字符串表示形式。

status

body

字符串

指示版本支持状态的字符串。

updated

body

字符串

上次更新版本的时间和日期。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

响应示例

{
    "version": {
        "id": "1.0",
        "links": [
            {
                "href": "/v1/",
                "rel": "self"
            },
            {
                "href": "https://docs.openstack.org/api-ref/clustering",
                "rel": "help"
            }
        ],
        "max_version": "1.7",
        "media-types": [
            {
                "base": "application/json",
                "type": "application/vnd.openstack.clustering-v1+json"
            }
        ],
        "min_version": "1.0",
        "status": "CURRENT",
        "updated": "2016-01-18T00:00:00Z"
    }
}

构建信息 (build-info)

显示 Senlin 部署的构建信息。

GET
/v1/build-info

显示构建信息

显示 Senlin 部署的构建信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

build_info

body

对象

Senlin 部署的构建信息。

api

body

对象

Senlin API 服务的修订信息。

engine

body

对象

Senlin 引擎服务的修订信息。

响应示例

{
    "build_info": {
        "api": {
            "revision": "1.0"
        },
        "engine": {
            "revision": "2.0"
        }
    }
}

此操作不接受请求体。

配置类型 (profile-types)

列出所有配置类型并显示配置类型的详细信息。

GET
/v1/profile-types

列出配置类型

列出支持的配置类型。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile_types

body

数组

一个配置类型对象的列表。从 API 微版本 1.5 开始,列表中的每个记录都将具有一个“support_status”属性,其中包含支持状态更改的列表。

响应示例

对于低于 1.5 的 API 微版本,响应仅包含每个配置类型的名称

{
    "profile_types": [
        {
            "name": "container.dockerinc.docker-1.0"
        },
        {
            "name": "os.heat.stack-1.0"
        },
        {
            "name": "os.nova.server-1.0"
        }
    ]
}

从 API 微版本 1.5 开始,响应包含每个配置类型的支持状态,并且版本是通过单独的键提供的

{
    "profile_types": [
        {
            "name": "container.dockerinc.docker",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "EXPERIMENTAL",
                        "since": "2017.02"
                    }
                ]
            }
        },
        {
            "name": "os.heat.stack",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "SUPPORTED",
                        "since": "2016.04"
                    }
                ]
            }
        },
        {
            "name": "os.nova.server",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "SUPPORTED",
                        "since": "2016.04"
                    }
                ]
            }
        }
    ]
}
GET
/v1/profile-types/{profile_type}

显示配置类型详情

显示配置类型的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile_type

路径

字符串

配置类型的名称。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile_type

body

对象

配置类型的结构化描述。从 API 微版本 1.5 开始,将返回一个“support_status”属性,其中包含支持状态更改的列表。

name

body

字符串

配置类型的名称。

schema

body

对象

配置类型的模式。配置类型的模式因特定类型实现而异。所有配置类型都共享 context 属性,该属性是一个用于使用后端服务进行身份验证的自定义请求上下文的字典。此属性的常见用法是在字典中设置 region_name,以便可以在指定的区域中创建节点。所有其他属性由特定的配置类型实现定义。

响应示例

对于低于 1.5 的 API 微版本,响应仅包含指定配置类型的名称和模式

{
    "profile_type": {
        "name": "os.heat.stack-1.0",
        "schema": {
            "context": {
                "default": {},
                "description": "A dictionary for specifying the customized context for stack operations",
                "required": false,
                "type": "Map",
                "updatable": false
            },
            "disable_rollback": {
                "default": true,
                "description": "A boolean specifying whether a stack operation can be rolled back.",
                "required": false,
                "type": "Boolean",
                "updatable": true
            },
            "environment": {
                "default": {},
                "description": "A map that specifies the environment used for stack operations.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "files": {
                "default": {},
                "description": "Contents of files referenced by the template, if any.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "parameters": {
                "default": {},
                "description": "Parameters to be passed to Heat for stack operations.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "template": {
                "default": {},
                "description": "Heat stack template.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "template_url": {
                "default": "",
                "description": "Heat stack template url.",
                "required": false,
                "type": "String",
                "updatable": true
            },
            "timeout": {
                "description": "A integer that specifies the number of minutes that a stack operation times out.",
                "required": false,
                "type": "Integer",
                "updatable": true
            }
        }
    }
}

从 API 微版本 1.5 开始,响应包含指定配置类型的支持状态

{
    "profile_type": {
        "name": "os.heat.stack-1.0",
        "schema": {
            "context": {
                "default": {},
                "description": "A dictionary for specifying the customized context for stack operations",
                "required": false,
                "type": "Map",
                "updatable": false
            },
            "disable_rollback": {
                "default": true,
                "description": "A boolean specifying whether a stack operation can be rolled back.",
                "required": false,
                "type": "Boolean",
                "updatable": true
            },
            "environment": {
                "default": {},
                "description": "A map that specifies the environment used for stack operations.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "files": {
                "default": {},
                "description": "Contents of files referenced by the template, if any.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "parameters": {
                "default": {},
                "description": "Parameters to be passed to Heat for stack operations.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "template": {
                "default": {},
                "description": "Heat stack template.",
                "required": false,
                "type": "Map",
                "updatable": true
            },
            "template_url": {
                "default": "",
                "description": "Heat stack template url.",
                "required": false,
                "type": "String",
                "updatable": true
            },
            "timeout": {
                "description": "A integer that specifies the number of minutes that a stack operation times out.",
                "required": false,
                "type": "Integer",
                "updatable": true
            }
        },
        "support_status": {
            "1.0": [
                {
                    "status": "SUPPORTED",
                     "since": "2016.04"
                }
            ]
        }
    }
}
GET
/v1/profile-types/{profile_type}/ops

列出配置类型操作

列出配置类型支持的操作和参数。

此 API 仅在 API 微版本 1.4 及更高版本中可用。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile_type

路径

字符串

配置类型的名称。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

operations

body

对象

包含配置类型支持的操作(和参数)描述的字典。

响应示例

{
    "operations": {
        "reboot": {
            "description": "Reboot the nova server.",
            "parameters": {
                "type": {
                    "constraints": [
                        {
                            "constraint": [
                                "SOFT",
                                "HARD"
                            ],
                            "type": "AllowedValues"
                        }
                    ],
                    "default": "SOFT",
                    "description": "Type of reboot which can be 'SOFT' or 'HARD'.",
                    "required": false,
                    "type": "String"
                }
            }
        }
    }
}

配置 (profiles)

列出所有配置并创建、显示信息、更新和删除配置。

GET
/v1/profiles

列出配置

列出所有配置。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

type (可选)

查询

字符串

按对象的指定 type 属性(例如集群策略绑定的 policy_type 属性或策略对象的 type 属性)过滤响应。

排序键包括 nametypecreated_atupdated_at

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profiles

body

数组

配置对象列表。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

配置的 UUID。

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

配置的详细说明。

type

body

字符串

配置类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "profiles": [
        {
            "created_at": "2016-01-03T16:22:23Z",
            "domain": null,
            "id": "9e1c6f42-acf5-4688-be2c-8ce954ef0f23",
            "metadata": {},
            "name": "pserver",
            "project": "42d9e9663331431f97b75e25136307ff",
            "spec": {
                "properties": {
                    "flavor": 1,
                    "image": "cirros-0.3.4-x86_64-uec",
                    "key_name": "oskey",
                    "name": "cirros_server",
                    "networks": [
                        {
                            "network": "private"
                        }
                    ]
                },
                "type": "os.nova.server",
                "version": 1.0
            },
            "type": "os.nova.server-1.0",
            "updated_at": null,
            "user": "5e5bf8027826429c96af157f68dc9072"
        }
    ]
}
POST
/v1/profiles

创建配置

创建配置。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile

body

对象

配置对象的结构化描述。

name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

metadata (可选)

body

对象

与对象关联的键值对集合。

spec

body

对象

配置的详细说明。

请求示例

{
    "profile": {
        "metadata": {},
        "name": "test-profile",
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ],
                "security_groups": [
                    "default"
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        }
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile

body

对象

配置对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

配置的 UUID。

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

配置的详细说明。

type

body

字符串

配置类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "profile": {
        "created_at": "2016-05-05T10:15:22Z",
        "domain": null,
        "id": "1d85fc39-7d9a-4f64-9751-b127ef554923",
        "metadata": {},
        "name": "test-profile",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ],
                "security_groups": [
                    "default"
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        },
        "type": "os.nova.server-1.0",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
GET
/v1/profiles/{profile_id}

显示配置详情

显示配置的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile_id

路径

字符串

配置的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile

body

对象

配置对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

配置的 UUID。

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

配置的详细说明。

type

body

字符串

配置类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "profile": {
        "created_at": "2016-03-10T06:34:56Z",
        "domain": null,
        "id": "17151d8a-f46f-4541-bde0-db3b207c20d2",
        "metadata": {},
        "name": "PF20",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        },
        "type": "os.nova.server-1.0",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
PATCH
/v1/profiles/{profile_id}

更新配置

更新配置。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile_id

路径

字符串

配置的名称、UUID 或短 UUID。

profile

body

对象

配置对象的结构化描述。

metadata (可选)

body

对象

与对象关联的键值对集合。

name (可选)

body

字符串

对象的新名称。

请求示例

{
    "profile": {
        "metadata": {"key": "value"},
        "name": "new-name"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile

body

对象

配置对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

id

body

UUID

配置的 UUID。

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

配置的详细说明。

type

body

字符串

配置类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "profile": {
        "created_at": "2016-03-10T06:34:56Z",
        "domain": null,
        "id": "17151d8a-f46f-4541-bde0-db3b207c20d2",
        "metadata": {
            "key": "value"
        },
        "name": "new-name",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        },
        "type": "os.nova.server-1.0",
        "updated_at": "2016-03-11T05:10:11Z",
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
DELETE
/v1/profiles/{profile_id}

删除配置

删除配置。

响应代码

如果配置仍被节点或集群使用,则无法删除配置。在这种情况下,将返回 409 错误。

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile_id

路径

字符串

配置的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

POST
/v1/profiles/validate

验证配置

验证配置。

此 API 仅在 API 微版本 1.2 及更高版本中可用。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

profile

body

对象

配置对象的结构化描述。

spec

body

对象

配置的详细说明。

请求示例

{
    "profile": {
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ],
                "security_groups": [
                    "default"
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        }
    }
}

响应参数

响应包含属性,就好像配置文件已创建一样。

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

profile

body

对象

配置对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

配置的 UUID。

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

配置的详细说明。

type

body

字符串

配置类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "profile": {
        "created_at": null,
        "domain": null,
        "id": null,
        "metadata": null,
        "name": "validated_profile",
        "project": "1d567ed4ef51453a85545f018b68c26d",
        "spec": {
            "properties": {
                "flavor": "m1.small",
                "image": "F20",
                "key_name": "oskey",
                "name": "F20_server",
                "networks": [
                    {
                        "network": "private"
                    }
                ],
                "security_groups": [
                    "default"
                ]
            },
            "type": "os.nova.server",
            "version": 1.0
        },
        "type": "os.nova.server-1.0",
        "updated_at": null,
        "user": "990e4c1f4a414f74990b17d16f2540b5"
    }
}

策略类型 (policy-types)

列出所有策略类型并显示策略类型的详细信息。

GET
/v1/policy-types

列出策略类型

列出所有支持的策略类型。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy_types

body

数组

一个 policy_type 对象列表。从 API 微版本 1.5 开始,列表中的每个记录都将包含一个“support_status”属性,其中包含支持状态更改的列表。

响应示例

对于低于 1.5 的 API 微版本,响应仅包含每个策略类型的名称

{
    "policy_types": [
        {
            "name": "senlin.policy.affinity-1.0"
        },
        {
            "name": "senlin.policy.batch-1.0"
        },
        {
            "name": "senlin.policy.health-1.0"
        },
        {
            "name": "senlin.policy.scaling-1.0"
        },
        {
            "name": "senlin.policy.region_placement-1.0"
        },
        {
            "name": "senlin.policy.deletion-1.0"
        },
        {
            "name": "senlin.policy.loadbalance-1.1"
        },
        {
            "name": "senlin.policy.zone_placement-1.0"
        }
    ]
}

从 API 微版本 1.5 开始,响应包含每个策略类型的支持状态,并使用单独的键提供版本

{
    "policy_types": [
        {
            "name": "senlin.policy.affinity",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "SUPPORTED",
                        "since": "2016.10"
                    }
                ]
            }
        },
        {
            "name": "senlin.policy.health",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "EXPERIMENTAL",
                        "since": "2016.10"
                    }
                ]
            }
        },
        {
            "name": "senlin.policy.scaling",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "SUPPORTED",
                        "since": "2016.04"
                    }
                ]
            }
        },
        {
            "name": "senlin.policy.region_placement",
            "version": "1.0",
            "support_status": {
                "1.0": [
                    {
                        "status": "EXPERIMENTAL",
                        "since": "2016.04"
                    },
                    {
                        "status": "SUPPORTED",
                        "since": "2016.10"
                    }
                ]
            }
        }
    ]
}
GET
/v1/policy-types/{policy_type}

显示策略类型详细信息

显示策略类型的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy_type

路径

字符串

策略类型的名称。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy_type

body

对象

策略类型的结构化描述。从 API 微版本 1.5 开始,将返回一个“support_status”属性,其中包含支持状态更改的列表。

name

body

字符串

策略类型的名称。

schema

body

对象

策略类型的模式。策略类型的模式因具体的类型实现而异。

响应示例

对于低于 1.5 的 API 微版本,响应仅包含指定策略类型的名称和模式

{
    "policy_type": {
        "name": "senlin.policy.affinity-1.0",
        "schema": {
            "availability_zone": {
                "description": "Name of the availability zone to place the nodes.",
                "required": false,
                "type": "String",
                "updatable": false
            },
            "enable_drs_extension": {
                "default": false,
                "description": "Enable vSphere DRS extension.",
                "required": false,
                "type": "Boolean",
                "updatable": false
            },
            "servergroup": {
                "description": "Properties of the VM server group",
                "required": false,
                "schema": {
                    "name": {
                        "description": "The name of the server group",
                        "required": false,
                        "type": "String",
                        "updatable": false
                    },
                    "policies": {
                        "constraints": [
                            {
                                "constraint": [
                                    "affinity",
                                    "anti-affinity"
                                ],
                                "type": "AllowedValues"
                            }
                        ],
                        "default": "anti-affinity",
                        "description": "The server group policies.",
                        "required": false,
                        "type": "String",
                        "updatable": false
                    }
                },
                "type": "Map",
                "updatable": false
            }
        }
    }
}

从 API 微版本 1.5 开始,响应包含指定策略类型的支持状态

{
    "policy_type": {
        "name": "senlin.policy.affinity-1.0",
        "schema": {
            "availability_zone": {
                "description": "Name of the availability zone to place the nodes.",
                "required": false,
                "type": "String",
                "updatable": false
            },
            "enable_drs_extension": {
                "default": false,
                "description": "Enable vSphere DRS extension.",
                "required": false,
                "type": "Boolean",
                "updatable": false
            },
            "servergroup": {
                "description": "Properties of the VM server group",
                "required": false,
                "schema": {
                    "name": {
                        "description": "The name of the server group",
                        "required": false,
                        "type": "String",
                        "updatable": false
                    },
                    "policies": {
                        "constraints": [
                            {
                                "constraint": [
                                    "affinity",
                                    "anti-affinity"
                                ],
                                "type": "AllowedValues"
                            }
                        ],
                        "default": "anti-affinity",
                        "description": "The server group policies.",
                        "required": false,
                        "type": "String",
                        "updatable": false
                    }
                },
                "type": "Map",
                "updatable": false
            }
        },
        "support_status": {
            "1.0": [
                {
                    "status": "SUPPORTED",
                    "since": "2016.10"
                }
            ]
        }
    }
}

策略 (policies)

列出所有策略并创建、显示信息、更新和删除策略。

GET
/v1/policies

列出策略

列出所有策略。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

type (可选)

查询

字符串

按对象的指定 type 属性(例如集群策略绑定的 policy_type 属性或策略对象的 type 属性)过滤响应。

排序键包括 nametypecreated_atudpated_at

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

策略

body

数组

策略对象列表。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与策略对象关联的数据的结构化表示。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

策略对象的 UUID。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

策略对象的详细规范。

type

body

字符串

策略类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "policies": [
        {
            "created_at": "2015-02-15T08:33:13.000000",
            "data": {},
            "domain": null,
            "id": "7192d8df-73be-4e98-ab99-1cf6d5066729",
            "name": "test_policy_1",
            "project": "42d9e9663331431f97b75e25136307ff",
            "spec": {
                "description": "A test policy",
                "properties": {
                    "criteria": "OLDEST_FIRST",
                    "destroy_after_deletion": true,
                    "grace_period": 60,
                    "reduce_desired_capacity": false
                },
                "type": "senlin.policy.deletion",
                "version": "1.0"
            },
            "type": "senlin.policy.deletion-1.0",
            "updated_at": null,
            "user": "5e5bf8027826429c96af157f68dc9072"
        }
    ]
}
POST
/v1/policies

创建策略

创建策略。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy

body

对象

策略对象的结构化描述。

name

body

字符串

策略对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

spec

body

对象

策略对象的详细规范。

请求示例

{
    "policy": {
        "name": "sp001",
        "spec": {
            "properties": {
                "adjustment": {
                    "min_step": 1,
                    "number": 1,
                    "type": "CHANGE_IN_CAPACITY"
                },
                "event": "CLUSTER_SCALE_IN"
            },
            "type": "senlin.policy.scaling",
            "version": "1.0"
        }
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy

body

对象

策略对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与策略对象关联的数据的结构化表示。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

策略对象的 UUID。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

策略对象的详细规范。

type

body

字符串

策略类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "policy": {
        "created_at": "2015-03-02T07:40:31",
        "data": {},
        "domain": null,
        "id": "02f62195-2198-4797-b0a9-877632208527",
        "name": "sp001",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "properties": {
                "adjustment": {
                    "best_effort": true,
                    "min_step": 1,
                    "number": 1,
                    "type": "CHANGE_IN_CAPACITY"
                },
                "event": "CLUSTER_SCALE_IN"
            },
            "type": "senlin.policy.scaling",
            "version": "1.0"
        },
        "type": "senlin.policy.scaling-1.0",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
GET
/v1/policies/{policy_id}

显示策略详细信息

显示策略的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy_id

路径

字符串

策略对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy

body

对象

策略对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与策略对象关联的数据的结构化表示。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

策略对象的 UUID。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

策略对象的详细规范。

type

body

字符串

策略类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "policy": {
        "created_at": "2015-03-02T07:40:31",
        "data": {},
        "domain": null,
        "id": "02f62195-2198-4797-b0a9-877632208527",
        "name": "sp001",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "properties": {
                "adjustment": {
                    "best_effort": true,
                    "min_step": 1,
                    "number": 1,
                    "type": "CHANGE_IN_CAPACITY"
                },
                "event": "CLUSTER_SCALE_IN"
            },
            "type": "senlin.policy.scaling",
            "version": "1.0"
        },
        "type": "senlin.policy.scaling-1.0",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
PATCH
/v1/policies/{policy_id}

更新策略

更新策略。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy_id

路径

字符串

策略对象的名称、UUID 或短 UUID。

policy

body

对象

策略对象的结构化描述。

name

body

字符串

对象名称。

请注意,在创建策略对象后,可以更新的唯一属性是 name

请求示例

{
    "policy": {
        "name": "new_name"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy

body

对象

策略对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与策略对象关联的数据的结构化表示。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

策略对象的 UUID。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

策略对象的详细规范。

type

body

字符串

策略类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "policy": {
        "created_at": "2015-10-14T09:14:53",
        "data": {},
        "domain": null,
        "id": "ac5415bd-f522-4160-8be0-f8853e4bc332",
        "name": "dp01",
        "project": "42d9e9663331431f97b75e25136307ff",
        "spec": {
            "description": "A policy for node deletion.",
            "properties": {
                "criteria": "OLDEST_FIRST",
                "destroy_after_deletion": true,
                "grace_period": 60,
                "reduce_desired_capacity": false
            },
            "type": "senlin.policy.deletion",
            "version": "1.0"
        },
        "type": "senlin.policy.deletion-1.0",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
DELETE
/v1/policies/{policy_id}

删除策略

删除策略。

响应代码

如果策略仍然附加到集群,则无法删除策略。在这种情况下,将返回 409 错误。

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy_id

路径

字符串

策略对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

POST
/v1/policies/validate

验证策略

验证策略。

此 API 仅在 API 微版本 1.2 及更高版本中可用。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

policy

body

对象

策略对象的结构化描述。

spec

body

对象

策略对象的详细规范。

请求示例

{
    "policy": {
        "spec": {
            "properties": {
                "adjustment": {
                    "min_step": 1,
                    "number": 1,
                    "type": "CHANGE_IN_CAPACITY"
                },
                "event": "CLUSTER_SCALE_IN"
            },
            "type": "senlin.policy.scaling",
            "version": "1.0"
        }
    }
}

响应参数

响应包含属性,就好像策略已创建一样。

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

policy

body

对象

策略对象的结构化描述。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与策略对象关联的数据的结构化表示。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

策略对象的 UUID。

name

body

字符串

对象名称。

project

body

UUID

创建资源的项目 ID。

spec

body

对象

策略对象的详细规范。

type

body

字符串

策略类型的名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "policy": {
        "created_at": null,
        "data": {},
        "domain": null,
        "id": null,
        "name": "validated_policy",
        "project": "1d567ed4ef51453a85545f018b68c26d",
        "spec": {
            "properties": {
                "adjustment": {
                    "min_step": 1,
                    "number": 1,
                    "type": "CHANGE_IN_CAPACITY"
                },
                "event": "CLUSTER_SCALE_IN"
            },
            "type": "senlin.policy.scaling",
            "version": "1.0"
        },
        "type": "senlin.policy.scaling-1.0",
        "updated_at": null,
        "user": "990e4c1f4a414f74990b17d16f2540b5"
    }
}

集群 (Clusters)

列出所有集群并创建、显示信息、更新、删除以及触发集群上的操作。

GET
/v1/clusters

列出集群

列出集群。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

status (可选)

查询

字符串

通过 status 属性过滤资源集合。

排序键包括 namestatusinit_atcreated_atupdated_at

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

clusters

body

数组

集群对象列表。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

config

body

对象

与集群关联的结构化配置。

data

body

对象

与集群关联的结构化数据。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

desired_capacity

body

整数

集群的期望容量。创建集群时,此值默认为 0。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

集群对象的 UUID。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

max_size

body

整数

集群的最大规模,即集群中可以有多少个节点。值为 -1 表示集群在成员节点数量方面没有上限。

metadata

body

对象

与对象关联的键值对集合。

min_size

body

整数

集群的最小规模,即集群中可以有多少个节点。

name

body

字符串

对象名称。

nodes

body

数组

当前集群的节点对象 UUID 列表。

策略

body

数组

附加到当前集群的策略 UUID 列表。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

集群当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timeout

body

整数

集群操作的默认超时值(秒)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "clusters": [
        {
            "config": {},
            "created_at": "2015-02-10T14:26:14Z",
            "data": {},
            "dependents": {},
            "desired_capacity": 4,
            "domain": null,
            "id": "7d85f602-a948-4a30-afd4-e84f47471c15",
            "init_at": "2015-02-10T14:26:11",
            "max_size": -1,
            "metadata": {},
            "min_size": 0,
            "name": "cluster1",
            "nodes": [
                "b07c57c8-7ab2-47bf-bdf8-e894c0c601b9",
                "ecc23d3e-bb68-48f8-8260-c9cf6bcb6e61",
                "da1e9c87-e584-4626-a120-022da5062dac"
            ],
            "policies": [],
            "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
            "profile_name": "mystack",
            "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
            "status": "ACTIVE",
            "status_reason": "Cluster scale-in succeeded",
            "timeout": 3600,
            "updated_at": null,
            "user": "5e5bf8027826429c96af157f68dc9072"
        }
    ]
}
POST
/v1/clusters

创建集群

创建集群。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

500 - 内部服务器错误

服务内部出现问题。 通常不应发生这种情况。 如果发生这种情况,则表示服务器遇到了一些严重问题。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

config (可选)

body

对象

与集群关联的结构化配置。

cluster

body

对象

集群对象的结构化定义。

name

body

字符串

集群对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

desired_capacity

body

整数

集群的期望容量。创建集群时,此值默认为 0。

profile_id

body

字符串

配置文件的名称、短 ID 或 UUID。

min_size (可选)

body

整数

集群的最小规模,即集群中可以有多少个节点。

timeout (可选)

body

整数

集群操作的新超时值(秒)。

max_size (可选)

body

整数

集群的最大规模,即集群中可以有多少个节点。值为 -1 表示集群在成员节点数量方面没有上限。

metadata (可选)

body

对象

与对象关联的键值对集合。

请求示例

{
    "cluster": {
        "config": {},
        "desired_capacity": 0,
        "max_size": -1,
        "metadata": {},
        "min_size": 0,
        "name": "test_cluster",
        "profile_id": "mystack",
        "timeout": null
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

cluster

body

对象

集群对象的结构化定义。

config

body

对象

与集群关联的结构化配置。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与集群关联的结构化数据。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

desired_capacity

body

整数

集群的期望容量。创建集群时,此值默认为 0。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

集群对象的 UUID。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

max_size

body

整数

集群的最大规模,即集群中可以有多少个节点。值为 -1 表示集群在成员节点数量方面没有上限。

metadata

body

对象

与对象关联的键值对集合。

min_size

body

整数

集群的最小规模,即集群中可以有多少个节点。

name

body

字符串

对象名称。

nodes

body

数组

当前集群的节点对象 UUID 列表。

策略

body

数组

附加到当前集群的策略 UUID 列表。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

集群当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timeout

body

整数

集群操作的默认超时值(秒)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "cluster": {
        "config": {},
        "created_at": null,
        "data": {},
        "dependents": {},
        "desired_capacity": 4,
        "domain": null,
        "id": "45edadcb-c73b-4920-87e1-518b2f29f54b",
        "init_at": "2015-02-10T14:16:10",
        "max_size": -1,
        "metadata": {},
        "min_size": 0,
        "name": "test_cluster",
        "nodes": [],
        "policies": [],
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "status": "INIT",
        "status_reason": "Initializing",
        "timeout": 3600,
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
GET
/v1/clusters/{cluster_id}

显示集群详细信息

显示集群的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

cluster

body

对象

集群对象的结构化定义。

config

body

对象

与集群关联的结构化配置。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与集群关联的结构化数据。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

desired_capacity

body

整数

集群的期望容量。创建集群时,此值默认为 0。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

集群对象的 UUID。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

max_size

body

整数

集群的最大规模,即集群中可以有多少个节点。值为 -1 表示集群在成员节点数量方面没有上限。

metadata

body

对象

与对象关联的键值对集合。

min_size

body

整数

集群的最小规模,即集群中可以有多少个节点。

name

body

字符串

对象名称。

nodes

body

数组

当前集群的节点对象 UUID 列表。

策略

body

数组

附加到当前集群的策略 UUID 列表。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

集群当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timeout

body

整数

集群操作的默认超时值(秒)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "cluster": {
        "config": {},
        "created_at": "2015-02-11T15:13:20Z",
        "data": {},
        "dependents": {},
        "desired_capacity": 0,
        "domain": null,
        "id": "45edadcb-c73b-4920-87e1-518b2f29f54b",
        "init_at": "2015-02-10T14:26:10",
        "max_size": -1,
        "metadata": {},
        "min_size": 0,
        "name": "test_cluster",
        "nodes": [],
        "policies": [],
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "status": "ACTIVE",
        "status_reason": "Creation succeeded",
        "timeout": 3600,
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
PATCH
/v1/clusters/{cluster_id}

更新集群

更新集群

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

cluster

body

对象

集群对象的结构化定义。

config (可选)

body

对象

与集群关联的结构化配置。

name (可选)

body

字符串

对象的新名称。

profile_id (可选)

body

字符串

配置文件的名称、短 ID 或 UUID。

timeout (可选)

body

整数

集群操作的新超时值(秒)。

metadata (可选)

body

对象

与对象关联的键值对集合。

profile_only (可选)

body

布尔值

如果此参数设置为 False,则更新配置文件将限制于目标集群。如果此参数设置为 False,集群中的所有节点都将使用指定的新的配置文件进行更新。默认值为 False。

1.6 版本中新增

请求示例

{
    "cluster": {
        "metadata": null,
        "name": null,
        "profile_id": null,
        "timeout": 30,
        "profile_only": true
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

cluster

body

对象

集群对象的结构化定义。

config

body

对象

与集群关联的结构化配置。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与集群关联的结构化数据。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

desired_capacity

body

整数

集群的期望容量。创建集群时,此值默认为 0。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

集群对象的 UUID。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

max_size

body

整数

集群的最大规模,即集群中可以有多少个节点。值为 -1 表示集群在成员节点数量方面没有上限。

metadata

body

对象

与对象关联的键值对集合。

min_size

body

整数

集群的最小规模,即集群中可以有多少个节点。

name

body

字符串

对象名称。

nodes

body

数组

当前集群的节点对象 UUID 列表。

策略

body

数组

附加到当前集群的策略 UUID 列表。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

集群当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timeout

body

整数

集群操作的默认超时值(秒)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "cluster": {
        "config": {},
        "created_at": "2015-02-11T15:13:20Z",
        "data": {},
        "dependents": {},
        "desired_capacity": 0,
        "domain": null,
        "id": "45edadcb-c73b-4920-87e1-518b2f29f54b",
        "init_at": "2015-02-10T14:26:10",
        "max_size": -1,
        "metadata": {},
        "min_size": 0,
        "name": "test_cluster",
        "nodes": [],
        "policies": [],
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "status": "UPDATING",
        "status_reason": "Updating",
        "timeout": 3600,
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
DELETE
/v1/clusters/{cluster_id}

删除集群

删除集群。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

POST
/v1/clusters/{cluster_id}/actions

调整集群大小

调整集群大小。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

adjustment_type (可选)

body

字符串

大小调整的类型。有效值为

  • EXACT_CAPACITY:指定的调整数字应解释为目标 desired_capacity。此值必须为非负整数。

  • CHANGE_IN_CAPACITY:指定的调整数字应视为要添加或删除的节点数。该值必须为非零整数。可以使用正数来指定要添加的节点数,可以使用负数来指定要删除的节点数。

  • CHANGE_IN_PERCENTAGE:调整数值将被解释为相对于集群当前 desired_capacity 的百分比。调整数值可以是正数或负数浮点值。

当调整请求只是关于更改集群的 min_size 和/或 max_size 时,此参数是可选的。否则,它是必需的。当指定此参数时,必须同时提供 number 参数。

number (可选)

body

数字

调整的数值。该值的解释取决于 adjustment_type 参数的值。当 adjustment_type 被指定时,此参数是必需的。否则,它是可选的。

adjustment_type 被指定为 CHANGE_IN_PERCENTAGE 时,此参数的值可以是浮点数,否则必须是整数。

min_size (可选)

body

整数

要设置为集群的新 min_size 的值。

max_size (可选)

body

整数

要设置为集群的新 max_size 的值。

min_step (可选)

body

整数

adjustment_type 设置为 CHANGE_IN_PERCENTAGE 时,计算值通常是一个浮点数,该浮点数可能小于 1.0。可以使用 min_step 来指定至少将添加或删除多少个节点。

strict (可选)

body

布尔值

在某些情况下,调整计算出的节点数会破坏集群的大小限制,即其 min_sizemax_size 属性。如果发生这种情况,strict 参数可以进一步指示 senlin 引擎是否应以尽力为基础完成调整。如果将值设置为 True,senlin 引擎将在尊重集群大小限制的同时执行调整操作。否则,如果计算出的调整会破坏大小限制,则将直接拒绝调整请求。

请求体中的 action_name 必须是 resize

请求示例

{
    "resize": {
        "adjustment_type": "CHANGE_IN_CAPACITY",
        "max_size": 5,
        "min_size": 1,
        "number": -2,
        "strict": true 
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

缩小集群规模

按给定的数量缩小集群的大小。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

count (可选)

body

整数

要添加到或从指定集群中删除的新节点数。解释取决于请求的操作。默认值为 1。

请求体中的 action_name 必须是 scale_in

请求示例

{
    "scale_in": {
        "count": 2
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

扩展集群规模

按给定的数量扩展集群的大小。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

count (可选)

body

整数

要添加到或从指定集群中删除的新节点数。解释取决于请求的操作。默认值为 1。

请求体中的 action_name 必须是 scale_out

请求示例

{
    "scale_out": {
        "count": 2
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

向集群添加节点

将指定的节点列表添加到集群。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

nodes

body

数组

要添加到或从集群中删除的候选节点。参数的含义取决于请求的操作。

列表中每个项目可以是节点名称、短 ID 或 UUID。

请求体中的 action_name 必须是 add_nodes

请求示例

{
    "add_nodes": {
        "nodes": [
            "node-1234",
            "node-5678"
	]
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

从集群中删除节点

从集群中删除指定的节点列表。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

nodes

body

数组

要添加到或从集群中删除的候选节点。参数的含义取决于请求的操作。

列表中每个项目可以是节点名称、短 ID 或 UUID。

destroy_after_deletion (可选)

body

布尔值

是否立即销毁已删除的节点。

1.4 版本新增

请求体中的 action_name 必须是 del_nodes

请求示例

{
    "del_nodes": {
        "nodes": [
            "aff0135",
            "e28a207"
        ],
        "destroy_after_deletion": false
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

替换集群中的节点

替换集群中的指定节点。

此 API 仅在 API 微版本 1.3 中可用。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

nodes

body

对象

一个键值对集合。每个键是集群中要替换的节点,每个值是用于替换原始节点的节点。

键值对中的每个项目可以是节点名称、短 ID 或 UUID。

请求体中的 action_name 必须是 replace_nodes

请求示例

{
    "replace_nodes": {
        "nodes": {
            "node-1234": "node-5678"
        }
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

将策略附加到集群

将指定的策略附加到集群。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

policy_id

body

字符串

策略对象的名称、UUID 或短 UUID。

enabled

body

布尔值

策略是否在附加的集群上启用。

请求体中的 action_name 必须是 policy_attach

请求示例

{
    "policy_attach": {
        "policy_id": "dp01",
        "enabled": false
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

从集群中分离策略

从集群中分离指定的策略。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

policy_id

body

字符串

策略对象的名称、UUID 或短 UUID。

请求体中的 action_name 必须是 policy_detach

请求示例

{
    "policy_detach": {
        "policy_id": "5630fb31"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

更新集群上的策略

更新集群上的指定策略。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

policy_id

body

字符串

策略对象的名称、UUID 或短 UUID。

enabled

body

布尔值

策略是否在附加的集群上启用。

请求体中的 action_name 必须是 update_policy

请求示例

{
    "update_policy": {
        "policy_id": "dp01",
        "enabled": false
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
GET
/v1/clusters/{cluster_id}/attrs/{path}

收集集群中的属性

聚合集群中所有节点的属性值。

此 API 仅在 API 微版本 1.2 及更高版本中可用。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

路径

路径

字符串

节点属性的 Json 路径格式字符串。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

cluster_attributes

body

数组

一个字典列表,每个字典包含节点 ID 和相应的属性值。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

value (可选)

body

对象

特定节点上的属性值。该值可以是属性的任何有效数据类型。

POST
/v1/clusters/{cluster_id}/actions

检查集群的健康状态

检查集群中所有节点的健康状态。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

params (可选)

body

对象

提供给集群检查操作的可选参数。目前未检查详细的键和值。

请求体中的 action_name 必须是 check

请求示例

{
    "check": {}
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

恢复集群到健康状态

恢复集群中所有节点的健康状态。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

params (可选)

body

对象

提供给集群恢复操作的可选参数。目前未检查详细的键和值。

body 中的 action_name 必须是 recover。有效的参数包括

  • operation:要对节点恢复执行的操作的字符串。

  • operation_params:一个可选的字典,指定特定节点恢复操作的键值参数。

  • check:一个布尔值,指定引擎是否应在执行恢复操作之前检查集群节点的实际状态。此参数是在微版本 1.6 中添加的,默认值为 False。

  • check_capacity:一个布尔值,指定是否检查当前节点数和 desired_capacity 字段。如果节点数大于 desired_capacity,则将删除节点,否则,将创建节点。此参数是在微版本 1.7 中添加的,默认值为 False。

请求示例

{
    "recover": {
        "operation": "reboot",
        "operation_params": {
            "type": "soft"
        },
        "check": false
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/ops

执行集群操作

对指定的集群执行操作。指定的操作及其相关参数必须通过集群的配置类型验证。

此 API 仅在 API 微版本 1.4 及更高版本中可用。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

operation

body

对象

要执行的操作的结构化定义。该对象通常表示为

<operation_name>: {
  filters: {
    <cond_1>: <var_1>,
    <cond_2>: <var_2>
  }
  params: {
    <param_1>: <value_1>,
    <param_2>: <value_2>
    ...
  }
}

其中 <operation_name> 指定要执行的操作,filters 对象包含一组过滤规则,params 对象提供操作的参数(如果有)。每个单独的操作都有其自己的一组参数,由目标集群的配置类型支持。

请求示例

{
    "reboot": {
        "filters": {
            "role": "slave"
        },
        "params": {
            "type": "soft"
        }
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}
POST
/v1/clusters/{cluster_id}/actions

完成集群动作生命周期

完成生命周期操作并触发节点删除。

此 API 仅在 API 微版本 1.9 及更高版本中可用。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

lifecycle_action_token

body

UUID

要完成的生命周期操作的 UUID。

主体中的 action_name 必须是 complete_lifecycle

请求示例

{
    "complete_lifecycle": {
        "lifecycle_action_token": "ffbb9175-d510-4bc1-b676-c6aba2a4ca81"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "2a0ff107-e789-4660-a122-3816c43af703"
}

集群策略 (cluster-policies)

列出所有集群策略并显示集群策略的信息。

GET
/v1/clusters/{cluster_id}/policies

列出所有集群策略

列出附加到特定集群的所有策略

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

enabled(可选)

查询

字符串

按集群启用的策略状态过滤响应。

policy_name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

policy_type (可选)

查询

字符串

按对象的指定 type 属性(例如集群策略绑定的 policy_type 属性或策略对象的 type 属性)过滤响应。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

cluster_policies

body

数组

集群策略对象列表。

cluster_id

body

UUID

集群对象的 UUID。

cluster_name

body

字符串

集群对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

enabled

body

布尔值

策略是否在附加的集群上启用。

id

body

UUID

集群策略对象的 UUID。

policy_id

body

UUID

策略对象的 UUID。

policy_name

body

字符串

策略对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

policy_type

body

字符串

策略类型的名称。

响应示例

{
    "cluster_policies": [
        {
            "cluster_id": "7d85f602-a948-4a30-afd4-e84f47471c15",
            "cluster_name": "cluster4",
            "enabled": true,
            "id": "06be3a1f-b238-4a96-a737-ceec5714087e",
            "policy_id": "714fe676-a08f-4196-b7af-61d52eeded15",
            "policy_name": "dp01",
            "policy_type": "senlin.policy.deletion-1.0"
        },
        {
            "cluster_id": "7d85f602-a948-4a30-afd4-e84f47471c15",
            "cluster_name": "cluster4",
            "enabled": true,
            "id": "abddc45e-ac31-4f90-93cc-db55a7d8dd6d",
            "policy_id": "e026e09f-a3e9-4dad-a1b9-d7ba316026a1",
            "policy_name": "sp1",
            "policy_type": "senlin.policy.scaling-1.0"
        }
    ]
}
GET
/v1/clusters/{cluster_id}/policies/{policy_id}

显示集群策略详情

显示集群策略的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

cluster_id

路径

字符串

集群对象的名称、UUID 或短 UUID。

policy_id

路径

字符串

策略对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

cluster_policy

body

对象

集群策略对象的结构化描述。

cluster_id

body

UUID

集群对象的 UUID。

cluster_name

body

字符串

集群对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

enabled

body

布尔值

策略是否在附加的集群上启用。

id

body

UUID

集群策略对象的 UUID。

policy_id

body

UUID

策略对象的 UUID。

policy_name

body

字符串

策略对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

policy_type

body

字符串

策略类型的名称。

响应示例

{
    "cluster_policy": {
        "cluster_id": "7d85f602-a948-4a30-afd4-e84f47471c15",
        "cluster_name": "cluster4",
        "enabled": true,
        "id": "06be3a1f-b238-4a96-a737-ceec5714087e",
        "policy_id": "714fe676-a08f-4196-b7af-61d52eeded15",
        "policy_name": "dp01",
        "policy_type": "senlin.policy.deletion-1.0"
    }
}

节点 (Nodes)

列出所有节点,并创建、显示节点信息、更新、删除节点。

GET
/v1/nodes

列出节点

列出所有节点。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

cluster_id (可选)

查询

字符串

集群对象的名称、短 ID 或 UUID。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

status (可选)

查询

字符串

通过 status 属性过滤资源集合。

排序键包括 nameindexstatusinit_atcreated_atupdated_at

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

nodes

body

数组

节点对象列表。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与节点对象关联的键值对映射。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

索引

body

整数

唯一标识其所有集群内的节点的整数。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

physical_id

body

UUID

节点对象所代表的物理资源的 UUID。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

role

body

字符串

描述节点在集群内所扮演角色的字符串。

status

body

字符串

节点对象的当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

tainted

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此字段仅在 API 微版本 1.13 或更高版本中返回。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "nodes": [
        {
            "cluster_id": "e395be1e-8d8e-43bb-bd6c-943eccf76a6d",
            "created_at": "2016-05-13T07:02:20Z",
            "data": {},
            "dependents": {},
            "domain": null,
            "id": "82fe28e0-9fcb-42ca-a2fa-6eb7dddd75a1",
            "index": 2,
            "init_at": "2016-05-13T07:02:04Z",
            "metadata": {},
            "name": "node-e395be1e-002",
            "physical_id": "66a81d68-bf48-4af5-897b-a3bfef7279a8",
            "profile_id": "d8a48377-f6a3-4af4-bbbb-6e8bcaa0cbc0",
            "profile_name": "pcirros",
            "project_id": "eee0b7c083e84501bdd50fb269d2a10e",
            "role": "",
            "status": "ACTIVE",
            "status_reason": "Creation succeeded",
            "updated_at": null,
            "user": "ab79b9647d074e46ac223a8fa297b846"
        }
    ]
}
POST
/v1/nodes

创建节点

创建节点。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

node

body

对象

节点对象的结构化描述。

role (可选)

body

字符串

描述节点在集群内所扮演的新角色的字符串。

profile_id

body

字符串

配置文件的名称、短 ID 或 UUID。

cluster_id (可选)

body

字符串

节点所属的集群对象的名称、短 ID 或 UUID。

name

body

字符串

节点对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

metadata (可选)

body

对象

与对象关联的键值对集合。

请求示例

{
    "node": {
        "cluster_id": null,
        "metadata": {},
        "name": "node009",
        "profile_id": "mystack",
        "role": "master"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

node

body

对象

节点对象的结构化描述。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与节点对象关联的键值对映射。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

索引

body

整数

唯一标识其所有集群内的节点的整数。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

physical_id

body

UUID

节点对象所代表的物理资源的 UUID。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

role

body

字符串

描述节点在集群内所扮演角色的字符串。

status

body

字符串

节点对象的当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

tainted

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此字段仅在 API 微版本 1.13 或更高版本中返回。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "node": {
        "cluster_id": null,
        "created_at": null,
        "data": {},
        "dependents": {},
        "domain": null,
        "id": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
        "index": -1,
        "init_at": "2015-03-05T08:53:15Z",
        "metadata": {},
        "name": "node009",
        "physical_id": "",
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "role": "master",
        "status": "INIT",
        "status_reason": "Initializing",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
POST
/v1/nodes/adopt

领养节点

领养节点。

此 API 仅在 API 微版本 1.7 及更高版本中可用。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

identity

body

字符串

要领养的物理资源的 ID 或名称。

metadata (可选)

body

对象

与对象关联的键值对集合。

name (可选)

body

字符串

节点对象的名称。如果指定,名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

overrides (可选)

body

对象

如果指定,则提供一组键值对,这些键值对将覆盖从现有物理节点提取的规范中提取的属性名称和值。

role (可选)

body

字符串

描述节点在集群内所扮演的新角色的字符串。

snapshot (可选)

body

bool

一个平面指示是否应在将对象作为节点领养之前创建现有物理对象的快照。

type

body

字符串

配置类型的名称。

请求示例

{
    "identity": "65e27958-d6dc-4b0e-87bf-78e8f5536cbc",
    "metadata": {},
    "name": "node009",
    "overrides": null,
    "role": "master",
    "snapshot": true,
    "type": "os.nova.server-1.0"
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

node

body

对象

节点对象的结构化描述。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与节点对象关联的键值对映射。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

索引

body

整数

唯一标识其所有集群内的节点的整数。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

physical_id

body

UUID

节点对象所代表的物理资源的 UUID。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

role

body

字符串

描述节点在集群内所扮演角色的字符串。

status

body

字符串

节点对象的当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

tainted

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此字段仅在 API 微版本 1.13 或更高版本中返回。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "node": {
        "cluster_id": null,
        "created_at": null,
        "data": {},
        "domain": null,
        "id": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
        "index": -1,
        "init_at": "2015-03-05T08:53:15Z",
        "metadata": {},
        "name": "node009",
        "physical_id": "65e27958-d6dc-4b0e-87bf-78e8f5536cbc",
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "prof-node009",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "role": "master",
        "status": "ACTIVE",
        "status_reason": "Node adopted successfully",
        "updated_at": null,
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
POST
/v1/nodes/adopt-preview

领养节点 (预览)

预览节点领养。

此 API 仅在 API 微版本 1.7 及更高版本中可用。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

identity

body

字符串

要领养的物理资源的 ID 或名称。

overrides (可选)

body

对象

如果指定,则提供一组键值对,这些键值对将覆盖从现有物理节点提取的规范中提取的属性名称和值。

snapshot (可选)

body

bool

一个平面指示是否应在将对象作为节点领养之前创建现有物理对象的快照。

type

body

字符串

配置类型的名称。

请求示例

{
    "identity": "65e27958-d6dc-4b0e-87bf-78e8f5536cbc",
    "overrides": null,
    "snapshot": true,
    "type": "os.nova.server-1.0"
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

node_preview

body

对象

要领养的节点的结构化表示形式。请注意,这是一个预览版本,仅包含要创建的配置文件的规范。

cluster_id

body

UUID

集群对象的 UUID。

type

body

字符串

配置类型的名称。

版本

body

字符串

配置类型版本的。

properties

body

对象

配置的详细说明。

响应示例

{
    "node_preview": {
        "properties": {
            "flavor": "m1.small",
            "image": "F20",
            "key_name": "oskey",
            "name": "F20_server",
            "networks": [
                {
                    "network": "private"
                }
            ],
            "security_groups": [
                "default"
            ]
        },
        "type": "os.nova.server",
        "version": 1.0
    }
}
GET
/v1/nodes/{node_id}

显示节点详情

显示有关节点的详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

show_details (可选)

查询

布尔值

一个布尔值,指示是否应返回与节点对象关联的物理资源的详细信息。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

node

body

对象

节点对象的结构化描述。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与节点对象关联的键值对映射。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

索引

body

整数

唯一标识其所有集群内的节点的整数。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

physical_id

body

UUID

节点对象所代表的物理资源的 UUID。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

role

body

字符串

描述节点在集群内所扮演角色的字符串。

status

body

字符串

节点对象的当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

tainted

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此字段仅在 API 微版本 1.13 或更高版本中返回。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "node": {
        "cluster_id": null,
        "created_at": "2015-02-10T12:03:16Z",
        "data": {},
        "dependents": {},
        "domain": null,
        "id": "d5779bb0-f0a0-49c9-88cc-6f078adb5a0b",
        "index": -1,
        "init_at": "2015-02-10T12:03:13",
        "metadata": {},
        "name": "node1",
        "physical_id": "f41537fa-22ab-4bea-94c0-c874e19d0c80",
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "role": null,
        "status": "ACTIVE",
        "status_reason": "Creation succeeded",
        "updated_at": "2015-03-04T04:58:27Z",
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
PATCH
/v1/nodes/{node_id}

更新节点

更新节点。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

node

body

对象

节点对象的结构化描述。

name (可选)

body

字符串

对象的新名称。

profile_id (可选)

body

字符串

配置文件的名称、短 ID 或 UUID。

role (可选)

body

字符串

描述节点在集群内所扮演的新角色的字符串。

metadata (可选)

body

对象

与对象关联的键值对集合。

tainted (可选)

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此参数仅在 API 微版本 1.13 或更高版本中接受。

请求示例

{
    "node": {
        "name": "new_node_name"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

node

body

对象

节点对象的结构化描述。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与节点对象关联的键值对映射。

dependents

body

对象

一个字典,包含 nova 服务器、heat 堆栈集群和容器集群之间的依赖关系信息。

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

唯一标识节点对象的 UUID 字符串。

索引

body

整数

唯一标识其所有集群内的节点的整数。

init_at

body

字符串

对象初始化日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ。例如:2016-01-18T00:00:00Z

metadata

body

对象

与对象关联的键值对集合。

name

body

字符串

对象名称。

physical_id

body

UUID

节点对象所代表的物理资源的 UUID。

profile_id

body

UUID

配置的 UUID。

profile_name

body

字符串

配置对象的名称。名称必须以 ASCII 字母开头,并且可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

project

body

UUID

创建资源的项目 ID。

role

body

字符串

描述节点在集群内所扮演角色的字符串。

status

body

字符串

节点对象的当前状态的字符串表示形式。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

tainted

body

bool

一个布尔值,指示节点是否被认为是受污染的。受污染的节点首先在缩减操作期间被选中。此字段仅在 API 微版本 1.13 或更高版本中返回。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "node": {
        "cluster_id": null,
        "created_at": "2015-02-10T12:03:16Z",
        "data": {},
        "dependents": {},
        "domain": null,
        "id": "d5779bb0-f0a0-49c9-88cc-6f078adb5a0b",
        "index": -1,
        "init_at": "2015-02-10T12:03:13",
        "metadata": {},
        "name": "node1",
        "physical_id": "f41537fa-22ab-4bea-94c0-c874e19d0c80",
        "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
        "profile_name": "mystack",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "role": null,
        "status": "ACTIVE",
        "status_reason": "Creation succeeded",
        "updated_at": "2015-03-04T04:58:27Z",
        "user": "5e5bf8027826429c96af157f68dc9072"
    }
}
DELETE
/v1/nodes/{node_id}

删除节点

删除节点。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

POST
/v1/nodes/{node_id}/actions

检查节点健康状况

检查指定节点的健康状态。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

主体中的 action_name 必须是 check

请求示例

{
    "check": {}
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "7f760b61-7b15-4a50-af05-319922fa3229"
}
POST
/v1/nodes/{node_id}/actions

恢复节点至健康状态

恢复指定节点至其健康状态。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

动作

body

对象

结构化定义要执行的操作。对象通常表示为

<action_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

<action_name> 表示请求的操作,而 <param> 键提供与操作相关的参数。每个单独的操作都有自己的一组参数。

body 中的 action_name 必须是 recover。有效的参数包括

  • operation:要对节点恢复执行的操作的字符串。

  • operation_params:一个可选的字典,指定特定节点恢复操作的键值参数。

  • check:一个布尔值,指定引擎是否应在执行恢复操作之前检查节点的实际状态。此参数是在微版本 1.6 中添加的。

请求示例

{
    "recover": {
        "operation": "reboot",
        "operation_params": {
            "type": "soft"
        },
        "check": false
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "7f760b61-7b15-4a50-af05-319922fa3229"
}
POST
/v1/nodes/{node_id}/ops

对节点执行操作

对指定的节点执行指定的操作。

此 API 仅在 API 微版本 1.4 及更高版本中可用。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

node_id

路径

字符串

节点对象的名称、短 ID 或 UUID。

operation

body

对象

要执行的操作的结构化定义。该对象通常表示为

<operation_name>: {
  <param_1>: <value_1>
  <param_2>: <value_2>
  ...
}

其中 <operation_name> 指定要执行的操作,而 <param_n> 键提供操作的参数(如果有)。每个单独的操作都有其自己的一组参数,由目标集群或节点的配置类型支持。

请求示例

{
    "reboot": {
        "type": "SOFT"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
  "action": "7f760b61-7b15-4a50-af05-319922fa3229"
}

接收器 (receivers)

列出所有接收器,创建、显示接收器信息和删除接收器。

GET
/v1/receivers

列出接收器

列出所有接收器。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

type (可选)

查询

字符串

根据接收器的 type 属性过滤响应。

cluster_id (可选)

查询

字符串

集群对象的名称、短 ID 或 UUID。

action(可选)

查询

字符串

根据接收器目标操作过滤响应。

user (可选)

查询

字符串

根据接收器的 user 属性过滤响应。

1.4 版本新增

排序键包括 nametypeactioncluster_idcreated_atuser

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

receivers

body

数组

接收器对象列表。

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

actor (可选)

body

对象

用于身份验证的键值对映射。

channel

body

对象

用户用于触发接收器的目标。对于 webhook 类型的接收器,channel 是 webhook URL。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

接收器对象的 UUID。

name

body

字符串

对象名称。

params

body

对象

用于创建动作的键值对映射。

project

body

UUID

创建资源的项目 ID。

type

body

字符串

接收器的类型。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "receivers": [
        {
            "action": "CLUSTER_SCALE_OUT",
            "actor": {
                "trust_id": [
                    "6dc6d336e3fc4c0a951b5698cd1236d9"
                ]
            },
            "channel": {
                "alarm_url": "http://node1:8777/v1/webhooks/e03dd2e5-8f2e-4ec1-8c6a-74ba891e5422/trigger?V=2&count=1"
            },
            "cluster_id": "ae63a10b-4a90-452c-aef1-113a0b255ee3",
            "created_at": "2015-06-27T05:09:43",
            "domain": "Default",
            "id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
            "name": "cluster_inflate",
            "params": {
                "count": "1"
            },
            "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
            "type": "webhook",
            "updated_at": null,
            "user": "b4ad2d6e18cc2b9c48049f6dbe8a5b3c"
        }
    ]
}
POST
/v1/receivers

创建接收器

创建一个接收器。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

500 - 内部服务器错误

服务内部出现问题。 通常不应发生这种情况。 如果发生这种情况,则表示服务器遇到了一些严重问题。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

receiver

body

对象

接收器对象的结构化定义。

name

body

字符串

接收器对象的名称。名称必须以 ASCII 字母开头,可以包含 ASCII 字母、数字、下划线、句点和连字符,并且其长度必须小于 255。

cluster_id (可选)

body

字符串

节点所属的集群对象的名称、短 ID 或 UUID。

type

body

字符串

接收器的类型。有效值包括 webhookmessage

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

actor (可选)

body

对象

用于身份验证的键值对映射。

params (可选)

body

对象

用于创建动作的键值对映射。某些动作可能需要特定的输入参数。

请求示例

{
    "receiver": {
        "action": "CLUSTER_SCALE_OUT",
        "cluster_id": "cf99d754-3cdc-47f4-8a29-cd14f02f5436",
        "name": "cluster_inflate",
        "params": {
            "count": "1"
        },
        "type": "webhook"
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

receiver

body

对象

接收器对象的结构化定义。

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

actor (可选)

body

对象

用于身份验证的键值对映射。

channel

body

对象

用户用于触发接收器的目标。对于 webhook 类型的接收器,channel 是 webhook URL。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

接收器对象的 UUID。

name

body

字符串

对象名称。

params

body

对象

用于创建动作的键值对映射。

project

body

UUID

创建资源的项目 ID。

type

body

字符串

接收器的类型。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "receiver": {
        "action": "CLUSTER_SCALE_OUT",
        "actor": {
            "trust_id": [
                "6dc6d336e3fc4c0a951b5698cd1236d9"
            ]
        },
        "channel": {
            "alarm_url": "http://node1:8777/v1/webhooks/e03dd2e5-8f2e-4ec1-8c6a-74ba891e5422/trigger?V=2&count=1"
        },
        "cluster_id": "ae63a10b-4a90-452c-aef1-113a0b255ee3",
        "created_at": "2015-06-27T05:09:43",
        "domain": "Default",
        "id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
        "name": "cluster_inflate",
        "params": {
            "count": "1"
        },
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "type": "webhook",
        "updated_at": null,
        "user": "b4ad2d6e18cc2b9c48049f6dbe8a5b3c"
    }
}
GET
/v1/receivers/{receiver_id}

显示接收器详情

显示接收器的详情。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

receiver_id

路径

字符串

接收器对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

receiver

body

对象

接收器对象的结构化定义。

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

actor (可选)

body

对象

用于身份验证的键值对映射。

channel

body

对象

用户用于触发接收器的目标。对于 webhook 类型的接收器,channel 是 webhook URL。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

接收器对象的 UUID。

name

body

字符串

对象名称。

params

body

对象

用于创建动作的键值对映射。

project

body

UUID

创建资源的项目 ID。

type

body

字符串

接收器的类型。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "receiver": {
        "action": "CLUSTER_SCALE_OUT",
        "actor": {
            "trust_id": [
                "6dc6d336e3fc4c0a951b5698cd1236d9"
            ]
        },
        "channel": {
            "alarm_url": "http://node1:8777/v1/webhooks/e03dd2e5-8f2e-4ec1-8c6a-74ba891e5422/trigger?V=2&count=1"
        },
        "cluster_id": "ae63a10b-4a90-452c-aef1-113a0b255ee3",
        "created_at": "2015-06-27T05:09:43",
        "domain": "Default",
        "id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
        "name": "cluster_inflate",
        "params": {
            "count": "1"
        },
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "type": "webhook",
        "updated_at": null,
        "user": "b4ad2d6e18cc2b9c48049f6dbe8a5b3c"
    }
}
PATCH
/v1/receivers/{receiver_id}

更新接收器

更新一个接收器。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

receiver_id

路径

字符串

接收器对象的名称、UUID 或短 UUID。

receiver

body

对象

接收器对象的结构化定义。

name (可选)

body

字符串

对象的新名称。

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

params (可选)

body

对象

用于创建动作的键值对映射。某些动作可能需要特定的输入参数。

请求示例

{
    "receiver": {
        "name": "new-name",
        "action": "CLUSTER_SCALE_OUT",
        "params": {
            "count": "2"
        }
    }
}

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

receiver

body

对象

接收器对象的结构化定义。

action(可选)

body

字符串

当接收器被触发时启动的动作。有效值应该是可以应用于集群的动作的名称。

actor (可选)

body

对象

用于身份验证的键值对映射。

channel

body

对象

用户用于触发接收器的目标。对于 webhook 类型的接收器,channel 是 webhook URL。

cluster_id

body

UUID

集群对象的 UUID。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

domain

body

UUID

创建资源所在的域的 ID。

id

body

UUID

接收器对象的 UUID。

name

body

字符串

对象名称。

params

body

对象

用于创建动作的键值对映射。

project

body

UUID

创建资源的项目 ID。

type

body

字符串

接收器的类型。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "receiver": {
        "action": "CLUSTER_SCALE_OUT",
        "actor": {
            "trust_id": [
                "6dc6d336e3fc4c0a951b5698cd1236d9"
            ]
        },
        "channel": {
            "alarm_url": "http://node1:8777/v1/webhooks/e03dd2e5-8f2e-4ec1-8c6a-74ba891e5422/trigger?V=2&count=2"
        },
        "cluster_id": "ae63a10b-4a90-452c-aef1-113a0b255ee3",
        "created_at": "2015-06-27T05:09:43",
        "domain": "Default",
        "id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
        "name": "new-name",
        "params": {
            "count": "2"
        },
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "type": "webhook",
        "updated_at": "2016-03-11T05:10:11",
        "user": "b4ad2d6e18cc2b9c48049f6dbe8a5b3c"
    }
}
DELETE
/v1/receivers/{receiver_id}

删除接收器

删除一个接收器。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

此操作不接受请求体。

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

receiver_id

路径

字符串

接收器对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

此操作不返回响应体。

POST
/v1/receivers/{receiver_id}/notify

通知接收器

通知消息类型接收器。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

此操作不接受请求体。

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

receiver_id

路径

字符串

接收器对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

此操作不返回响应体。

事件 (events)

列出所有事件并显示事件信息。

GET
/v1/events

列出事件

列出所有事件。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

level (可选)

body

字符串

事件对象的级别。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

oid (可选)

查询

字符串

根据与事件关联对象的 ID 过滤响应。多次使用此过滤器以根据多个对象进行过滤。

otype (可选)

查询

字符串

根据与事件关联对象的 type 过滤响应。多次使用此过滤器以根据多个对象进行过滤。有效值为 CLUSTERNODE

oname (可选)

查询

字符串

根据与事件关联对象的 name 过滤响应。多次使用此过滤器以根据多个对象进行过滤。

cluster_id (可选)

查询

字符串

集群对象的名称、短 ID 或 UUID。

action(可选)

查询

字符串

根据与事件关联的动作名称过滤响应。多次使用此过滤器以根据多个动作进行过滤。

排序键包括 timestamplevelotypeonameactionstatusoidcluster_id

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

events

body

数组

事件对象列表。

动作

body

字符串

动作对象的名称。

cluster_id

body

UUID

集群对象的 UUID。

id

body

UUID

事件对象的 UUID。

level

body

字符串

事件对象的级别。

oid

body

UUID

与事件关联的对象的 UUID。

oname

body

字符串

与事件关联的对象的名称。

otype

body

字符串

与事件关联的对象的类型。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

与事件关联的对象的当前状态。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timestamp

body

字符串

生成事件的日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "events": [
        {
            "action": "create",
            "cluster": null,
            "cluster_id": null,
            "id": "2d255b9c-8f36-41a2-a137-c0175ccc29c3",
            "level": "20",
            "meta_data": {},
            "oid": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
            "oname": "node009",
            "otype": "NODE",
            "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
            "status": "CREATING",
            "status_reason": "Initializing",
            "timestamp": "2015-03-05T08:53:15Z",
            "user": "a21ded6060534d99840658a777c2af5a"
        }
    ]
}
GET
/v1/events/{event_id}

显示事件详情

显示事件的详情。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

event_id

路径

字符串

事件对象的名称、UUID 或短 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

事件

body

对象

事件对象的结构化描述。

动作

body

字符串

动作对象的名称。

cluster_id

body

UUID

集群对象的 UUID。

id

body

UUID

事件对象的 UUID。

level

body

字符串

事件对象的级别。

oid

body

UUID

与事件关联的对象的 UUID。

oname

body

字符串

与事件关联的对象的名称。

otype

body

字符串

与事件关联的对象的类型。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

与事件关联的对象的当前状态。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

timestamp

body

字符串

生成事件的日期和时间。日期和时间戳格式为 ISO8601:CCYY-MM-DDThh:mm:ssZ

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "event": {
        "action": "create",
        "cluster": null,
        "cluster_id": null,
        "id": "2d255b9c-8f36-41a2-a137-c0175ccc29c3",
        "level": "20",
        "meta_data": {},
        "oid": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
        "oname": "node009",
        "otype": "NODE",
        "project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
        "status": "CREATING",
        "status_reason": "Initializing",
        "timestamp": "2015-03-05T08:53:15Z",
        "user": "a21ded6060534d99840658a777c2af5a"
    }
}

Webhooks (webhooks)

触发由 webhook 表示的动作。对于 API 微版本小于 1.10,查询中的可选参数作为要由目标动作使用的输入发送。对于 API 微版本等于或大于 1.10,请求体中的任何键值对都作为要由目标动作使用的输入发送。

POST
/v1/webhooks/{webhook_id}/trigger

触发 webhook 动作

触发 webhook 接收器。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

webhook_id

路径

UUID

webhook 对象的 UUID。

V

查询

字符串

请求的 webhook 实现版本。

params (可选)

查询

对象

对于 API 微版本小于 1.10,查询字符串形成用于目标动作的输入。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-Id (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

位置

标头

字符串

对于异步对象操作,location 标头包含一个字符串,可以解释为用户可以跟踪触发的操作进度的相对 URI。

动作

body

字符串

用于执行的 action 的字符串表示形式。

响应示例

{
    "action": "290c44fa-c60f-4d75-a0eb-87433ba982a3"
}

动作 (Actions)

列出所有动作并显示动作详情。

GET
/v1/actions

列出动作

列出所有动作。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

limit (可选)

查询

整数

请求资源的页面大小。返回最多达到限制值数量的资源。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

marker (可选)

查询

UUID

最后一个资源看到的 ID。使用 limit 参数进行初始有限请求,并在后续有限请求中使用响应中最后一个资源看到的 ID 作为 marker 参数值。

sort (可选)

查询

字符串

按一个或多个属性和可选排序方向组合对响应进行排序。有效的方向是 asc(升序)或 desc(降序)。默认方向是 asc(升序)。

指定列表为 <key>[:<direction>]

例如,URI 中的以下查询参数按 name 升序和 status 降序对响应中的资源进行排序

GET /v1/clusters?sort=name:asc,status:desc

global_project (可选)

查询

布尔值

指示是否在响应中包含所有项目或当前项目中的资源。

如果您是管理员用户并且将此值设置为 true,则该调用将返回所有项目中的所有资源。默认值为 false,仅返回当前项目中的资源。

name (可选)

查询

字符串

按对象的指定 name 属性(例如集群的 policy_namename 属性)过滤响应。

target (可选)

查询

字符串

根据目标对象的 UUID 过滤结果,通常是集群。

action(可选)

查询

字符串

使用对象的 action 字段过滤结果列表。

status (可选)

查询

字符串

根据动作对象的 status 属性过滤结果。

排序键包括 nametargetactioncreated_atstatus

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

动作

body

数组

动作对象列表。

动作

body

字符串

用于执行的 action 的字符串表示形式。

cause

body

字符串

启动动作的原因说明。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与动作对象关联的数据的结构化表示。

depended_by

body

数组

依赖于当前动作的动作的 UUID 列表。

depends_on

body

数组

当前动作所依赖的动作的 UUID 列表。

start_time

body

float

一个浮点数,表示动作开始执行的时间。

end_time

body

float

一个浮点数,表示动作执行完成的时间。

id

body

UUID

唯一标识动作对象的 UUID。

inputs

body

对象

作为输入参数馈送到动作中的键值对集合。

interval

body

整数

一个整数,表示可重复动作两次连续执行之间的秒数间隔。

name

body

字符串

对象名称。

outputs

body

对象

在动作执行期间产生的键值对集合作为其输出。

owner

body

字符串

当前锁定动作以供执行的拥有引擎的 UUID。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

动作当前状态的字符串表示。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

target

body

字符串

目标对象的 UUID(通常是集群)。

timeout

body

整数

未完成的动作执行将在多长时间后被视为超时(以秒为单位)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "actions": [
        {
            "action": "NODE_CREATE",
            "cause": "RPC Request",
            "created_at": "2015-12-04T04:54:41Z",
            "data": {},
            "depended_by": [],
            "depends_on": [],
            "end_time": 1425550000.0,
            "id": "2366d440-c73e-4961-9254-6d1c3af7c167",
            "inputs": {},
            "interval": -1,
            "name": "node_create_0df0931b",
            "outputs": {},
            "owner": null,
            "project": "f1fe61dcda2f4618a14c10dc7abc214d",
            "start_time": 1425550000.0,
            "status": "SUCCEEDED",
            "status_reason": "Action completed successfully.",
            "target": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
            "timeout": 3600,
            "updated_at": null,
            "user": "8bcd2cdca7684c02afc9e4f2fc0f0c79"
        },
        {
            "action": "NODE_DELETE",
            "cause": "RPC Request",
            "created_at": "2015-11-04T05:21:41Z",
            "data": {},
            "depended_by": [],
            "depends_on": [],
            "end_time": 1425550000.0,
            "id": "edce3528-864f-41fb-8759-f4707925cc09",
            "inputs": {},
            "interval": -1,
            "name": "node_delete_f0de9b9c",
            "outputs": {},
            "owner": null,
            "project": "f1fe61dcda2f4618a14c10dc7abc214d",
            "start_time": 1425550000.0,
            "status": "SUCCEEDED",
            "status_reason": "Action completed successfully.",
            "target": "f0de9b9c-6d48-4a46-af21-2ca8607777fe",
            "timeout": 3600,
            "updated_at": null,
            "user": "8bcd2cdca7684c02afc9e4f2fc0f0c79"
        }
    ]
}
GET
/v1/actions/{action_id}

显示动作详情

显示动作的详情。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

action_id

路径

字符串

标识动作对象的名称或短 ID 或 UUID。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

动作

body

字符串

用于执行的 action 的字符串表示形式。

cause

body

字符串

启动动作的原因说明。

created_at

body

字符串

创建对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

data

body

对象

与动作对象关联的数据的结构化表示。

depended_by

body

数组

依赖于当前动作的动作的 UUID 列表。

depends_on

body

数组

当前动作所依赖的动作的 UUID 列表。

start_time

body

float

一个浮点数,表示动作开始执行的时间。

end_time

body

float

一个浮点数,表示动作执行完成的时间。

id

body

UUID

唯一标识动作对象的 UUID。

inputs

body

对象

作为输入参数馈送到动作中的键值对集合。

interval

body

整数

一个整数,表示可重复动作两次连续执行之间的秒数间隔。

name

body

字符串

对象名称。

outputs

body

对象

在动作执行期间产生的键值对集合作为其输出。

owner

body

字符串

当前锁定动作以供执行的拥有引擎的 UUID。

project

body

UUID

创建资源的项目 ID。

status

body

字符串

动作当前状态的字符串表示。

status_reason

body

字符串

对象过渡到当前状态的原因的字符串表示形式。

target

body

字符串

目标对象的 UUID(通常是集群)。

timeout

body

整数

未完成的动作执行将在多长时间后被视为超时(以秒为单位)。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

user

body

UUID

创建对象的用户 ID。

响应示例

{
    "action": {
        "action": "CLUSTER_DELETE",
        "cause": "RPC Request",
        "created_at": "2015-06-27T05:09:43Z",
        "data": {},
        "depended_by": [],
        "depends_on": [],
        "end_time": 1423570000.0,
        "id": "ffbb9175-d510-4bc1-b676-c6aba2a4ca81",
        "inputs": {},
        "interval": -1,
        "name": "cluster_delete_fcc9b635",
        "outputs": {},
        "owner": null,
        "project": "f1fe61dcda2f4618a14c10dc7abc214d",
        "start_time": 1423570000.0,
        "status": "FAILED",
        "status_reason": "Cluster action FAILED",
        "target": "fcc9b635-52e3-490b-99f2-87b1640e4e89",
        "timeout": 3600,
        "updated_at": null,
        "user": "8bcd2cdca7684c02afc9e4f2fc0f0c79"
    }
}
PATCH
/v1/actions/{action_id}

更新操作

更新一个操作的状态。

此 API 仅在 API 微版本 1.12 及更高版本中可用。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

action_id

路径

字符串

标识动作对象的名称或短 ID 或 UUID。

动作

body

对象

一个结构化的操作对象定义。

status

body

字符串

一个字符串,表示要更新的操作状态。目前唯一有效的状态是 CANCELLED(已取消)。

force (可选)

查询

布尔值

一个布尔值,指示是否应该强制执行操作更新请求。

请求示例

{
  "action": {
    "status": "CANCELLED",
  }
}

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

服务 (services)

列出 senlin 引擎的所有服务。

GET
/v1/services

列出服务

此 API 仅在 API 微版本 1.7 及更高版本中可用。

列出所有服务。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

请求参数

名称

入参

类型

描述

OpenStack-API-Version (可选)

标头

字符串

API 微版本请求。它采用 OpenStack-API-Version: clustering 1.0 的形式,其中 1.0 是请求的 API 版本。

响应参数

名称

入参

类型

描述

X-OpenStack-Request-ID (可选)

标头

字符串

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

services

body

数组

服务列表。

binary

body

字符串

服务的二进制名称。

disabled_reason (可选)

body

字符串

禁用服务的理由。

host

body

字符串

主机的名称。

id

body

UUID

唯一标识服务对象的 UUID。

state

body

字符串

服务的状态。为 updown 中的一个。

status

body

字符串

服务状态。为 enableddisabled 中的一个。

topic

body

字符串

服务的 topic 名称。

updated_at

body

字符串

上次更新对象的日期和时间。日期和时间戳格式为 ISO8601: CCYY-MM-DDThh:mm:ssZ。例如: 2016-01-18T00:00:00Z

响应示例

{
    "services": [
        {
            "binary": "senlin-engine",
            "disabled_reason": null,
            "host": "host1",
            "id": "f93f83f6-762b-41b6-b757-80507834d394",
            "state": "up",
            "status": "enabled",
            "topic": "senlin-engine",
            "updated_at": "2017-04-24T07:43:12"
        }
    ]
}