Creating an Instance

Function

This API can be used to create an instance.

Constraints

This API supports GeminiDB Cassandra instances.

URI

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

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region. To obtain this value, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Instance name, which can be the same as an existing instance name.

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

datastore

Yes

Datastore object

Database information.

region

Yes

String

Region ID.

The value cannot be empty. For value details, see Regions and Endpoints.

availability_zone

Yes

String

AZ ID.

For details about the value, see az_status returned in Querying Instance Specifications. If an instance can be created across three AZs, separate multiple AZ IDs by commas (,).

vpc_id

Yes

String

VPC ID. You can obtain the value with either of the following methods:

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

  • Method 2: See section "Querying VPCs" in the Virtual Private Cloud API Reference.

subnet_id

Yes

String

Subnet ID. You can obtain the subnet ID with either of the following methods:

  • Method 1: Log in to the VPC console and click the target subnet on the Subnets page. You can view the network ID on the displayed page.

  • Method 2: See section "Querying Subnets" in the Virtual Private Cloud API Reference.

security_group_id

Yes

String

Security group ID. You can obtain the security group ID with either of the following methods:

  • Method 1: Log in to the 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 section "Querying Security Groups" in the Virtual Private Cloud API Reference.

password

Yes

String

Database password.

The password can include 8 to 32 characters and contain uppercase letters, lowercase letters, digits, and the following special characters: ~!@#%^*-_=+?

Enter a strong password against security risks such as brute force cracking.

mode

Yes

String

Instance type. The value can be:

  • Cluster, indicating that GeminiDB Cassandra supports the cluster type.

flavor

Yes

Array of Flavor objects

Instance specifications.

For details about the specifications, see parameter values under flavors in Querying Instance Specifications.

configuration_id

No

String

Parameter template ID.

backup_strategy

No

BackupStrategy object

Advanced backup policy.

enterprise_project_id

No

String

Enterprise project ID.

  • Do not transfer this parameter if EPS is not enabled.

  • If EPS is enabled but this parameter is not transferred, the default enterprise project is used. For the enterprise project ID, see the id value in the enterprise_project field data structure table in section "Querying the Enterprise Project List" of the Enterprise Project Management Service API Reference.

ssl_option

No

String

Whether SSL is enabled.

The value can be:

  • 0, indicating that SSL is disabled by default.

  • 1, indicating that SSL is enabled by default.

  • If this parameter is not transferred, SSL is disabled by default.

Table 4 Datastore

Parameter

Mandatory

Type

Description

type

Yes

String

Database type.

  • If you set this parameter to cassandra, GeminiDB Cassandra instances will be created.

version

Yes

String

Database version. The value can be:

  • 3.11, indicating that GeminiDB Cassandra 3.11 is supported.

storage_engine

Yes

String

Storage engine.

  • rocksDB, indicating that the GeminiDB Cassandra instance supports the RocksDB storage engine.

Table 5 Flavor

Parameter

Mandatory

Type

Description

num

Yes

String

Number of nodes.

  • Each GeminiDB Cassandra instance can contain 3 to 200 nodes.

size

Yes

String

Storage space. It must be an integer, in GB.

storage

Yes

String

Disk type.

If you set this parameter to ULTRAHIGH, SSD disks are used.

spec_code

Yes

String

Resource specification code.

For the code, see the value of response parameter spec_code in Querying Instance Specifications.

Table 6 BackupStrategy

Parameter

Mandatory

Type

Description

start_time

Yes

String

Backup time window. Automated backup will be triggered during the backup time window.

The value cannot be empty. It must be the UTC time in the hh:mm-HH:MM 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 00, 15, 30, or 45.

  • If this parameter is not transferred, the default backup time window is from 00:00 to 01:00.

  • Example value: 23:00-00:00

keep_days

No

String

Backup retention days.

The value ranges from 0 to 35.

  • If this parameter is set to 0, the automated backup policy is not set.

  • If this parameter is not transferred, the automated backup policy is enabled by default. Backup files are stored for 7 days by default.

Response Parameters

Status code: 202

Table 7 Response body parameters

Parameter

Type

Description

id

String

Instance ID.

name

String

Instance name. This parameter is the same as the corresponding request parameter.

datastore

Datastore object

Database information. This parameter is the same as the corresponding request parameter.

created

String

Creation time, which is in the yyyy-mm-dd hh:mm:ss format.

