Creating a DB Instance
Function
This API is used to create a GaussDB instance. Before calling this API:
- Learn how to authenticate this API.
- Obtain the required region and endpoint.
URI
Parameter |
Mandatory |
Description |
---|---|---|
project_id |
Yes |
Explanation: Project ID of a tenant in a region. For details about how to obtain the value, see Obtaining a Project ID. Restrictions: None Value range: The value can contain 32 characters. Only letters and digits are allowed. Default value: None |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. Instances of the same type can have same names under the same tenant. The name must consist of 4 to 64 characters and start with a letter. It can contain only letters (case-sensitive), digits, hyphens (-), and underscores (_). |
datastore |
Yes |
Object |
Database information. For details, see Table 3. |
ha |
Yes |
Object |
Instance deployment model. For details, see Table 4. |
configuration_id |
No |
String |
Parameter template ID. If this parameter is not specified, the default parameter template is used and this parameter is not returned in the response body. |
port |
No |
String |
Port number used by the database to provide services for external systems, ranging from 1024 to 39998. If you do not configure this parameter, the default value 8000 is used. The following ports are not allowed: 2378, 2379, 2380, 4999, 5000, 5999, 6000, 6001, 8097, 8098, 12016, 12017, 20049, 20050, 21731, 21732, 32122, 32123, and 32124. |
password |
Yes |
String |
Database password. The GaussDB database password must: Consist of 8 to 32 characters, including at least three of the following: uppercase letters, lowercase letters, digits, and special characters ~!@#$%^&*()-_=+|[{}];:,<.>/? Enter a strong password to improve security, preventing security risks such as brute force cracking. |
backup_strategy |
No |
Object |
Backup policy. For details, see Table 5. |
enterprise_project_id |
No |
String |
Enterprise project ID. This parameter is suitable only for enterprise tenants. For details, see id in the enterprise_project field data structure table in the section Querying Enterprise Projects of the Enterprise Management API Reference. |
disk_encryption_id |
No |
String |
Key ID for disk encryption. The default value is empty. |
flavor_ref |
Yes |
String |
Specification code. The value cannot be empty. For details on how to obtain the GaussDB specification code, see DB Instance Specifications. |
volume |
Yes |
Object |
Volume information. For details, see Table 6. |
region |
Yes |
String |
Region ID. The value cannot be empty. For details about how to obtain this parameter value, see Regions and Endpoints. |
availability_zone |
Yes |
String |
AZ ID. The value cannot be empty. You can deploy GaussDB in the same AZ or across three different AZs, and use commas (,) to separate AZs. For example:
The value cannot be empty. For details about how to obtain this parameter value, see Regions and Endpoints. |
vpc_id |
Yes |
String |
VPC ID. To obtain this parameter value, use the following methods:
|
subnet_id |
Yes |
String |
Network ID of the subnet. To obtain this parameter value, use either of the following methods:
|
security_group_id |
Yes |
String |
Security group which the instance is associated with. To obtain this parameter value, use either of the following methods: If you do not need to specify a security group, contact customer service.
|
charge_info |
No |
Object |
Billing type, which can be pay-per-use or yearly/monthly. For details, see Table 7. |
time_zone |
No |
String |
UTC time zone.
|
sharding_num |
No |
Integer |
This parameter is available only for distributed instances. Number of shards. The value ranges from 1 to 9. |
coordinator_num |
No |
Integer |
This parameter is available only for distributed instances. Number of CNs. The value ranges from 1 to 9. The number of CNs cannot exceed twice the number of shards. |
replica_num |
No |
Integer |
Number of replicas. The value can be 2 or 3 (default).
NOTE:
To use two-replica instance, ensure the instance version is 1.3.0 or later and submit an application by choosing Service Tickets > Create Service Ticket in the upper right corner of the management console. |
enable_force_switch |
No |
Boolean |
Whether to forcibly promote a standby node to primary. The value can only be true or false. true indicates that the function is enabled, and false indicates that the function is disabled. The function is disabled by default. Only 1.2.2 and later versions are supported.
NOTE:
The function is suitable for the following scenario: When the primary node is faulty, a standby node is forcibly promoted to primary to provide services, ensuring the instance availability. When the instance is faulty, this function is used to recover services as soon as possible at the cost of partial data loss. You are not advised to use this function if you are not clear about the impact of data loss on services. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
DB engine. Value: GaussDB. It is case-insensitive. |
version |
No |
String |
DB engine version. If this parameter is not specified, the latest version is used by default. For details, see Querying DB Engine Versions. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
mode |
Yes |
String |
Deployment model. Its value is enterprise for distributed instances and centralization_standard for primary/standby instances. It is case-insensitive. |
consistency |
Yes |
String |
Transaction consistency type. The value can be strong or eventual and is case-insensitive. |
replication_mode |
Yes |
String |
Replication mode for the standby node. Valid value: sync
NOTE:
sync indicates synchronous replication. |
instance_mode |
No |
String |
Product type of the instance to be created. If this parameter is not specified, an instance of the enterprise edition will be created by default. To create an instance of the basic edition or ecosystem edition, you need to specify the parameter value.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
start_time |
Yes |
String |
Backup time window. The creation of an automated backup will be triggered during the backup time window. 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:
|
keep_days |
No |
Integer |
Retention days for specific backup files. Value: 0 to 732. If this parameter is not specified or is set to 0, the default value 7 is used. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Disk type. Value: ULTRAHIGH (SSD storage) or ESSD (extreme SSD storage). The value is case-sensitive. |
size |
Yes |
Integer |
Disk size. For example, if this parameter is set to 40, 40 GB of storage is allocated to the created instance. ECS deployment: The value is from (Number of shards x 40 GB) to (Number of shards x 16 TB) and must be a multiple of (Number of shards x 4). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
charge_mode |
Yes |
String |
Billing mode. postPaid: pay-per-use billing. prePaid: yearly/monthly billing. |
period_type |
No |
String |
Subscription period. Value range:
|
period_num |
No |
Integer |
This parameter is valid and mandatory only when charge_mode is set to prePaid. Value range:
When a floating-point value is transferred, the value is automatically truncated to an integer. |
is_auto_renew |
No |
Boolean |
Whether automatic renewal is enabled for yearly/monthly instances. If you enable this function, the order will be automatically paid during the subscription renewal. The default renewal period is one month for monthly subscription and one year for yearly subscription. The renewal period can be configured as needed.
|
is_auto_pay |
No |
Boolean |
Whether the order will be automatically paid after yearly/monthly instances are created. This parameter does not affect the payment mode of automatic renewal.
|
Response Parameters
Parameter |
Type |
Description |
---|---|---|
instance |
Object |
Instance information. For details, see Table 9. |
job_id |
String |
Instance creation task ID. This parameter is returned only when pay-per-use instances are created. |
order_id |
String |
Order ID. This parameter is returned only for the creation of yearly/monthly instances. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Instance ID. |
name |
String |
Instance name. Instances of the same type can have same names under the same tenant. The value must consist of 4 to 64 characters and start with a letter. It is case-insensitive and contains only letters, digits, hyphens (-), and underscores (_). |
status |
String |
Instance status. For example, BUILD indicates that the instance is being created. This parameter is returned only when pay-per-use instances are created. |
datastore |
Object |
Database information. For details, see Table 10. |
ha |
Object |
Database deployment model. For details, see Table 11. |
replica_num |
Integer |
Number of replicas. |
port |
String |
Database port, which is the same as the request parameter. |
backup_strategy |
Object |
Automated backup policy. For details, see Table 12. |
enterprise_project_id |
String |
Project ID. |
flavor_ref |
String |
Specification code. The value cannot be empty. For details on how to obtain the GaussDB specification code, see DB Instance Specifications. |
volume |
Object |
Volume information. For details, see Table 13. |
region |
String |
Region ID. |
availability_zone |
String |
AZ ID. |
vpc_id |
String |
VPC ID. |
subnet_id |
String |
Network ID of the subnet. |
security_group_id |
String |
Security group to which the instance belongs. |
charge_info |
Object |
Payment mode. For details, see Table 14. |
Parameter |
Type |
Description |
---|---|---|
type |
String |
DB engine. Value: |
version |
String |
DB engine version. |
Parameter |
Type |
Description |
---|---|---|
mode |
String |
Distributed deployment. The value can be enterprise (Enterprise Edition). Primary/standby deployment. The value is centralization_standard. It is case-insensitive. |
replication_mode |
String |
Replication mode for the standby node. Valid value: sync.
NOTE:
sync indicates synchronous replication. |
consistency |
String |
(GaussDB reserved parameter) Transaction consistency type. The value can be strong or eventual. |
Parameter |
Type |
Description |
---|---|---|
start_time |
String |
Backup time window. The creation of an automated backup will be triggered during the backup time window. 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:
If backup_strategy in the request body is empty, 02:00-03:00 is returned for start_time by default. |
keep_days |
Integer |
Retention days for specific backup files. The value ranges from 1 to 732. If the backup_strategy field is not specified in the request body, keep_days in the response body is set to 7 days by default. |
Parameter |
Type |
Description |
---|---|---|
type |
String |
Disk type. Its value is case-sensitive and can be:
|
size |
Integer |
Disk size. When creating a distributed instance, you need to specify the size to be a multiple of (Number of shards x 4 GB). Value range: (Number of shards x 40 GB) to (Number of shards x 16 TB). |
Parameter |
Type |
Description |
---|---|---|
charge_mode |
String |
Billing mode. postPaid: pay-per-use billing. prePaid: yearly/monthly billing. |
period_type |
String |
Subscription period. month: The service is subscribed by month. year: The service is subscribed by year. This parameter is valid and mandatory only when charge_mode is set to prePaid. Value:
|
period_num |
Integer |
This parameter is valid and mandatory only when charge_mode is set to prePaid. Value range: When period_type is set to month, the parameter value ranges from 1 to 9. When period_type is set to year, the parameter value ranges from 1 to 3. |
is_auto_renew |
Boolean |
Whether automatic renewal is enabled for yearly/monthly instances. If you enable this function, the order will be automatically paid during the subscription renewal. The default renewal period is one month for monthly subscription and one year for yearly subscription. The renewal period can be configured as needed. true: indicates that the subscription is automatically renewed. false: indicates that the subscription is not automatically renewed. The default value is false. |
is_auto_pay |
Boolean |
Whether the order will be automatically paid after yearly/monthly instances are created. This parameter does not affect the payment mode of automatic renewal. true: indicates that the order is automatically paid from the account. false: indicates that the order is manually paid from the account. The default value is false. |
Example Request
- Creating a distributed DB instance in the independent deployment (pay-per-use billing, DB engine 1.4, single AZ, three CNs, three shards, three replicas, and 8 vCPUs and 64 GB)
https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "user1-v3-independent-01", "datastore": { "type": "GaussDB", "version": "1.4" }, "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "postPaid" }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha":{ "mode":"enterprise", "consistency":"strong", "replication_mode":"sync" }, "sharding_num": 3, "coordinator_num": 3, "replica_num": 3, "port":8000, "enable_force_switch":true }
- Creating a distributed DB instance in the independent deployment (one-year yearly/monthly billing, DB engine 1.4, three AZs, three CNs, three shards, three replicas, and 8 vCPUs and 64 GB)
https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "user1-v3-independent-02", "datastore": { "type": "GaussDB", "version": "1.4" }, "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,ccc,ddd", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1 }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha":{ "mode":"enterprise", "consistency":"strong", "replication_mode":"sync" }, "sharding_num": 3, "coordinator_num": 3, "replica_num": 3, "port":8000, "enable_force_switch":true }
- Creating a primary/standby (1 primary + 2 standby) DB instance (pay-per-use billing, DB engine 1.4, single AZ, 8 vCPUs and 64 GB)
https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "user1-v3-ha-01", "datastore": { "type": "GaussDB", "version": "1.4" }, "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "postPaid", }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha": { "mode": "centralization_standard", "consistency": "strong", "replication_mode": "sync" }, "replica_num": 3, "port": 8000, "enable_force_switch": true }
- Creating a primary/standby (1 primary + 2 standby) DB instance (one-year yearly/monthly billing, DB engine 1.4, three AZs, 8 vCPUs and 64 GB)
https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "user1-v3-ha-02", "datastore": { "type": "GaussDB", "version": "1.4" }, "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,ccc,ddd", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1 }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha": { "mode": "centralization_standard", "consistency": "strong", "replication_mode": "sync" }, "replica_num": 3, "port": 8000, "enable_force_switch": true }
Example Response
Instance of the enterprise edition created.
{ "instance": { "id": "ad8cd1440aa94a02ae4580fcbebb3143in14", "name": "user1-v3-independent", "status": "BUILD", "datastore": { "type": "", "version": "1.4" }, "ha": { "mode": "Enterprise", "replication_mode": "sync", "consistency": "strong" }, "port": "8000", "volume": { "type": "ULTRAHIGH", "size": 120 }, "replica_num": 3, "region": "aaa", "region": "aaa", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "enterprise_project_id": "0", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "charge_info": { "charge_mode": "postPaid" } }, "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af" }
Status Code
- Normal
- Abnormal
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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot