Перейти к основному содержимому

Managed Databases API (v1)

Managing databases: creating and scaling database clusters up, restoring from backup, managing users, and more

Acls

Acls

List ACLs

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

datastore_id
string

Filter the list result by the datastore_id

pattern
string

Filter the list result by the pattern

pattern_type
string

Filter the list result by the pattern_type

status
string

Filter the list result by the status

user_id
string

Filter the list result by the user_id

Responses

Response samples

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

Create ACL

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (ACLCreate)
allow_read
required
boolean
allow_write
required
boolean
datastore_id
required
string <UUID>
pattern
string <= 249 characters ^[a-zA-Z0-9\._\-]+$
pattern_type
required
string
Enum: "literal" "prefixed" "all"
user_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "acl": {
    }
}

Response samples

Content type
application/json
{
  • "acl": {
    }
}

Delete ACL

Authorizations:
X-Auth-Token
path Parameters
acl_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get ACL resource

Authorizations:
X-Auth-Token
path Parameters
acl_id
required
string

Responses

Response samples

Content type
application/json
{
  • "acl": {
    }
}

Update ACL resource

Authorizations:
X-Auth-Token
path Parameters
acl_id
required
string
Request Body schema: application/json
required
required
object (ACLUpdate)
allow_read
boolean
allow_write
boolean

Responses

Request samples

Content type
application/json
{
  • "acl": {
    }
}

Response samples

Content type
application/json
{
  • "acl": {
    }
}

Actions

Actions

List actions

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

name
string

Filter the list result by the name

status
string

Filter the list result by the status

project_id
string

Filter the list result by the project_id

request_id
string

Filter the list result by the request_id

datastore_id
string

Filter the list result by the datastore_id

Responses

Response samples

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

Get an action resource

Authorizations:
X-Auth-Token
path Parameters
action_id
required
string

Responses

Response samples

Content type
application/json
{
  • "action": {
    }
}

Available extensions

Available extensions

List available DBMS extensions

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

name
string

Filter the list result by the name

datastore_type_id
string

Filter the list result by the datastore_type_id

Responses

Response samples

Content type
application/json
{
  • "available-extensions": [
    ]
}

Create an available DBMS extension

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (AvailableExtensionCreate)
datastore_type_ids
required
Array of strings <UUID> [ items <UUID > ]
dependency_ids
Array of strings <UUID> [ items <UUID > ]
name
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "available-extension": {
    }
}

Response samples

Content type
application/json
{
  • "available-extension": {
    }
}

Drop an extension

FIXME: Warning! This endpoint will remove available extension with all related records in extensions table. It acts like DELETE /flavors (and maybe some of the other deletion endpoints).

Authorizations:
X-Auth-Token
path Parameters
available_extension_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get an extension resource

Authorizations:
X-Auth-Token
path Parameters
available_extension_id
required
string

Responses

Response samples

Content type
application/json
{
  • "available-extension": {
    }
}

Update an available DBMS extension

Authorizations:
X-Auth-Token
path Parameters
available_extension_id
required
string
Request Body schema: application/json
required
required
object (AvailableExtensionUpdate)
datastore_type_ids
required
Array of strings <UUID> [ items <UUID > ]
dependency_ids
Array of strings <UUID> [ items <UUID > ]

Responses

Request samples

Content type
application/json
{
  • "available-extension": {
    }
}

Response samples

Content type
application/json
{
  • "datastore_type_ids": [
    ],
  • "dependency_ids": [
    ],
  • "id": "20d7bcf4-f8d6-4bf6-b8f6-46cb440a87f4",
  • "name": "Name"
}

Configuration parameters

Configuration parameters

List configuration parameters

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

datastore_type_id
string

Filter the list result by the datastore_type_id

name
string

Filter the list result by the name

ram
string

Filter the list result by the ram

vcpus
string

Filter the list result by the vcpus

disk
string

Filter the list result by the disk

Responses

Response samples

Content type
application/json
{
  • "configuration-parameters": [
    ]
}

Create a configuration parameter

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (ConfigurationParameterCreate)
can_be_empty
required
boolean
Array of (number or null) or (string or null) or (boolean or null) unique
datastore_type_id
required
string <UUID>
default_value_template
string or null
factor
integer >= 1
Array of (number or null) or (string or null) or (boolean or null) unique
is_available_for_customer
required
boolean
is_changeable
required
boolean
is_multiple_choice_available
required
boolean
is_restart_required
required
boolean
max_template
string
min_template
string
name
required
string
type
required
string
unit
required
string

