vDB API (1.0)

Download OpenAPI specification:

API for working with vDB Instances (Relational Databases, MemoryStore Databases, Kafka Clusters and PostgreSQL Clusters).

Relational Database API

updateDatabaseSetting

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
dbInstanceId
string

DB instance ID

password
string

Optional. New master password. Only letters (a-z, A-Z, 0-9, '$', '^', '_', '<', '>') are allowed. Your input data must starts with an alphabetic character & ends with either a letter or a digit. It must be between 8 and 32.

publicAccess
boolean

Optional. Set to 'true' if you want to allow public access to the DB instance.

backupAuto
boolean

Optional. Set to 'true' if you want to enable daily auto backup.

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days.

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "password": "abcd1234",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00"
}

updateDatabaseConfigGroup

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
dbInstanceId
string

DB instance ID

configId
string

New config group ID or set to NULL to detach current config group

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "configId": "cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729"
}

getSecurityRules

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/%7BinstanceId%7D/secrules',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateSecurityGroupRules

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array
id
string

Secgroup rule ID. Set to null to insert new.

portRangeMin
integer <int32>

Port range min. Allowed values: 3306 (MySQL, MariaDB), 5432 (PostgreSQL Single-node), 5432 or 15432 (PostgreSQL Cluster), 6379 (Redis)

portRangeMax
integer <int32>

Port range max. Allowed values: 3306 (MySQL, MariaDB), 5432 (PostgreSQL Single-node), 5432 or 15432 (PostgreSQL Cluster), 6379 (Redis)

remoteIpPrefix
string

IP Prefix

Responses

Request samples

Content type
application/json
[
  • {
    }
]

createRelationalDatabaseInstance

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
object (UserRequest)

Master user information

Array of objects (DatabaseRequest)

Database information. Currently support 1 database at creation.

name
string

DB instance name

volumeType
string

Volume type

volumeSize
integer <int32>

Volume Size

datastoreType
string

Datastore type

datastoreVersion
string

Version of datastore type

netIds
Array of strings

Subnet ID

configId
string

Optional. Config group ID attached to DB instance

publicAccess
boolean

Set to 'true' if you want to allow public access to the DB instance

backupAuto
boolean

Set to 'true' if you want to enable daily auto backup

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

packageId
string

Flavor ID

poc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

locateZoneId
string

Zone ID

Responses

Request samples

Content type
application/json
{
  • "user": {
    },
  • "databases": [
    ],
  • "name": "instance-name",
  • "volumeType": "Gen2-NVMe2-IOPS3000",
  • "volumeSize": 100,
  • "datastoreType": "MySQL",
  • "datastoreVersion": 8,
  • "netIds": [
    ],
  • "configId": "cfg-62a9843e-59f9-4549-afc0-4de88d566736",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00",
  • "packageId": 211,
  • "poc": true,
  • "locateZoneId": "HCM03-1A"
}

startDatabaseInstances

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

stopDatabaseInstances

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

resizeStorage

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (ResizeVolumeDetail)

Restore volume information

action
string

Action. Allowed value: resize

resourceType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "resize",
  • "resourceType": "dbaas"
}

resizeInstance

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (ResizeFlavorDetail)

Resize flavor information

action
string

Action. Allowed value: resize

resourceType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "resize",
  • "resourceType": "dbaas"
}

restartDatabaseInstances

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

detachReplica

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

deleteDatabaseInstances

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
Request Body schema: application/json
required
Array of objects (DeleteDbInstanceDetail)

Delete DB instance information

action
string

Action. Allowed value: delete

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "delete",
  • "resType": "dbaas"
}

createRelationalDatabaseInstanceReplica

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
name
string

New DB instance name

volumeType
string

Volume type

volumeSize
integer <int32>

DB instance volume size. Only required for Relational Database

datastoreType
string

Datastore type

datastoreVersion
string

Version of datastore type

netIds
Array of strings

Subnet ID

configId
string

Optional. Config group ID attached to DB instance

publicAccess
boolean

Set to 'true' if you want to allow public access to the DB instance

backupAuto
boolean

Set to 'true' if you want to enable daily auto backup

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

packageId
string

Package ID

replicaSourceId
string

ID of the source DB instance used to create this replica (slave). Required when creating a read replica.

poc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

locateZoneId
string

Zone ID

Responses

Request samples

Content type
application/json
{
  • "name": "new-instance",
  • "volumeType": "Gen2-NVMe2-IOPS3000",
  • "volumeSize": 20,
  • "datastoreType": "MySQL",
  • "datastoreVersion": 8,
  • "netIds": [
    ],
  • "configId": "cfg-62a9843e-59f9-4549-afc0-4de88d566736",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00",
  • "packageId": 211,
  • "replicaSourceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "poc": true,
  • "locateZoneId": "HCM03-1A"
}

