
# 创建数据库实例 - CreateInstance
#### 功能介绍
创建FlexusRDS实例，可分为单机实例和主备实例。
本接口支持创建FlexusRDS实例时，在HTTP请求消息头中设置X-Client-Token请求头，保证请求幂等性。详细信息请参考[请求幂等性说明](https://support.huaweicloud.com/api-rds/rds_10_0205.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                 | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | rds:instance:create | write | -           | -   | -  | -      |
     
  
 
#### URI
- URI格式 POST /v3/{project_id}/instances
  
- 参数说明
  表1参数说明 
  | 名称         | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|:---|:---|
  | project_id | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-flexusrds/rds_03_0002.html)。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 名称                | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| name              | 是    | String           | **参数解释**： 实例名称。 **约束限制**： 同一租户下，同类型的实例名可重名。 **取值范围**： 实例名称长度最小为4字符，最大为64个字符，如果名称包含中文，则不超过64字节（注意：一个中文字符占用3个字节），必须以字母或中文开头，区分大小写，可以包含字母、数字、中划线、下划线、英文句号或中文，不能包含其他特殊字符。 **默认取值**： 不涉及。                                                                                                             |
| datastore         | 是    | Object           | **参数解释**： 数据库信息。 详情请参见[表3]。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                             |
| flavor_ref        | 是    | String           | **参数解释**： 规格码。 **约束限制**： 不涉及。 **取值范围**： 非空。参考[查询数据库规格 - ListFlavors](https://support.huaweicloud.com/api-flexusrds/rds_06_0002.html)响应消息[表3](https://support.huaweicloud.com/api-flexusrds/rds_06_0002.html#rds_06_0002__table66531170)中的"spec_code"获取。 **默认取值**： 不涉及。                      |
| volume            | 是    | Object           | **参数解释：** 实例存储信息。详情请参见[表6]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| region            | 是    | String           | **参数解释：** 区域ID。 **约束限制：** 不涉及。 **取值范围：** 非空，请参见[地区和终端节点](https://developer.huaweicloud.com/endpoint)。 **默认取值：** 不涉及。                                                                                                                                                                |
| availability_zone | 是    | String           | **参数解释：** 可用区ID。 **约束限制：** 对于数据库实例类型不是单机的实例，需要分别为实例所有节点指定可用区，并用逗号隔开。 **取值范围：** 非空，请参见[地区和终端节点](https://developer.huaweicloud.com/endpoint)。 **默认取值：** 不涉及。                                                                                                                          |
| ha                | 否    | Object           | **参数解释：** HA配置参数，详情请参见[表4]。 **约束限制：** 仅创建主备实例时使用。                                                                                                                                                                                                                                                                                                                        |
| port              | 否    | String           | **参数解释：** 数据库端口信息。 **约束限制：** 不涉及。 **取值范围：** - 不传该参数时，默认3306。  - 传入该参数时，取值1024～65535（其中12017和33071被RDS系统占用不可设置）。   **默认取值：** 3306                |
| password          | 否    | String           | **参数解释：** 数据库密码。 **约束限制：** 建议您输入高强度密码，以提高安全性，防止出现密码被暴力破解等安全风险。如果您提供的密码被系统视为弱密码，您将收到错误提示，请提供更高强度的密码。 **取值范围：** 数据库支持的密码长度是8\~32个字符，至少包含大写字母、小写字母、数字、特殊字符三种字符的组合。允许输入\~!@#$%\^\*-_=+?,()\&特殊字符。 **默认取值：** 不涉及。                                                                           |
| backup_strategy   | 否    | Object           | **参数解释：** 高级备份策略。详情请参见[表5]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                |
| charge_info       | 是    | Object           | **参数解释：** 包周期计费类型。详情请参见[表7]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                               |
| time_zone         | 否    | String           | **参数解释：** UTC时区。 **约束限制：** 不涉及。 **取值范围：** - 不传该参数，默认为UTC时间。  - 传入该参数，取值范围为UTC-12:00\~UTC+12:00，且只支持整段时间，如UTC+08:00，不支持UTC+08:30。   **默认取值：** UTC+08:00 |
| tags              | 否    | Array of objects | **参数解释：** 标签列表，根据标签键值对创建实例。 详情请参见 [表8]。 **约束限制：** 如果创建实例时同时使用多个标签键值对，中间使用逗号分隔开，最多包含20组。                                                                                                                                                                                                                                                   |
| is_flexus         | 是    | boolean          | **参数解释：** 创建FlexusRDS实例。 **约束限制：** 不涉及。 **取值范围：** true **默认取值：** 不涉及。                                                                                                                                                                                                             |
   
 表3datastore字段数据结构说明 
| 名称      | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| type    | 是    | String | **参数解释：** 数据库引擎。 **约束限制：** 不涉及。 **取值范围：** MySQL **默认取值：** 不涉及。       |
| version | 是    | String | **参数解释：** 数据库版本。 **约束限制：** 不涉及。 **取值范围：** 5.7、8.0 **默认取值：** 不涉及。 |
   
 表4ha字段数据结构说明 
| 名称               | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| mode             | 是    | String | **参数解释：** 实例主备模式。 **约束限制：** 不涉及。 **取值范围：** HA，不区分大小写。 **默认取值：** 不涉及。                                                                                                                                                   |
| replication_mode | 是    | String | **参数解释：** 备机同步参数。 **约束限制：** 不涉及。 **取值范围：** - async：异步模式。  - semisync：半同步模式。   **默认取值：** 不涉及。 |
   
 表5backup_strategy字段数据结构说明 
| 名称         | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| start_time | 是    | String  | **参数解释：** 备份时间段。自动备份将在该时间段内触发。 **约束限制：** 不涉及。 **取值范围：** 非空，格式必须为hh:mm-HH:MM且有效，当前时间指UTC时间。 - HH取值必须比hh大1。  - mm和MM取值必须相同，且取值必须为00、15、30或45。   示例： - 08:15-09:15  - 23:00-00:00   **默认取值：** 不涉及。 |
| keep_days  | 否    | Integer | **参数解释：** 指定备份文件的可保存天数。 **约束限制：** 不涉及。 **取值范围：** - 不传该参数，默认7天。  - 传入该参数，0～732。取值为0，表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请，自动备份最长可以保留2562天。   **默认取值：** 7                                                                                                                                                                                                                                                         |
   
 表6volume字段数据结构说明 
| 名称   | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| type | 是    | String  | **参数解释：** 磁盘类型。 **约束限制：** 不涉及。 **取值范围：** CLOUDSSD：区分大小写，表示SSD云盘，仅支持通用型和独享型规格实例。 **默认取值：** 不涉及。 |
| size | 是    | Integer | **参数解释：** 磁盘大小。 **约束限制：** 不涉及。 **取值范围：** 40 GB\~4000 GB，必须为10的整数倍。 **默认取值：** 不涉及。          |
   
 表7charge_info字段数据结构说明 
| 名称            | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| charge_mode   | 是    | String  | **参数解释：** 计费模式。 **约束限制：** 不涉及。 **取值范围：** prePaid：预付费，即包年/包月。 **默认取值：** 不涉及。                                                                                                                                                                                    |
| period_type   | 是    | String  | **参数解释：** 订购周期类型。 **约束限制：** 不涉及。 **取值范围：** - month：包月。  - year：包年。   **默认取值：** 不涉及。                                       |
| period_num    | 是    | Integer | **参数解释：** 订购时长。 **约束限制：** 不涉及。 **取值范围：** - 当"period_type"为"month"时，取值为1\~9。  - 当"period_type"为"year"时，取值为1\~3。   **默认取值：** 不涉及。        |
| is_auto_renew | 否    | boolean | **参数解释：** 包周期实例是否自动续订，续订的周期和原周期相同，且续订时会自动支付。 **约束限制：** 不涉及。 **取值范围：** - true，为自动续订。  - false，为不自动续订，默认该方式。   **默认取值：** false |
| is_auto_pay   | 否    | boolean | **参数解释：** 是否自动从客户的账户中支付，此字段不影响自动续订的支付方式。 **约束限制：** 不涉及。 **取值范围：** - true，为自动支付。  - false，为手动支付，默认该方式。   **默认取值：** false     |
   
 表8tags字段数据结构说明 
| 名称    | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释：** 标签键。 **约束限制：** 不涉及。 **取值范围：** 长度为1-128个unicode字符。 可以包含任何语种字母、数字、空格和_.:=+-@，但首尾不能含有空格，不能以_sys_开头。 **默认取值：** 不涉及。 |
| value | 是    | String | **参数解释：** 标签值。 **约束限制：** 不涉及。 **取值范围：** 最大长度255个unicode字符，可以为空字符串。 可以包含任何语种字母、数字、空格和_.:=+-@。 **默认取值：** 不涉及。        |
   
#### 请求示例
![](https://support.huaweicloud.com/api-flexusrds/public_sys-resources/note_3.0-zh-cn.png)
请求样例中参数"region"和"availability_zone"的值为示例值。
- 创建FlexusRDS单机实例。
  ```
  POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances
  {
  "name": "flexusrds-instance",
  "datastore": {
  "type": "MySQL",
  "version": "5.7"
  },
  "flavor_ref": "rds.mysql.y1.large.2",
  "volume": {
  "type": "CLOUDSSD",
  "size": 100
  },
  "region": "aaa",
  "availability_zone": "bbb",
  "port": 3306,
  "backup_strategy": {
  "start_time": "08:15-09:15",
  "keep_days": 12
  },
  "charge_info": {
  "charge_mode": "prePaid"
  },
  "password": "****",
  "time_zone": "UTC+04:00",
  "tags": [
  {
  "key": "key1",
  "value": "value1"
  },
  {
  "key": "key2",
  "value": "value2"
  }
  ],
  "is_flexus": true
  }
  ```
  

- 创建FlexusRDS主备实例。
  ```
  {
  "name": "flexusrds-instance-ha",
  "datastore": {
  "type": "MySQL",
  "version": "5.7"
  },
  "ha": {
  "mode": "ha",
  "replication_mode": "semisync"
  },
  "flavor_ref": "rds.mysql.y1.xlarge.2.ha",
  "volume": {
  "type": "CLOUDSSD",
  "size": 100
  },
  "region": "aaa",
  "availability_zone": "bbb",
  "port": 3306,
  "backup_strategy": {
  "start_time": "08:15-09:15",
  "keep_days": 12
  },
  "charge_info": {
  "charge_mode": "prePaid"
  },
  "password": "****",
         "tags": [
  {
  "key": "key1",
  "value": "value1"
  },
  {
  "key": "key2",
  "value": "value2"
  }
  ],
  "is_flexus": true
  }
  ```
  
 
#### 响应消息
- 正常响应要素说明
  表9要素说明 
  | 名称       | 参数类型   | 说明                                                                                                                   |
  |:---|:---|:---|
  | instance | Object | **参数解释：** 实例信息。详情请参见[表10]。                              |
  | order_id | String | **参数解释：** 订单号。 **取值范围：** 不涉及。 |
     
   表10instance说明 
  | 名称                | 参数类型   | 说明                                                                                                                                                    |
  |:---|:---|:---|
  | id                | String | **参数解释：** 实例ID。 **取值范围：** 不涉及。                                |
  | name              | String | **参数解释：** 实例名称。用于表示实例的名称，同一租户下，同类型的实例名称可相同。 **取值范围：** 与请求参数值相同。 |
  | status            | String | **参数解释：** 实例状态。 **取值范围：** BUILD，表示创建中。                          |
  | datastore         | Object | **参数解释：** 数据库信息。详情请参见[表11]。                                                              |
  | ha                | Object | **参数解释：** HA配置参数，仅当您选择创建HA实例时该参数才可见。 详情请参见[表12]。         |
  | port              | String | **参数解释：** 数据库端口信息。 **取值范围：** 与请求参数值相同。                    |
  | backup_strategy   | Object | **参数解释：** 自动备份策略。详情请参见[表13]。                                                           |
  | flavor_ref        | String | **参数解释：** 规格码。 **取值范围：** 与请求参数值相同。                          |
  | volume            | Object | **参数解释：** volume信息。详情请参见[表14]。                                                         |
  | region            | String | **参数解释：** 区域ID。 **取值范围：** 与请求参数值相同。                         |
  | availability_zone | String | **参数解释：** 可用区ID。 **取值范围：** 与请求参数值相同。                        |
  | vpc_id            | String | **参数解释：** 虚拟私有云ID。 **取值范围：** vpc-default-smb               |
  | subnet_id         | String | **参数解释：** 子网的网络ID信息。 **取值范围：** subnet-default-smb              |
  | security_group_id | String | **参数解释：** 指定实例所属的安全组。 **取值范围：** sg-default-smb            |
  | charge_info       | Object | **参数解释：** 计费方式信息。详情请参见[表15]。                                                          |
     
   表11datastore字段数据结构说明 
  | 名称      | 参数类型   | 说明                                                                                                                         |
  |:---|:---|:---|
  | type    | String | **参数解释：** 数据库引擎。 **取值范围：** MySQL |
  | version | String | **参数解释：** 数据库版本。 **取值范围：** 5.7、8.0  |
     
   表12ha字段数据结构说明 
  | 名称               | 参数类型   | 说明                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|
  | mode             | String | **参数解释：** 实例主备模式。 **取值范围：** HA，不区分大小写。                                                                                                                                                                               |
  | replication_mode | String | **参数解释：** 备机同步参数。 **取值范围：** - async：异步模式。  - semisync：半同步模式。   |
     
   表13backupStrategy字段数据结构说明 
  | 名称         | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  |:---|:---|:---|
  | start_time | String  | **参数解释：** 备份时间段。自动备份将在该时间段内触发。 **取值范围：** 非空，格式必须为hh:mm-HH:MM且有效，当前时间指UTC时间。 - HH取值必须比hh大1。  - mm和MM取值必须相同，且取值必须为00、15、30或45。   示例： - 08:15-09:15  - 23:00-00:00   如果请求体中"backup_strategy"为空，则响应体中 "start_time"默认返回"02:00-03:00"。 |
  | keep_days  | Integer | **参数解释：** 指定备份文件的可保存天数。 **取值范围：** 0～732。取值为0，表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请，自动备份最长可以保留2562天。 如果请求体中"backup_strategy"为空，则响应体中 "keep_days"默认返回"7"。                                                                                                                                                                                                                                                                                                                                                                                                               |
     
   表14volume字段数据结构说明 
  | 名称   | 参数类型    | 说明                                                                                                                                                       |
  |:---|:---|:---|
  | type | String  | **参数解释：** 磁盘类型。 **取值范围：** CLOUDSSD：区分大小写，表示SSD云盘，仅支持通用型和独享型规格实例。 |
  | size | Integer | **参数解释：** 磁盘大小。 **取值范围：** 40 GB\~4000 GB，必须为10的整数倍。               |
     
   表15chargeInfo字段数据结构说明 
  | 名称          | 参数类型    | 说明                                                                                                                                        |
  |:---|:---|:---|
  | charge_mode | String  | **参数解释：** 计费模式。 **取值范围：** prePaid：预付费，即包年/包月。 |
  | period_num  | Integer | **参数解释：** 订购时长。 **取值范围：** 与请求参数值相同。             |
     
  
![](https://support.huaweicloud.com/api-flexusrds/public_sys-resources/note_3.0-zh-cn.png)
响应样例中参数"region"和"availability_zone"的值为示例值。
- 正常响应样例 创建FlexusRDS单机实例下发成功。
  ```
  {
  "instance": {
  "id": "dsfae23fsfdsae3435in01",
  "name": "flexusrds-instance",
  "datastore": {
  "type": "MySQL",
  "version": "5.7"
  },
  "flavor_ref": "rds.mysql.y1.large.2",
  "volume": {
  "type": "CLOUDSSD",
  "size": 100
  },
                  "region": "aaa",
  "availability_zone": "bbb",
  "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
  "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
  "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
  "port": "3306",
  "backup_strategy": {
  "start_time": "08:15-09:15",
  "keep_days": 3
  },
  "charge_info": {
  "charge_mode": "postPaid"
  }
  },
  "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"
  }
  ```
  创建FlexusRDS主备实例下发成功。
  ```
  {
    "instance":{ 
             "id": "dsfae23fsfdsae3435in01",
             "name": "flexusrds-instance-ha", 
             "datastore": { 
               "type": "MySQL", 
               "version": "5.7" 
              }, 
             "ha": {
               "mode": "ha",
               "replication_mode": "semisync"
             },
             "flavor_ref": "rds.mysql.y1.xlarge.2.ha",
             "volume": { 
                 "type": "CLOUDSSD", 
                 "size": 100 
               },
             "region": "aaa",
             "availability_zone": "bbb,ccc",
             "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
             "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
             "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
             "port": "3306", 
             "backup_strategy": { 
               "start_time": "08:15-09:15", 
               "keep_days": 3 
              }, 
             "charge_info": {
                     "charge_mode": "postPaid"
                                 },
           },
    "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" 
  }
  ```
  
- 异常响应 请参见[异常请求结果](https://support.huaweicloud.com/api-flexusrds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 202
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-flexusrds/rds_10_0200.html)。
  
 