Responses

Request samples

Content type
application/json
{
  • "configuration-parameter": {
    }
}

Response samples

Content type
application/json
{
  • "configuration-parameter": {
    }
}

Delete a configuration parameter

Authorizations:
X-Auth-Token
path Parameters
configuration_parameter_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a configuration parameter resource

Authorizations:
X-Auth-Token
path Parameters
configuration_parameter_id
required
string

Responses

Response samples

Content type
application/json
{
  • "configuration-parameter": {
    }
}

Databases

Databases

List databases

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

datastore_id
string

Filter the list result by the datastore_id

status
string

Filter the list result by the status

Responses

Response samples

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

Create a database

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (DatabaseCreate)
datastore_id
required
string <UUID>
lc_collate
string
lc_ctype
string
name
required
string [ 1 .. 63 ] characters ^[A-Za-z_][A-Za-z0-9_]*$
owner_id
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "database": {
    }
}

Response samples

Content type
application/json
{
  • "database": {
    }
}

Delete a database

Authorizations:
X-Auth-Token
path Parameters
database_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a database resource

Authorizations:
X-Auth-Token
path Parameters
database_id
required
string

Responses

Response samples

Content type
application/json
{
  • "database": {
    }
}

Update a database user resource

Authorizations:
X-Auth-Token
path Parameters
database_id
required
string
Request Body schema: application/json
required
required
object (DatabaseUpdate)
owner_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "database": {
    }
}

Response samples

Content type
application/json
{
  • "database": {
    }
}

Datastores

Datastores

List datastores

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

status
string

Filter the list result by the status

enabled
string

Filter the list result by the enabled

type_id
string

Filter the list result by the type_id

flavor_id
string

Filter the list result by the flavor_id

subnet_id
string

Filter the list result by the subnet_id

allow_restore
string

Filter the list result by the allow_restore

is_maintenance
string

Filter the list result by the is_maintenance

is_protected
string

Filter the list result by the is_protected

deleted
string

Filter the list result by the deleted

Responses

Response samples

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

Create a datastore

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (DatastoreCreate)
backup_retention_days
integer >= 1
config
object
object (DatastoreCreateDisk)
object (DatastoreCreateFlavor)
flavor_id
string <UUID>
object (DatastoreCreateFloatingIPs)
name
required
string [ 1 .. 255 ] characters ^[A-Za-z0-9_-]*$
node_count
required
integer >= 1
object (DatastoreCreatePooler)
project_id
string <UUID>
redis_password
string [ 1 .. 255 ] characters
object (DatastoreCreateRestore)
subnet_id
required
string <UUID>
type_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "datastore": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Delete a datastore

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a datastore resource

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string

Responses

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Update a datastore

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
object (DatastoreUpdate)
name
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "datastore": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Update datastore backup parameters

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
required
object (DatastoreUpdateBackups)
backup_retention_days
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "backups": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Configure datastore

This method will change provided parameters. Send nulls as values to reset parameter to default value.

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
config
object

Responses

Request samples

