Updated on 2022-02-22 GMT+08:00

Creating a DB Instance

Function

This API is used to create a single RDS DB instance, primary/standby DB instances, or a read replica.

URI

  • URI format

    POST https://{Endpoint}/v3/{project_id}/instances

  • Parameter description
    Table 1 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    Specifies the project ID of a tenant in a region.

    For details about how to obtain the project ID, see Obtaining a Project ID.

Request

Table 2 Parameter description (creating single, primary/standby, and distributed DB instances)

Name

Mandatory

Type

Description

name

Yes

String

Specifies the DB instance name.

DB instances of the same type can have same names under the same tenant.

The value must be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).

datastore

Yes

Object

Specifies the database information.

For details, see Table 4.

ha

No

Object

Specifies the HA configuration parameters, which are used when creating primary/standby DB instances.

For details, see Table 5.

configuration_id

No

String

Specifies the parameter template ID.

For details, see id in Table 3 in section Obtaining a Parameter Template List.

port

No

String

Specifies the database port information.

  • The MySQL database port ranges from 1024 to 65535 (excluding 12017 and 33071, which are occupied by the RDS system and cannot be used).
  • The PostgreSQL database port ranges from 2100 to 9500.
  • The Microsoft SQL Server database port is 1433 or ranges from 2100 to 9500 (excluding 5355 and 5985).

If this parameter is not set, the default value is as follows:

  • For MySQL, the default value is 3306.
  • For PostgreSQL, the default value is 5432.
  • For Microsoft SQL Server, the default value is 1433.

password

No

String

Specifies the database password.

Valid value:

  • The password must consist of 8 to 32 characters and contain at least three types of the following characters: uppercase letters, lowercase letters, digits, and special characters (~!@#%^*-_=+?).

You are advised to enter a strong password to improve security, preventing security risks such as brute force cracking.

backup_strategy

No

Object

Specifies the advanced backup policy.

For details, see Table 6.

flavor_ref

Yes

String

Specifies the specification code. The value cannot be empty.

For details, see spec_code in Table 3 in section Querying Database Specifications.

volume

Yes

Object

Specifies the volume information.

For details, see Table 7.

region

Yes

String

Specifies the region ID.

availability_zone

Yes

String

Specifies the AZ ID. If the DB instance is not a single instance, you need to specify an AZ for each node of the instance and separate the AZs with commas (,). For details, see the example.

vpc_id

Yes

String

Specifies the VPC ID. To obtain this parameter value, use either of the following methods:

  • Method 1: Log in to VPC console and view the VPC ID in the VPC details.

subnet_id

Yes

String

Specifies the network ID. To obtain this parameter value, use either of the following methods:

  • Method 1: Log in to VPC console and click the target subnet on the Subnets page. You can view the network ID on the displayed page.
  • Method 2: See the "Querying Subnets" section in the Virtual Private Cloud API Reference.

data_vip

No

String

Specifies the floating IP address of a DB instance. To obtain this parameter value, use either of the following methods:

  • Method 1: Log in to VPC console and click the target subnet on the Subnets page. You can view the subnet CIDR block on the displayed page.
  • Method 2: See the "Querying Subnets" section in the Virtual Private Cloud API Reference.

security_group_id

Yes

String

Specifies the security group which the RDS DB instance belongs to. To obtain this parameter value, use either of the following methods:

  • Method 1: Log in to VPC console. Choose Access Control > Security Groups in the navigation pane on the left. On the displayed page, click the target security group. You can view the security group ID on the displayed page.
  • Method 2: See the "Querying Security Groups" section in the Virtual Private Cloud API Reference.

charge_info

No

Object

Specifies the billing information.

For details, see Table 8.

time_zone

No

String

Specifies the UTC time zone.

  • If this parameter is not specified, the time zone of each engine is as follows:
    • RDS for MySQL uses UTC by default.
    • RDS for PostgreSQL uses UTC by default.
    • RDS for SQL Server uses UTC by default.
  • For MySQL or PostgreSQL, if this parameter is specified, the value ranges from UTC-12:00 to UTC+12:00 at the full hour. For example, the parameter can be UTC+08:00 rather than UTC+08:30.
  • For Microsoft SQL Server, refer to Table 9 when specifying this parameter. The time zone is expressed as a character string.
Table 3 Parameter description

Name

Mandatory

Type

Description

name

Yes

String

Specifies the DB instance name.

The value must be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).

