pydo.kubernetes.list_clusters()

Description

To list all of the Kubernetes clusters on your account, send a GET request to /v2/kubernetes/clusters.

Parameters

Name Type Required Description Default Value
per_page integer False Number of items returned per page 20
page integer False Which ‘page’ of paginated results to return. 1

Request Sample

import os
from pydo import Client

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

resp = client.kubernetes.list_clusters()

Responses

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

The response will be a JSON object with a key called kubernetes_clusters. This will be set to an array of objects, each of which will contain the standard Kubernetes cluster attributes.

Click to expand an example response for All Kubernetes Clusters.
{
  "value": {
    "kubernetes_clusters": [
      {
        "id": "bd5f5959-5e1e-4205-a714-a914373942af",
        "name": "prod-cluster-01",
        "region": "nyc1",
        "version": "1.18.6-do.0",
        "cluster_subnet": "10.244.0.0/16",
        "service_subnet": "10.245.0.0/16",
        "vpc_uuid": "c33931f2-a26a-4e61-b85c-4e95a2ec431b",
        "ipv4": "68.183.121.157",
        "endpoint": "https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com",
        "tags": [
          "production",
          "web-team",
          "k8s",
          "k8s:bd5f5959-5e1e-4205-a714-a914373942af"
        ],
        "node_pools": [
          {
            "id": "cdda885e-7663-40c8-bc74-3a036c66545d",
            "name": "frontend-pool",
            "size": "s-1vcpu-2gb",
            "count": 3,
            "tags": [
              "production",
              "web-team",
              "k8s",
              "k8s:bd5f5959-5e1e-4205-a714-a914373942af",
              "k8s:worker"
            ],
            "labels": null,
            "taints": [],
            "auto_scale": false,
            "min_nodes": 0,
            "max_nodes": 0,
            "nodes": [
              {
                "id": "478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f",
                "name": "adoring-newton-3niq",
                "status": {
                  "state": "provisioning"
                },
                "droplet_id": "205545370",
                "created_at": "2018-11-15T16:00:11Z",
                "updated_at": "2018-11-15T16:00:11Z"
              },
              {
                "id": "ad12e744-c2a9-473d-8aa9-be5680500eb1",
                "name": "adoring-newton-3nim",
                "status": {
                  "state": "provisioning"
                },
                "droplet_id": "205545371",
                "created_at": "2018-11-15T16:00:11Z",
                "updated_at": "2018-11-15T16:00:11Z"
              },
              {
                "id": "e46e8d07-f58f-4ff1-9737-97246364400e",
                "name": "adoring-newton-3ni7",
                "status": {
                  "state": "provisioning"
                },
                "droplet_id": "205545372",
                "created_at": "2018-11-15T16:00:11Z",
                "updated_at": "2018-11-15T16:00:11Z"
              }
            ]
          },
          {
            "id": "f49f4379-7e7f-4af5-aeb6-0354bd840778",
            "name": "backend-pool",
            "size": "g-4vcpu-16gb",
            "count": 2,
            "tags": [
              "production",
              "web-team",
              "k8s",
              "k8s:bd5f5959-5e1e-4205-a714-a914373942af",
              "k8s:worker"
            ],
            "labels": {
              "service": "backend",
              "priority": "high"
            },
            "taints": [],
            "auto_scale": true,
            "min_nodes": 2,
            "max_nodes": 5,
            "nodes": [
              {
                "id": "3385619f-8ec3-42ba-bb23-8d21b8ba7518",
                "name": "affectionate-nightingale-3nif",
                "status": {
                  "state": "provisioning"
                },
                "droplet_id": "205545373",
                "created_at": "2018-11-15T16:00:11Z",
                "updated_at": "2018-11-15T16:00:11Z"
              },
              {
                "id": "4b8f60ff-ba06-4523-a6a4-b8148244c7e6",
                "name": "affectionate-nightingale-3niy",
                "status": {
                  "state": "provisioning"
                },
                "droplet_id": "205545374",
                "created_at": "2018-11-15T16:00:11Z",
                "updated_at": "2018-11-15T16:00:11Z"
              }
            ]
          }
        ],
        "maintenance_policy": {
          "start_time": "00:00",
          "duration": "4h0m0s",
          "day": "any"
        },
        "auto_upgrade": false,
        "status": {
          "state": "provisioning",
          "message": "provisioning"
        },
        "created_at": "2018-11-15T16:00:11Z",
        "updated_at": "2018-11-15T16:00:11Z",
        "surge_upgrade": false,
        "registry_enabled": false,
        "ha": false,
        "control_plane_firewall": {
          "enabled": true,
          "allowed_addresses": [
            "1.2.3.4/32",
            "1.1.0.0/16"
          ]
        }
      }
    ],
    "meta": {
      "total": 1
    }
  }
}

Unauthorized

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

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"
}