Content type
application/json
{
  • "config": { }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Get metrics for datastore databases

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
query Parameters
start
string

Filter the list result by the start

end
string

Filter the list result by the end

Responses

Response samples

Content type
application/json
{
  • "metrics": {
    }
}

Update firewall rules for datastore

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
required
object (DatastoreUpdateFirewall)
ips
required
Array of strings[ items [ 1 .. 255 ] characters ]

Responses

Request samples

Content type
application/json
{
  • "firewall": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Get all logs for datastore instance

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
query Parameters
job
string

Filter the list result by the job

start
string

Filter the list result by the start

end
string

Filter the list result by the end

limit
string

Filter the list result by the limit

ips
string

Filter the list result by the ips

databases
string

Filter the list result by the databases

Responses

Response samples

Content type
application/json
{
  • "logs": {
    }
}

Get all metrics for datastore instance

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
query Parameters
start
string

Filter the list result by the start

end
string

Filter the list result by the end

Responses

Response samples

Content type
application/json
{
  • "metrics": {
    }
}

Update Redis datastore password

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
required
object (DatastoreUpdatePassword)
redis_password
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "password": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Update datastore pooler settings

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
required
object (DatastoreUpdatePooler)
mode
string
Enum: "session" "transaction" "statement"
size
integer [ 1 .. 500 ]

Responses

Request samples

Content type
application/json
{
  • "pooler": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Resize datastore

Authorizations:
X-Auth-Token
path Parameters
datastore_id
required
string
Request Body schema: application/json
required
required
object (DatastoreResize)
object (DatastoreResizeDisk)
object (DatastoreResizeFlavor)
flavor_id
string <UUID>
node_count
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "resize": {
    }
}

Response samples

Content type
application/json
{
  • "datastore": {
    }
}

Datastore types

Datastore types

List datastore types

Authorizations:
X-Auth-Token

Responses

Response samples

Content type
application/json
{
  • "datastore-types": [
    ]
}

Get a datastore type resource

Authorizations:
X-Auth-Token
path Parameters
datastore_type_id
required
string

Responses

Response samples

Content type
application/json
{
  • "datastore-type": {
    }
}

Extensions

Extensions

List DBMS extensions

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

available_extension_id
string

Filter the list result by the available_extension_id

datastore_id
string

Filter the list result by the datastore_id

database_id
string

Filter the list result by the database_id

status
string

Filter the list result by the status

Responses

Response samples

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

Create an extension

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (ExtensionCreate)
available_extension_id
required
string <UUID>
database_id
required
string <UUID>
datastore_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "extension": {
    }
}

Response samples

Content type
application/json
{
  • "extension": {
    }
}

Drop an extension

Authorizations:
X-Auth-Token
path Parameters
extension_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get an extension resource

Authorizations:
X-Auth-Token
path Parameters
extension_id
required
string

Responses

Response samples

Content type
application/json
{
  • "extension": {
    }
}

Flavors

Flavors

List flavors

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

name
string

Filter the list result by the name

fl_size
string

Filter the list result by the fl_size

Responses

Response samples

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

Create a flavor

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (FlavorCreate)
datastore_type_ids
required
Array of strings <UUID> [ items <UUID > ]
description
string
disk
required
integer >= 0
fl_size
required
string
object (FlavorCreateHost)
is_public
boolean
Default: true
name
required
string [ 1 .. 255 ] characters
ram
required
integer >= 1
template
string
vcpus
required
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "flavor": {
    }
}

Response samples

Content type
application/json
{
  • "flavor": {
    }
}

Delete a flavor

Authorizations:
X-Auth-Token
path Parameters
flavor_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a flavor resource

Authorizations:
X-Auth-Token
path Parameters
flavor_id
required
string

Responses

Response samples

Content type
application/json
{
  • "flavor": {
    }
}

Update a flavor

Authorizations:
X-Auth-Token
path Parameters
flavor_id
required
string
Request Body schema: application/json
required
object (FlavorUpdate)
description
string or null
name
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "flavor": {
    }
}

Response samples

Content type
application/json
{
  • "flavor": {
    }
}

Delete a flavor host

Authorizations:
X-Auth-Token
path Parameters
flavor_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Update a flavor host

Authorizations:
X-Auth-Token
path Parameters
flavor_id
required
string
Request Body schema: application/json
required
required
object (FlavorUpdateHost)
line
required
string [ 1 .. 255 ] characters
processor
required
string [ 1 .. 255 ] characters
total_count
required
integer >= 0

Responses

Request samples

Content type
application/json
{
  • "host": {
    }
}

Response samples

Content type
application/json
{
  • "flavor": {
    }
}

Floating ips

Floating ips

Delete floating IP from instance

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (FloatingIPRemove)
instance_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "floating_ip": {
    }
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Create a new floating IP

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (FloatingIPCreate)
instance_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "floating_ip": {
    }
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Grants

Grants

List database grants

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

datastore_id
string

Filter the list result by the datastore_id

database_id
string

Filter the list result by the database_id

user_id
string

Filter the list result by the user_id

status
string

Filter the list result by the status

Responses

Response samples

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

Create a database grant

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (GrantCreate)
database_id
required
string <UUID>
datastore_id
required
string <UUID>
user_id
required
string <UUID>

Responses

Request samples

Content type
application/json
{
  • "grant": {
    }
}

Response samples

Content type
application/json
{
  • "grant": {
    }
}

Delete a grant resource

Authorizations:
X-Auth-Token
path Parameters
grant_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a grant resource

Authorizations:
X-Auth-Token
path Parameters
grant_id
required
string

Responses

Response samples

Content type
application/json
{
  • "grant": {
    }
}

Limits

Limits

List limits

Authorizations:
X-Auth-Token

Responses

Response samples

Content type
application/json
{
  • "limits": {
    }
}