replica_of_id

Yes

String

Specifies the primary DB instance ID for creating a read replica.

For details, see id in Table 3 in section Querying Details About DB Instances.

flavor_ref

Yes

String

Specifies the specification code. The value cannot be empty.

For details, see spec_code in Table 3 in section Querying Database Specifications.

volume

Yes

Object

Specifies the volume information.

For details, see Table 7.

region

No

String

Specifies the region ID. Currently, read replicas can be created only in the same region as that of the primary DB instance.

availability_zone

Yes

String

Specifies the AZ ID.

charge_info

No

Object

Specifies the billing information.

For details, see Table 8.

Table 4 datastore field data structure description

Name

Mandatory

Type

Description

type

Yes

String

Specifies the DB engine. Value:

  • MySQL
  • PostgreSQL
  • SQLServer

version

Yes

String

Specifies the database version.

  • MySQL databases support 5.6, 5.7, and 8.0. Example value: 5.7
  • PostgreSQL databases support PostgreSQL 1.0 (Enhanced Edition), 9.5, 9.6, 10, 11, and 12. Example value: 9.6
  • Microsoft SQL Server databases only support 2017 Enterprise Edition, 2017 Standard Edition, 2017 Web Edition, 2014 Standard Edition, 2014 Enterprise Edition, 2016 Standard Edition, 2016 Enterprise Edition, 2012 Enterprise Edition, 2012 Standard Edition, 2012 Web Edition, 2008 R2 Enterprise Edition, 2008 R2 Web Edition, 2014 Web Edition, and 2016 Web Edition. Example value: 2014_SE

For details about supported database versions, see section Querying Version Information About a DB Engine.

Table 5 ha field data structure description

Name

Mandatory

Type

Description

mode

Yes

String

Specifies the DB instance type. The value is Ha (primary/standby DB instances) and is case-insensitive.

replication_mode

Yes

String

Specifies the replication mode for the standby DB instance.

Value:

  • For MySQL, the value is async or semisync.
  • For PostgreSQL, the value is async or sync.
  • For Microsoft SQL Server, the value is sync.
NOTE:
  • async indicates the asynchronous replication mode.
  • semisync indicates the semi-synchronous replication mode.
  • sync indicates the synchronous replication mode.
Table 6 backup_strategy field data structure description

Name

Mandatory

Type

Description

start_time

Yes

String

Specifies the backup time window. Automated backups 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.

  • The HH value must be 1 greater than the hh value.
  • The values of mm and MM must be the same and must be set to any of the following: 00, 15, 30, or 45.

Example value:

  • 08:15-09:15
  • 23:00-00:00

keep_days

No

Integer

Specifies the retention days for specific backup files.

The value range is from 0 to 732. If this parameter is not specified or set to 0, the automated backup policy is disabled. To extend the retention period, contact customer service. Automated backups can be retained for up to 2562 days.

NOTICE:

Primary/standby DB instances of Microsoft SQL Server do not support disabling the automated backup policy.

Table 7 volume field data structure description

Name

Mandatory

Type

Description

type

Yes

String

Specifies the volume type.

Its value can be any of the following and is case-sensitive:

  • ULTRAHIGH: indicates the SSD type.

size

Yes

Integer

Specifies the volume size.

Its value must be a multiple of 10 and the value range is from 40 GB to 4000 GB.

NOTE:

For read replicas, this parameter is invalid. The volume size is the same as that of the primary DB instance by default.

Table 8 charge_info field data structure description

Name

Mandatory

Type

Description

charge_mode

Yes

String

Specifies the billing mode.

Table 9 Mapping between time zones and UTC offsets

