7.1 API V1
7.1.1 实例管理类接口
7.1.1.5 批量重启、删除实例
说明
当前页面API为历史版本API,未来可能停止维护。请使用批量重启或删除实例。
功能介绍
批量重启或删除实例。
在实例重启过程中,客户端的生产与消费消息等请求会被拒绝。
实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。
URI
POST /v1.0/{project_id}/instances/action 参数说明见表7-14。
表7-14 参数说明
参数 类型 必选 说明
project_id String 是 项目ID。
请求消息
请求参数
参数说明见表7-15。
表7-15 参数说明
参数 类型 必选 说明
action String 是 对实例的操作:restart、delete instances Array 是 实例的ID列表。
参数 类型 必选 说明
allFailure String 否 是否批量删除创建失败的实例。
当参数值为“true”时,删除租户所有 创建失败的实例,此时请求参数 instances可为空。
请求示例 批量重启实例
{ "action" : "restart",
"instances" : ["54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea-dbad-4d79-9610-7163e6f8b640"]
}
批量删除实例
{ "action" : "delete",
"instances" : ["54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea-dbad-4d79-9610-7163e6f8b640"]
}
删除所有创建失败的实例
{ "action" : "delete", "allFailure" : "true"
}
响应消息
响应参数
当参数action为delete,allFailure值为true时,响应返回为空表示删除成功。参数说明 见表7-16。
表7-16 参数说明
参数 类型 说明
results Array 修改实例的结果。
表7-17 results 参数说明
参数 类型 说明
instance String 实例ID。
result String 操作结果:success、
failed。
响应示例
{ "results": [ {
"result": "success",
"instance": "afc90a2a-a02c-4cba-94d5-58dfa9ad1e0d"
}, {
"result": "success",
"instance": "67fc5f8d-3986-4f02-bb75-4075a23112de"
} ] }
状态码
操作成功的状态码如表7-18所示,其他响应见状态码。
表7-18 状态码
状态码 描述
200 重启或者删除实例成功。
7.1.1.6 查询所有实例列表
说明
当前页面API为历史版本API,未来可能停止维护。请使用查询所有实例列表。
功能介绍
查询租户的实例列表,支持按照条件查询。
URI
GET /v1.0/{project_id}/instances?
engine={engine}&name={name}&status={status}&id={id}&includeFailure={includeF ailure}&exactMatchName={exactMatchName}&enterprise_project_id={enterprise_p roject_id}
参数说明见表7-19。
表7-19 参数说明
参数 类型 必选 说明
project_i
d String 是 项目ID。
engine String 否 rabbitmq,参数缺失查询所有实例。
name String 否 实例名称。
id String 否 实例ID。
status String 否 实例状态。详细状态说明见实例状态说明。
参数 类型 必选 说明 includeF
ailure String 否 是否返回创建失败的实例数。
当参数值为“true”时,返回创建失败的实 例数。参数值为“false”或者其他值,不返 回创建失败的实例数。
exactMat
chName String 否 是否按照实例名称进行精确匹配查询。
默认为“false”,表示模糊匹配实例名称查 询。若参数值为“true”表示按照实例名称 进行精确匹配查询。
enterpris e_project _id
String 否 企业项目ID。
示例
GET /v1.0/bd6b78e2ff9e4e47bc260803ddcc7a21/instances?
start=1&limit=10&name=&status=&id=&includeFailure=true&exactMatchName=false
请求消息
请求参数 无。
请求示例 无。
响应消息
响应参数
参数说明见表7-20。
表7-20 参数说明
参数 类型 说明
instances Array 实例的详情数组。
instance_num Integer 实例个数。
表7-21 instance 参数说明
参数 类型 说明
name String 实例名称。
engine String 引擎。
参数 类型 说明 engine_version String 版本。
specification String 实例规格。
● RabbitMQ实例单机返回vm规格。
● RabbitMQ实例集群返回vm规格和节点数。
storage_space Integer 消息存储空间,单位:GB。
used_storage_s
pace Integer 已使用的消息存储空间,单位:GB。
connect_addres
s String 实例连接IP地址。
port Integer 实例连接端口。
status String 实例的状态。详细状态说明见实例状态说明。
description String 实例描述。
instance_id String 实例ID。
参数 类型 说明 resource_spec_c
ode 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_mode Integer 付费模式,1表示按需计费,0表示包年/包月计
费。
vpc_id String VPC ID。
vpc_name String VPC的名称。
created_at String 完成创建时间。
格式为时间戳,指从格林威治时间 1970年01月01 日00时00分00秒起至指定时间的偏差总毫秒数。
error_code String 实例创建失败或状态异常时的错误码,错误码说 明见表7-7。
user_id String 用户id。
user_name String 用户名。
order_id String 订单ID,只有在包周期计费时才会有order_id值,
其他计费方式order_id值为空。
参数 类型 说明
maintain_begin String 维护时间窗开始时间,格式为HH:mm。
maintain_end String 维护时间窗结束时间,格式为HH:mm。
enable_publicip Boolean RabbitMQ实例是否开启公网访问功能。
● true:开启
● false:未开启 publicip_addres
s String RabbitMQ实例绑定的弹性IP地址。
如果未开启公网访问功能,该字段值为null。
publicip_id String RabbitMQ实例绑定的弹性IP地址的ID。
如果未开启公网访问功能,该字段值为null。
management_c
onnect_address String RabbitMQ实例的管理地址。
ssl_enable Boolean 是否开启安全认证。
● true:开启
● false:未开启 enterprise_proj
ect_id String 企业项目ID。
is_logical_volu
me Boolean 实例扩容时用于区分老实例与新实例。
● true:新创建的实例,允许磁盘动态扩容不需 要重启。
● false:老实例。
extend_times String 实例扩容磁盘次数,如果超过20次则无法扩容磁 盘。
响应示例
{ "instances": [ {
"name": "rabbitmq-lxy001", "engine": "rabbitmq", "port": 5672, "status": "RUNNING", "type": "single",
"specification": "2vCPUs 4GB", "engine_version": "3.7.17",
"connect_address": "192.168.255.237",
"instance_id": "595926bf-a648-47d8-91bc-461956794c2b", "resource_spec_code": "dms.instance.rabbitmq.single.c3.2u4g", "charging_mode": 1,
"vpc_id": "1a28dcc5-c90d-421c-82bb-783f30f5b40a", "vpc_name": "vpc-y00292973",
"created_at": "1562583302800", "product_id": "00300-30109-0--0",
"security_group_id": "0cc8fdb7-872a-49da-a062-88ccc39463b5", "security_group_name": "sg-65eb-nw-test",
"subnet_id": "ebba7994-260d-42ab-bce1-39a08b365dc8", "available_zones": [
"d573142f24894ef3bd3664de068b44b0"
],
"user_id": "50a4156d334a4a82b8745dc730dc1e00", "user_name": "hwstaff_f00443635",
"access_user": "hwstaff_pub_CBUInfo", "maintain_begin": "02:00:00", "maintain_end": "06:00:00", "storage_space": 88, "total_storage_space": 100, "used_storage_space": 4, "enable_publicip": false, "ssl_enable": false,
"management_connect_address": "http://192.168.255.237:15672", "storage_resource_id": "34825335-61cb-4ee0-949e-24b08170edb2", "storage_spec_code": "dms.physical.storage.ultra",
"service_type": "advanced", "storage_type": "hec", "enterprise_project_id": "0", "is_logical_volume": false, "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":
"feature.physerver.kafka.topic.accesspolicy,message_trace_enable,feature.physerver.kafka.pulbic.dynamic,feat ure.physerver.kafka.user.manager",
"trace_enable": false }
],
"instance_num": 1 }
状态码
操作成功的状态码如表7-22所示,其他响应见状态码。
表7-22 状态码
状态码 描述
200 查询所有实例列表成功。
7.1.2 其他接口
7.1.2.1 查询可用区信息
说明
当前页面API为历史版本API,未来可能停止维护。请使用查询可用区信息。
功能介绍
在创建实例时,需要配置实例所在的可用区ID,可通过该接口查询可用区的ID。
URI
GET /v1.0/availableZones
请求消息
请求参数 无。
请求示例 无。
响应消息
响应参数
参数说明见表7-23、表7-24。
表7-23 参数说明
参数 类型 说明
regionId String 区域ID。
available_zon
es Array 可用区数组,具体请参考表7-24。
表7-24 available_zones 参数说明
参数 类型 说明
id String 可用区ID。
code String 可用区编码。
name String 可用区名称。
port String 可用区端口号。
resource_av
ailability String 分区上是否还有可用资源。
● true:还有资源。
● false:资源已售罄。
响应示例
{ regionId: "XXXXXX",
available_zones:[
{
"id":"1d7b939b382c4c3bb3481a8ca10da768", "name":"az10.dc1",
"code":"az10.dc1", "port":"8002",
"resource_availability": "true"
}, {
"id":"1d7b939b382c4c3bb3481a8ca10da769", "name":"az10.dc2",
"code":"az10.dc2", "port":"8002",
"resource_availability": "true"
} ] }
状态码
操作成功的状态码如表7-25所示,其他响应见状态码。
表7-25 状态码
状态码 描述
200 查询成功。
7.1.2.2 查询产品规格列表
说明
当前页面API为历史版本API,未来可能停止维护。请使用查询产品规格列表。
功能介绍
在创建实例时,需要配置订购的产品ID(即product_id),可通过该接口查询产品规 格。
URI
GET /v1.0/products?engine={engine}
参数说明见表7-26。
表7-26 参数说明
参数 类型 必选 说明
engine String 否 消息引擎的类型。
请求消息
请求参数
无。
请求示例 无。
响应消息
响应参数
Hourly或者Monthly的参数说明见表7-27。
表7-27 参数说明
参数 类型 备注
name String 消息引擎的名称。
version String 消息引擎的版本。
values Array 产品规格列表。
表7-28 values 参数说明
参数 类型 备注
detail Array 规格详情。
name String 实例类型,单机或者集群。
表7-29 RabbitMQ 单机实例的 detail 参数说明
参数 类型 备注
storage String 消息存储空间。
io Array IO信息。
vm_specification String 虚拟机规格。
product_id String 产品ID。
spec_code String 规格ID。
表7-30 RabbitMQ 集群实例的 detail 参数说明
参数 类型 备注
vm_specification String 虚拟机规格。
product_info Array 产品信息。
表7-31 product_info 参数说明
参数 类型 备注
storage String 消息存储空间。
io Array IO信息。
node_num Integer 集群的节点个数。
product_id String 产品ID。
spec_code String 规格ID。
表7-32 io 参数说明
参数 类型 备注
io_type String IO类型。
storage_spec_co
de String IO规格。
响应示例
RabbitMQ规格列表:
{ "Hourly": [ {
"name": "RabbitMQ", "version": "3.7.17", "values": [ {
"detail": [ {
"storage": "100", "io": [
{
"io_type": "normal",
"storage_spec_code": "dms.physical.storage.normal"
}, {
"io_type": "high",
"storage_spec_code": "dms.physical.storage.high"
}, {
"io_type": "ultra",
"storage_spec_code": "dms.physical.storage.ultra"
} ],
"vm_specification": "2vCPUs 4GB", "product_id": "00300-30109-0--0",
"spec_code": "dms.instance.rabbitmq.single.c3.2u4g"
}, {
"storage": "100", "io": [
{
"io_type": "normal",
"storage_spec_code": "dms.physical.storage.normal"
},
"spec_code": "dms.instance.rabbitmq.single.c3.4u8g"
},
"spec_code": "dms.instance.rabbitmq.single.c3.8u16g"
},
"spec_code": "dms.instance.rabbitmq.single.c3.16u32g"
}
{
{
],
"storage_spec_code": "dms.physical.storage.high"
"spec_code": "dms.instance.rabbitmq.single.c3.2u4g"
},
"spec_code": "dms.instance.rabbitmq.single.c3.4u8g"
},
"spec_code": "dms.instance.rabbitmq.single.c3.8u16g"
},
"spec_code": "dms.instance.rabbitmq.single.c3.16u32g"
}
"vm_specification": "16vCPUs 32GB",
]}
状态码
操作成功的状态码如表7-33所示,其他响应见状态码。
表7-33 状态码
状态码 描述
200 查询规格列表成功。
7.1.2.3 查询维护时间窗时间段
说明
当前页面API为历史版本API,未来可能停止维护。请使用查询维护时间窗时间段。
功能介绍
查询维护时间窗开始时间和结束时间。
URI
GET /v1.0/instances/maintain-windows
请求消息
请求参数 无。
请求示例 无。
响应消息
响应参数
参数说明见表表7-34、表7-35
表7-34 响应参数说明
参数 类型 备注
maintain_win
dows Array 支持的维护时间窗列表
表7-35 maintain_windows 参数说明
参数 类型 备注
seq Integer 序号。
begin String 维护时间窗开始时间。
end String 维护时间窗结束时间。
default Boolean 是否为默认时间段。
响应示例
{ "maintain_windows": [ {
"seq": 1, "begin": "22", "end": "02", "default": false },
{
"seq": 2, "begin": "02", "end": "06", "default": true },
{
"seq": 3, "begin": "06", "end": "10", "default": false },
{
"seq": 4, "begin": "10", "end": "14", "default": false },
{
"seq": 5, "begin": "14", "end": "18", "default": false },
{
"seq": 6, "begin": "18", "end": "22", "default": false }
] }
状态码
操作成功的状态码如表7-36所示,其他响应见状态码。
表7-36 状态码
状态码 描述
200 查询维护时间窗时间段成功。