pydo.databases.list_clusters()

Description

To list all of the database clusters available on your account, send a GET request to /v2/databases. To limit the results to database clusters with a specific tag, include the tag_name query parameter set to the name of the tag. For example, /v2/databases?tag_name=$TAG_NAME.

The result will be a JSON object with a databases key. This will be set to an array of database objects, each of which will contain the standard database attributes.

The embedded connection and private_connection objects will contain the information needed to access the database cluster. For multi-node clusters, the standby_connection and standby_private_connection objects will contain the information needed to connect to the cluster’s standby node(s).

The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster.

Parameters

Name Type Required Description Default Value
tag_name string False Limits the results to database clusters with a specific tag.

Request Sample

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

get_resp = client.databases.list_clusters(tag_name="production")

Responses

See the API spec for this endpoint to view additional detail on responses, headers, parameters, and more.

A JSON object with a key of databases.

Click to expand an example response.
{
  "databases": [
    {
      "id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
      "name": "backend",
      "engine": "pg",
      "version": "10",
      "connection": {
        "uri": "postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require",
        "database": "",
        "host": "backend-do-user-19081923-0.db.ondigitalocean.com",
        "port": 25060,
        "user": "doadmin",
        "password": "wv78n3zpz42xezdk",
        "ssl": true
      },
      "private_connection": {
        "uri": "postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require",
        "database": "",
        "host": "private-backend-do-user-19081923-0.db.ondigitalocean.com",
        "port": 25060,
        "user": "doadmin",
        "password": "wv78n3zpz42xezdk",
        "ssl": true
      },
      "users": [
        {
          "name": "doadmin",
          "role": "primary",
          "password": "wv78n3zpz42xezdk"
        }
      ],
      "db_names": [
        "defaultdb"
      ],
      "num_nodes": 1,
      "region": "nyc3",
      "status": "online",
      "created_at": "2019-01-11T18:37:36Z",
      "maintenance_window": {
        "day": "saturday",
        "hour": "08:45:12",
        "pending": true,
        "description": [
          "Update TimescaleDB to version 1.2.1",
          "Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases"
        ]
      },
      "size": "db-s-2vcpu-4gb",
      "tags": [
        "production"
      ],
      "private_network_uuid": "d455e75d-4858-4eec-8c95-da2f0a5f93a7",
      "version_end_of_life": "2023-11-09T00:00:00Z",
      "version_end_of_availability": "2023-05-09T00:00:00Z",
      "storage_size_mib": 61440
    }
  ]
}

Unauthorized

Click to expand an example response.
{
  "id": "unauthorized",
  "message": "Unable to authenticate you."
}

The resource was not found.

Click to expand an example response.
{
  "id": "not_found",
  "message": "The resource you requested could not be found."
}

API Rate limit exceeded

Click to expand an example response.
{
  "id": "too_many_requests",
  "message": "API Rate limit exceeded."
}

Server error.

Click to expand an example response.
{
  "id": "server_error",
  "message": "Unexpected server-side error"
}

Unexpected error

Click to expand an example response.
{
  "id": "example_error",
  "message": "some error message"
}