更新时间:2024-10-29 GMT+08:00

创建实例

功能介绍

创建实例,该接口支持创建按需计费方式的实例。

URI

POST /v2/{engine}/{project_id}/instances

表1 路径参数

参数

是否必选

参数类型

描述

engine

String

消息引擎。

缺省值:rabbitmq

project_id

String

项目ID,获取方式请参见获取项目ID

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

String

实例名称。

由英文字符开头,只能由英文字母、数字、中划线、下划线组成,长度为4~64的字符。

description

String

实例的描述信息。

长度不超过1024的字符串。

说明:

\与"在json报文中属于特殊字符,如果参数值中需要显示\或者"字符,请在字符前增加转义字符\,比如\或者"。

engine

String

消息引擎:rabbitmq。

engine_version

String

消息引擎的版本。

  • RabbitMQ版本有:3.8.35。

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。

获取方法如下:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。

security_group_id

String

租户安全组ID。

获取方法如下:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。

subnet_id

String

子网ID。

获取方法如下:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。

available_zones

Array of strings

创建节点到指定且有资源的可用区ID。请参考查询可用区信息获取可用区ID。

该参数不能为空数组或者数组的值为空。

product_id

String

产品标识。

产品ID可以从查询产品规格列表获取。

如果产品ID为集群类型(即对应的type为cluster),broker_num字段为必选。

broker_num

Integer

代理个数。

当产品为单机类型,代理个数只能为1;当产品为集群类型,可选3、5、7个代理个数。

产品类型为single时:

  • 1

产品类型为cluster时:

  • 3

  • 5

  • 7

maintain_begin

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_publicip

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.high.v2

  • dms.physical.storage.ultra.v2

  • dms.physical.storage.high.dss.v2(专属云)

  • dms.physical.storage.ultra.dss.v2(专属云)

enterprise_project_id

String

企业项目ID。若为企业项目账号,该参数必填。

tags

Array of TagEntity objects

标签列表。

bss_param

BssParam object

表示包周期计费模式的相关参数。

如果为空,则默认计费模式为按需计费;否则是包周期方式。

表3 TagEntity

参数

是否必选

参数类型

描述

key

String

标签键。

  • 不能为空。

  • 对于同一个实例,Key值唯一。

  • 长度不超过36个字符。

  • 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”

  • 首尾字符不能为空格。

value

String

标签值。

  • 不能为空。

  • 长度不超过43个字符。

  • 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”

  • 首尾字符不能为空格。

表4 BssParam

参数

是否必选

参数类型

描述

is_auto_renew

Boolean

是否自动续订。

取值范围:

  • true: 自动续订。

  • false: 不自动续订。

默认不自动续订。

charging_mode

String

计费模式。

功能说明:付费方式。

取值范围:

  • prePaid:预付费,即包年包月;

  • postPaid:后付费,即按需付费;

默认为postPaid。

is_auto_pay

Boolean

下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。

取值范围:

  • true:是(自动支付)

  • false:否(需要客户手动支付)

默认为手动支付。

period_type

String

订购周期类型。

取值范围:

  • month:月

  • year:年

chargingMode为prePaid时生效且为必选值。

period_num

Integer

订购周期数。

取值范围:

  • periodType=month(周期类型为月)时,取值为[1,9];

  • periodType=year(周期类型为年)时,取值为[1,3];

chargingMode为prePaid时生效且为必选值。

order_id

String

可以用于指定创建的包周期实例的订单号,该订单号从cbc获取。

如果不传则自动创建一个订单号。

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

instance_id

String

实例ID。

请求示例

  • 创建一个按需付费的RabbitMQ实例,版本为3.8.35,规格为2U4G*1,100GB的存储空间。

    POST https://{endpoint}/v2/{engine}/{project_id}/instances
    
    {
      "name" : "rabbitmq-demo",
      "description" : "",
      "engine" : "RabbitMQ",
      "engine_version" : "3.8.35",
      "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" : "c6.2u4g.single",
      "ssl_enable" : false,
      "enable_publicip" : false,
      "publicip_id" : "",
      "storage_spec_code" : "dms.physical.storage.high.v2"
    }
  • 创建一个包年包月的RabbitMQ实例,版本为3.8.35,规格为2U4G*1,100GB的存储空间。

    POST https://{endpoint}/v2/{engine}/{project_id}/instances
    
    {
      "name" : "rabbitmq-demo",
      "description" : "",
      "engine" : "RabbitMQ",
      "engine_version" : "3.8.35",
      "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" : "c6.2u4g.single",
      "ssl_enable" : false,
      "enable_publicip" : false,
      "publicip_id" : "",
      "storage_spec_code" : "dms.physical.storage.high.v2",
      "bss_param" : {
        "charging_mode" : "prePaid",
        "period_type" : "month",
        "period_num" : 1,
        "is_auto_pay" : true
      }
    }

响应示例

状态码: 200

创建实例成功。

{
  "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}

状态码

状态码

描述

200

创建实例成功。

错误码

请参见错误码