7.1 API V1
7.1.1 实例管理类接口
7.1.1.1 创建实例
说明
当前页面API为历史版本API,未来可能停止维护。请使用创建实例(按需)。
功能介绍
创建实例,该接口创建的实例为按需计费的方式。
URI
POST /v1.0/{project_id}/instances 参数说明见表7-1。
表7-1 参数说明
参数 类型 必选 说明
project_id String 是 项目ID。
请求消息
请求参数
参数说明见表7-2。
表7-2 参数说明
参数 类型 是否必
选
说明
name String 是 实例名称。
由英文字符开头,只能由英文字母、数字、中划 线组成,长度为4~64的字符。
description String 否 实例的描述信息。
长度不超过1024的字符串。
说明\与"在json报文中属于特殊字符,如果参数值中需要 显示\或者"字符,请在字符前增加转义字符\,比如\
\或者\"。
engine String 是 消息引擎:rabbitmq。
engine_vers
ion String 否 消息引擎的版本。
storage_spa
ce 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_gro
up_id String 是 租户安全组ID。
subnet_id String 是 子网ID。
available_z
ones Array 是 创建节点到指定的AZ ID,该参数不能为空数组 或者数组的值为空,详情请参考查询可用区信息 查询得到。
参数 类型 是否必 选
说明
product_id String 是 产品标识。
详情请参考查询产品规格列表。
maintain_b
egin String 否 维护时间窗开始时间,格式为HH:mm。
● 维护时间窗开始和结束时间必须为指定的时 间段,可参考查询维护时间窗时间段获取。
● 开始时间必须为22:00、02:00、06:00、
10:00、14:00和18:00。
● 该参数不能单独为空,若该值为空,则结束 时间也为空。系统分配一个默认开始时间 02:00。
maintain_e
nd String 否 维护时间窗结束时间,格式为HH:mm。
● 维护时间窗开始和结束时间必须为指定的时 间段,可参考查询维护时间窗时间段获取。
● 结束时间在开始时间基础上加四个小时,即 当开始时间为22:00时,结束时间为02:00。
● 该参数不能单独为空,若该值为空,则开始 时间也为空,系统分配一个默认结束时间 06:00。
enable_pub
licip Boolea
n 否 RabbitMQ实例是否开启公网访问功能。
● true:开启
● false:不开启
publicip_id String 否 RabbitMQ实例绑定的弹性IP地址的ID。
如果开启了公网访问功能(即enable_publicip为 true),该字段为必选。
ssl_enable Boolea
n 否 是否打开SSL加密访问。
● true:打开SSL加密访问。
● false:不打开SSL加密访问。
storage_spe
c_code String 是 存储IO规格。如何选择磁盘类型请参考磁盘类型 及性能介绍。
取值范围:
● dms.physical.storage.normal:
● dms.physical.storage.high
● dms.physical.storage.ultra enterprise_
project_id String 否 企业项目ID。
RabbitMQ实例的请求示例
{ "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": "",
"enterprise_project_id": "0",
"storage_spec_code": "dms.physical.storage.ultra"
}
响应消息
响应参数
参数说明见表7-3。
表7-3 参数说明
参数 类型 说明
instance_id String 实例ID
响应示例
{ "instance_id": "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}
状态码
操作成功的状态码如表7-4所示,其他响应见状态码。
表7-4 状态码
状态码 描述
200 创建实例成功。
7.1.1.2 查询指定实例
说明
当前页面API为历史版本API,未来可能停止维护。请使用查询指定实例。
功能介绍
查询指定实例的详细信息。
URI
GET /v1.0/{project_id}/instances/{instance_id}
参数说明见表7-5。
表7-5 参数说明
参数 类型 必选 说明
project_id String 是 项目ID。
instance_id String 是 实例ID。
请求消息
请求参数 无。
请求示例 无。
响应消息
响应参数
参数说明见表7-6。
表7-6 参数说明
参数 类型 说明
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个节点
type String 实例类型。
● 单机:single
● 集群:cluster
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。
product_id String 产品标识。
security_group_
id String 安全组ID。
security_group_
name String 租户安全组名称。
subnet_id String 子网ID。
subnet_name String 子网名称。
subnet_cidr String 子网网段。
available_zones Array 实例节点所在的可用区,返回“可用区ID”。
user_id String 用户id。
user_name String 用户名。
access_user 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_proje
ct_id String 企业项目ID。
is_logical_volu
me Boolean 实例扩容时用于区分老实例与新实例。
● true:新创建的实例,允许磁盘动态扩容不需 要重启。
● false:老实例。
extend_times String 实例扩容磁盘次数,如果超过20次则无法扩容磁 盘。
表7-7 错误码说明
错误码 说明
public.00.0001 内部服务错误。
public.00.0002 内部服务错误。
public.00.0003 内部服务错误。
public.00.0004 VPC创建失败。
public.00.0005 安全组创建失败。
public.00.0006 子网创建失败。
public.00.0007 子网状态异常。
public.00.0008 创建ECS失败。
public.00.0009 创建ECS失败。
public.00.0010 创建ECS失败。
public.00.0011 ECS绑定网卡失败。
public.00.0013 ECS启动失败。
public.00.0014 ECS启动失败。
public.00.0015 ECS停止失败。
public.00.0018 创建ECS失败,ECS资源配额不足。
public.00.0024 实例部署异常。
public.00.0025 实例部分节点故障。
public.00.0042 无法连接实例。
响应示例
{ "name" : "dms-a11e", "engine" : "rabbitmq", "engine_version" : "3.7.17", "specification" : "2vCPUs 4GB", "storage_space" : 100,
"used_storage_space" : 50,
"connect_address" : "192.168.3.100", "port" : 5672,
"status" : "RUNNING",
"description" : "Create a instance",
"instance_id" : "68d5745e-6af2-40e4-945d-fe449be00148", "resource_spec_code" : "dms.instance.rabbitmq.single.c3.2u4g", "type" : "single",
"charging_mode" : 1,
"vpc_id" : "27d99e17-42f2-4751-818f-5c8c6c03ff15",
"vpc_name" : "vpc_4944a40e-ac57-4f08-9d38-9786e2759458_192", "created_at" : "1526367063931",
"error_code" : null,
"product_id" : "00300-30109-0--0",
"security_group_id" : "60ea2db8-1a51-4ab6-9e11-65b418c24583",
"security_group_name" : "sg_6379_4944a40e-ac57-4f08-9d38-9786e2759458", "subnet_id" : "ec2f34b9-20eb-4872-85bd-bea9fc943128",
"subnet_name" : "subnet_az_7f336767-10ec-48a5-9ae8-9cacde119318", "subnet_cidr" : "192.168.0.0/24",
"available_zones" : ["1d7b939b382c4c3bb3481a8ca10da785"], "user_id": "6d0977e4c9b74ae7b5a083a8d0d8fafa",
"user_name": "aabb02", "access_user": "user", "order_id": "XXXXXXXXX", "maintain_begin" : "22:00", "maintain_end" : "02:00", "enable_publicip" : "true",
"publicip_id": "b7940732-11ef-459b-acab-cab0d26c74a3", "publicip_address": "192.168.10.5",
"ssl_enable": false,
"management_connect_address": "http://192.168.0.177:9999"
}
状态码
操作成功的状态码如表7-8所示,其他响应见状态码。
表7-8 状态码
状态码 描述
200 查询指定实例成功。
7.1.1.3 修改实例信息
说明
当前页面API为历史版本API,未来可能停止维护。请使用修改实例信息。
功能介绍
修改实例的名称和描述信息。
URI
PUT /v1.0/{project_id}/instances/{instance_id}
表7-9 参数说明
参数 类型 必选 备注
project_id String 是 项目ID。
instance_id String 是 实例ID。
请求消息
请求参数
参数说明见表7-10。
表7-10 参数说明
参数 类型 必选 说明
name String 否 实例名称。
由英文字符开头,只能由英文字母、数字、
中划线组成,长度为4~64的字符。
description String 否 实例的描述信息。
长度不超过1024的字符串。
说明\与"在json报文中属于特殊字符,如果参数值中 需要显示\或者"字符,请在字符前增加转义字符
\,比如\\或者\"。
maintain_begin 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_group_i
d String 否 安全组ID。
enable_publicip Boolean 否 RabbitMQ实例是否开启公网访问功能。
● true:开启
● false:不开启
publicip_id String 否 RabbitMQ实例绑定的弹性IP地址的id。
如果开启了公网访问功能(即
enable_publicip为true),该字段为必选。
enterprise_proje
ct_id String 否 企业项目ID。
请求示例 示例1 :
{ "name": "dms002",
"description": "instance description"
}
示例2
{ "name": "dms002",
"description": "instance description", "maintain_begin":"02:00",
"maintain_end":"06:00"
}
响应消息
响应参数 无。
响应样例 无。
状态码
操作成功的状态码如表7-11所示,其他响应见状态码。
表7-11 状态码
状态码 描述
204 修改实例成功。