status

String

Instance status. The value is creating.

region

String

Region ID. This parameter is the same as the corresponding request parameter.

availability_zone

String

AZ ID. This parameter is the same as the corresponding request parameter.

vpc_id

String

VPC ID. This parameter is the same as the corresponding request parameter.

subnet_id

String

Subnet ID. This parameter is the same as the corresponding request parameter.

security_group_id

String

Security group ID. This parameter is the same as the corresponding request parameter.

mode

String

Instance type. This parameter is the same as the corresponding request parameter.

flavor

Array of Flavor objects

Instance specifications. This parameter is the same as the corresponding request parameter.

backup_strategy

BackupStrategy object

Advanced backup policy. This parameter is the same as the corresponding request parameter.

ssl_option

String

Whether SSL is enabled. This parameter has the same effect as the corresponding request parameter.

job_id

String

ID of the job for creating an instance.

Table 8 Datastore

Parameter

Type

Description

type

String

Database type.

  • If you set this parameter to cassandra, GeminiDB Cassandra instances will be created.

version

String

Database version. The value can be:

  • 3.11, indicating that GeminiDB Cassandra 3.11 is supported.

storage_engine

String

Storage engine.

  • rocksDB, indicating that the GeminiDB Cassandra instance supports the RocksDB storage engine.

Table 9 Flavor

Parameter

Type

Description

num

String

Number of nodes.

  • Each GeminiDB Cassandra instance can contain 3 to 200 nodes.

size

String

Storage space. It must be an integer, in GB.

storage

String

Disk type.

If you set this parameter to ULTRAHIGH, SSD disks are used.

spec_code

String

Resource specification code.

For the code, see the value of response parameter spec_code in Querying Instance Specifications.

Table 10 BackupStrategy

Parameter

Type

Description

start_time

String

Backup time window. Automated backup will be triggered during the backup time window.

The value cannot be empty. It must be the UTC time in the hh:mm-HH:MM 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 00, 15, 30, or 45.

  • If this parameter is not transferred, the default backup time window is from 00:00 to 01:00.

  • Example value: 23:00-00:00

keep_days

String

Backup retention days.

The value ranges from 0 to 35.

  • If this parameter is set to 0, the automated backup policy is not set.

  • If this parameter is not transferred, the automated backup policy is enabled by default. Backup files are stored for 7 days by default.

Example Requests

  • URI example

    POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances
    
  • Creating a pay-per-use 3-node GeminiDB Cassandra instance with 16 vCPUs and 64 GB of memory

    Note

    Values of region and availability_zone in the request body are only examples. Set them based on service requirements.

    {
      "name" : "test-cassandra-01",
      "datastore" : {
        "type" : "cassandra",
        "version" : "3.11",
        "storage_engine" : "rocksDB"
      },
      "region" : "aaa",
      "availability_zone" : "bbb",
      "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007",
      "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password" : "******",
      "mode" : "Cluster",
      "flavor" : [ {
        "num" : 3,
        "storage" : "ULTRAHIGH",
        "size" : 500,
        "spec_code" : "geminidb.cassandra.4xlarge.4"
      } ],
      "backup_strategy" : {
        "start_time" : "08:15-09:15",
        "keep_days" : 8
      },
      "ssl_option" : 1
    }
    

Example Responses

Status code: 202

Accepted

{
  "id" : "39b6a1a278844ac48119d86512e0000bin06",
  "name" : "test-cassandra-01",
  "datastore" : {
    "type" : "cassandra",
    "version" : "3.11",
    "storage_engine" : "rocksDB"
  },
  "created" : "2019-10-28 14:10:54",
  "status" : "creating",
  "region" : "aaa",
  "availability_zone" : "bbb,ccc,ddd",
  "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
  "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
  "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
  "mode" : "Cluster",
  "flavor" : [ {
    "num" : 3,
    "size" : 500,
    "storage" : "ULTRAHIGH",
    "spec_code" : "geminidb.cassandra.4xlarge.4"
  } ],
  "backup_strategy" : {
    "start_time" : "08:15-09:15",
    "keep_days" : "8"
  },
  "ssl_option" : "1",
  "job_id" : "c010abd0-48cf-4fa8-8cbc-090f093eaa2f"
}

Status Codes

For details, see Status Codes.

Error Codes

For details, see Error Codes.