Updated on 2024-08-02 GMT+08:00

Creating a DDM Account

Function

This API is used to create a DDM account. DDM accounts are used to connect to and manage schemas. A maximum of 100 DDM accounts can be created for each DDM instance, and one DDM account can be associated with multiple schemas.

Constraints

None

URI

POST /v1/{project_id}/instances/{instance_id}/users

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.

instance_id

Yes

String

DDM instance 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

users

Yes

Array of CreateUsersInfo objects

DDM account information

Table 4 CreateUsersInfo

Parameter

Mandatory

Type

Description

name

Yes

String

Username of the DDM account, which:

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

Minimum length: 1 character

Maximum length: 32 characters

password

Yes

String

DDM account password

base_authority

Yes

Array of strings

Basic permissions of the DDM account.

The value can be CREATE, DROP, ALTER, INDEX, INSERT, DELETE, UPDATE, or SELECT.

Enumerated values:

  • CREATE
  • DROP
  • ALTER
  • INDEX
  • INSERT
  • DELETE
  • UPDATE
  • SELECT

description

No

String

Description of the DDM account, which cannot exceed 256 characters. It is left blank by default.

Maximum length: 256 characters

databases

No

Array of CreateUsersDatabases objects

Associated schemas. The databases field is optional. You can create a DDM account without associating it with any schema.

Table 5 CreateUsersDatabases

Parameter

Mandatory

Type

Description

name

Yes

String

Name of the associated schema

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

users

Array of CreateUsersDetailResponses objects

DDM account information

Table 7 CreateUsersDetailResponses

Parameter

Type

Description

name

String

Username of the DDM account

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

errCode

String

Service error code

externalMessage

String

Error message

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

errCode

String

Service error code

externalMessage

String

Error message

Example Request

Creating account DDMuser1 that has permissions of CREATE, DROP, ALTER, INDEX, INSERT, DELETE, UPDATE, and SELECT, and associating it with schema DDMdb1

POST https://{endpoint}/v1/{project_id}/instances/{instance_id}/users

{
  "users" : [ {
    "name" : "DDMuser1",
    "password" : "xxxxxx",
    
    "base_authority" : [ "CREATE", "DROP", "ALTER", "INDEX", "INSERT", "DELETE", "UPDATE", "SELECT" ],
    "description" : "",
    "databases" : [ {
      "name" : "DDMdb1"
    } ]
  } ]
}

Example Response

Status code: 200

OK

{
  "users" : [ {
    "name" : "DDMuser1"
  } ]
}

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.