DBaaS Management

Operational management for DBaaS services: logs, metrics, service types and lifecycle.

Read more

create-dbaas-integration

POST /dbaas-integration

[BETA] Create a new DBaaS integration between two services

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
dest-servicestringyesA destination service
integration-typestringyesIntegration type

Allowed values: datasource, logs, metrics.
source-servicestringyesA source service
settingsobjectnoIntegration settings
Example
{
  "dest-service": "string",
  "integration-type": "datasource",
  "settings": {},
  "source-service": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-integration: golang | Python | Java

CLI: exo api create-dbaas-integration

get-dbaas-integration

GET /dbaas-integration/{id}

[BETA] Get a DBaaS Integration

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
descriptionstringDescription of the integration
deststringDestination service name
idstringIntegration id
is-activebooleanWhether the integration is active or not
is-enabledbooleanWhether the integration is enabled or not
settingsobjectIntegration settings
sourcestringSource service name
statusstringIntegration status
typestringIntegration type
Example output
{
  "description": "string",
  "dest": "string",
  "id": "string",
  "is-active": true,
  "is-enabled": true,
  "settings": {},
  "source": "string",
  "status": "string",
  "type": "string"
}

SDK reference for get-dbaas-integration: golang | Python | Java

CLI: exo api get-dbaas-integration

update-dbaas-integration

PUT /dbaas-integration/{id}

[BETA] Update a existing DBaaS integration

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
settingsobjectyesIntegration settings
Example
{
  "settings": {}
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-dbaas-integration: golang | Python | Java

CLI: exo api update-dbaas-integration

delete-dbaas-integration

DELETE /dbaas-integration/{id}

[BETA] Delete a DBaaS Integration

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-integration: golang | Python | Java

CLI: exo api delete-dbaas-integration


Other Operations

get-dbaas-ca-certificate

Get DBaaS CA Certificate

GET /dbaas-ca-certificate

Returns a CA Certificate required to reach a DBaaS service through a TLS-protected connection.

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
certificatestring
Example output
{
  "certificate": "string"
}

SDK reference for get-dbaas-ca-certificate: golang | Python | Java

CLI: exo api get-dbaas-ca-certificate

get-dbaas-external-integration

GET /dbaas-external-integration/{integration-id}

[BETA] Get a DBaaS external integration

Path parameters

NameInDescription
integration-idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
descriptionstringDescription of the integration
dest-endpoint-idstringExternal destination endpoint id
dest-endpoint-namestringExternal destination endpoint name
integration-idstringEndpoint integration UUID
source-service-namestringDBaaS source service name
source-service-typestringDBaaS service type
statusstringIntegration status
typestringIntegration Type

Allowed values: prometheus, opensearch, rsyslog, datadog, elasticsearch.
Example output
{
  "description": "string",
  "dest-endpoint-id": "string",
  "dest-endpoint-name": "string",
  "integration-id": "string",
  "source-service-name": "string",
  "source-service-type": "string",
  "status": "string",
  "type": "prometheus"
}

SDK reference for get-dbaas-external-integration: golang | Python | Java

CLI: exo api get-dbaas-external-integration

list-dbaas-external-integrations

GET /dbaas-external-integrations/{service-name}

[BETA] List all DBaaS connections between services and external endpoints

Path parameters

NameInDescription
service-namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
external-integrationsarray[object]schema details
Example output
{
  "external-integrations": [
    {
      "description": "string",
      "dest-endpoint-id": "string",
      "dest-endpoint-name": "string",
      "integration-id": "string",
      "source-service-name": "string",
      "source-service-type": "string",
      "status": "string",
      "type": "prometheus"
    }
  ]
}

SDK reference for list-dbaas-external-integrations: golang | Python | Java

CLI: exo api list-dbaas-external-integrations

list-dbaas-integration-settings

GET /dbaas-integration-settings/{integration-type}/{source-type}/{dest-type}

[BETA] Get DBaaS integration settings

Path parameters

NameInDescription
integration-typepath
source-typepath
dest-typepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
settingsobjectThe JSON schema representing the settings for the given integration type, source, and destination service types. schema details
Example output
{
  "settings": {
    "additionalProperties": true,
    "properties": {},
    "title": "string",
    "type": "string"
  }
}

SDK reference for list-dbaas-integration-settings: golang | Python | Java

CLI: exo api list-dbaas-integration-settings

list-dbaas-integration-types

GET /dbaas-integration-types

[BETA] Get DBaaS integration types

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
dbaas-integration-typesarray[object]schema details
Example output
{
  "dbaas-integration-types": [
    {
      "dest-description": "string",
      "dest-service-types": [
        "string"
      ],
      "settings": {
        "additionalProperties": true,
        "properties": {},
        "title": "string",
        "type": "string"
      },
      "source-description": "string",
      "source-service-types": [
        "string"
      ],
      "type": "string"
    }
  ]
}

SDK reference for list-dbaas-integration-types: golang | Python | Java

CLI: exo api list-dbaas-integration-types

get-dbaas-migration-status

Get a DBaaS migration status

GET /dbaas-migration-status/{name}

Get a DBaaS migration status

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
detailsarray[object]Migration status per database schema details
errorstringError message in case that migration has failed
methodstringMigration method. Empty in case of multiple methods or error
statusstringMigration status
Example output
{
  "details": [
    {
      "dbname": "string",
      "error": "string",
      "method": "string",
      "status": "running"
    }
  ],
  "error": "string",
  "method": "string",
  "status": "string"
}

SDK reference for get-dbaas-migration-status: golang | Python | Java

CLI: exo api get-dbaas-migration-status

delete-dbaas-service

Delete a DBaaS service

DELETE /dbaas-service/{name}

Delete a DBaaS service

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-service: golang | Python | Java

CLI: exo api delete-dbaas-service

detach-dbaas-service-from-endpoint

PUT /dbaas-external-endpoint/{source-service-name}/detach

[BETA] Detach a DBaaS external integration from a service

Path parameters

NameInDescription
source-service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
integration-idstringyesExternal Integration ID
Example
{
  "integration-id": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for detach-dbaas-service-from-endpoint: golang | Python | Java

CLI: exo api detach-dbaas-service-from-endpoint

get-dbaas-service-logs

Get logs of DBaaS service

POST /dbaas-service-logs/{service-name}

Get logs of DBaaS service

Path parameters

NameInDescription
service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
limitintegernoHow many log entries to receive at most, up to 500 (default: 100)
offsetstringnoOpaque offset identifier
sort-orderstringnoSort order for log messages (default: desc)

Allowed values: desc, asc.
Example
{
  "limit": 0,
  "offset": "string",
  "sort-order": "desc"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
first-log-offsetstring
logsarray[object]schema details
offsetstring
Example output
{
  "first-log-offset": "string",
  "logs": [
    {
      "message": "string",
      "node": "string",
      "time": "string",
      "unit": "string"
    }
  ],
  "offset": "string"
}

SDK reference for get-dbaas-service-logs: golang | Python | Java

CLI: exo api get-dbaas-service-logs

get-dbaas-service-metrics

Get metrics of DBaaS service

POST /dbaas-service-metrics/{service-name}

Get metrics of DBaaS service

Path parameters

NameInDescription
service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
periodstringnoMetrics time period (default: hour)

Allowed values: hour, week, year, month, day.
Example
{
  "period": "hour"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
metricsobject
Example output
{
  "metrics": {}
}

SDK reference for get-dbaas-service-metrics: golang | Python | Java

CLI: exo api get-dbaas-service-metrics

attach-dbaas-service-to-endpoint

PUT /dbaas-external-endpoint/{source-service-name}/attach

[BETA] Create a new DBaaS connection between a DBaaS service and an external service

Path parameters

NameInDescription
source-service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
dest-endpoint-idstringyesExternal endpoint id
typestringyesExternal endpoint type

Allowed values: prometheus, opensearch, rsyslog, datadog, elasticsearch.
Example
{
  "dest-endpoint-id": "string",
  "type": "prometheus"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for attach-dbaas-service-to-endpoint: golang | Python | Java

CLI: exo api attach-dbaas-service-to-endpoint

get-dbaas-service-type

Get a DBaaS service type

GET /dbaas-service-type/{service-type-name}

Get a DBaaS service type

Path parameters

NameInDescription
service-type-namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
available-versionsarray[string]DbaaS service available versions
default-versionstringDbaaS service default version
descriptionstringDbaaS service description
namestringDbaaS service name
plansarray[object]DbaaS service plans schema details
Example output
{
  "available-versions": [
    "string"
  ],
  "default-version": "string",
  "description": "string",
  "name": "string",
  "plans": [
    {
      "authorized": true,
      "backup-config": {
        "frequent-interval-minutes": 0,
        "frequent-oldest-age-minutes": 0,
        "infrequent-interval-minutes": 0,
        "infrequent-oldest-age-minutes": 0,
        "interval": 0,
        "max-count": 0,
        "recovery-mode": "string"
      },
      "disk-space": 0,
      "family": "string",
      "max-memory-percent": 0,
      "name": "string",
      "node-count": 0,
      "node-cpu-count": 0,
      "node-memory": 0,
      "zones": [
        "string"
      ]
    }
  ]
}

SDK reference for get-dbaas-service-type: golang | Python | Java

CLI: exo api get-dbaas-service-type

list-dbaas-service-types

DBaaS Service Types

GET /dbaas-service-type

List available service types for DBaaS

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
dbaas-service-typesarray[object]schema details
Example output
{
  "dbaas-service-types": [
    {
      "available-versions": [
        "string"
      ],
      "default-version": "string",
      "description": "string",
      "name": "string",
      "plans": [
        {
          "authorized": true,
          "backup-config": {
            "frequent-interval-minutes": null,
            "frequent-oldest-age-minutes": null,
            "infrequent-interval-minutes": null,
            "infrequent-oldest-age-minutes": null,
            "interval": null,
            "max-count": null,
            "recovery-mode": null
          },
          "disk-space": 0,
          "family": "string",
          "max-memory-percent": 0,
          "name": "string",
          "node-count": 0,
          "node-cpu-count": 0,
          "node-memory": 0,
          "zones": [
            null
          ]
        }
      ]
    }
  ]
}

SDK reference for list-dbaas-service-types: golang | Python | Java

CLI: exo api list-dbaas-service-types

list-dbaas-services

List DBaaS services

GET /dbaas-service

List DBaaS services

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
dbaas-servicesarray[object]schema details
Example output
{
  "dbaas-services": [
    {
      "created-at": "2024-01-01T12:00:00Z",
      "disk-size": 0,
      "integrations": [
        {
          "description": "string",
          "dest": "string",
          "id": "string",
          "is-active": true,
          "is-enabled": true,
          "settings": {},
          "source": "string",
          "status": "string",
          "type": "string"
        }
      ],
      "name": "string",
      "node-count": 0,
      "node-cpu-count": 0,
      "node-memory": 0,
      "notifications": [
        {
          "level": "warning",
          "message": "string",
          "metadata": {},
          "type": "service_powered_off_removal"
        }
      ],
      "plan": "string",
      "state": "running",
      "termination-protection": true,
      "type": "string",
      "updated-at": "2024-01-01T12:00:00Z",
      "zone": "string"
    }
  ]
}

SDK reference for list-dbaas-services: golang | Python | Java

CLI: exo api list-dbaas-services

get-dbaas-task

Get a DBaaS task

GET /dbaas-task/{service}/{id}

Get a DBaaS task

Path parameters

NameInDescription
servicepath
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
create-timestring
idstring
resultstring
result-codesarray[object]schema details
successboolean
task-typestring
Example output
{
  "create-time": "2024-01-01T12:00:00Z",
  "id": "string",
  "result": "string",
  "result-codes": [
    {
      "code": "string",
      "dbname": "string"
    }
  ],
  "success": true,
  "task-type": "string"
}

SDK reference for get-dbaas-task: golang | Python | Java

CLI: exo api get-dbaas-task

create-dbaas-task-migration-check

POST /dbaas-task-migration-check/{service}

Create a DBaaS task to check migration

Path parameters

NameInDescription
servicepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
source-service-uristringyesService URI of the source MySQL or PostgreSQL database with admin credentials.
ignore-dbsstringnoComma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
methodstringnoThe migration method to be used (currently supported only by MySQL service type)

Allowed values: dump, replication.
Example
{
  "ignore-dbs": "string",
  "method": "dump",
  "source-service-uri": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-task-migration-check: golang | Python | Java

CLI: exo api create-dbaas-task-migration-check

Last updated on