Logical replication slots

Logical replication slots

List logical replication slots

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

datastore_id
string

Filter the list result by the datastore_id

database_id
string

Filter the list result by the database_id

status
string

Filter the list result by the status

in_use
string

Filter the list result by the in_use

Responses

Response samples

Content type
application/json
{
  • "logical-replication-slots": [
    ]
}

Create a logical replication slot

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (LogicalRepplicationSlotCreate)
database_id
required
string <UUID>
datastore_id
required
string <UUID>
name
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "logical-replication-slot": {
    }
}

Response samples

Content type
application/json
{
  • "logical-replication-slot": {
    }
}

Delete a logical replication slot

Authorizations:
X-Auth-Token
path Parameters
logical_replication_slot_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a logical replication slot

Authorizations:
X-Auth-Token
path Parameters
logical_replication_slot_id
required
string

Responses

Response samples

Content type
application/json
{
  • "logical-replication-slot": {
    }
}

Prometheus metrics tokens

Prometheus metrics tokens

List prometheus metrics tokens

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

value
string

Filter the list result by the value

Responses

Response samples

Content type
application/json
{
  • "prometheus-metrics-tokens": [
    ]
}

Issue prometheus metrics token

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (PrometheusMetricsTokenCreate)
name
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "prometheus-metrics-token": {
    }
}

Response samples

Content type
application/json
{
  • "prometheus-metrics-token": {
    }
}

Revoke prometheus metrics token

Authorizations:
X-Auth-Token
path Parameters
prometheus_metrics_token_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get prometheus_metrics_token resource

Authorizations:
X-Auth-Token
path Parameters
prometheus_metrics_token_id
required
string

Responses

Response samples

Content type
application/json
{
  • "prometheus-metrics-token": {
    }
}

Update prometheus_metrics_token data

Authorizations:
X-Auth-Token
path Parameters
prometheus_metrics_token_id
required
string
Request Body schema: application/json
required
required
object (PrometheusMetricsTokenUpdate)
name
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "prometheus-metrics-token": {
    }
}

Response samples

Content type
application/json
{
  • "prometheus-metrics-token": {
    }
}

Quotas

Quotas

Get a quota

Authorizations:
X-Auth-Token

Responses

Response samples

Content type
application/json
{
  • "quotas": {
    }
}

Users

Users

List database users

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

datastore_id
string

Filter the list result by the datastore_id

status
string

Filter the list result by the status

Responses

Response samples

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

Create a database user

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (UserCreate)
datastore_id
required
string <UUID>
name
required
string [ 1 .. 63 ] characters ^[A-Za-z_][A-Za-z0-9_]*$
password
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

Delete a database user

Authorizations:
X-Auth-Token
path Parameters
user_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a database user resource

Authorizations:
X-Auth-Token
path Parameters
user_id
required
string

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Update a database user resource

Authorizations:
X-Auth-Token
path Parameters
user_id
required
string
Request Body schema: application/json
required
required
object (UserUpdate)
password
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

Topics

Topics

List topics

Authorizations:
X-Auth-Token
query Parameters
id
string

Filter the list result by the id

project_id
string

Filter the list result by the project_id

name
string

Filter the list result by the name

datastore_id
string

Filter the list result by the datastore_id

status
string

Filter the list result by the status

Responses

Response samples

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

Create a topic

Authorizations:
X-Auth-Token
Request Body schema: application/json
required
required
object (TopicCreate)
datastore_id
required
string <UUID>
name
required
string [ 1 .. 249 ] characters ^[a-zA-Z0-9\._\-]+$
partitions
required
integer [ 1 .. 4000 ]
Default: 1

Responses

Request samples

Content type
application/json
{
  • "topic": {
    }
}

Response samples

Content type
application/json
{
  • "topic": {
    }
}

Delete a topic

Authorizations:
X-Auth-Token
path Parameters
topic_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get a topic resource

Authorizations:
X-Auth-Token
path Parameters
topic_id
required
string

Responses

Response samples

Content type
application/json
{
  • "topic": {
    }
}

Update a database topic resource

Authorizations:
X-Auth-Token
path Parameters
topic_id
required
string
Request Body schema: application/json
required
required
object (TopicUpdate)
partitions
required
integer [ 1 .. 4000 ]
Default: 1

Responses

Request samples

Content type
application/json
{
  • "topic": {
    }
}

Response samples

Content type
application/json
{
  • "topic": {
    }
}