Creating a DB Instance
Function
This API is used to create a GaussDB(for MySQL) instance. Before calling this API:
- Learn how to authorize and authenticate it.
- Obtain the required region and endpoint.
URI
- URI format
- Example
POST https://{endpoint}/mysql/v3/0483b6b16e954cb88930a360d2c4e663/instances
- Parameter description
Table 1 Parameter description Name
Mandatory
Description
project_id
Yes
Project ID of a tenant in a region.
To obtain this value, see Obtaining a Project ID.
Request
Name |
Mandatory |
Type |
Description |
---|---|---|---|
charge_info |
No |
Object |
Billing mode, which is yearly/monthly or pay-per-use (default setting). For details, see Table 3. Note: You cannot create yearly/monthly instances in a DeC. |
name |
Yes |
String |
DB instance name. Instances of the same type can have same names under the same tenant. The value consists of 4 to 64 characters and starts with a letter. It is case-sensitive and contains only letters, digits, hyphens (-), and underscores (_). |
datastore |
Yes |
Object |
Database information. For details, see Table 4. |
mode |
Yes |
String |
DB instance type, which is case-insensitive. Currently, only the cluster type is supported. |
flavor_ref |
Yes |
String |
Specification code. For details, see Table 3. |
vpc_id |
Yes |
String |
VPC ID. To obtain this value, use either of the following methods:
|
subnet_id |
Yes |
String |
Network ID. To obtain this value, use either of the following methods:
|
security_group_id |
No |
String |
Security group ID. If network ACL is enabled, this parameter cannot be specified. If network ACL is disabled, this parameter is mandatory.
|
configuration_id |
No |
String |
Parameter template ID. |
password |
Yes |
String |
Database password. Valid value: The password consists of 8 to 32 characters and contains at least three types of the following: uppercase letters, lowercase letters, digits, and special characters (~!@#%^*-_=+?). You are advised to enter a strong password to improve security and prevent security risks such as brute force cracking. If you enter a weak password, the system automatically determines that the password is invalid. |
backup_strategy |
No |
Object |
Automated backup policy. For details, see Table 5. |
time_zone |
No |
String |
UTC time zone.
|
availability_zone_mode |
Yes |
String |
AZ type. It can be single or multi. |
master_availability_zone |
If availability_zone_mode is set to multi, this parameter is mandatory. If availability_zone_mode is set to single, this parameter cannot be specified. |
String |
Primary AZ. |
slave_count |
Yes |
Integer |
Number of read replicas. The value is from 1 to 9. An instance contains up to 15 read replicas. |
region |
Yes |
String |
Region ID. The value cannot be empty. Obtain the parameter value from the enterprise administrator. |
volume |
No |
Object |
Volume information. This parameter is optional during the creation of yearly/monthly instances. For details, see Table 6. |
enterprise_project_id |
No |
String |
Enterprise project ID. This parameter is mandatory when the enterprise project is enabled, and cannot be specified when the enterprise project is disabled. |
lower_case_table_names |
No |
Integer |
Whether a kernel table name is case-sensitive. If the value is 1 (by default), the table name is case-insensitive. If the value is 0, the table name is case-sensitive. |
tags |
No |
Array of objects |
Tag list. Instances are created based on tag keys and values.
To create instances with multiple tag keys and values, separate key-value pairs with commas (,). Up to 20 key-value pairs can be added. For details, see Table 7. |
Name |
Mandatory |
Type |
Description |
---|---|---|---|
charge_mode |
Yes |
String |
Billing mode. Valid value:
|
Name |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
DB engine. Currently, only gaussdb-mysql is supported. |
version |
Yes |
String |
DB version. For details about supported DB versions, see Querying Version Information About a DB Engine. |
Name |
Mandatory |
Type |
Description |
---|---|---|---|
start_time |
Yes |
String |
Automated backup start time. The automated backup will be triggered within one hour after the time specified by this parameter. The value cannot be empty. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format.
Example value:
|
Name |
Mandatory |
Type |
Description |
---|---|---|---|
size |
Yes |
Integer |
Disk size. The default value is 40 GB. The value ranges from 40 GB to 128,000 GB and must be a multiple of 10. |
Name |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Tag key. It contains a maximum of 36 Unicode characters. The value cannot be an empty string, a space, or left blank. Only uppercase letters, lowercase letters, digits, hyphens (-), and underscores (_) are allowed. |
value |
Yes |
String |
Tag value. It contains a maximum of 43 Unicode characters. It can be an empty string. Only uppercase letters, lowercase letters, digits, periods (.), hyphens (-), and underscores (_) are allowed. |
The value of region in the following is used as an example.
- Request example
{ "charge_info":{ "charge_mode":"postPaid" }, "region":"xxx", "name":"gaussdb-2d34", "datastore":{ "type":"gaussdb-mysql", "version":"8.0" }, "mode":"Cluster", "flavor_ref":"gaussdb.mysql.large.x86.4", "vpc_id":"f7ee62e2-9705-4523-ba49-a85ea1a1fa87", "subnet_id":"140af7bf-a9da-4dcf-8837-34199fd6d186", "security_group_id":"c7f69884-fe2b-4630-8114-70a11499d902", "configuration_id":"43570e0de32e40c5a15f831aa5ce4176pr07", "password":"xxxx", "backup_strategy":{ "start_time":"17:00-18:00" }, "time_zone":"UTC+08:00", "availability_zone_mode":"multi", "master_availability_zone":"az1pod1", "slave_count":1, "enterprise_project_id":"0", "lower_case_table_names":1 }
Response
- Normal response
Table 8 Parameter description Name
Type
Description
instance
Object
Instance information.
For details, see Table 9.
job_id
String
DB instance creation task ID.
This parameter is returned only when pay-per-use DB instances are created.
order_id
String
Order ID. This parameter is returned only when yearly/monthly instances are created.
Table 9 instance field data structure description Name
Type
Description
id
String
DB instance ID.
name
String
DB instance name. Instances of the same type can have same names under the same tenant.
The value consists of 4 to 64 characters and starts with a letter. It is case-insensitive and contains only letters, digits, hyphens (-), and underscores (_).
status
String
DB instance status.
This parameter is returned only when pay-per-use DB instances are created.
datastore
Object
Database information.
For details, see Table 10.
mode
String
DB instance type. Currently, only the cluster type is supported.
configuration_id
String
Parameter template ID.
port
String
Database port, which is the same as the request parameter.
backup_strategy
Object
Automated backup policy.
For details, see Table 11.
enterprise_project_id
String
Enterprise project ID, which is the same as the request parameter.
region
String
Region ID, which is the same as the request parameter.
availability_zone_mode
String
AZ type, which is the same as the request parameter.
master_ availability_zone
String
Primary AZ ID.
vpc_id
String
VPC ID, which is the same as the request parameter.
security_group_id
String
Security group ID, which is the same as the request parameter.
subnet_id
String
Subnet ID, which is the same as the request parameter.
flavor_ref
String
Specification code, which is the same as the request parameter.
For details, see Table 3.
charge_info
Object
Billing mode, which is yearly/monthly or pay-per-use.
For details, see Table 12.
Table 10 datastore field data structure description Name
Type
Description
type
String
DB Engine
version
String
DB version.
Table 11 backup_strategy field data structure description Name
Type
Description
start_time
String
Backup time window. Automated backups will be triggered during the backup time window.
keep_days
Integer
Backup retention days.
Table 12 charge_info field data structure description Name
Type
Description
charge_mode
String
Billing mode.
period_num
Integer
Subscription duration, which is calculated by month.
This parameter is valid when charge_mode is set to prePaid (this parameter is valid only for yearly/monthly instances).
The values of region and master_availability_zone are used as examples.
- Example normal response
{ "instance":{ "id":"5eebbb4c0f9f4a99b42ed1b6334569aain07", "name":"gaussdb-2d34", "status":"BUILD", "datastore":{ "type":"gaussdb-mysql", "version":"8.0" }, "mode":"Cluster", "configuration_id": "", "port":null, "backup_strategy":{ "start_time":null, "keep_days":"7" }, "enterprise_project_id": "0", "region":"aaa", "availability_zone_mode":"multi", "master_availability_zone":"aaa", "vpc_id":"f7ee62e2-9705-4523-ba49-a85ea1a1fa87", "security_group_id":"c7f69884-fe2b-4630-8114-70a11499d902", "subnet_id":"140af7bf-a9da-4dcf-8837-34199fd6d186" "charge_info":{ "charge_mode":"postPaid" }, "flavor_ref":"gaussdb.mysql.large.x86.4" }, "job_id":"43672fe5-56bd-47f1-8fd1-595cded08a7c" }
Status Code
For details, see Status Codes.
Error Code
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.