getDatabaseInstancesByUser

Authorizations:
IAMAccessToken
query Parameters
required
object
pageNumber
required
integer <int32>
pageSize
required
integer <int32>

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances',
  qs: {
    filterRequest: 'SOME_OBJECT_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE',
    pageSize: 'SOME_INTEGER_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListReplicas

Authorizations:
IAMAccessToken
path Parameters
replicaSourceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/%7BreplicaSourceId%7D/replicas',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getHistoryDB

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/%7BinstanceId%7D/histories',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listZone

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/zones',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getVolumeTypes

Authorizations:
IAMAccessToken
query Parameters
zoneId
string
Default: "HCM03-1A"

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/volume/types',
  qs: {zoneId: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListNetwork

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/networks',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listSubnet

Authorizations:
IAMAccessToken
query Parameters
zoneId
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/networks/subnets',
  qs: {zoneId: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDatabaseInstancesById

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/id/%7BdbInstanceId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFlavors

Authorizations:
IAMAccessToken
query Parameters
type
required
string
version
required
string
zoneId
string
Default: "HCM03-1A"

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/flavors',
  qs: {
    type: 'SOME_STRING_VALUE',
    version: 'SOME_STRING_VALUE',
    zoneId: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFlavorCodes

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/flavor_zones/codes',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getAllInstanceFamily

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/families',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getEngine

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/engine',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getAllDatastore

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/datastore',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDBInstanceConfig

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/database-instances/configuration',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Relational Configuration group API

updateConfig

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
id
string

Config group ID

object

Config group values

Responses

Request samples

Content type
application/json
{
  • "id": "cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729",
  • "values": {
    }
}

createConfig

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
name
string

Config Group Name

description
string

Config Group Description

datastoreType
string

Config Group Datastore Type. Allowed values: MySQL, PostgreSQL, MariaDB

datastoreVersion
string

Version of Datastore Type

deployType
string

Optional. Currently only available for PostgreSQL. Allowed values: cluster, single_node. Default value: single_node.Config group with a 'cluster' deploy type can only be used with a PostgreSQL Cluster.

Responses

Request samples

Content type
application/json
{
  • "name": "test-config-group",
  • "description": "This is a test config group",
  • "datastoreType": "PostgreSQL",
  • "datastoreVersion": 15,
  • "deployType": "single_node"
}

getListConfigs

Authorizations:
IAMAccessToken
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/configurations',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getConfigParams

Authorizations:
IAMAccessToken
query Parameters
datastoreType
required
string
datastoreVersion
required
string
deployType
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/configurations/params',
  qs: {
    datastoreType: 'SOME_STRING_VALUE',
    datastoreVersion: 'SOME_STRING_VALUE',
    deployType: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getConfigsById

Authorizations:
IAMAccessToken
query Parameters
id
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/configurations/id',
  qs: {id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

deleteConfigs_1

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
Array
id
string

Config Group ID

Responses

Request samples

Content type
application/json
[
  • {
    }
]

PostgreSQL Cluster API

updateSettingsPostgreCluster

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
Request Body schema: application/json
required
password
string

New Master password. Only letters (a-z, A-Z, 0-9, '$', '^', '_', '<', '>') are allowed. Your input data must starts with an alphabetic character & ends with either a letter or a digit. It must be between 8 and 32.

publicAccess
boolean

Set to 'true' if you want to allow public access to the cluster

Responses

Request samples

Content type
application/json
{
  • "password": "abcd1234",
  • "publicAccess": true
}

resizePostgreCluster

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
type
string

Resize Type. Allowed values: VOLUME-SIZE, VOLUME-TYPE, NUMBER-OF-NODES

numberOfNodes
integer <int32>

New Number of Nodes. Minimum 2 nodes and maximum 10 nodes. Use with type NUMBER-OF-NODES

volumeTypeId
string

New Volume Type Id. Use with type VOLUME-TYPE

volumeSize
integer <int32>

New Volume Size. Use with type VOLUME-SIZE

isPoc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

Responses

Request samples

Content type
application/json
{
  • "type": "VOLUME-SIZE",
  • "numberOfNodes": 3,
  • "volumeTypeId": "pgst-63e28e83-165c-4a6d-8cd4-36ed37f1b65d",
  • "volumeSize": 100,
  • "isPoc": true
}

updateConfigGroupPostgreCluster

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
Request Body schema: application/json
required
configGroupId
string

New config group Id or set to empty string "" to detach current config group

Responses

Request samples

Content type
application/json
{
  • "configGroupId": "pg-cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729"
}

createOrderPostgreCluster

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
name
string

Cluster name

locateZoneId
string

Zone ID

packageId
string

Flavor ID. Can only be compatible with a PostgreSQL Cluster Flavor.

volumeTypeId
string

Volume Type ID. Can only be compatible with a PostgreSQL Cluster Volume Type.

volumeSize
integer <int32>

Volume Size

numberOfNodes
integer <int32>

Number of nodes. Minimum 2 nodes and maximum 10 nodes.

object (UserRequest_2)

Master user information

Array of objects (DatabaseRequest_2)

Database name. Currently support 1 database name at creation.

datastoreVersion
string

Datastore version. Can only be compatible with a PostgreSQL Cluster Datastore Version.

netIds
Array of strings

List of subnet IDs. Provide one subnet ID to create all nodes in a single zone (e.g. ["sub-e843ab13-eb6c-4541-93f6-912b3c33210c"]). Provide multiple subnet IDs — one per zone (e.g. ["sub-...HCM03-1A", "sub-...HCM03-1B"]) — to spread the cluster nodes across multiple zones (Multi-AZ). The number of subnet IDs should match the number of zones the nodes will be distributed across.

configId
string

Config Group ID. Can only be compatible with a config group with a 'cluster' deploy type.

publicAccess
boolean

Public access

backupLocationId
string

Backup Location ID. Managed by vBackup.

backupPolicyId
string

Backup Policy ID. Managed by vBackup.

backupPointId
string

Backup Point ID. Managed by vBackup. Required if Restoring cluster from Backup.

isPoc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

Responses

Request samples

Content type
application/json
{
  • "name": "cluster-13a2d94f-f7",
  • "locateZoneId": "HCM03-1A",
  • "packageId": "pgp-51e30a6d-bc9e-4ffb-843f-11e950de12e8",
  • "volumeTypeId": "pgst-63e28e83-165c-4a6d-8cd4-36ed37f1b65d",
  • "volumeSize": 100,
  • "numberOfNodes": 3,
  • "user": {
    },
  • "databases": [
    ],
  • "datastoreVersion": 16,
  • "netIds": [
    ],
  • "configId": "pg-cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729",
  • "publicAccess": true,
  • "backupLocationId": "bk-des-23b5296e-2b73-4617-ad5f-117108522f11",
  • "backupPolicyId": "bk-pol-23b5296e-2b73-4617-ad5f-117108522f11",
  • "backupPointId": "bk-db-pt-23b5296e-2b73-4617-ad5f-117108522f11",
  • "isPoc": true
}

getPostgreClusterVolumeUsed

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/cluster/%7BclusterId%7D/volume-used',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getVolumeTypesPostgreCluster

Authorizations:
IAMAccessToken
query Parameters
zoneId
string
Default: "HCM03-1A"
multiZone
boolean

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/cluster/volume-types',
  qs: {zoneId: 'SOME_STRING_VALUE', multiZone: 'SOME_BOOLEAN_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listFlavorPostgreCluster

Authorizations:
IAMAccessToken
query Parameters
zoneId
string
Default: "HCM03-1A"
multiZone
boolean

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/cluster/flavors',
  qs: {zoneId: 'SOME_STRING_VALUE', multiZone: 'SOME_BOOLEAN_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDatastoresPostgreCluster

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/cluster/datastore',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

MemoryStore Database API

updateDatabaseSetting_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
dbInstanceId
string

DB instance ID

editRedisPassword
boolean

Set to 'true' if you make any change of 'redisPasswordEnabled' or 'redisPassword'

redisPasswordEnabled
boolean

Set to 'true' if you want to enable master password. Required ENABLED if 'publicAccess' is true

redisPassword
string

Redis master password. Required if 'redisPasswordEnabled' is true. Only letters (a-z, A-Z, 0-9, '$', '^', '_', '<', '>') are allowed. Your input data must starts with an alphabetic character & ends with either a letter or a digit. It must be between 16 and 128.

publicAccess
boolean

Optional. Set to 'true' if you want to allow public access to the DB instance.

backupAuto
boolean

Optional. Set to 'true' if you want to enable daily auto backup.

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "editRedisPassword": true,
  • "redisPasswordEnabled": true,
  • "redisPassword": "abcd1234abcd1234",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00"
}

updateDatabaseConfigGroup_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
dbInstanceId
string

DB instance ID

configId
string

New config group ID or set to NULL to detach current config group

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "configId": "cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729"
}

getSecurityRules_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances/%7BdbInstanceId%7D/secrules',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateSecurityRules

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array
id
string

Secgroup rule ID. Set to null to insert new.

portRangeMin
integer <int32>

Port range min. Allowed values: 3306 (MySQL, MariaDB), 5432 (PostgreSQL Single-node), 5432 or 15432 (PostgreSQL Cluster), 6379 (Redis)

portRangeMax
integer <int32>

Port range max. Allowed values: 3306 (MySQL, MariaDB), 5432 (PostgreSQL Single-node), 5432 or 15432 (PostgreSQL Cluster), 6379 (Redis)

remoteIpPrefix
string

IP Prefix

Responses

Request samples

Content type
application/json
[
  • {
    }
]

createMemoryStoreDatabaseInstance

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
name
string

DB instance name

datastoreType
string

Datastore type

datastoreVersion
string

Version of datastore type

netIds
Array of strings

Subnet ID

configId
string

Optional. Config group ID attached to DB instance

publicAccess
boolean

Set to 'true' if you want to allow public access to the DB instance

backupAuto
boolean

Set to 'true' if you want to enable daily auto backup

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

packageId
string

Flavor ID

redisPasswordEnabled
boolean

Set to 'true' if you want to enable master password. Required ENABLED if 'publicAccess' is true

redisPassword
string

Redis master password. Required if 'redisPasswordEnabled' is true. Only letters (a-z, A-Z, 0-9, '$', '^', '_', '<', '>') are allowed. Your input data must starts with an alphabetic character & ends with either a letter or a digit. It must be between 16 and 128.

poc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

locateZoneId
string

Zone ID

Responses

Request samples

Content type
application/json
{
  • "name": "instance-name",
  • "datastoreType": "MySQL",
  • "datastoreVersion": 8,
  • "netIds": [
    ],
  • "configId": "cfg-62a9843e-59f9-4549-afc0-4de88d566736",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00",
  • "packageId": 211,
  • "redisPasswordEnabled": true,
  • "redisPassword": "abcd1234abcd1234",
  • "poc": true,
  • "locateZoneId": "HCM03-1A"
}

startDatabaseInstances_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

stopDatabaseInstances_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

resizeInstance_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (ResizeFlavorDetail)

Resize flavor information

action
string

Action. Allowed value: resize

resourceType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "resize",
  • "resourceType": "dbaas"
}

restartDatabaseInstances_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

detachReplica_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array of objects (ActionDbInstanceDetail)

Action DB instance information

action
string

Action. Allowed values: start, stop, reboot, detach_replica

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "start|stop|reboot|detach_replica",
  • "resType": "dbaas"
}

deleteDatabaseInstances_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
Request Body schema: application/json
required
Array of objects (DeleteDbInstanceDetail)

Delete DB instance information

action
string

Action. Allowed value: delete

resType
string

DB instance resource type. Allowed value: dbaas

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "delete",
  • "resType": "dbaas"
}

createDatabaseInstanceReplica

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
name
string

New DB instance name

datastoreType
string

Datastore type

datastoreVersion
string

Version of datastore type

netIds
Array of strings

Subnet ID

configId
string

Optional. Config group ID attached to DB instance

publicAccess
boolean

Set to 'true' if you want to allow public access to the DB instance

backupAuto
boolean

Set to 'true' if you want to enable daily auto backup

backupDuration
integer <int32>

Required if 'backupAuto' is true. Determine how many days your backup will be retained. Minimum 2 days and maximum 14 days

backupTime
string

Required if 'backupAuto' is true. The time of the day to backup your DB instance.

packageId
string

Package ID

replicaSourceId
string

ID of the source DB instance used to create this replica (slave). Required when creating a read replica.

poc
boolean

Set to 'true' if paying with PoC Credit. Auto Payment only.

locateZoneId
string

Zone ID

Responses

Request samples

Content type
application/json
{
  • "name": "new-instance",
  • "datastoreType": "Redis",
  • "datastoreVersion": 7.2,
  • "netIds": [
    ],
  • "configId": "cfg-62a9843e-59f9-4549-afc0-4de88d566736",
  • "publicAccess": true,
  • "backupAuto": true,
  • "backupDuration": 2,
  • "backupTime": "02:00",
  • "packageId": 211,
  • "replicaSourceId": "db-70a4fbee-db60-46d2-858c-875478a03a38",
  • "poc": true,
  • "locateZoneId": "HCM03-1A"
}

getDatabaseInstancesByUser_1

Authorizations:
IAMAccessToken
query Parameters
required
object
pageNumber
required
integer <int32>
pageSize
required
integer <int32>

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances',
  qs: {
    filterRequest: 'SOME_OBJECT_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE',
    pageSize: 'SOME_INTEGER_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDatabaseInstancesById_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances/%7BdbInstanceId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListReplicas_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances/%7BdbInstanceId%7D/replicas',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getHistoryDB_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances/%7BdbInstanceId%7D/histories',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListBackupsByInstanceId_1

Authorizations:
IAMAccessToken
path Parameters
dbInstanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database-instances/%7BdbInstanceId%7D/backups',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

MemoryStore Configuration group API

updateConfig_1

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
id
string

Config group ID

object

Config group values

Responses

Request samples

Content type
application/json
{
  • "id": "cfg-b8cf4290-9c11-4b52-bea1-d4423e90b729",
  • "values": {
    }
}

deleteConfigs

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
Array
id
string

Config Group ID

Responses

Request samples

Content type
application/json
[
  • {
    }
]

createConfig_1

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
name
string

Config Group Name

description
string

Config Group Description

datastoreType
string

Config Group Datastore Type. Allowed value: Redis

datastoreVersion
string

Version of Datastore Type

Responses

Request samples

Content type
application/json
{
  • "name": "test-config-group",
  • "description": "This is a test config group",
  • "datastoreType": "Redis",
  • "datastoreVersion": 7.2
}

getListConfigs_1

Authorizations:
IAMAccessToken
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/configurations',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getConfigsById_1

Authorizations:
IAMAccessToken
path Parameters
configId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/configurations/%7BconfigId%7D/detail',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getConfigParams_1

Authorizations:
IAMAccessToken
query Parameters
datastoreType
required
string
datastoreVersion
required
string
deployType
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/configurations/params',
  qs: {
    datastoreType: 'SOME_STRING_VALUE',
    datastoreVersion: 'SOME_STRING_VALUE',
    deployType: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Kafka Cluster API

getUserById

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
userId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/users/%7BuserId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateUser

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
userId
required
string
Request Body schema: application/json
required
produceTopicNames
Array of strings

List of topic names that the created user has Produce permission on. The value of this field will be ignored if 'produceAll' is true.

produceAll
boolean

Indicates whether the created user has Produce permission on all topics.

consumeTopicNames
Array of strings

List of topic names that the created user has Consume permission on. The value of this field will be ignored if 'consumeAll' is true.

consumeAll
boolean

Indicates whether the created user has Consume permission on all topics.

produceConsumeTopicNames
Array of strings

List of topic names that the created user has Produce and Consume permissions on. The value of this field will be ignored if 'produceConsumeAll' is true.

produceConsumeAll
boolean

Indicates whether the created user has both Produce and Consume permissions on all topics.

adminTopicNames
Array of strings

List of topic names that the created user has Admin permission on. The value of this field will be ignored if 'adminAll' is true.

adminAll
boolean

Indicates whether the created user has Admin permission on all topics.

mtlsAuthen
boolean

mTLS Authentication Enabled

saslAuthen
boolean

SASL Authentication Enabled

Responses

Request samples

Content type
application/json
{
  • "produceTopicNames": [
    ],
  • "produceAll": true,
  • "consumeTopicNames": [
    ],
  • "consumeAll": true,
  • "produceConsumeTopicNames": [
    ],
  • "produceConsumeAll": true,
  • "adminTopicNames": [
    ],
  • "adminAll": true,
  • "mtlsAuthen": true,
  • "saslAuthen": true
}

deleteUser

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
userId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/users/%7BuserId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

regenerateUserAuthenCredential

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
userId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/users/%7BuserId%7D/regenerate-creds',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getTopicById

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
topicId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/topics/%7BtopicId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateTopic

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
topicId
required
string
Request Body schema: application/json
required
partitions
integer <int32>

Partition count. Minimum 1 partition and maximum 2048 partition

replicas
integer <int32>

Replication factor. Minimum 1 factor and not exceed the number of brokers

retentionSeconds
integer <int64>

Retention time in seconds. Minimum 3600 seconds and maximum 7776000 seconds

retentionBytes
integer <int64>

Retention byte. Minimum 1 byte and maximum 1099511627776 bytes. Kafka will create the topic with a default value if this field is empty. You can set this field to -1 for unlimited value.

Responses

Request samples

Content type
application/json
{
  • "partitions": 3,
  • "replicas": 3,
  • "retentionSeconds": 3600,
  • "retentionBytes": 100229295
}

deleteTopic

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
topicId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/topics/%7BtopicId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updatePublicAccess

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
enable
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/public-access',
  qs: {enable: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateStorageType

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
storageType
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/kafka-storage-type',
  qs: {storageType: 'SOME_STRING_VALUE'},
  headers: {'user-type': 'SOME_STRING_VALUE', Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateStorageSize

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
size
required
integer <int32>
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/kafka-storage-size',
  qs: {size: 'SOME_INTEGER_VALUE'},
  headers: {'user-type': 'SOME_STRING_VALUE', Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateBrokerCount

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
count
required
integer <int32>
rebalance
required
boolean
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/kafka-broker-count',
  qs: {count: 'SOME_INTEGER_VALUE', rebalance: 'SOME_BOOLEAN_VALUE'},
  headers: {'user-type': 'SOME_STRING_VALUE', Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateConfigGroup

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
configGroupVersionId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/config-group',
  qs: {configGroupVersionId: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

updateAuthentication

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
query Parameters
mtlsAuthen
required
boolean
saslAuthen
required
boolean

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/authentication',
  qs: {mtlsAuthen: 'SOME_BOOLEAN_VALUE', saslAuthen: 'SOME_BOOLEAN_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listClusters

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

createOrderCluster

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
name
string

Cluster Name

kafkaVersion
string

Kafka Version

serverFlavorId
string

Flavor Id

kafkaBrokerCount
integer <int32>

Number of brokers. Minimum 3 brokers and maximum 10 brokers

kafkaStorageType
string

Volume Type Id

kafkaStorageSize
integer <int32>

Volume Size

vserverProjectId
string

vServer Project Id

networkId
string

Network Id

subnetId
string

Subnet Id

mtlsAuthen
boolean

mTLS Authentication Enabled

saslAuthen
boolean

SASL Authentication Enabled

configGroupVersionId
string

Config Group Version Id

encryptionVolume
boolean

Encryption Volume Enabled

Responses

Request samples

Content type
application/json
{
  • "name": "cluster-13a2d94f-f7",
  • "kafkaVersion": "3.7.0",
  • "serverFlavorId": "flav-ced35853-d815-4ff5-82be-43c0a938cbfb",
  • "kafkaBrokerCount": 3,
  • "kafkaStorageType": "vtype-93a22a9f-1ec0-4e61-84fb-75ac181c13dc",
  • "kafkaStorageSize": 20,
  • "vserverProjectId": "pro-2b233cab-430c-49db-be6a-c54bd8aa5f93",
  • "networkId": "net-e104e0a8-b7f5-4184-8720-87c6b77f0217",
  • "subnetId": "sub-e843ab13-eb6c-4541-93f6-912b3c33210c",
  • "mtlsAuthen": true,
  • "saslAuthen": true,
  • "configGroupVersionId": "cgroupver-a29c1513-fd3b-4454-b5a1-04999340993a",
  • "encryptionVolume": true
}

listUser

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/users',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

createUser

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
Request Body schema: application/json
required
name
string

User Name

produceTopicNames
Array of strings

List of topic names that the created user has Produce permission on. The value of this field will be ignored if 'produceAll' is true.

produceAll
boolean

Indicates whether the created user has Produce permission on all topics.

consumeTopicNames
Array of strings

List of topic names that the created user has Consume permission on. The value of this field will be ignored if 'consumeAll' is true.

consumeAll
boolean

Indicates whether the created user has Consume permission on all topics.

produceConsumeTopicNames
Array of strings

List of topic names that the created user has Produce and Consume permissions on. The value of this field will be ignored if 'produceConsumeAll' is true.

produceConsumeAll
boolean

Indicates whether the created user has both Produce and Consume permissions on all topics.

adminTopicNames
Array of strings

List of topic names that the created user has Admin permission on. The value of this field will be ignored if 'adminAll' is true.

adminAll
boolean

Indicates whether the created user has Admin permission on all topics.

mtlsAuthen
boolean

mTLS Authentication Enabled

saslAuthen
boolean

SASL Authentication Enabled

Responses

Request samples

Content type
application/json
{
  • "name": "user-13a2d94f-f7",
  • "produceTopicNames": [
    ],
  • "produceAll": true,
  • "consumeTopicNames": [
    ],
  • "consumeAll": true,
  • "produceConsumeTopicNames": [
    ],
  • "produceConsumeAll": true,
  • "adminTopicNames": [
    ],
  • "adminAll": true,
  • "mtlsAuthen": true,
  • "saslAuthen": true
}

listTopic

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/topics',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

createTopic

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
Request Body schema: application/json
required
name
string

Topic Name

partitions
integer <int32>

Partition count. Minimum 1 partition and maximum 2048 partition

replicas
integer <int32>

Replication factor. Minimum 1 factor and not exceed the number of brokers

retentionSeconds
integer <int64>

Retention time in seconds. Minimum 3600 seconds and maximum 7776000 seconds

retentionBytes
integer <int64>

Retention byte. Minimum 1 byte and maximum 1099511627776 bytes. Kafka will create the topic with a default value if this field is empty. You can set this field to -1 for unlimited value.

Responses

Request samples

Content type
application/json
{
  • "name": "topic-13a2d94f-f7",
  • "partitions": 3,
  • "replicas": 3,
  • "retentionSeconds": 3600,
  • "retentionBytes": 100229295
}

createSecRule

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
Request Body schema: application/json
required
remoteIp
string

Remote IP Prefix

port
integer <int32>

Port. Allowed ports: 9092,9094,9096,9194,9196

Responses

Request samples

Content type
application/json
{
  • "remoteIp": "0.0.0.0/0",
  • "port": 9092
}

getClusterById

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

deleteCluster

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getUserAuthenCredential

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
userId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/users/%7BuserId%7D/authen-creds',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listHistory

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/history',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

deleteSecRule

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string
secGroupRuleId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/clusters/%7BclusterId%7D/security-group-rules/%7BsecGroupRuleId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Relational Backup Storage API

createRelationalBackUpStorage

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
backupPackageId
string

Backup Storage package ID

Responses

Request samples

Content type
application/json
{
  • "backupPackageId": 2
}

resizeBackupStorage

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (ResizeBackupStorageDetail)

Resize information

action
string

Action. Allowed value: resize

resourceType
string

Backup Storage resource type. Allowed value: dbaas-backup-storage

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "resize",
  • "resourceType": "dbaas-backup-storage"
}

deleteBackupStorage

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
Array of objects (DeleteBackupStorageDetail)

Delete information

action
string

Action. Allowed value: delete

resType
string

Backup Storage resource type. Allowed value: dbaas-backup-storage

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "delete",
  • "resType": "dbaas-backup-storage"
}

getListQuotaPackage

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backup-storages',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListBackupStorage

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backup-storages/information',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Relational Backup API

restoreBackup

Authorizations:
IAMAccessToken
path Parameters
id
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (RestoreBackupDetail)

Restore backup information

action
string

Action. Allowed value: restore_backup

resourceType
string

Backup resource type. Allowed value: dbaas-backup

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "restore_backup",
  • "resourceType": "dbaas-backup"
}

createBackups

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
dbInstanceId
string

Db instance Id

name
string

Backup name

parentId
string

Parent backup Id. Required if 'backupType' is INCREMENTAL

backupType
string

Backup type. Allowed values: FULL, INCREMENTAL

description
string

Backup description

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-2891dc4f-dc55-41f6-9f92-9c5ca0a78272",
  • "name": "backup_1",
  • "parentId": "bk-e589fd8a-6037-47dc-95a2-338f209dc524",
  • "backupType": "FULL",
  • "description": "This is description"
}

getListBackups

Authorizations:
IAMAccessToken
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backups',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListBackupsByInstanceId

Authorizations:
IAMAccessToken
path Parameters
instanceId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backups/insId/%7BinstanceId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFreeBackupUsage

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backups/free-backup',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDetailBackupById

Authorizations:
IAMAccessToken
path Parameters
backupId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-relational/v1/backups/detail/%7BbackupId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

deleteBackups_1

Authorizations:
IAMAccessToken
path Parameters
backupId
required
string
Request Body schema: application/json
required
Array
backupId
required
string

Backup Id

Responses

Request samples

Content type
application/json
[
  • {
    }
]

PostgreSQL Backup API

backupNow

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/backup-vdb/%7BclusterId%7D/backup-now',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listBackupPolicy

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/policy',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listBackupLocation

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/location',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listBackupVDB

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/backup-vdb',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listBackupRestorePoint

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/backup-vdb/%7BclusterId%7D/restore-point',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getBackupVDB

Authorizations:
IAMAccessToken
path Parameters
clusterId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-postgresql/v1/backup/backup-vdb/%7BclusterId%7D/detail',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

MemoryStore Backup Storage API

createMemoryStoreBackUpStorage

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
backupPackageId
string

Backup Storage package ID

Responses

Request samples

Content type
application/json
{
  • "backupPackageId": 2
}

resizeBackupStorage_1

Authorizations:
IAMAccessToken
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (ResizeBackupStorageDetail)

Resize information

action
string

Action. Allowed value: resize

resourceType
string

Backup Storage resource type. Allowed value: dbaas-backup-storage

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "resize",
  • "resourceType": "dbaas-backup-storage"
}

deleteBackupStorage_1

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
Array of objects (DeleteBackupStorageDetail)

Delete information

action
string

Action. Allowed value: delete

resType
string

Backup Storage resource type. Allowed value: dbaas-backup-storage

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "delete",
  • "resType": "dbaas-backup-storage"
}

getListBackupStorage_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/backup-storages',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListQuotaPackage_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/backup-storages/packages',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

MemoryStore Backup API

restoreBackup_1

Authorizations:
IAMAccessToken
path Parameters
backupId
required
string
header Parameters
user-type
string
Example: ROOT_USER

ROOT_USER for Checkout flow or IAM_USER for Auto Payment flow. Available values: ROOT_USER, IAM_USER. Default value: ROOT_USER.

Request Body schema: application/json
required
Array of objects (RestoreMemBackupDetail)

Restore backup information

action
string

Action. Allowed value: restore_backup

resourceType
string

Backup resource type. Allowed value: dbaas-backup

Responses

Request samples

Content type
application/json
{
  • "databaseInstances": [
    ],
  • "action": "restore_backup",
  • "resourceType": "dbaas-backup"
}

deleteBackups

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
Array
backupId
required
string

Backup Id

Responses

Request samples

Content type
application/json
[
  • {
    }
]

createBackups_1

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
dbInstanceId
string

Db instance Id

name
string

Backup name

parentId
string

Parent backup Id. Required if 'backupType' is INCREMENTAL

backupType
string

Backup type. Allowed values: FULL, INCREMENTAL

description
string

Backup description

Responses

Request samples

Content type
application/json
{
  • "dbInstanceId": "db-2891dc4f-dc55-41f6-9f92-9c5ca0a78272",
  • "name": "backup_1",
  • "parentId": "bk-e589fd8a-6037-47dc-95a2-338f209dc524",
  • "backupType": "FULL",
  • "description": "This is description"
}

getListBackups_1

Authorizations:
IAMAccessToken
query Parameters
pageNumber
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 10

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/backups',
  qs: {pageNumber: 'SOME_INTEGER_VALUE', pageSize: 'SOME_INTEGER_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDetailBackupById_1

Authorizations:
IAMAccessToken
path Parameters
backupId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/backups/%7BbackupId%7D/detail',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFreeBackupUsage_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/backups/free-backup',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Kafka Configuration Group API

listConfigGroup

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/config-groups',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

createConfigGroup

Authorizations:
IAMAccessToken
Request Body schema: application/json
required
name
string

Config Group Name

description
string

Config Group Description

Array of objects (ConfigGroupPropertyDto)

Config Group Properties

Responses

Request samples

Content type
application/json
{
  • "name": "config-13a2d94f-f7",
  • "description": "This is a config group",
  • "properties": [
    ]
}

createConfigGroupVersion

Authorizations:
IAMAccessToken
path Parameters
configGroupId
required
string
Request Body schema: application/json
required
Array of objects (ConfigGroupPropertyDto)

Config Group Properties

Responses

Request samples

Content type
application/json
{
  • "properties": [
    ]
}

getConfigGroupById

Authorizations:
IAMAccessToken
path Parameters
configGroupId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/config-groups/%7BconfigGroupId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

deleteConfigGroup

Authorizations:
IAMAccessToken
path Parameters
configGroupId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/config-groups/%7BconfigGroupId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getConfigGroupVersionById

Authorizations:
IAMAccessToken
path Parameters
configGroupId
required
string
configGroupVersionId
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/config-groups/%7BconfigGroupId%7D/versions/%7BconfigGroupVersionId%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

MemoryStore Misc API

getVolumeTypes_1

Authorizations:
IAMAccessToken
query Parameters
zoneId
string
Default: "HCM03-1A"

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/volume-types',
  qs: {zoneId: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getListNetwork_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/networks',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listSubnet_1

Authorizations:
IAMAccessToken
query Parameters
zoneId
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/networks/subnets',
  qs: {zoneId: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFlavors_1

Authorizations:
IAMAccessToken
query Parameters
type
required
string
version
required
string
zoneId
string
Default: "HCM03-1A"

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/flavors',
  qs: {
    type: 'SOME_STRING_VALUE',
    version: 'SOME_STRING_VALUE',
    zoneId: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getAllInstanceFamily_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/families',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getEngine_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/engine',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getAllDatastore_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/datastore',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getDBInstanceConfig_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/configuration',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

getFlavorCodes_1

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-memory/v1/database/codes',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Kafka Misc API

getVolumeTypes_2

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/database/volume-types',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listFlavor

Authorizations:
IAMAccessToken
query Parameters
type
string
Default: "kafka"
version
string
Default: "1.0"

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/database/flavors',
  qs: {type: 'SOME_STRING_VALUE', version: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listFamily

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/database/families',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listAppConfigs

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/database/configs',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

listCode

Authorizations:
IAMAccessToken

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https:/vdb-gateway.vngcloud.vn/vdb-kafka/database/codes',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});