Time Zone

Standard Time Offset

Remarks

Afghanistan Standard Time

UTC+04:30

Kabul

Alaskan Standard Time

UTC-09:00

Alaska

Arabian Standard Time

UTC+04:00

Abu Dhabi, Muscat

Atlantic Standard Time

UTC-04:00

Atlantic Time (Canada)

AUS Central Standard Time

UTC+09:30

Darwin

AUS Eastern Standard Time

UTC+10:00

Canberra, Melbourne, Sydney

Belarus Standard Time

UTC+03:00

Minsk

Canada Central Standard Time

UTC-06:00

Saskatchewan

Cape Verde Standard Time

UTC-01:00

Cape Verde Is.

Cen. Australia Standard Time

UTC+09:30

Adelaide

Central America Standard Time

UTC-06:00

Central America

Central Asia Standard Time

UTC+06:00

Astana

Central Brazilian Standard Time

UTC-04:00

Cuiaba

Central European Standard Time

UTC+01:00

Belgrade, Bratislava, Budapest, Ljubljana, Prague

Central European Standard Time

UTC+01:00

Sarajevo, Skopje, Warsaw, Zagreb

Central Pacific Standard Time

UTC+11:00

Solomon Islands, New Caledonia

Central Standard Time

UTC-06:00

Central Time (US and Canada)

China Standard Time

UTC+08:00

Beijing, Chongqing, Hong Kong, and Urumqi

E. Africa Standard Time

UTC+03:00

Nairobi

E. Australia Standard Time

UTC+10:00

Brisbane

E. Europe Standard Time

UTC+02:00

Chisinau

E. South America Standard Time

UTC-03:00

Brasilia

Eastern Standard Time

UTC-05:00

Eastern Time (US and Canada)

Georgian Standard Time

UTC+04:00

Tbilisi

GMT Standard Time

UTC

Dublin, Edinburgh, Lisbon, London

Greenland Standard Time

UTC–03:00

Greenland

Greenwich Standard Time

UTC

Monrovia, Reykjavik

GTB Standard Time

UTC+02:00

Athens, Bucharest

Hawaiian Standard Time

UTC-10:00

Hawaii

India Standard Time

UTC+05:30

Chennai, Kolkata, Mumbai, New Delhi

Jordan Standard Time

UTC+02:00

Amman

Korea Standard Time

UTC+09:00

Seoul

Middle East Standard Time

UTC+02:00

Beirut

Mountain Standard Time

UTC-07:00

Mountain Time (US and Canada)

US Mountain Standard Time

UTC-07:00

Arizona

New Zealand Standard Time

UTC+12:00

Auckland, Wellington

Newfoundland Standard Time

UTC-03:30

Newfoundland

Pacific SA Standard Time

UTC-03:00

Santiago

Pacific Standard Time

UTC-08:00

Pacific Time (US and Canada)

Russian Standard Time

UTC+03:00

Moscow, St. Petersburg, Volgograd

SA Pacific Standard Time

UTC-05:00

Bogota, Lima, Quito, Rio Branco

SE Asia Standard Time

UTC+07:00

Bangkok, Hanoi, Jakarta

China Standard Time

UTC+08:00

Kuala Lumpur, Singapore

Tokyo Standard Time

UTC+09:00

Osaka, Sapporo, Tokyo

US Eastern Standard Time

UTC-05:00

Indiana (East)

UTC

UTC

Coordinated Universal Time

UTC-02

UTC-02:00

Coordinated Universal Time–02

UTC-08

UTC-08:00

Coordinated Universal Time–08

UTC-09

UTC-09:00

Coordinated Universal Time–09

UTC-11

UTC-11:00

Coordinated Universal Time–11

UTC+12

UTC+12:00

Coordinated Universal Time+12

W. Australia Standard Time

UTC+08:00

Perth

W. Central Africa Standard Time

UTC+01:00

West Central Africa

W. Europe Standard Time

