Updated on 2026-06-05 GMT+08:00

Buying a DDM Instance

Function

This API is used to buy a DDM instance.

Constraints

DDM runs in VPCs. Before you create a DDM instance, ensure that a VPC is available and a subnet and security group have been configured.

URI

POST /v1/{project_id}/instances

Table 1 URI 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.

You can obtain the token by calling the IAM API used to obtain a user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

instance

Yes

CreateInstanceDetail object

Instance information

extend_param

No

CreateInstanceExtendParam object

Extended parameter, which is available only when you create a yearly/monthly instance

Table 4 CreateInstanceDetail

Parameter

Mandatory

Type

Description

name

Yes

String

Name of a DDM instance, which:

  • Can include 4 to 64 characters.
  • Must start with a letter.
  • Can contain only letters, digits, and hyphens (-).

flavor_id

Yes

String

Class ID

node_num

Yes

Integer

Number of nodes

engine_id

Yes

String

Engine ID

enterprise_project_id

No

String

Enterprise project ID

available_zones

Yes

Array of strings

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

vpc_id

Yes

String

VPC ID

security_group_id

Yes

String

Security group ID

subnet_id

Yes

String

Subnet ID

param_group_id

No

String

Parameter template ID.

time_zone

No

String

UTC time zone. The default value is UTC. The value can be UTC, UTC-12:00, UTC-11:00, UTC-10:00, UTC-09:00, UTC-08:00, UTC-07:00, UTC-06:00, UTC-05:00, UTC-04:00, UTC-03:00, UTC-02:00, UTC-01:00, UTC+01:00, UTC+02:00, UTC+03:00, UTC+05:00, UTC+06:00, UTC+07:00, UTC+08:00, UTC+09:00, UTC+10:00, UTC+11:00, and UTC+12:00.

admin_user_name

No

String

Username of the administrator. The username:

  • Can include 1 to 32 characters.
  • Must start with a letter.
  • Can contain only letters, digits, and underscores (_).

admin_user_password

No

String

Password of the administrator. The password:

  • Can include 8 to 32 characters.
  • Must be a combination of uppercase letters, lowercase letters, digits, and the following special characters: ~!@#%^*-_+? Must be a strong password to improve security and prevent security risks such as brute force cracking.
Table 5 CreateInstanceExtendParam

Parameter

Mandatory

Type

Description

charge_mode

No

String

Billing mode. The value can be:

  • prePaid: indicates the yearly/monthly billing mode.
  • postPaid: indicates the pay-per-use billing mode. It is the default value.

Default value: postPaid

Enumerated values:

  • prePaid
  • postPaid

period_type

No

String

Subscription period. The value can be:

  • month: indicates the subscription time unit is month.
  • year: indicates the subscription time unit is year. This parameter is valid and mandatory if charge_mode is set to prePaid.

Enumerated values:

  • month
  • year

period_num

No

Integer

Subscription duration.

  • If period_type is set to month, the value ranges from 1 to 9.
  • If period_type is set to year, the value is 1. This parameter is valid and mandatory if charge_mode is set to prePaid.

is_auto_renew

No

String

Whether the instance is automatically renewed when it expires. The value can be:

  • true: The instance is automatically renewed when it expires.
  • false: The instance is not automatically renewed when it expires. This parameter is valid when charge_mode is set to prePaid. The instance is not automatically renewed by default if no value is specified.

Enumerated values:

  • true
  • false

is_auto_pay

No

String

Whether the order is paid from the customer's account balance. The value can be:

  • true: indicates that the order is automatically paid from the customer's account balance.
  • false: indicates that the order needs to be paid manually. This parameter is available if charge_mode is set to prePaid. The order needs to be paid manually by default if no value is specified.

Enumerated values:

  • true
  • false

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

id

String

Instance ID.

job_id

String

ID of the job for creating an instance.

This parameter is returned only when pay-per-use instances are created.

order_id

String

Order ID. This parameter is returned only when a yearly/monthly instance is created.

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

errCode

String

Service error code

externalMessage

String

Error message

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

errCode

String

Service error code

externalMessage

String

Error message

Example Request

  • Creating a DDM instance.
    POST https://{endpoint}/v1/{project_id}/instances
    
    {
      "instance" : {
        "name" : "ddm-test-001",
        "flavor_id" : "8f2e696c-a9c1-30bd-af90-25522bc67606",
        "node_num" : 4,
        "engine_id" : "2325a707-0361-8be6-dd01-13474bbac437",
        "enterprise_project_id" : "0",
        "available_zones" : [ "az1" ],
        "vpc_id" : "e1d886ec-cfe7-4cd4-b748-fc55a10b4172",
        "security_group_id" : "035b70ed-319b-4086-9fd7-62a2e8548b2e",
        "subnet_id" : "f942f970-1a02-4eee-8927-xxxxxxxx",
        "param_group_id" : "035b70ed-319b-4086-9fd7-xxxxxxxx"
      }
    }

Example Response

Status code: 200

OK

{
  "id": "e90bc6739a3c4666a577c3fa1524dac2in09", 
  "job_id": "3ae783f3-844e-4051-abd5-b9cc65899785",
  "order_id": null 
}

Status code: 400

bad request

{
  "externalMessage" : "Parameter error.",
  "errCode" : "DBS.280001"
}

Status code: 500

Server error

{
  "externalMessage" : "Server failure.",
  "errCode" : "DBS.200412"
}

Status Codes

Status Code

Description

200

OK

400

Bad request

500

Server error

Error Codes

For details, see Error Codes.