API 参考
文档版本 07
发布日期 2022-01-26
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 使用前必读... 1
1.1 概述... 1
1.2 调用说明...1
1.3 终端节点...1
1.4 约束与限制... 1
1.5 基本概念...2
2 API 概览... 3
3 如何调用 API...4
3.1 构造请求...4
3.2 认证鉴权...6
3.3 返回结果...8
4 快速入门...10
5 API V2(推荐)... 12
5.1 生命周期管理...12
5.1.1 创建实例(按需)... 12
5.1.2 查询所有实例列表... 17
5.1.3 查询指定实例... 23
5.1.4 删除指定的实例...28
5.1.5 修改实例信息... 29
5.1.6 批量重启或删除实例... 31
5.2 实例管理... 34
5.2.1 重置密码... 34
5.2.2 查询插件列表... 35
5.2.3 开启或关闭插件...37
5.3 规格变更管理...38
5.3.1 查询可扩容规格列表... 38
5.3.2 实例规格变更... 45
5.4 后台任务管理...46
5.4.1 查询实例的后台任务列表... 47
5.4.2 查询后台任务管理中的指定记录... 49
5.4.3 删除后台任务管理中的指定记录... 50
5.5 标签管理... 51
5.5.1 批量添加或删除实例标签... 52
5.5.2 查询实例标签... 53
5.5.3 查询项目标签... 55
5.6 其他接口... 57
5.6.1 查询维护时间窗时间段...57
5.6.2 查询可用区信息...58
5.6.3 查询产品规格列表... 60
6 权限策略和授权项... 67
7 历史 API... 70
7.1 API V1... 70
7.1.1 实例管理类接口...70
7.1.1.1 创建实例... 70
7.1.1.2 查询指定实例...73
7.1.1.3 修改实例信息...78
7.1.1.4 删除指定实例...81
7.1.1.5 批量重启、删除实例...82
7.1.1.6 查询所有实例列表... 84
7.1.2 其他接口... 89
7.1.2.1 查询可用区信息... 89
7.1.2.2 查询产品规格列表... 91
7.1.2.3 查询维护时间窗时间段... 102
7.2 API V2... 104
7.2.1 查询产品规格列表... 104
8 附录... 110
8.1 状态码... 110
8.2 错误码... 112
8.3 实例状态说明... 130
8.4 获取项目 ID... 131
8.5 获取帐号名和帐号 ID... 132
A 修订记录... 133
1 使用前必读
1.1 概述
欢迎使用分布式消息服务RabbitMQ版。分布式消息服务RabbitMQ版是一项基于高可 用分布式集群技术的消息中间件服务,提供了可靠且可扩展的托管消息队列,用于收 发消息和存储消息。
本文档提供了分布式消息服务RabbitMQ版API的描述、语法、参数说明及样例等内 容。
须知
分布式消息服务RabbitMQ版持续增加新的功能,将不可避免对现有接口有所调整,比 如增加响应参数。
为了减少接口变更带来的影响,除了分布式消息服务RabbitMQ版自身尽量做到接口向 下兼容的同时,用户在使用过程中,应当接受出现返回内容(JSON格式)含有未使用 的参数和值的现象,即能够正常忽略未使用的参数和值。
1.2 调用说明
分布式消息服务RabbitMQ版提供了REST(Representational State Transfer)风格 API,支持您通过HTTPS请求调用,调用方法请参见如何调用API。
1.3 终端节点
终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和 终端节点中查询服务的终端节点。
1.4 约束与限制
● 您能创建的实例数上限,具体请参见服务配额。
● 更详细的限制请参见具体API的说明。
1.5 基本概念
● 帐号
用户注册帐号时,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重 置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议 您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管理 工作。
● 用户
由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。
在我的凭证下,您可以查看帐号ID和用户ID。通常在调用API的鉴权过程中,您需 要用到帐号、用户和密码等信息。
● 区域:指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内 网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户 的要求,或满足不同地区的法律或其他要求。
● 可用区:一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ 内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ 间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
● 项目
区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计 算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您 帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默 认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授 权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。
图1-1 项目隔离模型
同样在我的凭证下,您可以查看项目ID。
● 企业项目
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔 离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户 指南》。
2 API 概览
表2-1 实例管理类接口
API 说明
生命周期管理 包括创建实例、查询所有实例列表、查询指定实例、删除指定
实例、修改实例信息、批量重启或删除实例。
实例管理 包括重置密码、查询插件列表、开启或关闭插件。
规格变更管理 包括查询可扩容规格列表、实例规格变更。
后台任务管理 包括查询实例的后台任务列表、查询后台任务管理中的指定记
录、删除后台任务管理中的指定记录。
标签管理 包括批量添加或删除实例标签、查询实例标签、查询项目标
签。
其他接口 包括查询维护时间窗时间段、查询可用区信息、查询产品规格
列表。
3 如何调用 API
3.1 构造请求
本节如何构造REST API的请求,并以调用IAM服务的获取用户Token说明如何调用 API,该API获取用户的Token,Token可以用于调用其他API时鉴权。
您还可以通过这个视频教程了解如何构造请求调用API:https://
bbs.huaweicloud.com/videos/102987。
请求 URI
请求URI由如下部分组成。
{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}
尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。
● URI-scheme:
表示用于传输请求的协议,当前所有API均采用HTTPS协议。
● Endpoint:
指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,
您可以地区和终端节点获取。
例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn- north-1.myhuaweicloud.com”。
● resource-path:
资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户 Token”API的resource-path为“/v3/auth/tokens”。
● query-string:
查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个
“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条 数据。
例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域 的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部 分找到resource-path(/v3/auth/tokens),拼接起来如下所示。
https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
图3-1 URI 示意图
说明
为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。
这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见 将这两部分省略。
请求方法
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
● GET:请求服务器返回指定资源。
● PUT:请求服务器更新指定资源。
● POST:请求服务器新增资源或执行特殊操作。
● DELETE:请求服务器删除指定资源,如删除对象等。
● HEAD:请求服务器资源头部。
● PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会 去创建一个新的资源。
在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为:
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
请求消息头
附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-Type”,请求鉴权信息等。
如下公共消息头需要添加到请求中。
● Content-Type:消息体的类型(格式),必选,默认取值为“application/
json”,有其他取值时会在具体接口中专门说明。
● X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字 段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认 证的接口。
说明
API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往 请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。
AK/SK认证的详细说明请参见AK/SK认证。
对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添 加消息头后的请求如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
请求消息体
请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求 消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说 明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中
username
为用户名,domainname
为用户所属的帐号名称,********
为用户登录密 码,xxxxxxxxxxxxxxxxxx
为project的名称,如“cn-north-1”,您可以从地区和终端 节点获取。说明
scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可 以设置Token作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取 用户Token。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxxxxxxxxxxxx"
} } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编 写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x- subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认 证调用其他API。
3.2 认证鉴权
调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。
● Token认证:通过Token认证调用请求。
● AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。
推荐使用AK/SK认证,其安全性比Token认证要高。
Token 认证
说明
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。
Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。
Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的 Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择 project,如下所示。
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxx"
} } } }
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,
其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:
ABCDEFJ....”加到请求消息头即可,如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json
X-Auth-Token: ABCDEFJ....
您还可以通过这个视频教程了解如何使用Token认证:https://
bbs.huaweicloud.com/videos/101333。
AK/SK 认证
说明
AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而 通过身份认证。
● AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥 ID和私有访问密钥一起使用,对请求进行加密签名。
● SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,
可标识发送方,并防止请求被修改。
使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门 的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
须知
签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
3.3 返回结果
状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。
对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。
响应消息头
对应请求消息头,响应同样也有消息头,如“Content-type”。
对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
图3-2 获取用户 Token 响应消息头
响应消息体(可选)
响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应 消息头之外的内容。
对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。
{ "token": {
"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [
"password"
],
"catalog": [ {
"endpoints": [ {
"region_id": "XXXXXX", ...
当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。
{ "error_msg": "The format of message is error", "error_code": "AS.0001"
}
其中,error_code表示错误码,error_msg表示错误描述信息。
4 快速入门
场景描述
您可以根据业务需要创建相应计算能力和存储空间的RabbitMQ实例。
API调用方法请参考如何调用API。
前提条件
● 已获取IAM的Endpoint,具体请参见地区和终端节点。
● 已获取RabbitMQ的Endpoint,具体请参见地区和终端节点。
创建 RabbitMQ 实例
如下示例是创建RabbitMQ实例的请求消息:
{"name": "rabbitmq-demo",
"engine": "rabbitmq",
"engine_version": "3.7.17",
"storage_space": 100,
"access_user": "test",
"password": "Z******d",
"vpc_id": "1aa6aa54-c37c-4948-8547-efdabece35f1",
"security_group_id": "d8c81e0f-de6a-4110-8c96-81af3eacb3d1",
"subnet_id": "d3d1e7f3-939b-4920-a1e6-61ba9e6f5bfd",
"available_zones": [
"72d50cedc49846b9b42c21495f38d81c"
],"product_id": "00300-30109-0--0",
"storage_spec_code": "dms.physical.storage.high"
}
● name:实例名称。由您自行定义。
● engine:消息引擎,设置rabbitmq。
● engine_version:消息引擎的版本。当前仅支持3.7.17。
● storage_space:消息存储空间,单位GB。具体取值范围,请参考“创建实例(按 需)”章节。
● access_user:登录RabbitMQ的用户名,由您自行定义。
● password:登录RabbitMQ的密码,由您自行定义。
● vpc_id:RabbitMQ实例所在的VPC(虚拟私有云)的ID。您可以在虚拟私有云控 制台中查询,也可以通过查询VPC列表API查询。
● security_group_id:安全组ID。您可以在虚拟私有云控制台中查询,也可以通过 查询安全组列表API查询。
● subnet_id:VPC内子网的网络ID。您可以在虚拟私有云控制台中查询,也可以通 过查询子网列表API查询。
● available_zones:创建节点到指定的AZ ID,该参数不能为空数组或者数组的值为 空,请参考“查询可用区信息”章节获取。
● product_id:产品标识。请参考“查询产品规格列表”章节获取。
● storage_spec_code:存储IO规格。具体取值范围,请参考“创建实例(按需)”
章节。
5 API V2(推荐)
5.1 生命周期管理
5.1.1 创建实例(按需)
功能介绍
创建实例,该接口创建的实例为按需计费的方式。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/instances 表5-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
请求参数
表5-2 请求 Body 参数
参数 是否必选 参数类型 描述
name 是 String 实例名称。
由英文字符开头,只能由英文字 母、数字、中划线、下划线组 成,长度为4~64的字符。
description 否 String 实例的描述信息。
长度不超过1024的字符串。
说明\与"在json报文中属于特殊字符,
如果参数值中需要显示\或者"字 符,请在字符前增加转义字符\,比 如\或者"。
engine 是 String 消息引擎:rabbitmq。
engine_versio
n 是 String 消息引擎的版本。
● RabbitMQ版本有:3.7.17 storage_space 是 Integer 消息存储空间,单位GB。
● 单机RabbitMQ实例的存储空 间的取值范围
100GB~90000GB。
● 集群RabbitMQ实例的存储空 间的取值范围为100GB节点 数~90000GB、200GB节点数
~90000GB、300GB*节点数
~90000GB。
access_user 是 String 认证用户名,只能由英文字母、
数字、中划线组成,长度为 4~64的字符。
password 是 String 实例的认证密码。
复杂度要求:
● 输入长度为8到32位的字符 串。
● 必须包含如下四种字符中的 两种组合:
– 小写字母 – 大写字母 – 数字
– 特殊字符包括(`~!@#$
%^&*()-_=+|
[{}]:'",<.>/?)
参数 是否必选 参数类型 描述
vpc_id 是 String 租户VPC ID。
security_grou
p_id 是 String 租户安全组ID。
subnet_id 是 String 子网ID。
available_zon
es 是 Array of
strings 创建节点到指定且有资源的可用 区ID。该参数不能为空数组或者 数组的值为空。
product_id 是 String 产品标识。
maintain_begi
n 否 String 维护时间窗开始时间,格式为
HH:mm。
● 维护时间窗开始和结束时间 必须为指定的时间段。
● 开始时间必须为22:00、
02:00、06:00、10:00、
14:00和18:00。
● 该参数不能单独为空,若该 值为空,则结束时间也为 空。系统分配一个默认开始 时间02:00。
maintain_end 否 String 维护时间窗结束时间,格式为 HH:mm。
● 维护时间窗开始和结束时间 必须为指定的时间段。
● 结束时间在开始时间基础上 加四个小时,即当开始时间 为22:00时,结束时间为 02:00。
● 该参数不能单独为空,若该 值为空,则开始时间也为 空,系统分配一个默认结束 时间06:00。
enable_publici
p 否 Boolean RabbitMQ实例是否开启公网访
问功能。
● true:开启
● false:不开启
publicip_id 否 String RabbitMQ实例绑定的弹性IP地 址的ID。 如果开启了公网访问 功能(即enable_publicip为 true),该字段为必选。
参数 是否必选 参数类型 描述
ssl_enable 否 Boolean 是否打开SSL加密访问。
● true:打开SSL加密访问。
● false:不打开SSL加密访问。
storage_spec_
code 是 String 存储IO规格。
取值范围:
● dms.physical.storage.norma l:
● dms.physical.storage.high
● dms.physical.storage.ultra enterprise_pro
ject_id 否 String 企业项目ID。若为企业项目帐
号,该参数必填。
tags 否 Array of
TagEntity
objects标签列表。
表5-3 TagEntity
参数 是否必选 参数类型 描述
key 否 String 键。最大长度36个unicode字
符。
key不能为空,不能为空字符 串。
不能包含下列字符:非打印字符 ASCII(0-31),“=”,“*”,
“<”,“>”,“\”,“,”,“|”,
“/”。
value 否 String 值。每个值最大长度43个
unicode字符。
value不能为空,可以空字符 串。
不能包含下列字符:非打印字符 ASCII(0-31), “=”,“*”,“<”,
“>”,“\”,“,”,“|”,“/”。
响应参数
状态码: 200
表5-4 响应 Body 参数
参数 参数类型 描述
instance_id String 实例ID。
请求示例
POST https://{endpoint}/v2/{project_id}/instances { "name" : "rabbitmq-demo",
"description" : "", "engine" : "RabbitMQ", "engine_version" : "3.7.17", "storage_space" : 100, "access_user" : "******", "password" : "******",
"vpc_id" : "1e93f86e-13af-46c8-97d6-d40fa62b76c2",
"security_group_id" : "0aaa0033-bf7f-4c41-a6c2-18cd04cad2c8", "subnet_id" : "b5fa806c-35e7-4299-b659-b39398dd4718", "available_zones" : [ "d573142f24894ef3bd3664de068b44b0" ], "product_id" : "00300-30109-0--0",
"maintain_begin" : "22:00", "maintain_end" : "02:00", "ssl_enable" : false, "enable_publicip" : false, "publicip_id" : "",
"storage_spec_code" : "dms.physical.storage.ultra", "tags" : [ {
"key" : "key1", "value" : "value1"
}, {
"key" : "key2", "value" : "value2"
} ] }
响应示例
状态码: 200 创建实例成功。
{ "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}
状态码
状态码 描述
200 创建实例成功。
错误码
请参见错误码。
5.1.2 查询所有实例列表
功能介绍
查询租户的实例列表,支持按照条件查询。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/instances
表5-5 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
表5-6 Query 参数
参数 是否必选 参数类型 描述
engine 否 String 引擎类型:rabbitmq,参数缺
失查询所有实例。
name 否 String 实例名称。
instance_id 否 String 实例ID。
status 否 String 实例状态。
include_failur
e 否 String 是否返回创建失败的实例数。
当参数值为“true”时,返回创 建失败的实例数。参数值为
“false”或者其他值,不返回 创建失败的实例数。
exact_match_
name 否 String 是否按照实例名称进行精确匹配
查询。
默认为“false”,表示模糊匹 配实例名称查询。若参数值为
“true”表示按照实例名称进行 精确匹配查询。
enterprise_pro
ject_id 否 String 企业项目ID。
请求参数
无
响应参数
状态码: 200
表5-7 响应 Body 参数
参数 参数类型 描述
instances Array of
ShowInstanc eResp objects
实例列表。
instance_num Integer 实例个数。
表5-8 ShowInstanceResp
参数 参数类型 描述
name String 实例名称。
engine String 消息引擎。
engine_versio
n String 消息引擎版本。
specification String 实例规格。
● RabbitMQ实例单机返回vm规格。
● RabbitMQ实例集群返回vm规格和节点数。
storage_space Integer 消息存储空间,单位:GB。
used_storage_
space Integer 已使用的消息存储空间,单位:GB。
connect_addr
ess String 实例连接IP地址。
port Integer 实例连接端口。
status String 实例的状态。
description String 实例描述。
instance_id String 实例ID。
参数 参数类型 描述 resource_spec
_code String 资源规格标识。
● dms.instance.rabbitmq.single.c3.2u4g:
RabbitMQ单机,vm规格2u4g
● dms.instance.rabbitmq.single.c3.4u8g:
RabbitMQ单机,vm规格4u8g
● dms.instance.rabbitmq.single.c3.8u16g:
RabbitMQ单机,vm规格8u16g
● dms.instance.rabbitmq.single.c3.16u32g:
RabbitMQ单机,vm规格16u32g
● dms.instance.rabbitmq.cluster.c3.4u8g.3:
RabbitMQ集群,vm规格4u8g,3个节点
● dms.instance.rabbitmq.cluster.c3.4u8g.5:
RabbitMQ集群,vm规格4u8g,5个节点
● dms.instance.rabbitmq.cluster.c3.4u8g.7:
RabbitMQ集群,vm规格4u8g,7个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.3:
RabbitMQ集群,vm规格8u16g,3个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.5:
RabbitMQ集群,vm规格8u16g,5个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.7:
RabbitMQ集群,vm规格8u16g,7个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.3:
RabbitMQ集群,vm规格16u32g,3个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.5:
RabbitMQ集群,vm规格16u32g,5个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.7:
RabbitMQ集群,vm规格16u32g,7个节点 charging_mod
e Integer 付费模式,1表示按需计费,0表示包年/包月计
费。
vpc_id String VPC ID。
vpc_name String VPC的名称。
created_at String 完成创建时间。格式为时间戳,指从格林威治时 间 1970年01月01日00时00分00秒起至指定时间 的偏差总毫秒数。
user_id String 用户ID。
user_name String 用户名。
order_id String 订单ID,只有在包周期计费时才会有order_id 值,其他计费方式order_id值为空。
maintain_begi
n String 维护时间窗开始时间,格式为HH:mm:ss。
参数 参数类型 描述
maintain_end String 维护时间窗结束时间,格式为HH:mm:ss。
enable_publici
p Boolean RabbitMQ实例是否开启公网访问功能。
● true:开启
● false:未开启 publicip_addr
ess String RabbitMQ实例绑定的弹性IP地址。
如果未开启公网访问功能,该字段值为null。
publicip_id String RabbitMQ实例绑定的弹性IP地址的ID。
如果未开启公网访问功能,该字段值为null。
management _connect_add ress
String RabbitMQ实例的管理地址。
ssl_enable Boolean 是否开启安全认证。
● true:开启
● false:未开启 enterprise_pro
ject_id String 企业项目ID。
is_logical_volu
me Boolean 实例扩容时用于区分老实例与新实例。
● true:新创建的实例,允许磁盘动态扩容不需 要重启。
● false:老实例
extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁 盘。
type String 实例类型:集群,cluster。
product_id String 产品标识。
security_grou
p_id String 安全组ID。
security_grou
p_name String 租户安全组名称。
subnet_id String 子网ID。
available_zon
es Array of
strings 实例节点所在的可用区,返回“可用区ID”。
total_storage_
space Integer 总共消息存储空间,单位:GB。
storage_resou
rce_id String 存储资源ID。
参数 参数类型 描述 storage_spec_
code String IO规格。
ipv6_enable Boolean 是否开启ipv6。
ipv6_connect_
addresses Array of
strings IPv6的连接地址。
tags Array of
TagEntity
objects标签列表。
表5-9 TagEntity
参数 参数类型 描述
key String 键。最大长度36个unicode字符。
key不能为空,不能为空字符串。
不能包含下列字符:非打印字符ASCII(0-31),
“=”,“*”,“<”,“>”,“\”,“,”,“|”,
“/”。
value String 值。每个值最大长度43个unicode字符。
value不能为空,可以空字符串。
不能包含下列字符:非打印字符ASCII(0-31),
“=”,“*”,“<”,“>”,“\”,“,”,“|”,
“/”。
请求示例
GET https://{endpoint}/v2/{project_id}/instances
响应示例
状态码: 200
查询所有实例列表成功。
{ "instances" : [ {
"name" : "api-explorer", "engine" : "rabbitmq", "port" : 5672, "status" : "RUNNING", "type" : "single",
"specification" : "2vCPUs 4GB", "engine_version" : "3.7.17", "connect_address" : "192.168.0.74",
"instance_id" : "de873040-d661-4770-aa96-9329c71d7c8a", "resource_spec_code" : "dms.instance.rabbitmq.single.c3.2u4g", "charging_mode" : 1,
"vpc_id" : "40a6501e-85ca-4449-a0db-b8bc7f0cec28",
"vpc_name" : "vpc-a400", "created_at" : "1590047080687", "product_id" : "00300-30109-0--0",
"security_group_id" : "bfd68e26-f8ef-4a91-a373-0a8f5c198601", "security_group_name" : "Sys-default",
"subnet_id" : "a7f9a564-30dd-4059-8124-364ca6554578", "available_zones" : [ "9f1c5806706d4c1fb0eb72f0a9b18c77" ], "user_id" : "3df5acbc24a54fadb62a043c9000a307",
"user_name" : "********", "access_user" : "********", "maintain_begin" : "22:00:00", "maintain_end" : "02:00:00", "enable_log_collection" : false, "storage_space" : 88,
"total_storage_space" : 100, "used_storage_space" : 4, "enable_publicip" : false, "ssl_enable" : false,
"management_connect_address" : "http://192.168.0.74:15672", "storage_resource_id" : "52be287d-1d6a-4d30-937e-185b3f176fc4", "storage_spec_code" : "dms.physical.storage.normal",
"service_type" : "advanced", "storage_type" : "hec", "enterprise_project_id" : "0", "tags" : [ {
"key" : "key1", "value" : "value1"
}, {
"key" : "key2", "value" : "value2"
} ],
"is_logical_volume" : true, "extend_times" : 0, "ipv6_enable" : false,
"ipv6_connect_addresses" : [ ], "connector_enable" : false, "connector_id" : "", "rest_enable" : false, "rest_connect_address" : "", "public_boundwidth" : 0,
"message_query_inst_enable" : true, "vpc_client_plain" : false,
"support_features" :
"kafka.new.pod.port,feature.physerver.kafka.topic.modify,feature.physerver.kafka.topic.accesspolicy,message_t race_enable,features.pod.token.access,feature.physerver.kafka.pulbic.dynamic,roma_app_enable,features.log.c ollection,auto_topic_switch,feature.physerver.kafka.user.manager",
"trace_enable" : false, "agent_enable" : false, "disk_encrypted" : false, "enable_auto_topic" : false, "ces_version" : "linux,v1"
} ],
"instance_num" : 1 }
状态码
状态码 描述
200 查询所有实例列表成功。
错误码
请参见错误码。
5.1.3 查询指定实例
功能介绍
查询指定实例的详细信息。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/instances/{instance_id}
表5-10 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
无
响应参数
状态码: 200
表5-11 响应 Body 参数
参数 参数类型 描述
name String 实例名称。
engine String 消息引擎。
engine_versio
n String 消息引擎版本。
specification String 实例规格。
● RabbitMQ实例单机返回vm规格。
● RabbitMQ实例集群返回vm规格和节点数。
storage_space Integer 消息存储空间,单位:GB。
used_storage_
space Integer 已使用的消息存储空间,单位:GB。
connect_addr
ess String 实例连接IP地址。
参数 参数类型 描述
port Integer 实例连接端口。
status String 实例的状态。
description String 实例描述。
instance_id String 实例ID。
resource_spec
_code String 资源规格标识。
● dms.instance.rabbitmq.single.c3.2u4g:
RabbitMQ单机,vm规格2u4g
● dms.instance.rabbitmq.single.c3.4u8g:
RabbitMQ单机,vm规格4u8g
● dms.instance.rabbitmq.single.c3.8u16g:
RabbitMQ单机,vm规格8u16g
● dms.instance.rabbitmq.single.c3.16u32g:
RabbitMQ单机,vm规格16u32g
● dms.instance.rabbitmq.cluster.c3.4u8g.3:
RabbitMQ集群,vm规格4u8g,3个节点
● dms.instance.rabbitmq.cluster.c3.4u8g.5:
RabbitMQ集群,vm规格4u8g,5个节点
● dms.instance.rabbitmq.cluster.c3.4u8g.7:
RabbitMQ集群,vm规格4u8g,7个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.3:
RabbitMQ集群,vm规格8u16g,3个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.5:
RabbitMQ集群,vm规格8u16g,5个节点
● dms.instance.rabbitmq.cluster.c3.8u16g.7:
RabbitMQ集群,vm规格8u16g,7个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.3:
RabbitMQ集群,vm规格16u32g,3个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.5:
RabbitMQ集群,vm规格16u32g,5个节点
● dms.instance.rabbitmq.cluster.c3.16u32g.7:
RabbitMQ集群,vm规格16u32g,7个节点 charging_mod
e Integer 付费模式,1表示按需计费,0表示包年/包月计
费。
vpc_id String VPC ID。
vpc_name String VPC的名称。
created_at String 完成创建时间。格式为时间戳,指从格林威治时 间 1970年01月01日00时00分00秒起至指定时间 的偏差总毫秒数。
user_id String 用户ID。
参数 参数类型 描述 user_name String 用户名。
order_id String 订单ID,只有在包周期计费时才会有order_id 值,其他计费方式order_id值为空。
maintain_begi
n String 维护时间窗开始时间,格式为HH:mm:ss。
maintain_end String 维护时间窗结束时间,格式为HH:mm:ss。
enable_publici
p Boolean RabbitMQ实例是否开启公网访问功能。
● true:开启
● false:未开启 publicip_addr
ess String RabbitMQ实例绑定的弹性IP地址。
如果未开启公网访问功能,该字段值为null。
publicip_id String RabbitMQ实例绑定的弹性IP地址的ID。
如果未开启公网访问功能,该字段值为null。
management _connect_add ress
String RabbitMQ实例的管理地址。
ssl_enable Boolean 是否开启安全认证。
● true:开启
● false:未开启 enterprise_pro
ject_id String 企业项目ID。
is_logical_volu
me Boolean 实例扩容时用于区分老实例与新实例。
● true:新创建的实例,允许磁盘动态扩容不需 要重启。
● false:老实例
extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁 盘。
type String 实例类型:集群,cluster。
product_id String 产品标识。
security_grou
p_id String 安全组ID。
security_grou
p_name String 租户安全组名称。
subnet_id String 子网ID。
available_zon
es Array of
strings 实例节点所在的可用区,返回“可用区ID”。
参数 参数类型 描述 total_storage_
space Integer 总共消息存储空间,单位:GB。
storage_resou
rce_id String 存储资源ID。
storage_spec_
code String IO规格。
ipv6_enable Boolean 是否开启ipv6。
ipv6_connect_
addresses Array of
strings IPv6的连接地址。
tags Array of
TagEntity
objects标签列表。
表5-12 TagEntity
参数 参数类型 描述
key String 键。最大长度36个unicode字符。
key不能为空,不能为空字符串。
不能包含下列字符:非打印字符ASCII(0-31),
“=”,“*”,“<”,“>”,“\”,“,”,“|”,
“/”。
value String 值。每个值最大长度43个unicode字符。
value不能为空,可以空字符串。
不能包含下列字符:非打印字符ASCII(0-31),
“=”,“*”,“<”,“>”,“\”,“,”,“|”,
“/”。
请求示例
GET https://{endpoint}/v2/{project_id}/instances/{instance_id}
响应示例
状态码: 200 查询指定实例成功。
{ "name" : "api-explorer", "engine" : "rabbitmq", "port" : 5672, "status" : "RUNNING", "type" : "single",
"specification" : "2vCPUs 4GB",
"engine_version" : "3.7.17", "connect_address" : "192.168.0.74", "connect_dn" : "",
"instance_id" : "de873040-d661-4770-aa96-9329c71d7c8a", "resource_spec_code" : "dms.instance.rabbitmq.single.c3.2u4g", "charging_mode" : 1,
"vpc_id" : "40a6501e-85ca-4449-a0db-b8bc7f0cec28", "vpc_name" : "vpc-a400",
"created_at" : "1590047080687", "product_id" : "00300-30109-0--0",
"security_group_id" : "bfd68e26-f8ef-4a91-a373-0a8f5c198601", "security_group_name" : "Sys-default",
"subnet_id" : "a7f9a564-30dd-4059-8124-364ca6554578", "subnet_name" : "subnet-a429",
"subnet_cidr" : "192.168.0.0/24",
"available_zones" : [ "9f1c5806706d4c1fb0eb72f0a9b18c77" ], "user_id" : "3df5acbc24a54fadb62a043c9000a307",
"user_name" : "paas_dms_pwx483199_01", "access_user" : "root",
"maintain_begin" : "22:00:00", "maintain_end" : "02:00:00", "enable_log_collection" : false, "storage_space" : 88,
"total_storage_space" : 100, "used_storage_space" : 4, "enable_publicip" : false, "ssl_enable" : false,
"management_connect_address" : "http://192.168.0.74:15672", "storage_resource_id" : "52be287d-1d6a-4d30-937e-185b3f176fc4", "storage_spec_code" : "dms.physical.storage.normal",
"service_type" : "advanced", "storage_type" : "hec", "enterprise_project_id" : "0", "tags" : [ {
"key" : "key1", "value" : "value1"
}, {
"key" : "key2", "value" : "value2"
} ],
"is_logical_volume" : true, "extend_times" : 0, "ipv6_enable" : false,
"ipv6_connect_addresses" : [ ], "connector_enable" : false, "connector_id" : "", "rest_enable" : false, "rest_connect_address" : "", "public_boundwidth" : 0,
"message_query_inst_enable" : true, "vpc_client_plain" : false,
"support_features" :
"kafka.new.pod.port,feature.physerver.kafka.topic.modify,feature.physerver.kafka.topic.accesspolicy,message_t race_enable,features.pod.token.access,feature.physerver.kafka.pulbic.dynamic,roma_app_enable,features.log.c ollection,auto_topic_switch,feature.physerver.kafka.user.manager",
"trace_enable" : false, "agent_enable" : false, "disk_encrypted" : false, "enable_auto_topic" : false, "ces_version" : "linux,v1"
}
状态码
状态码 描述
200 查询指定实例成功。
错误码
请参见错误码。
5.1.4 删除指定的实例
功能介绍
删除指定的实例,释放该实例的所有资源。
调试
您可以在API Explorer中调试该接口。
URI
DELETE /v2/{project_id}/instances/{instance_id}
表5-13 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
无
响应参数
无
请求示例
DELETE https://{endpoint}/v2/{project_id}/instances/{instance_id}
响应示例
无
状态码
状态码 描述
204 删除实例成功。
错误码
请参见错误码。
5.1.5 修改实例信息
功能介绍
修改实例的名称和描述信息。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v2/{project_id}/instances/{instance_id}
表5-14 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
表5-15 请求 Body 参数
参数 是否必选 参数类型 描述
name 否 String 实例名称。
由英文字符开头,只能由英文字 母、数字、中划线组成,长度为 4~64的字符。
description 否 String 实例的描述信息。
长度不超过1024的字符串。
说明\与"在json报文中属于特殊字符,
如果参数值中需要显示\或者"字 符,请在字符前增加转义字符\,比 如\或者"。
参数 是否必选 参数类型 描述 maintain_begi
n 否 String 维护时间窗开始时间,格式为
HH:mm:ss。
● 维护时间窗开始和结束时间 必须为指定的时间段。
● 开始时间必须为22:00:00、
02:00:00、06:00:00、
10:00:00、14:00:00和 18:00:00。
● 该参数不能单独为空,若该 值为空,则结束时间也为 空。系统分配一个默认开始 时间02:00:00。
maintain_end 否 String 维护时间窗结束时间,格式为 HH:mm:ss。
● 维护时间窗开始和结束时间 必须为指定的时间段。
● 结束时间在开始时间基础上 加四个小时,即当开始时间 为22:00:00时,结束时间为 02:00:00。
● 该参数不能单独为空,若该 值为空,则开始时间也为 空。系统分配一个默认结束 时间06:00:00。
security_grou
p_id 否 String 安全组ID。
enable_publici
p 否 Boolean RabbitMQ实例是否开启公网访
问功能。
● true:开启
● false:不开启
publicip_id 否 String RabbitMQ实例绑定的弹性IP地 址的id。
如果开启了公网访问功能(即 enable_publicip为true),该字 段为必选。
获取方法:登录弹性公网IP和带 宽的控制台界面,在弹性公网IP 的详情页面查的基本信息栏找 ID。
enterprise_pro
ject_id 否 String 企业项目。
响应参数
无
请求示例
● 修改实例的名称和描述。
PUT https://{endpoint}/v2/{project_id}/instances/{instance_id}
{ "name" : "rabbitmq-01",
"description" : "instance description"
}
● 修改实例的名称、描述和维护时间窗。
PUT https://{endpoint}/v2/{project_id}/instances/{instance_id}
{ "name" : "rabbitmq-01",
"description" : "instance description", "maintain_begin" : "02:00:00", "maintain_end" : "06:00:00"
}
● 实例开启公网访问。
PUT https://{endpoint}/v2/{project_id}/instances/{instance_id}
{ "enable_publicip" : true,
"publicip_id" : "32685c2b-xxxx-xxxx-86c6-a1902359xxxx"
}
响应示例
无
状态码
状态码 描述
204 修改实例成功。
错误码
请参见错误码。
5.1.6 批量重启或删除实例
功能介绍
批量重启或删除实例。
在实例重启过程中,客户端的生产与消费消息等请求会被拒绝。
实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/instances/action 表5-16 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
请求参数
表5-17 请求 Body 参数
参数 是否必选 参数类型 描述
instances 否 Array of
strings 实例的ID列表。
action 是 String 对实例的操作:restart、delete all_failure 否 String 是否批量删除创建失败的实例。
当参数值为“true”时,删除租 户所有创建失败的实例,此时请 求参数instances可为空。
响应参数
状态码: 200
表5-18 响应 Body 参数
参数 参数类型 描述
results Array of
results
objects修改实例的结果。
表5-19 results
参数 参数类型 描述
result String 操作结果:
● success: 操作成功
● failed: 操作失败 instance String 实例ID。
请求示例
● 批量重启实例。
POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "restart",
"instances" : [ "54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea- dbad-4d79-9610-7163e6f8b640" ]
}
● 批量删除实例。
POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete",
"instances" : [ "54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea- dbad-4d79-9610-7163e6f8b640" ]
}
● 删除所有创建失败的实例。
POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete",
"allFailure" : true }
响应示例
状态码: 200
重启或者删除实例成功。
{ "results" : [ { "result" : "success",
"instance" : "019cacb7-4ff0-4d3c-9f33-f5f7b7fdc0e6"
} ] }
状态码
状态码 描述
200 重启或者删除实例成功。
错误码
请参见错误码。
5.2 实例管理
5.2.1 重置密码
功能介绍
重置密码。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/instances/{instance_id}/password
表5-20 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
表5-21 请求 Body 参数
参数 是否必选 参数类型 描述
new_passwor
d 否 String 8-32个字符。 至少包含以下字
符中的3种: - 大写字母 - 小写 字母 - 数字 - 特殊字符`~!@#$
%^&*()-_=+\|[{}];:'",<.>/? 和空 格,并且不能以-开头。
响应参数
无
请求示例
POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/password
{ "new_password" : "Cloud@12#ab34"
}
响应示例
无
状态码
状态码 描述
204 重置密码成功。
错误码
请参见错误码。
5.2.2 查询插件列表
功能介绍
查询插件列表。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/instances/{instance_id}/rabbitmq/plugins
表5-22 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
无
响应参数
状态码: 200
表5-23 响应 Body 参数
参数 参数类型 描述
plugins Array of
PluginEntity
objects插件信息列表。
表5-24 PluginEntity
参数 参数类型 描述
running Boolean 是否运行。
enable Boolean 是否启用。
name String 插件名称。
version String 插件版本。
请求示例
'GET https://{endpoint}/v2/{project_id}/instances/{instance_id}/rabbitmq/plugins'
响应示例
状态码: 200 查询插件列表成功。
{ "plugins" : [ { "running" : true, "enable" : true,
"name" : "rabbitmq_amqp1_0", "version" : "3.7.17"
}, {
"running" : true, "enable" : true,
"name" : "rabbitmq_delayed_message_exchange", "version" : "3.8.0"
}, {
"running" : false, "enable" : false,
"name" : "rabbitmq_federation", "version" : "3.7.17"
} ] }
状态码
状态码 描述
200 查询插件列表成功。
错误码
请参见错误码。
5.2.3 开启或关闭插件
功能介绍
开启或关闭插件。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v2/{project_id}/instances/{instance_id}/rabbitmq/plugins
表5-25 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
表5-26 请求 Body 参数
参数 是否必选 参数类型 描述
enable 否 Boolean 是否开启改插件。
plugins 否 String 插件列表,多个插件中间用
“,”隔开。
响应参数
状态码: 200
表5-27 响应 Body 参数
参数 参数类型 描述
job_id String 后台任务ID。
请求示例
开启或关闭插件。
PUT https://{endpoint}/v2/{project_id}/instances/{instance_id}/rabbitmq/plugins { "enable" : true,
"plugins" : "rabbitmq_federation,rabbitmq_shovel"
}
响应示例
状态码: 200
开启或关闭插件成功。
{ "job_id" : "8abfa7b27437db8f01744ea8ad4f245e"
}
状态码
状态码 描述
200 开启或关闭插件成功。
错误码
请参见错误码。
5.3 规格变更管理
5.3.1 查询可扩容规格列表
功能介绍
查询可扩容规格列表。
RabbtiMQ只支持只增加节点数的扩容方式。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/instances/{instance_id}/extend
表5-28 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
表5-29 Query 参数
参数 是否必选 参数类型 描述
type 是 String 产品的类型。
● advanced:专享版
● platinum:铂金版
● dec:专属云版
● exp:体验版
engine 是 String 消息引擎的类型。支持的类型为
rabbitmq。
请求参数
无
响应参数
状态码: 200
表5-30 响应 Body 参数
参数 参数类型 描述
hourly Array of
hourly
objects表示按需付费的产品列表。
monthly Array of
monthly
objects表示包年包月的产品列表。当前暂不支持通过API 创建包年包月的Rabbitmq实例。
表5-31 hourly
参数 参数类型 描述
name String 消息引擎的名称,该字段显示为rabbitmq。
version String 消息引擎的版本,当前仅支持3.7.17。
参数 参数类型 描述 values Array of
values
objects产品规格列表。
表5-32 values
参数 参数类型 描述
detail Array of
detail objects
规格详情。name String 实例类型。
unavailable_z
ones Array of
strings 资源售罄的可用区列表。
available_zon
es Array of
strings 有可用资源的可用区列表。
表5-33 detail
参数 参数类型 描述
storage String 消息存储空间。
product_id String 产品ID。
spec_code String 规格ID。
io Array of io
objects IO信息。
unavailable_z
ones Array of
strings 资源售罄的可用区列表。
available_zon
es Array of
strings 有可用资源的可用区列表。
ecs_flavor_id String 该产品规格对应的虚拟机规格。
arch_type String 实例规格架构类型。当前仅支持X86。
表5-34 io
参数 参数类型 描述
io_type String IO类型。
参数 参数类型 描述 storage_spec_
code String IO规格。
available_zon
es Array of
strings IO未售罄的可用区列表。
unavailable_z
ones Array of
strings IO已售罄的不可用区列表。
volume_type String 磁盘类型。
表5-35 monthly
参数 参数类型 描述
name String 消息引擎的名称,该字段显示为rabbitmq。
version String 消息引擎的版本,当前仅支持3.7.17。
values Array of
values
objects产品规格列表。
表5-36 values
参数 参数类型 描述
detail Array of
detail objects
规格详情。name String 实例类型。
unavailable_z
ones Array of
strings 资源售罄的可用区列表。
available_zon
es Array of
strings 有可用资源的可用区列表。
表5-37 detail
参数 参数类型 描述
storage String 消息存储空间。
product_id String 产品ID。
spec_code String 规格ID。
参数 参数类型 描述 io Array of io
objects IO信息。
unavailable_z
ones Array of
strings 资源售罄的可用区列表。
available_zon
es Array of
strings 有可用资源的可用区列表。
ecs_flavor_id String 该产品规格对应的虚拟机规格。
arch_type String 实例规格架构类型。当前仅支持X86。
表5-38 io
参数 参数类型 描述
io_type String IO类型。
storage_spec_
code String IO规格。
available_zon
es Array of
strings IO未售罄的可用区列表。
unavailable_z
ones Array of
strings IO已售罄的不可用区列表。
volume_type String 磁盘类型。
请求示例
GET https://{endpoint}/v2/{project_id}/instances/{instance_id}/extend?type={type}&engine={engine}
响应示例
状态码: 200 查询成功。
{ "Hourly" : [ {
"name" : "RabbitMQ", "version" : "3.7.17", "values" : [ { "detail" : [ {
"vm_specification" : "4vCPUs 8GB", "product_info" : [ {
"storage" : "300", "node_num" : "3",
"product_id" : "00300-30209-0--0",
"spec_code" : "dms.instance.rabbitmq.cluster.c3.4u8g.3", "io" : [ {
"io_type" : "high",
"storage_spec_code" : "dms.physical.storage.high",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SAS"
}, {
"io_type" : "ultra",
"storage_spec_code" : "dms.physical.storage.ultra",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SSD"
} ],
"unavailable_zones" : [ "cn-north-4c", "cn-north-4d", "cn-north-4e", "cn-north-4f", "cn-north-4g" ], "available_zones" : [ "cn-north-4b", "cn-north-4a" ],
"ecs_flavor_id" : "c6.xlarge.2"
}, {
"storage" : "500", "node_num" : "5",
"product_id" : "00300-30211-0--0",
"spec_code" : "dms.instance.rabbitmq.cluster.c3.4u8g.5", "io" : [ {
"io_type" : "high",
"storage_spec_code" : "dms.physical.storage.high",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SAS"
}, {
"io_type" : "ultra",
"storage_spec_code" : "dms.physical.storage.ultra",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SSD"
} ],
"unavailable_zones" : [ "cn-north-4c", "cn-north-4d", "cn-north-4e", "cn-north-4f", "cn-north-4g" ], "available_zones" : [ "cn-north-4b", "cn-north-4a" ],
"ecs_flavor_id" : "c6.xlarge.2"
}, {
"storage" : "700", "node_num" : "7",
"product_id" : "00300-30213-0--0",
"spec_code" : "dms.instance.rabbitmq.cluster.c3.4u8g.7", "io" : [ {
"io_type" : "high",
"storage_spec_code" : "dms.physical.storage.high",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SAS"
}, {
"io_type" : "ultra",
"storage_spec_code" : "dms.physical.storage.ultra",
"available_zones" : [ "cn-north-4d", "cn-north-4b", "cn-north-4g", "cn-north-4e", "cn-north-4f", "cn- north-4c", "cn-north-4a" ],
"volume_type" : "SSD"
} ],
"unavailable_zones" : [ "cn-north-4c", "cn-north-4d", "cn-north-4e", "cn-north-4f", "cn-north-4g" ], "available_zones" : [ "cn-north-4b", "cn-north-4a" ],
"ecs_flavor_id" : "c6.xlarge.2"
} ],
"unavailable_zones" : [ "cn-north-4c", "cn-north-4d", "cn-north-4e", "cn-north-4f", "cn-north-4g" ], "available_zones" : [ "cn-north-4b", "cn-north-4a" ],
"arch_type" : "X86"
} ],
"name" : "cluster",
"unavailable_zones" : [ "cn-north-4c", "cn-north-4d", "cn-north-4e", "cn-north-4f", "cn-north-4g" ], "available_zones" : [ "cn-north-4b", "cn-north-4a" ]
} ] } ],
"Monthly" : [ { "name" : "RabbitMQ", "version" : "3.7.17", "values" : [ {