UTC+01:00

Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

  • Request example

    Creating a single DB instance:

    {
    	"name": "rds-instance-rep2",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.6"
    	},
    	"flavor_ref": "rds.mysql.s1.large",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 100
    	},
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"port": 8635,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "postPaid"
    	},
    	"password": "Test@12345678",
    	"configuration_id": "452408-ef4b-44c5-94be-305145fg"
    ,
    }

    Creating primary/standby DB instances:

    {
    	"name": "rds-instance-rep2",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.6"
    	},
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "semisync"
    	},
    	"flavor_ref": "rds.mysql.s1.large.ha",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 100
    	},
    	"region": "aaa",
    	"availability_zone": "bbb,ccc",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"port": 8635,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "postPaid"
    	},
    	"password": "Test@12345678",
    	"configuration_id": "452408-ef4b-44c5-94be-305145fg"
    }

    Creating a read replica:

    {
    	"name": "rds-instance-rep2",
    	"replica_of_id": "afdsad-fds-fdsagin01",
    	"flavor_ref": "rds.mysql.s1.large.rr",
    	"volume": {
    		"type": "ULTRAHIGH"
    	},
    	"region": "aaa",
    	"availability_zone": "bbb"
    }

Response

  • Normal response
    Table 10 Parameter description

    Name

    Type

    Description

    instance

    Object

    Indicates the DB instance information.

    For details, see Table 11.

    job_id

    String

    Indicates the ID of the DB instance creation task.

    Table 11 instance field data structure description

    Name

    Type

    Description

    id

    String

    Indicates the DB instance ID.

    name

    String

    Indicates the DB instance name. Indicates the DB instance name. DB instances of the same type can have same names under the same tenant.

    The value must be 4 to 64 characters in length and start with a letter. It is case-insensitive and can contain only letters, digits, hyphens (-), and underscores (_).

    status

    String

    Indicates the DB instance status. For example, BUILD indicates that the DB instance is being created.

    datastore

    Object

    Indicates the database information.

    For details, see Table 12.

    ha

    Object

    Indicates the HA configuration parameters. This parameter is returned only when primary/standby DB instances are created.

    For details, see Table 13.

    configuration_id

    String

    Indicates the parameter template ID. This parameter is returned only when a custom parameter template is used during DB instance creation.

    port

    String

    Indicates the database port, which is the same as the request parameter.

    backup_strategy

    Object

    Indicates the automated backup policy.

    For details, see Table 14.

    flavor_ref

    String

    Indicates the specification code. The value cannot be empty.

    For details, see spec_code in Table 3 in section Querying Database Specifications.

    volume

    Object

    Indicates the volume information.

    For details, see Table 15.

    region

    String

    Indicates the region ID.

    availability_zone

    String

    Indicates the AZ ID.

    vpc_id

    String

    Indicates the VPC ID. To obtain this parameter value, use either of the following methods:

    • Method 1: Log in to VPC console and view the VPC ID in the VPC details.

    subnet_id

    String

    Indicates the network ID. To obtain this parameter value, use either of the following methods:

    • Method 1: Log in to VPC console and click the target subnet on the Subnets page. You can view the network ID on the displayed page.
    • Method 2: See the "Querying Subnets" section in the Virtual Private Cloud API Reference.

    security_group_id

    String

    Indicates the security group which the RDS DB instance belongs to. To obtain this parameter value, use either of the following methods:

    • Method 1: Log in to VPC console. Choose Access Control > Security Groups in the navigation pane on the left. On the displayed page, click the target security group. You can view the security group ID on the displayed page.
    • Method 2: See the "Querying Security Groups" section in the Virtual Private Cloud API Reference.

    charge_info

    Object

    Indicates the billing information.

    For details, see Table 16.

    Table 12 datastore field data structure description

    Name

    Type

    Description

    type

    String

    Indicates the DB engine. Value:

    • MySQL
    • PostgreSQL
    • SQLServer

    version

    String

    Indicates the database version.

    For details about supported database versions, see section Querying Version Information About a DB Engine.

    Table 13 ha field data structure description

    Name

    Type

    Description

    mode

    String

    Indicates the DB instance type. The value is Ha (primary/standby DB instances).

    replication_mode

    String

    Indicates the replication mode for the standby DB instance. This parameter is valid when the mode is Ha.

    Value:

    • For MySQL, the value is async or semisync.
    • For PostgreSQL, the value is async or sync.
    • For Microsoft SQL Server, the value is sync.
    NOTE:
    • async indicates the asynchronous replication mode.
    • semisync indicates the semi-synchronous replication mode.
    • sync indicates the synchronous replication mode.
    Table 14 backupStrategy field data structure description

    Name

    Type

    Description

    start_time

    String

    Specifies the backup time window. Automated backups 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.

    • The HH value must be 1 greater than the hh value.
    • The values of mm and MM must be the same and must be set to any of the following: 00, 15, 30, or 45.

    Example value:

    • 08:15-09:15
    • 23:00-00:00

    If backup_strategy in the request body is empty, 02:00-03:00 is returned for start_time by default.

    keep_days

    Integer

    Indicates the retention days for specific backup files.

    The value range is from 0 to 732. If this parameter is not specified or set to 0, the automated backup policy is disabled. To extend the retention period, contact customer service. Automated backups can be retained for up to 2562 days.

    If backup_strategy in the request body is empty, 7 is returned for keep_days by default.

    Table 15 volume field data structure description

    Name

    Type

    Description

    type

    String

    Indicates the volume type.

    Its value can be any of the following and is case-sensitive:

    • ULTRAHIGH: indicates the SSD type.

    size

    Integer

    Indicates the volume size.

    Its value range is from 40 GB to 4000 GB. The value must be a multiple of 10.

    Table 16 chargeInfo field data structure description

    Name

    Type

    Description

    charge_mode

    String

    Indicates the billing information.

  • Example normal response

    Creating a single MySQL DB instance:

    {
    	"instance": {
    		"id": "dsfae23fsfdsae3435in01",
    		"name": "trove-instance-rep2",
    		"datastore": {
    			"type": "MySQL",
    			"version": "5.6"
    		},
    		"flavor_ref": "rds.mysql.s1.large",
    		"volume": {
    			"type": "ULTRAHIGH",
    			"size": 100
    		},
    		"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    		"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    		"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    		"port": "8635",
    		"backup_strategy": {
    			"start_time": "08:15-09:15",
    			"keep_days": 3
    		},
    		"configuration_id": "452408-44c5-94be-305145fg",
    		"charge_info": {
    			"charge_mode": "postPaid"
    		}
    	},
    	"job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"
    }

    Creating primary/standby DB instances:

    {
      "instance":{ 
               "id": "dsfae23fsfdsae3435in01",
               "name": "trove-instance-rep2", 
               "datastore": { 
                 "type": "MySQL", 
                 "version": "5.6" 
                }, 
               "ha": {
                 "mode": "ha",
                 "replication_mode": "semisync"
               },
               "flavor_ref": "rds.mysql.s1.large.ha",
               "volume": { 
                   "type": "ULTRAHIGH", 
                   "size": 100 
                 },
               "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
               "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
               "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
               "port": "8635", 
               "backup_strategy": { 
                 "start_time": "08:15-09:15", 
                 "keep_days": 3 
                }, 
               "configuration_id": "452408-44c5-94be-305145fg",
               "charge_info": {
                       "charge_mode": "postPaid"
                                   },
             },
      "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" 
    }

    Creating a read replica:

    {
      "instance":{ 
                "id": "dsfae23fsfdsae3435in01",
                "name": "trove-instance-rep2", 
                "flavor_ref": "rds.mysql.s1.large.rr",
                 "volume": { 
                   "type": "ULTRAHIGH", 
                   "size": 100 
                 },
               "region": "",
               "availability_zone": "",
               "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
               "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
               "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
               "port": "8635", 
               "configuration_id": "452408-44c5-94be-305145fg"
             },
     "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"  
    
    }
  • Abnormal response

    For details, see Abnormal Request Results.

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.