From 3aad136572a69be47b4757d2bab0690e2e91da5d Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Sat, 6 Sep 2025 09:30:20 +1000 Subject: [PATCH] updated digitalocean provider --- README.md | 9 +- provider-dev/config/all_services.csv | 74 +- .../digitalocean/v00.00.00000/provider.yaml | 10 +- .../v00.00.00000/services/compute.yaml | 12098 ++++++++++------ ...egistries.yaml => container_registry.yaml} | 1363 +- .../v00.00.00000/services/databases.yaml | 8027 ++++++---- .../v00.00.00000/services/kubernetes.yaml | 2261 +-- .../v00.00.00000/services/monitoring.yaml | 2057 +-- .../v00.00.00000/services/vpcs.yaml | 455 +- provider-dev/scripts/fix_broken_links.sh | 2 + provider-dev/scripts/flatten_allOf.cjs | 92 + ...egistries.yaml => container_registry.yaml} | 2 +- website/docs/index.md | 2 +- .../docs/services/account/account/index.md | 55 +- .../docs/services/account/actions/index.md | 156 +- website/docs/services/apps/alerts/index.md | 43 +- website/docs/services/apps/apps/index.md | 300 +- .../apps/daily_bandwidth_metrics/index.md | 16 +- .../services/apps/deployment_logs/index.md | 86 +- .../services/apps/deployment_url/index.md | 52 +- .../docs/services/apps/deployments/index.md | 234 +- website/docs/services/apps/health/index.md | 13 +- .../services/apps/instance_sizes/index.md | 144 +- website/docs/services/apps/instances/index.md | 25 +- website/docs/services/apps/regions/index.md | 49 +- website/docs/services/apps/rollbacks/index.md | 2 + .../docs/services/billing/balances/index.md | 25 +- .../services/billing/billing_history/index.md | 37 +- .../services/billing/invoice_summary/index.md | 73 +- .../docs/services/billing/invoices/index.md | 138 +- .../services/compute/cdn_endpoints/index.md | 138 +- .../services/compute/certificates/index.md | 148 +- .../services/compute/domain_records/index.md | 196 +- .../docs/services/compute/domains/index.md | 98 +- .../services/compute/droplet_actions/index.md | 160 +- .../droplet_autoscale_pool_history/index.md | 43 +- .../droplet_autoscale_pool_members/index.md | 37 +- .../compute/droplet_autoscale_pools/index.md | 164 +- .../compute/droplet_backup_policies/index.md | 25 +- .../services/compute/droplet_backups/index.md | 43 +- .../services/compute/droplet_kernels/index.md | 19 +- .../compute/droplet_snapshots/index.md | 43 +- .../index.md | 31 +- .../docs/services/compute/droplets/index.md | 362 +- .../droplets_associated_resources/index.md | 31 +- .../compute/droplets_firewalls/index.md | 55 +- .../compute/droplets_neighbors/index.md | 139 +- .../docs/services/compute/firewalls/index.md | 166 +- .../services/compute/image_actions/index.md | 156 +- website/docs/services/compute/images/index.md | 228 +- .../services/compute/load_balancers/index.md | 414 +- .../docs/services/compute/regions/index.md | 31 +- .../compute/reserved_ip_actions/index.md | 108 +- .../services/compute/reserved_ips/index.md | 111 +- .../services/compute/reserved_ipv6/index.md | 92 +- website/docs/services/compute/sizes/index.md | 73 +- .../docs/services/compute/snapshots/index.md | 158 +- .../docs/services/compute/ssh_keys/index.md | 102 +- website/docs/services/compute/tags/index.md | 82 +- .../services/compute/volume_actions/index.md | 152 +- .../compute/volume_snapshots/index.md | 112 +- .../docs/services/compute/volumes/index.md | 206 +- .../compute/vpc_nat_gateways/index.md | 216 +- .../services/container_registries/index.md | 40 - .../active_garbage_collection/index.md | 49 +- .../docker_credentials/index.md | 15 +- .../garbage_collections/index.md | 65 +- .../docs/services/container_registry/index.md | 40 + .../options/index.md | 21 +- .../registries/index.md | 93 +- .../repositories/index.md | 43 +- .../repository_manifests/index.md | 61 +- .../repository_tags/index.md | 55 +- .../subscriptions/index.md | 33 +- .../databases/autoscale_config/index.md | 7 +- .../docs/services/databases/backups/index.md | 13 +- website/docs/services/databases/ca/index.md | 7 +- .../databases/cluster_config/index.md | 7 +- .../cluster_metrics_credentials/index.md | 7 +- .../docs/services/databases/clusters/index.md | 374 +- .../databases/connection_pools/index.md | 158 +- website/docs/services/databases/dbs/index.md | 62 +- .../services/databases/events_logs/index.md | 25 +- .../databases/firewall_rules/index.md | 31 +- .../databases/kafka_schema_config/index.md | 11 +- .../kafka_schema_subject_config/index.md | 18 +- .../databases/kafka_schema_version/index.md | 31 +- .../services/databases/kafka_schemas/index.md | 107 +- .../services/databases/kafka_topics/index.md | 108 +- .../services/databases/log_sinks/index.md | 80 +- .../databases/online_migrations/index.md | 19 +- .../databases/opensearch_indexes/index.md | 57 +- .../docs/services/databases/options/index.md | 13 +- .../docs/services/databases/replicas/index.md | 182 +- .../docs/services/databases/sql_mode/index.md | 7 +- .../docs/services/databases/users/index.md | 138 +- .../docs/services/genai/agent_routes/index.md | 238 +- website/docs/services/genai/agents/index.md | 316 +- .../genai/anthropic_api_keys/index.md | 102 +- .../genai/datacenter_regions/index.md | 32 +- .../genai/evaluation_metrics/index.md | 50 +- .../evaluation_run_prompt_results/index.md | 50 +- .../services/genai/evaluation_runs/index.md | 130 +- .../genai/evaluation_test_cases/index.md | 504 +- .../genai/indexing_job_data_sources/index.md | 86 +- .../services/genai/indexing_jobs/index.md | 154 +- .../services/genai/knowledge_bases/index.md | 82 +- .../services/genai/openai_api_keys/index.md | 106 +- .../docs/services/genai/workspaces/index.md | 164 +- .../kubernetes/associated_resources/index.md | 19 +- .../kubernetes/available_upgrades/index.md | 19 +- .../services/kubernetes/cluster_user/index.md | 13 +- .../services/kubernetes/clusters/index.md | 342 +- .../services/kubernetes/credentials/index.md | 37 +- .../services/kubernetes/lint_checks/index.md | 25 +- .../services/kubernetes/node_pools/index.md | 186 +- .../docs/services/kubernetes/options/index.md | 19 +- .../kubernetes/status_messages/index.md | 13 +- .../monitoring/alert_policies/index.md | 132 +- .../docs/services/monitoring/alerts/index.md | 140 +- .../app_cpu_percentage_metrics/index.md | 13 +- .../app_memory_percentage_metrics/index.md | 13 +- .../app_restart_count_metrics/index.md | 13 +- .../services/monitoring/check_states/index.md | 13 +- .../docs/services/monitoring/checks/index.md | 126 +- .../services/monitoring/destinations/index.md | 132 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../droplet_bandwidth_metrics/index.md | 13 +- .../monitoring/droplet_cpu_metrics/index.md | 13 +- .../droplet_filesystem_free_metrics/index.md | 13 +- .../droplet_filesystem_size_metrics/index.md | 13 +- .../droplet_load15_metrics/index.md | 13 +- .../monitoring/droplet_load1_metrics/index.md | 13 +- .../monitoring/droplet_load5_metrics/index.md | 13 +- .../droplet_memory_available_metrics/index.md | 13 +- .../droplet_memory_cached_metrics/index.md | 13 +- .../droplet_memory_free_metrics/index.md | 13 +- .../droplet_memory_total_metrics/index.md | 13 +- .../lb_droplets_connections/index.md | 13 +- .../monitoring/lb_droplets_downtime/index.md | 13 +- .../lb_droplets_health_checks/index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../lb_droplets_http_responses/index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../lb_droplets_queue_size/index.md | 13 +- .../lb_frontend_connections_current/index.md | 13 +- .../lb_frontend_connections_limit/index.md | 13 +- .../lb_frontend_cpu_utilization/index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../lb_frontend_http_responses/index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../index.md | 13 +- .../docs/services/monitoring/sinks/index.md | 70 +- .../network/byoip_prefix_resources/index.md | 31 +- .../services/network/byoip_prefixes/index.md | 176 +- .../network/floating_ip_actions/index.md | 108 +- .../services/network/floating_ips/index.md | 111 +- .../partner_attachment_service_keys/index.md | 19 +- .../network/partner_attachments/index.md | 186 +- .../partner_attachments_bgp_auth_key/index.md | 19 +- .../index.md | 7 +- .../services/oneclick/applications/index.md | 15 +- .../projects/default_resources/index.md | 27 +- .../docs/services/projects/defaults/index.md | 69 +- .../docs/services/projects/projects/index.md | 178 +- .../docs/services/projects/resources/index.md | 31 +- .../services/serverless/namespaces/index.md | 146 +- .../services/serverless/triggers/index.md | 162 +- website/docs/services/spaces/keys/index.md | 112 +- website/docs/services/vpcs/members/index.md | 19 +- website/docs/services/vpcs/peerings/index.md | 37 +- .../docs/services/vpcs/vpc_peerings/index.md | 116 +- website/docs/services/vpcs/vpcs/index.md | 154 +- 191 files changed, 27787 insertions(+), 11863 deletions(-) rename provider-dev/openapi/src/digitalocean/v00.00.00000/services/{container_registries.yaml => container_registry.yaml} (74%) create mode 100644 provider-dev/scripts/fix_broken_links.sh create mode 100644 provider-dev/scripts/flatten_allOf.cjs rename provider-dev/source/{container_registries.yaml => container_registry.yaml} (99%) delete mode 100644 website/docs/services/container_registries/index.md rename website/docs/services/{container_registries => container_registry}/active_garbage_collection/index.md (68%) rename website/docs/services/{container_registries => container_registry}/docker_credentials/index.md (96%) rename website/docs/services/{container_registries => container_registry}/garbage_collections/index.md (88%) create mode 100644 website/docs/services/container_registry/index.md rename website/docs/services/{container_registries => container_registry}/options/index.md (92%) rename website/docs/services/{container_registries => container_registry}/registries/index.md (83%) rename website/docs/services/{container_registries => container_registry}/repositories/index.md (87%) rename website/docs/services/{container_registries => container_registry}/repository_manifests/index.md (86%) rename website/docs/services/{container_registries => container_registry}/repository_tags/index.md (86%) rename website/docs/services/{container_registries => container_registry}/subscriptions/index.md (86%) diff --git a/README.md b/README.md index 59bd1f9..d1f0575 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,8 @@ npm run split -- \ "functions": "serverless", "floating_ips": "network", "floating_ip_actions": "network", - "container_registries": "container_registries", - "container_registry": "container_registries" + "container_registries": "container_registry", + "container_registry": "container_registry" } EOF )" @@ -125,7 +125,8 @@ npm run generate-provider -- \ Make necessary updates to the output docs: ```bash -sh provider-dev/scripts/post_processing.sh +node provider-dev/scripts/flatten_allOf.cjs +sh provider-dev/scripts/fix_broken_links.sh ``` The `--servers` parameter defines the base URL for API requests. For DigitalOcean, this sets the API endpoint to the v2 API. @@ -298,7 +299,7 @@ Under __Pages__ in the repository, in the __Build and deployment__ section selec | Source Domain | Record Type | Target | |---------------|--------------|--------| -| digitalocean-provider.stackql.io | CNAME | stackql.github.io | +| digitalocean-provider.stackql.io | CNAME | stackql.github.io. | ## License diff --git a/provider-dev/config/all_services.csv b/provider-dev/config/all_services.csv index b33141f..2642074 100644 --- a/provider-dev/config/all_services.csv +++ b/provider-dev/config/all_services.csv @@ -165,43 +165,43 @@ compute.yaml,/v2/vpc_nat_gateways,vpcnatgateways_list,vpcnatgateways_list,get,,[ compute.yaml,/v2/vpc_nat_gateways/{id},vpcnatgateways_delete,vpcnatgateways_delete,delete,,[Public Preview] VPC NAT Gateways,[public preview] vpc nat gateways,vpc_nat_gateways,vpcnatgateways_delete,delete,,Delete VPC NAT Gateway compute.yaml,/v2/vpc_nat_gateways/{id},vpcnatgateways_update,vpcnatgateways_update,put,,[Public Preview] VPC NAT Gateways,[public preview] vpc nat gateways,vpc_nat_gateways,vpcnatgateways_update,replace,,Update VPC NAT Gateway compute.yaml,/v2/vpc_nat_gateways/{id},vpcnatgateways_get,vpcnatgateways_get,get,,[Public Preview] VPC NAT Gateways,[public preview] vpc nat gateways,vpc_nat_gateways,vpcnatgateways_get,select,$.vpc_nat_gateway,Retrieve an Existing VPC NAT Gateway -container_registries.yaml,/v2/registries,registries_create,registries_create,post,,Container Registries,container registries,registries,registries_create,insert,,[Public Preview] Create Container Registry -container_registries.yaml,/v2/registries,registries_list,registries_list,get,,Container Registries,container registries,registries,registries_list,select,$.registries,[Public Preview] List All Container Registries -container_registries.yaml,/v2/registries/{registry_name},registries_delete,registries_delete,delete,,Container Registries,container registries,registries,registries_delete,delete,,[Public Preview] Delete Container Registry By Name -container_registries.yaml,/v2/registries/{registry_name},registries_get,registries_get,get,,Container Registries,container registries,registries,registries_get,select,$.registry,[Public Preview] Get a Container Registry By Name -container_registries.yaml,/v2/registries/{registry_name}/docker-credentials,registries_get_dockerCredentials,registries_get_docker_credentials,get,,Container Registries,container registries,docker_credentials,registries_get_docker_credentials,select,$.auths,[Public Preview] Get Docker Credentials By Registry Name -container_registries.yaml,/v2/registries/{registry_name}/garbage-collection,registries_run_garbageCollection,registries_run_garbage_collection,post,,Container Registries,container registries,garbage_collections,registries_run_garbage_collection,exec,,[Public Preview] Start Garbage Collection -container_registries.yaml,/v2/registries/{registry_name}/garbage-collection,registries_get_garbageCollection,registries_get_garbage_collection,get,,Container Registries,container registries,active_garbage_collection,registries_get_garbage_collection,select,$.garbage_collection,[Public Preview] Get Active Garbage Collection -container_registries.yaml,/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid},registries_update_garbageCollection,registries_update_garbage_collection,put,,Container Registries,container registries,garbage_collections,registries_update_garbage_collection,replace,,[Public Preview] Update Garbage Collection -container_registries.yaml,/v2/registries/{registry_name}/garbage-collections,registries_list_garbageCollections,registries_list_garbage_collections,get,,Container Registries,container registries,garbage_collections,registries_list_garbage_collections,select,$.garbage_collections,[Public Preview] List Garbage Collections -container_registries.yaml,/v2/registries/{registry_name}/repositories/{repository_name},registries_delete_repository,registries_delete_repository,delete,,Container Registries,container registries,repositories,registries_delete_repository,delete,,[Public Preview] Delete Container Registry Repository -container_registries.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/digests,registries_list_repositoryManifests,registries_list_repository_manifests,get,,Container Registries,container registries,repository_manifests,registries_list_repository_manifests,select,$.manifests,[Public Preview] List All Container Registry Repository Manifests -container_registries.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest},registries_delete_repositoryManifest,registries_delete_repository_manifest,delete,,Container Registries,container registries,repository_manifests,registries_delete_repository_manifest,delete,,[Public Preview] Delete Container Registry Repository Manifest -container_registries.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/tags,registries_list_repositoryTags,registries_list_repository_tags,get,,Container Registries,container registries,repository_tags,registries_list_repository_tags,select,$.tags,[Public Preview] List All Container Registry Repository Tags -container_registries.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag},registries_delete_repositoryTag,registries_delete_repository_tag,delete,,Container Registries,container registries,repository_tags,registries_delete_repository_tag,delete,,[Public Preview] Delete Container Registry Repository Tag -container_registries.yaml,/v2/registries/{registry_name}/repositoriesV2,registries_list_repositoriesV2,registries_list_repositories_v2,get,,Container Registries,container registries,repositories,registries_list_repositories_v2,select,$.repositories,[Public Preview] List All Container Registry Repositories (V2) -container_registries.yaml,/v2/registries/options,registries_get_options,registries_get_options,get,,Container Registries,container registries,options,registries_get_options,select,$.options,[Public Preview] List Registry Options (Subscription Tiers and Available Regions) -container_registries.yaml,/v2/registries/subscription,registries_update_subscription,registries_update_subscription,post,,Container Registries,container registries,subscriptions,registries_update_subscription,insert,,[Public Preview] Update Subscription Tier -container_registries.yaml,/v2/registries/subscription,registries_get_subscription,registries_get_subscription,get,,Container Registries,container registries,subscriptions,registries_get_subscription,select,$.subscription,[Public Preview] Get Subscription Information -container_registries.yaml,/v2/registries/validate-name,registries_validate_name,registries_validate_name,post,,Container Registries,container registries,registries,registries_validate_name,exec,,[Public Preview] Validate a Container Registry Name -container_registries.yaml,/v2/registry,registry_get,registry_get,get,,Container Registry,container registry,registries,registry_get_legacy,exec,$.registry,Get Container Registry Information -container_registries.yaml,/v2/registry,registry_create,registry_create,post,,Container Registry,container registry,registries,registry_create_legacy,exec,,Create Container Registry -container_registries.yaml,/v2/registry,registry_delete,registry_delete,delete,,Container Registry,container registry,registries,registry_delete_legacy,exec,,Delete Container Registry -container_registries.yaml,/v2/registry/{registry_name}/garbage-collection,registry_run_garbageCollection,registry_run_garbage_collection,post,,Container Registry,container registry,garbage_collections,registry_run_garbage_collection_legacy,exec,$.garbage_collection,Start Garbage Collection -container_registries.yaml,/v2/registry/{registry_name}/garbage-collection,registry_get_garbageCollection,registry_get_garbage_collection,get,,Container Registry,container registry,garbage_collections,registry_get_garbage_collection_legacy,exec,,Get Active Garbage Collection -container_registries.yaml,/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid},registry_update_garbageCollection,registry_update_garbage_collection,put,,Container Registry,container registry,garbage_collections,registry_update_garbage_collection_legacy,exec,,Update Garbage Collection -container_registries.yaml,/v2/registry/{registry_name}/garbage-collections,registry_list_garbageCollections,registry_list_garbage_collections,get,,Container Registry,container registry,garbage_collections,registry_list_garbage_collections_legacy,exec,$.garbage_collections,List Garbage Collections -container_registries.yaml,/v2/registry/{registry_name}/repositories,registry_list_repositories,registry_list_repositories,get,,Container Registry,container registry,repositories,registry_list_repositories_legacy,exec,$.repositories,List All Container Registry Repositories -container_registries.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/digests,registry_list_repositoryManifests,registry_list_repository_manifests,get,,Container Registry,container registry,repository_manifests,registry_list_repository_manifests_legacy,exec,$.manifests,List All Container Registry Repository Manifests -container_registries.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest},registry_delete_repositoryManifest,registry_delete_repository_manifest,delete,,Container Registry,container registry,repository_manifests,registry_delete_repository_manifest_legacy,exec,,Delete Container Registry Repository Manifest -container_registries.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/tags,registry_list_repositoryTags,registry_list_repository_tags,get,,Container Registry,container registry,repository_tags,registry_list_repository_tags_legacy,exec,$.tags,List All Container Registry Repository Tags -container_registries.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag},registry_delete_repositoryTag,registry_delete_repository_tag,delete,,Container Registry,container registry,repository_tags,registry_delete_repository_tag_legacy,exec,,Delete Container Registry Repository Tag -container_registries.yaml,/v2/registry/{registry_name}/repositoriesV2,registry_list_repositoriesV2,registry_list_repositories_v2,get,,Container Registry,container registry,repositories,registry_list_repositories_v2_legacy,exec,$.repositories,List All Container Registry Repositories (V2) -container_registries.yaml,/v2/registry/docker-credentials,registry_get_dockerCredentials,registry_get_docker_credentials,get,,Container Registry,container registry,docker_credentials,registry_get_docker_credentials_legacy,exec,$.auths,Get Docker Credentials for Container Registry -container_registries.yaml,/v2/registry/options,registry_get_options,registry_get_options,get,,Container Registry,container registry,options,registry_get_options_legacy,exec,$.options,List Registry Options (Subscription Tiers and Available Regions) -container_registries.yaml,/v2/registry/subscription,registry_get_subscription,registry_get_subscription,get,,Container Registry,container registry,subscriptions,registry_get_subscription_legacy,exec,$.subscription,Get Subscription Information -container_registries.yaml,/v2/registry/subscription,registry_update_subscription,registry_update_subscription,post,,Container Registry,container registry,subscriptions,registry_update_subscription_legacy,exec,,Update Subscription Tier -container_registries.yaml,/v2/registry/validate-name,registry_validate_name,registry_validate_name,post,,Container Registry,container registry,registries,registry_validate_name_legacy,exec,,Validate a Container Registry Name +container_registry.yaml,/v2/registries,registries_create,registries_create,post,,Container Registries,container registries,registries,registries_create,insert,,[Public Preview] Create Container Registry +container_registry.yaml,/v2/registries,registries_list,registries_list,get,,Container Registries,container registries,registries,registries_list,select,$.registries,[Public Preview] List All Container Registries +container_registry.yaml,/v2/registries/{registry_name},registries_delete,registries_delete,delete,,Container Registries,container registries,registries,registries_delete,delete,,[Public Preview] Delete Container Registry By Name +container_registry.yaml,/v2/registries/{registry_name},registries_get,registries_get,get,,Container Registries,container registries,registries,registries_get,select,$.registry,[Public Preview] Get a Container Registry By Name +container_registry.yaml,/v2/registries/{registry_name}/docker-credentials,registries_get_dockerCredentials,registries_get_docker_credentials,get,,Container Registries,container registries,docker_credentials,registries_get_docker_credentials,select,$.auths,[Public Preview] Get Docker Credentials By Registry Name +container_registry.yaml,/v2/registries/{registry_name}/garbage-collection,registries_run_garbageCollection,registries_run_garbage_collection,post,,Container Registries,container registries,garbage_collections,registries_run_garbage_collection,exec,,[Public Preview] Start Garbage Collection +container_registry.yaml,/v2/registries/{registry_name}/garbage-collection,registries_get_garbageCollection,registries_get_garbage_collection,get,,Container Registries,container registries,active_garbage_collection,registries_get_garbage_collection,select,$.garbage_collection,[Public Preview] Get Active Garbage Collection +container_registry.yaml,/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid},registries_update_garbageCollection,registries_update_garbage_collection,put,,Container Registries,container registries,garbage_collections,registries_update_garbage_collection,replace,,[Public Preview] Update Garbage Collection +container_registry.yaml,/v2/registries/{registry_name}/garbage-collections,registries_list_garbageCollections,registries_list_garbage_collections,get,,Container Registries,container registries,garbage_collections,registries_list_garbage_collections,select,$.garbage_collections,[Public Preview] List Garbage Collections +container_registry.yaml,/v2/registries/{registry_name}/repositories/{repository_name},registries_delete_repository,registries_delete_repository,delete,,Container Registries,container registries,repositories,registries_delete_repository,delete,,[Public Preview] Delete Container Registry Repository +container_registry.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/digests,registries_list_repositoryManifests,registries_list_repository_manifests,get,,Container Registries,container registries,repository_manifests,registries_list_repository_manifests,select,$.manifests,[Public Preview] List All Container Registry Repository Manifests +container_registry.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest},registries_delete_repositoryManifest,registries_delete_repository_manifest,delete,,Container Registries,container registries,repository_manifests,registries_delete_repository_manifest,delete,,[Public Preview] Delete Container Registry Repository Manifest +container_registry.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/tags,registries_list_repositoryTags,registries_list_repository_tags,get,,Container Registries,container registries,repository_tags,registries_list_repository_tags,select,$.tags,[Public Preview] List All Container Registry Repository Tags +container_registry.yaml,/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag},registries_delete_repositoryTag,registries_delete_repository_tag,delete,,Container Registries,container registries,repository_tags,registries_delete_repository_tag,delete,,[Public Preview] Delete Container Registry Repository Tag +container_registry.yaml,/v2/registries/{registry_name}/repositoriesV2,registries_list_repositoriesV2,registries_list_repositories_v2,get,,Container Registries,container registries,repositories,registries_list_repositories_v2,select,$.repositories,[Public Preview] List All Container Registry Repositories (V2) +container_registry.yaml,/v2/registries/options,registries_get_options,registries_get_options,get,,Container Registries,container registries,options,registries_get_options,select,$.options,[Public Preview] List Registry Options (Subscription Tiers and Available Regions) +container_registry.yaml,/v2/registries/subscription,registries_update_subscription,registries_update_subscription,post,,Container Registries,container registries,subscriptions,registries_update_subscription,insert,,[Public Preview] Update Subscription Tier +container_registry.yaml,/v2/registries/subscription,registries_get_subscription,registries_get_subscription,get,,Container Registries,container registries,subscriptions,registries_get_subscription,select,$.subscription,[Public Preview] Get Subscription Information +container_registry.yaml,/v2/registries/validate-name,registries_validate_name,registries_validate_name,post,,Container Registries,container registries,registries,registries_validate_name,exec,,[Public Preview] Validate a Container Registry Name +container_registry.yaml,/v2/registry,registry_get,registry_get,get,,Container Registry,container registry,registries,registry_get_legacy,exec,$.registry,Get Container Registry Information +container_registry.yaml,/v2/registry,registry_create,registry_create,post,,Container Registry,container registry,registries,registry_create_legacy,exec,,Create Container Registry +container_registry.yaml,/v2/registry,registry_delete,registry_delete,delete,,Container Registry,container registry,registries,registry_delete_legacy,exec,,Delete Container Registry +container_registry.yaml,/v2/registry/{registry_name}/garbage-collection,registry_run_garbageCollection,registry_run_garbage_collection,post,,Container Registry,container registry,garbage_collections,registry_run_garbage_collection_legacy,exec,$.garbage_collection,Start Garbage Collection +container_registry.yaml,/v2/registry/{registry_name}/garbage-collection,registry_get_garbageCollection,registry_get_garbage_collection,get,,Container Registry,container registry,garbage_collections,registry_get_garbage_collection_legacy,exec,,Get Active Garbage Collection +container_registry.yaml,/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid},registry_update_garbageCollection,registry_update_garbage_collection,put,,Container Registry,container registry,garbage_collections,registry_update_garbage_collection_legacy,exec,,Update Garbage Collection +container_registry.yaml,/v2/registry/{registry_name}/garbage-collections,registry_list_garbageCollections,registry_list_garbage_collections,get,,Container Registry,container registry,garbage_collections,registry_list_garbage_collections_legacy,exec,$.garbage_collections,List Garbage Collections +container_registry.yaml,/v2/registry/{registry_name}/repositories,registry_list_repositories,registry_list_repositories,get,,Container Registry,container registry,repositories,registry_list_repositories_legacy,exec,$.repositories,List All Container Registry Repositories +container_registry.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/digests,registry_list_repositoryManifests,registry_list_repository_manifests,get,,Container Registry,container registry,repository_manifests,registry_list_repository_manifests_legacy,exec,$.manifests,List All Container Registry Repository Manifests +container_registry.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest},registry_delete_repositoryManifest,registry_delete_repository_manifest,delete,,Container Registry,container registry,repository_manifests,registry_delete_repository_manifest_legacy,exec,,Delete Container Registry Repository Manifest +container_registry.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/tags,registry_list_repositoryTags,registry_list_repository_tags,get,,Container Registry,container registry,repository_tags,registry_list_repository_tags_legacy,exec,$.tags,List All Container Registry Repository Tags +container_registry.yaml,/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag},registry_delete_repositoryTag,registry_delete_repository_tag,delete,,Container Registry,container registry,repository_tags,registry_delete_repository_tag_legacy,exec,,Delete Container Registry Repository Tag +container_registry.yaml,/v2/registry/{registry_name}/repositoriesV2,registry_list_repositoriesV2,registry_list_repositories_v2,get,,Container Registry,container registry,repositories,registry_list_repositories_v2_legacy,exec,$.repositories,List All Container Registry Repositories (V2) +container_registry.yaml,/v2/registry/docker-credentials,registry_get_dockerCredentials,registry_get_docker_credentials,get,,Container Registry,container registry,docker_credentials,registry_get_docker_credentials_legacy,exec,$.auths,Get Docker Credentials for Container Registry +container_registry.yaml,/v2/registry/options,registry_get_options,registry_get_options,get,,Container Registry,container registry,options,registry_get_options_legacy,exec,$.options,List Registry Options (Subscription Tiers and Available Regions) +container_registry.yaml,/v2/registry/subscription,registry_get_subscription,registry_get_subscription,get,,Container Registry,container registry,subscriptions,registry_get_subscription_legacy,exec,$.subscription,Get Subscription Information +container_registry.yaml,/v2/registry/subscription,registry_update_subscription,registry_update_subscription,post,,Container Registry,container registry,subscriptions,registry_update_subscription_legacy,exec,,Update Subscription Tier +container_registry.yaml,/v2/registry/validate-name,registry_validate_name,registry_validate_name,post,,Container Registry,container registry,registries,registry_validate_name_legacy,exec,,Validate a Container Registry Name databases.yaml,/v2/databases,databases_create_cluster,databases_create_cluster,post,,Databases,databases,clusters,databases_create_cluster,insert,,Create a New Database Cluster databases.yaml,/v2/databases,databases_list_clusters,databases_list_clusters,get,,Databases,databases,clusters,databases_list_clusters,select,$.databases,List All Database Clusters databases.yaml,/v2/databases/{database_cluster_uuid},databases_destroy_cluster,databases_destroy_cluster,delete,,Databases,databases,clusters,databases_destroy_cluster,delete,,Destroy a Database Cluster diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/provider.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/provider.yaml index 3ab0aca..ba3d0d2 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/provider.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/provider.yaml @@ -38,13 +38,13 @@ providerServices: title: compute API version: v00.00.00000 description: digitalocean API - container_registries: - id: container_registries:v00.00.00000 - name: container_registries + container_registry: + id: container_registry:v00.00.00000 + name: container_registry preferred: true service: - $ref: digitalocean/v00.00.00000/services/container_registries.yaml - title: registry API + $ref: digitalocean/v00.00.00000/services/container_registry.yaml + title: container_registry API version: v00.00.00000 description: digitalocean API databases: diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/compute.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/compute.yaml index a14f8ee..677a1ec 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/compute.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/compute.yaml @@ -8,11 +8,7 @@ paths: get: operationId: sshKeys_list summary: List All SSH Keys - description: >- - To list all of the keys in your account, send a GET request to - `/v2/account/keys`. The response will be a JSON object with a key set to - `ssh_keys`. The value of this will be an array of ssh_key objects, each - of which contains the standard ssh_key attributes. + description: To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. tags: - SSH Keys parameters: @@ -80,11 +76,7 @@ paths: post: operationId: sshKeys_create summary: Create a New SSH Key - description: >- - To add a new SSH public key to your DigitalOcean account, send a POST - request to `/v2/account/keys`. Set the `name` attribute to the name you - wish to use and the `public_key` attribute to the full public key you - are adding. + description: To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding. tags: - SSH Keys requestBody: @@ -165,12 +157,9 @@ paths: get: operationId: sshKeys_get summary: Retrieve an Existing SSH Key - description: >- - To get information about a key, send a GET request to - `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. - - The response will be a JSON object with the key `ssh_key` and value an - ssh_key object which contains the standard ssh_key attributes. + description: |- + To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. + The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. tags: - SSH Keys parameters: @@ -233,11 +222,7 @@ paths: put: operationId: sshKeys_update summary: Update an SSH Key's Name - description: >- - To update the name of an SSH key, send a PUT request to either - `/v2/account/keys/$SSH_KEY_ID` or - `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the - new name you want to use. + description: To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use. tags: - SSH Keys parameters: @@ -320,13 +305,9 @@ paths: delete: operationId: sshKeys_delete summary: Delete an SSH Key - description: >- - To destroy a public SSH key that you have in your account, send a DELETE - request to `/v2/account/keys/$KEY_ID` or - `/v2/account/keys/$KEY_FINGERPRINT`. - - A 204 status will be returned, indicating that the action was successful - and that the response body is empty. + description: |- + To destroy a public SSH key that you have in your account, send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. + A 204 status will be returned, indicating that the action was successful and that the response body is empty. tags: - SSH Keys parameters: @@ -390,9 +371,7 @@ paths: get: operationId: cdn_list_endpoints summary: List All CDN Endpoints - description: >- - To list all of the CDN endpoints available on your account, send a GET - request to `/v2/cdn/endpoints`. + description: To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. tags: - CDN Endpoints parameters: @@ -460,22 +439,13 @@ paths: post: operationId: cdn_create_endpoint summary: Create a New CDN Endpoint - description: > - To create a new CDN endpoint, send a POST request to - `/v2/cdn/endpoints`. The - - origin attribute must be set to the fully qualified domain name (FQDN) - of a - - DigitalOcean Space. Optionally, the TTL may be configured by setting the - `ttl` - + description: | + To create a new CDN endpoint, send a POST request to `/v2/cdn/endpoints`. The + origin attribute must be set to the fully qualified domain name (FQDN) of a + DigitalOcean Space. Optionally, the TTL may be configured by setting the `ttl` attribute. - - A custom subdomain may be configured by specifying the `custom_domain` - and - + A custom subdomain may be configured by specifying the `custom_domain` and `certificate_id` attributes. tags: - CDN Endpoints @@ -554,18 +524,13 @@ paths: client.cdns.create(cdn) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - create_req = {"origin": "static-images.nyc3.digitaloceanspaces.com", - "ttl": 3600} - + create_req = {"origin": "static-images.nyc3.digitaloceanspaces.com", "ttl": 3600} create_resp = client.cdn.create_endpoint(create_req) security: - bearer_auth: @@ -574,9 +539,7 @@ paths: get: operationId: cdn_get_endpoint summary: Retrieve an Existing CDN Endpoint - description: >- - To show information about an existing CDN endpoint, send a GET request - to `/v2/cdn/endpoints/$ENDPOINT_ID`. + description: To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. tags: - CDN Endpoints parameters: @@ -639,12 +602,9 @@ paths: put: operationId: cdn_update_endpoints summary: Update a CDN Endpoint - description: > - To update the TTL, certificate ID, or the FQDN of the custom subdomain - for - + description: | + To update the TTL, certificate ID, or the FQDN of the custom subdomain for an existing CDN endpoint, send a PUT request to - `/v2/cdn/endpoints/$ENDPOINT_ID`. tags: - CDN Endpoints @@ -671,15 +631,11 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"ttl": 1800}' \ - "https://api.digitalocean.com/v2/cdn/endpoints/19f06b6a-3ace-4315-b086-499a0e521b76" - lang: Go source: |- @@ -698,17 +654,12 @@ paths: cdn, _, err := client.CDNs.UpdateTTL(ctx, "19f06b6a-3ace-4315-b086-499a0e521b76", updateRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - - token = - '16f79fc8cd5adcfe528a0994311fa63cc877737b385b6ff7d12ed6684ba4fef5' - + token = '16f79fc8cd5adcfe528a0994311fa63cc877737b385b6ff7d12ed6684ba4fef5' client = DropletKit::Client.new(access_token: token) - - client.cdns.update_ttl(id: '19f06b6a-3ace-4315-b086-499a0e521b76', - ttl: 1800) + client.cdns.update_ttl(id: '19f06b6a-3ace-4315-b086-499a0e521b76', ttl: 1800) - lang: Python source: |- import os @@ -729,15 +680,11 @@ paths: delete: operationId: cdn_delete_endpoint summary: Delete a CDN Endpoint - description: > + description: | To delete a specific CDN endpoint, send a DELETE request to - `/v2/cdn/endpoints/$ENDPOINT_ID`. - - A status of 204 will be given. This indicates that the request was - processed - + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - CDN Endpoints @@ -802,32 +749,16 @@ paths: delete: operationId: cdn_purge_cache summary: Purge the Cache for an Existing CDN Endpoint - description: > + description: | To purge cached content from a CDN endpoint, send a DELETE request to - - `/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should - include - - a `files` attribute containing a list of cached file paths to be purged. - A - - path may be for a single file or may contain a wildcard (`*`) to - recursively - - purge all files under a directory. When only a wildcard is provided, all - cached - - files will be purged. There is a rate limit of 50 files per 20 seconds - that can - - be purged. CDN endpoints have a rate limit of 5 requests per 10 - seconds. - - Purging files using a wildcard path counts as a single request against - the API's - - rate limit. Two identical purge requests cannot be sent at the same - time. + `/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should include + a `files` attribute containing a list of cached file paths to be purged. A + path may be for a single file or may contain a wildcard (`*`) to recursively + purge all files under a directory. When only a wildcard is provided, all cached + files will be purged. There is a rate limit of 50 files per 20 seconds that can + be purged. CDN endpoints have a rate limit of 5 requests per 10 seconds. + Purging files using a wildcard path counts as a single request against the API's + rate limit. Two identical purge requests cannot be sent at the same time. tags: - CDN Endpoints parameters: @@ -907,9 +838,7 @@ paths: get: operationId: certificates_list summary: List All Certificates - description: >- - To list all of the certificates available on your account, send a GET - request to `/v2/certificates`. + description: To list all of the certificates available on your account, send a GET request to `/v2/certificates`. parameters: - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/page' @@ -978,24 +907,15 @@ paths: post: operationId: certificates_create summary: Create a New Certificate - description: > - To upload new SSL certificate which you have previously generated, send - a POST - + description: | + To upload new SSL certificate which you have previously generated, send a POST request to `/v2/certificates`. - When uploading a user-generated certificate, the `private_key`, - - `leaf_certificate`, and optionally the `certificate_chain` attributes - should - + `leaf_certificate`, and optionally the `certificate_chain` attributes should be provided. The type must be set to `custom`. - - When using Let's Encrypt to create a certificate, the `dns_names` - attribute - + When using Let's Encrypt to create a certificate, the `dns_names` attribute must be provided, and the type must be set to `lets_encrypt`. tags: - Certificates @@ -1067,21 +987,14 @@ paths: certObj, _, err := client.Certificates.Create(ctx, createRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - key = File.open('/path/to/privkey1.pem', 'r'){ |file| file.read } - cert = File.open('/path/to/cert1.pem', 'r'){ |file| file.read } - - chain = File.open('/path/to/fullchain1.pem', 'r'){ |file| file.read - } - + chain = File.open('/path/to/fullchain1.pem', 'r'){ |file| file.read } certificate = DropletKit::Certificate.new( name: 'web-cert-01', @@ -1091,7 +1004,6 @@ paths: type: 'custom' ) - client.certificates.create(certificate) - lang: Python source: |- @@ -1116,9 +1028,7 @@ paths: get: operationId: certificates_get summary: Retrieve an Existing Certificate - description: >- - To show information about an existing certificate, send a GET request to - `/v2/certificates/$CERTIFICATE_ID`. + description: To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. tags: - Certificates parameters: @@ -1228,16 +1138,12 @@ paths: _, err := client.Certificates.Delete(ctx, "892071a0-bb95-49bc-8021-3afd67a210bf") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.certificates.delete(id: - '892071a0-bb95-49bc-8021-3afd67a210bf') + client.certificates.delete(id: '892071a0-bb95-49bc-8021-3afd67a210bf') - lang: Python source: |- import os @@ -1255,9 +1161,7 @@ paths: get: operationId: domains_list summary: List All Domains - description: >- - To retrieve a list of all of the domains in your account, send a GET - request to `/v2/domains`. + description: To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. tags: - Domains parameters: @@ -1325,15 +1229,10 @@ paths: post: operationId: domains_create summary: Create a New Domain - description: > - To create a new domain, send a POST request to `/v2/domains`. Set the - "name" - + description: | + To create a new domain, send a POST request to `/v2/domains`. Set the "name" attribute to the domain name you are adding. Optionally, you may set the - - "ip_address" attribute, and an A record will be automatically created - pointing - + "ip_address" attribute, and an A record will be automatically created pointing to the apex domain. tags: - Domains @@ -1416,9 +1315,7 @@ paths: get: operationId: domains_get summary: Retrieve an Existing Domain - description: >- - To get details about a specific domain, send a GET request to - `/v2/domains/$DOMAIN_NAME`. + description: To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. tags: - Domains parameters: @@ -1546,17 +1443,9 @@ paths: get: operationId: domains_list_records summary: List All Domain Records - description: >+ - To get a listing of all records configured for a domain, send a GET - request to `/v2/domains/$DOMAIN_NAME/records`. - - The list of records returned can be filtered by using the `name` and - `type` query parameters. For example, to only include A records for a - domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. - `name` must be a fully qualified record name. For example, to only - include records matching `sub.example.com`, send a GET request to - `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and - type may be used together. + description: |+ + To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`. + The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together. tags: - Domain Records @@ -1630,21 +1519,14 @@ paths: post: operationId: domains_create_record summary: Create a New Domain Record - description: > + description: | To create a new record to a domain, send a POST request to - `/v2/domains/$DOMAIN_NAME/records`. - - The request must include all of the required fields for the domain - record type - + The request must include all of the required fields for the domain record type being added. - - See the [attribute table](#tag/Domain-Records) for details regarding - record - + See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record types and their respective required attributes. tags: - Domain Records @@ -1743,15 +1625,12 @@ paths: ) client.domain_records.create(record, for_domain: 'example.com') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "type": "A", "name": "www", @@ -1764,9 +1643,7 @@ paths: "tag": None } - - resp = client.domains.create_record(domain_name="example.com", - body=req) + resp = client.domains.create_record(domain_name="example.com", body=req) security: - bearer_auth: - domain:create @@ -1774,9 +1651,7 @@ paths: get: operationId: domains_get_record summary: Retrieve an Existing Domain Record - description: >- - To retrieve a specific domain record, send a GET request to - `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. + description: To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. tags: - Domain Records parameters: @@ -1827,35 +1702,25 @@ paths: client.domain_records.find(for_domain: 'example.com', id: 3352896) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = client.domains.get_record(domain_name="example.com", - domain_record_id=3352896) + get_resp = client.domains.get_record(domain_name="example.com", domain_record_id=3352896) security: - bearer_auth: - domain:read patch: operationId: domains_patch_record summary: Update a Domain Record - description: > + description: | To update an existing record, send a PATCH request to - - `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute - valid for - + `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for the record type can be set to a new value for the record. - - See the [attribute table](#tag/Domain-Records) for details regarding - record - + See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record types and their respective attributes. tags: - Domain Records @@ -1892,41 +1757,30 @@ paths: -d '{"name":"blog","type":"A"}' \ "https://api.digitalocean.com/v2/domains/example.com/records/3352896" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "blog", "type": "A" } - - resp = client.domains.patch_record(domain_name="example.com", - domain_record_id=2432342, body=req) + resp = client.domains.patch_record(domain_name="example.com", domain_record_id=2432342, body=req) security: - bearer_auth: - domain:update put: operationId: domains_update_record summary: Update a Domain Record - description: > + description: | To update an existing record, send a PUT request to - - `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute - valid for - + `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for the record type can be set to a new value for the record. - - See the [attribute table](#tag/Domain-Records) for details regarding - record - + See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record types and their respective attributes. tags: - Domain Records @@ -1985,36 +1839,26 @@ paths: domainRecord, _, err := client.Domains.EditRecord(ctx, "example.com", 3352896, editRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - record = DropletKit::DomainRecord.new(name: 'blog') - - client.domain_records.update(record, for_domain: 'example.com', id: - 3352896) + client.domain_records.update(record, for_domain: 'example.com', id: 3352896) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "blog", "type": "CNAME" } - - resp = client.domains.update_record(domain_name="example.com", - domain_record_id=2432342, body=req) + resp = client.domains.update_record(domain_name="example.com", domain_record_id=2432342, body=req) security: - bearer_auth: - domain:update @@ -2077,22 +1921,17 @@ paths: client.domain_records.delete(for_domain: 'example.com', id: 3352896) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "example.com" } - - resp = client.domains.delete_record(domain_name="example.com", - domain_record_id=3352896) + resp = client.domains.delete_record(domain_name="example.com", domain_record_id=3352896) security: - bearer_auth: - domain:delete @@ -2100,42 +1939,24 @@ paths: get: operationId: droplets_list summary: List All Droplets - description: > - To list all Droplets in your account, send a GET request to - `/v2/droplets`. - - - The response body will be a JSON object with a key of `droplets`. This - will be - - set to an array containing objects each representing a Droplet. These - will + description: | + To list all Droplets in your account, send a GET request to `/v2/droplets`. + The response body will be a JSON object with a key of `droplets`. This will be + set to an array containing objects each representing a Droplet. These will contain the standard Droplet attributes. - ### Filtering Results by Tag - - It's possible to request filtered results by including certain query - parameters. - - To only list Droplets assigned to a specific tag, include the `tag_name` - query - + It's possible to request filtered results by including certain query parameters. + To only list Droplets assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, - `/v2/droplets?tag_name=$TAG_NAME`. - ### GPU Droplets - - By default, only non-GPU Droplets are returned. To list only GPU - Droplets, set - - the `type` query parameter to `gpus`. For example, - `/v2/droplets?type=gpus`. + By default, only non-GPU Droplets are returned. To list only GPU Droplets, set + the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`. tags: - Droplets parameters: @@ -2206,62 +2027,31 @@ paths: post: operationId: droplets_create summary: Create a New Droplet - description: > - To create a new Droplet, send a POST request to `/v2/droplets` setting - the - + description: | + To create a new Droplet, send a POST request to `/v2/droplets` setting the required attributes. - - A Droplet will be created using the provided information. The response - body - - will contain a JSON object with a key called `droplet`. The value will - be an - - object containing the standard attributes for your new Droplet. The - response - - code, 202 Accepted, does not indicate the success or failure of the - operation, - - just that the request has been accepted for processing. The `actions` - returned - + A Droplet will be created using the provided information. The response body + will contain a JSON object with a key called `droplet`. The value will be an + object containing the standard attributes for your new Droplet. The response + code, 202 Accepted, does not indicate the success or failure of the operation, + just that the request has been accepted for processing. The `actions` returned as part of the response's `links` object can be used to check the status - of the Droplet create event. - ### Create Multiple Droplets - Creating multiple Droplets is very similar to creating a single Droplet. - - Instead of sending `name` as a string, send `names` as an array of - strings. A - + Instead of sending `name` as a string, send `names` as an array of strings. A Droplet will be created for each name you send using the associated - information. Up to ten Droplets may be created this way at a time. - - Rather than returning a single Droplet, the response body will contain a - JSON - + Rather than returning a single Droplet, the response body will contain a JSON array with a key called `droplets`. This will be set to an array of JSON - objects, each of which will contain the standard Droplet attributes. The - - response code, 202 Accepted, does not indicate the success or failure of - any - - operation, just that the request has been accepted for processing. The - array - - of `actions` returned as part of the response's `links` object can be - used to - + response code, 202 Accepted, does not indicate the success or failure of any + operation, just that the request has been accepted for processing. The array + of `actions` returned as part of the response's `links` object can be used to check the status of each individual Droplet create event. tags: - Droplets @@ -2383,21 +2173,14 @@ paths: delete: operationId: droplets_destroy_byTag summary: Deleting Droplets by Tag - description: > - To delete **all** Droplets assigned to a specific tag, include the - `tag_name` - + description: | + To delete **all** Droplets assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your DELETE request. For - example, `/v2/droplets?tag_name=$TAG_NAME`. - This endpoint requires `tag:read` scope. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Droplets @@ -2527,14 +2310,10 @@ paths: delete: operationId: droplets_destroy summary: Delete an Existing Droplet - description: > - To delete a Droplet, send a DELETE request to - `/v2/droplets/$DROPLET_ID`. - - - A successful request will receive a 204 status code with no body in - response. + description: | + To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`. + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Droplets @@ -2599,17 +2378,12 @@ paths: get: operationId: droplets_list_backups summary: List Backups for a Droplet - description: > + description: | To retrieve any backups associated with a Droplet, send a GET request to - `/v2/droplets/$DROPLET_ID/backups`. - - You will get back a JSON object that has a `backups` key. This will be - set to - + You will get back a JSON object that has a `backups` key. This will be set to an array of backup objects, each of which contain the standard - Droplet backup attributes. tags: - Droplets @@ -2682,10 +2456,8 @@ paths: get: operationId: droplets_get_backup_policy summary: Retrieve the Backup Policy for an Existing Droplet - description: > - To show information about an individual Droplet's backup policy, send a - GET - + description: | + To show information about an individual Droplet's backup policy, send a GET request to `/v2/droplets/$DROPLET_ID/backups/policy`. tags: - Droplets @@ -2742,10 +2514,8 @@ paths: get: operationId: droplets_list_backup_policies summary: List Backup Policies for All Existing Droplets - description: > - To list information about the backup policies for all Droplets in the - account, - + description: | + To list information about the backup policies for all Droplets in the account, send a GET request to `/v2/droplets/backups/policies`. tags: - Droplets @@ -2859,19 +2629,12 @@ paths: get: operationId: droplets_list_snapshots summary: List Snapshots for a Droplet - description: > - To retrieve the snapshots that have been created from a Droplet, send a - GET - + description: | + To retrieve the snapshots that have been created from a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/snapshots`. - - You will get back a JSON object that has a `snapshots` key. This will be - set - - to an array of snapshot objects, each of which contain the standard - Droplet - + You will get back a JSON object that has a `snapshots` key. This will be set + to an array of snapshot objects, each of which contain the standard Droplet snapshot attributes. tags: - Droplets @@ -2944,18 +2707,12 @@ paths: get: operationId: dropletActions_list summary: List Actions for a Droplet - description: > - To retrieve a list of all actions that have been executed for a Droplet, - send - + description: | + To retrieve a list of all actions that have been executed for a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/actions`. - - The results will be returned as a JSON object with an `actions` key. - This will - + The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with `action` objects containing the standard - `action` attributes. tags: - Droplet Actions @@ -3032,94 +2789,37 @@ paths: post: operationId: dropletActions_post summary: Initiate a Droplet Action - description: > + description: | To initiate an action on a Droplet send a POST request to - `/v2/droplets/$DROPLET_ID/actions`. In the JSON body to the request, - set the `type` attribute to on of the supported action types: - - | Action | Details | Additionally - Required Permission | - + | Action | Details | Additionally Required Permission | | ---------------------------------------- | ----------- | ----------- | - - | `enable_backups` | Enables backups for a - Droplet | | - - | `disable_backups` | Disables backups for a - Droplet | | - - | `change_backup_policy` | Update the backup policy - for a Droplet | | - - | `reboot` | Reboots a Droplet. A - `reboot` action is an attempt to reboot the Droplet in a graceful way, - similar to using the `reboot` command from the console. | | - - | `power_cycle` | Power cycles a Droplet. A - `powercycle` action is similar to pushing the reset button on a physical - machine, it's similar to booting from scratch. | | - - | `shutdown` | Shutsdown a Droplet. A - shutdown action is an attempt to shutdown the Droplet in a graceful way, - similar to using the `shutdown` command from the console. Since a - `shutdown` command can fail, this action guarantees that the command is - issued, not that it succeeds. The preferred way to turn off a Droplet is - to attempt a shutdown, with a reasonable timeout, followed by a - `power_off` action to ensure the Droplet is off. | | - - | `power_off` | Powers off a Droplet. A - `power_off` event is a hard shutdown and should only be used if the - `shutdown` action is not successful. It is similar to cutting the power - on a server and could lead to complications. | | - + | `enable_backups` | Enables backups for a Droplet | | + | `disable_backups` | Disables backups for a Droplet | | + | `change_backup_policy` | Update the backup policy for a Droplet | | + | `reboot` | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. | | + | `power_cycle` | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | | + | `shutdown` | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. | | + | `power_off` | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. | | | `power_on` | Powers on a Droplet. | | - - | `restore` | Restore a Droplet using a - backup image. The image ID that is passed in must be a backup of the - current Droplet instance. The operation will leave any embedded SSH keys - intact. | droplet:admin | - - | `password_reset` | Resets the root password - for a Droplet. A new password will be provided via email. It must be - changed after first use. | droplet:admin | - - | `resize` | Resizes a Droplet. Set the - `size` attribute to a size slug. If a permanent resize with disk changes - included is desired, set the `disk` attribute to `true`. | - droplet:create | - - | `rebuild` | Rebuilds a Droplet from a - new base image. Set the `image` attribute to an image ID or slug. | - droplet:admin | - + | `restore` | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | droplet:admin | + | `password_reset` | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | droplet:admin | + | `resize` | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. | droplet:create | + | `rebuild` | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. | droplet:admin | | `rename` | Renames a Droplet. | | - - | `change_kernel` | Changes a Droplet's kernel. - Only applies to Droplets with externally managed kernels. All Droplets - created after March 2017 use internal kernels by default. | | - - | `enable_ipv6` | Enables IPv6 for a Droplet. - Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 - on an existing Droplet, [additional OS-level - configuration](https://docs.digitalocean.com/products/networking/ipv6/how-to/enable/#on-existing-droplets) - is required. | | - - | `snapshot` | Takes a snapshot of a - Droplet. | image:create | + | `change_kernel` | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | | + | `enable_ipv6` | Enables IPv6 for a Droplet. Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on an existing Droplet, [additional OS-level configuration](https://docs.digitalocean.com/products/networking/ipv6/how-to/enable/#on-existing-droplets) is required. | | + | `snapshot` | Takes a snapshot of a Droplet. | image:create | tags: - Droplet Actions parameters: - $ref: '#/components/parameters/droplet_id' requestBody: - description: > - The `type` attribute set in the request body will specify the action - that - + description: | + The `type` attribute set in the request body will specify the action that will be taken on the Droplet. Some actions will require additional - attributes to be set as well. content: application/json: @@ -3294,7 +2994,7 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164444/actions/36804807" - lang: Go - source: >- + source: |- import ( "context" "os" @@ -3302,7 +3002,6 @@ paths: "github.com/digitalocean/godo" ) - func main() { token := os.Getenv("DIGITALOCEAN_TOKEN") @@ -3312,189 +3011,107 @@ paths: action, _, err := client.DropletActions.EnableBackups(ctx, 3164450) // Disable Backups - - // action, _, err := client.DropletActions.DisableBackups(ctx, - 3164450) - + // action, _, err := client.DropletActions.DisableBackups(ctx, 3164450) // Reboot a Droplet - // action, _, err := client.DropletActions.Reboot(ctx, 3164450) - // Power Cycle a Droplet - // action, _, err := client.DropletActions.PowerCycle(ctx, 3164450) - // Shutdown a Droplet - // action, _, err := client.DropletActions.Shutdown(ctx, 3067649) - // Power Off a Droplet - // action, _, err := client.DropletActions.PowerOff(ctx, 3164450) - // Power On a Droplet - // action, _, err := client.DropletActions.PowerOn(ctx, 3164450) - // Restore a Droplet - - // action, _, err := client.DropletActions.Restore(ctx, 3164449, - 12389723) - + // action, _, err := client.DropletActions.Restore(ctx, 3164449, 12389723) // Password Reset a Droplet - - // action, _, err := client.DropletActions.PasswordReset(ctx, - 3164450) - + // action, _, err := client.DropletActions.PasswordReset(ctx, 3164450) // Resize a Droplet - - // action, _, err := client.DropletActions.Resize(ctx, 3164450, - "1gb", true) - + // action, _, err := client.DropletActions.Resize(ctx, 3164450, "1gb", true) // Rebuild a Droplet - - // action, _, err := client.DropletActions.RebuildByImageSlug(ctx, - 3164450, "ubuntu-16-04-x64") - + // action, _, err := client.DropletActions.RebuildByImageSlug(ctx, 3164450, "ubuntu-16-04-x64") // Rename a Droplet - - // action, _, err := client.DropletActions.Rename(ctx, 3164450, - "nifty-new-name") - + // action, _, err := client.DropletActions.Rename(ctx, 3164450, "nifty-new-name") // Change the Kernel - - // action, _, err := client.DropletActions.ChangeKernel(ctx, - 3164450, 991) - + // action, _, err := client.DropletActions.ChangeKernel(ctx, 3164450, 991) // Enable IPv6 - // action, _, err := client.DropletActions.EnableIPv6(ctx, 3164450) - // Enable Private Networking - - // action, _, err := - client.DropletActions.EnablePrivateNetworking(ctx, 3164450) - + // action, _, err := client.DropletActions.EnablePrivateNetworking(ctx, 3164450) // Snapshot a Droplet - - // action, _, err := client.DropletActions.Snapshot(ctx, 3164450, - "Nifty New Snapshot") - + // action, _, err := client.DropletActions.Snapshot(ctx, 3164450, "Nifty New Snapshot") // Retrieve a Droplet Action - - // action, _, err := client.DropletActions.Get(ctx, 3164450, - 36804807) - + // action, _, err := client.DropletActions.Get(ctx, 3164450, 36804807) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - # Enable Backups - client.droplet_actions.enable_backups(droplet_id: 3164450) - # Disable Backups - # client.droplet_actions.disable_backups(droplet_id: 3164450) - # Reboot a Droplet - # client.droplet_actions.reboot(droplet_id: 3164450) - # Power Cycle a Droplet - # client.droplet_actions.power_cycle(droplet_id: 3164450) - # Shutdown a Droplet - # client.droplet_actions.shutdown(droplet_id: 3067649) - # Power Off a Droplet - # client.droplet_actions.power_off(droplet_id: 3164450) - # Power On a Droplet - # client.droplet_actions.power_on(droplet_id: 3164450) - # Restore a Droplet - - # client.droplet_actions.restore(droplet_id: 3067649, image: - 12389723) - + # client.droplet_actions.restore(droplet_id: 3067649, image: 12389723) # Password Reset a Droplet - # client.droplet_actions.password_reset(droplet_id: 3164450) - # Resize a Droplet - # client.droplet_actions.resize(droplet_id: 3164450, size: '1gb') - # Rebuild a Droplet - - # client.droplet_actions.rebuild(droplet_id: 3164450, image: - 'ubuntu-16-04-x64') - + # client.droplet_actions.rebuild(droplet_id: 3164450, image: 'ubuntu-16-04-x64') # Rename a Droplet - - # client.droplet_actions.rename(droplet_id: 3164450, name: - 'nifty-new-name') - + # client.droplet_actions.rename(droplet_id: 3164450, name: 'nifty-new-name') # Change the Kernel - - # client.droplet_actions.change_kernel(droplet_id: 3164450, kernel: - 991) - + # client.droplet_actions.change_kernel(droplet_id: 3164450, kernel: 991) # Enable IPv6 - # client.droplet_actions.enable_ipv6(droplet_id: 3164450) - # Enable Private Networking - - # client.droplet_actions.enable_private_networking(droplet_id: - 3164450) - + # client.droplet_actions.enable_private_networking(droplet_id: 3164450) # Snapshot a Droplet - - # client.droplet_actions.snapshot(droplet_id: 3164450, name: 'Nifty - New Snapshot') + # client.droplet_actions.snapshot(droplet_id: 3164450, name: 'Nifty New Snapshot') - lang: Python source: |- import os @@ -3515,45 +3132,29 @@ paths: post: operationId: dropletActions_post_byTag summary: Acting on Tagged Droplets - description: > - Some actions can be performed in bulk on tagged Droplets. The actions - can be - - initiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` - with - + description: | + Some actions can be performed in bulk on tagged Droplets. The actions can be + initiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` with the action arguments. - Only a sub-set of action types are supported: - - `power_cycle` - - `power_on` - - `power_off` - - `shutdown` - - `enable_ipv6` - - `enable_backups` - - `disable_backups` - - `snapshot` (also requires `image:create` permission) tags: - Droplet Actions parameters: - $ref: '#/components/parameters/droplet_tag_name' requestBody: - description: > - The `type` attribute set in the request body will specify the action - that - + description: | + The `type` attribute set in the request body will specify the action that will be taken on the Droplet. Some actions will require additional - attributes to be set as well. content: application/json: @@ -3616,24 +3217,17 @@ paths: client.droplet_actions.power_off_for_tag(tag: 'awesome') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { - "type": "enable_backups" - } - - resp = - client.droplet_actions.post_by_tag(tag_name="production",body=req) + resp = client.droplet_actions.post_by_tag(tag_name="production",body=req) security: - bearer_auth: - droplet:update @@ -3641,15 +3235,11 @@ paths: get: operationId: dropletActions_get summary: Retrieve a Droplet Action - description: > + description: | To retrieve a Droplet action, send a GET request to - `/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`. - - The response will be a JSON object with a key called `action`. The value - will - + The response will be a JSON object with a key called `action`. The value will be a Droplet action object. tags: - Droplet Actions @@ -3701,17 +3291,13 @@ paths: client.droplet_actions.find(droplet_id: 3164444, id: 36804807) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.droplet_actions.get(droplet_id=3934132, - action_id=2432342) + resp = client.droplet_actions.get(droplet_id=3934132, action_id=2432342) security: - bearer_auth: - droplet:read @@ -3719,19 +3305,12 @@ paths: get: operationId: droplets_list_kernels summary: List All Available Kernels for a Droplet - description: > - To retrieve a list of all kernels available to a Droplet, send a GET - request - + description: | + To retrieve a list of all kernels available to a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/kernels` - - The response will be a JSON object that has a key called `kernels`. This - will - - be set to an array of `kernel` objects, each of which contain the - standard - + The response will be a JSON object that has a key called `kernels`. This will + be set to an array of `kernel` objects, each of which contain the standard `kernel` attributes. tags: - Droplets @@ -3804,19 +3383,12 @@ paths: get: operationId: droplets_list_firewalls summary: List all Firewalls Applied to a Droplet - description: > - To retrieve a list of all firewalls available to a Droplet, send a GET - request - + description: | + To retrieve a list of all firewalls available to a Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/firewalls` - - The response will be a JSON object that has a key called `firewalls`. - This will - - be set to an array of `firewall` objects, each of which contain the - standard - + The response will be a JSON object that has a key called `firewalls`. This will + be set to an array of `firewall` objects, each of which contain the standard `firewall` attributes. tags: - Droplets @@ -3844,26 +3416,15 @@ paths: get: operationId: droplets_list_neighbors summary: List Neighbors for a Droplet - description: > - To retrieve a list of any "neighbors" (i.e. Droplets that are co-located - on - - the same physical hardware) for a specific Droplet, send a GET request - to - + description: | + To retrieve a list of any "neighbors" (i.e. Droplets that are co-located on + the same physical hardware) for a specific Droplet, send a GET request to `/v2/droplets/$DROPLET_ID/neighbors`. - - The results will be returned as a JSON object with a key of `droplets`. - This - - will be set to an array containing objects representing any other - Droplets - + The results will be returned as a JSON object with a key of `droplets`. This + will be set to an array containing objects representing any other Droplets that share the same physical hardware. An empty array indicates that the - - Droplet is not co-located any other Droplets associated with your - account. + Droplet is not co-located any other Droplets associated with your account. tags: - Droplets parameters: @@ -3903,28 +3464,16 @@ paths: get: operationId: droplets_list_associatedResources summary: List Associated Resources for a Droplet - description: > - To list the associated billable resources that can be destroyed along - with a - + description: | + To list the associated billable resources that can be destroyed along with a Droplet, send a GET request to the - `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint. + This endpoint will only return resources that you are authorized to see. For + example, to see associated Reserved IPs, include the `reserved_ip:read` scope. - This endpoint will only return resources that you are authorized to see. - For - - example, to see associated Reserved IPs, include the `reserved_ip:read` - scope. - - - The response will be a JSON object containing `snapshots`, `volumes`, - and - - `volume_snapshots` keys. Each will be set to an array of objects - containing - + The response will be a JSON object containing `snapshots`, `volumes`, and + `volume_snapshots` keys. Each will be set to an array of objects containing information about the associated resources. tags: - Droplets @@ -3965,34 +3514,17 @@ paths: delete: operationId: droplets_destroy_withAssociatedResourcesSelective summary: Selectively Destroy a Droplet and its Associated Resources - description: > - To destroy a Droplet along with a sub-set of its associated resources, - send a - - DELETE request to the - `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective` - - endpoint. The JSON body of the request should include `reserved_ips`, - `snapshots`, `volumes`, - - or `volume_snapshots` keys each set to an array of IDs for the - associated - - resources to be destroyed. The IDs can be found by querying the - Droplet's - - associated resources. Any associated resource not included in the - request - + description: | + To destroy a Droplet along with a sub-set of its associated resources, send a + DELETE request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective` + endpoint. The JSON body of the request should include `reserved_ips`, `snapshots`, `volumes`, + or `volume_snapshots` keys each set to an array of IDs for the associated + resources to be destroyed. The IDs can be found by querying the Droplet's + associated resources. Any associated resource not included in the request will remain and continue to accrue changes on your account. - - A successful response will include a 202 response code and no content. - Use - - the status endpoint to check on the success or failure of the - destruction of - + A successful response will include a 202 response code and no content. Use + the status endpoint to check on the success or failure of the destruction of the individual resources. tags: - Droplets @@ -4025,17 +3557,13 @@ paths: -d '{"reserved_ips":["6186916"],"snapshots": ["61486916"],"volumes": ["ba49449a-7435-11ea-b89e-0a58ac14480f"],"volume_snapshots": ["edb0478d-7436-11ea-86e6-0a58ac144b91"]}' \ "https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/selective" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.droplets.destroy_with_associated_resources_selective(droplet_id=524512) + resp = client.droplets.destroy_with_associated_resources_selective(droplet_id=524512) security: - bearer_auth: - droplet:delete @@ -4043,30 +3571,16 @@ paths: delete: operationId: droplets_destroy_withAssociatedResourcesDangerous summary: Destroy a Droplet and All of its Associated Resources (Dangerous) - description: > - To destroy a Droplet along with all of its associated resources, send a - DELETE - - request to the - `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous` - - endpoint. The headers of this request must include an `X-Dangerous` key - set to - + description: | + To destroy a Droplet along with all of its associated resources, send a DELETE + request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous` + endpoint. The headers of this request must include an `X-Dangerous` key set to `true`. To preview which resources will be destroyed, first query the - - Droplet's associated resources. This operation _can not_ be reverse and - should - + Droplet's associated resources. This operation _can not_ be reverse and should be used with caution. - - A successful response will include a 202 response code and no content. - Use the - - status endpoint to check on the success or failure of the destruction of - the - + A successful response will include a 202 response code and no content. Use the + status endpoint to check on the success or failure of the destruction of the individual resources. tags: - Droplets @@ -4093,17 +3607,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/187000742/destroy_with_associated_resources/dangerous" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.droplets.destroy_with_associated_resources_dangerous(droplet_id=524512) + resp = client.droplets.destroy_with_associated_resources_dangerous(droplet_id=524512) security: - bearer_auth: - droplet:delete @@ -4111,14 +3621,10 @@ paths: get: operationId: droplets_get_DestroyAssociatedResourcesStatus summary: Check Status of a Droplet Destroy with Associated Resources Request - description: > - To check on the status of a request to destroy a Droplet with its - associated - + description: | + To check on the status of a request to destroy a Droplet with its associated resources, send a GET request to the - - `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` - endpoint. + `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` endpoint. tags: - Droplets parameters: @@ -4144,17 +3650,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/status" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.droplets.get_destroy_associated_resources_status(droplet_id=5624512) + resp = client.droplets.get_destroy_associated_resources_status(droplet_id=5624512) security: - bearer_auth: - droplet:delete @@ -4162,25 +3664,14 @@ paths: post: operationId: droplets_destroy_retryWithAssociatedResources summary: Retry a Droplet Destroy with Associated Resources Request - description: > - If the status of a request to destroy a Droplet with its associated - resources - + description: | + If the status of a request to destroy a Droplet with its associated resources reported any errors, it can be retried by sending a POST request to the + `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint. - `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` - endpoint. - - - Only one destroy can be active at a time per Droplet. If a retry is - issued - - while another destroy is in progress for the Droplet a 409 status code - will - - be returned. A successful response will include a 202 response code and - no - + Only one destroy can be active at a time per Droplet. If a retry is issued + while another destroy is in progress for the Droplet a 409 status code will + be returned. A successful response will include a 202 response code and no content. tags: - Droplets @@ -4209,17 +3700,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/droplets/3164494/destroy_with_associated_resources/retry" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.droplets.destroy_retry_with_associated_resources(droplet_id=524512) + resp = client.droplets.destroy_retry_with_associated_resources(droplet_id=524512) security: - bearer_auth: - droplet:delete @@ -4227,13 +3714,9 @@ paths: get: operationId: autoscalepools_list summary: List All Autoscale Pools - description: > - To list all autoscale pools in your team, send a GET request to - `/v2/droplets/autoscale`. - - The response body will be a JSON object with a key of `autoscale_pools` - containing an array of autoscale pool objects. - + description: | + To list all autoscale pools in your team, send a GET request to `/v2/droplets/autoscale`. + The response body will be a JSON object with a key of `autoscale_pools` containing an array of autoscale pool objects. These each contain the standard autoscale pool attributes. tags: - Droplet Autoscale Pools @@ -4265,14 +3748,10 @@ paths: post: operationId: autoscalepools_create summary: Create a New Autoscale Pool - description: > - To create a new autoscale pool, send a POST request to - `/v2/droplets/autoscale` setting the required attributes. - + description: | + To create a new autoscale pool, send a POST request to `/v2/droplets/autoscale` setting the required attributes. - The response body will contain a JSON object with a key called - `autoscale_pool` containing the standard attributes for the new - autoscale pool. + The response body will contain a JSON object with a key called `autoscale_pool` containing the standard attributes for the new autoscale pool. tags: - Droplet Autoscale Pools requestBody: @@ -4334,10 +3813,8 @@ paths: get: operationId: autoscalepools_get summary: Retrieve an Existing Autoscale Pool - description: > - To show information about an individual autoscale pool, send a GET - request to - + description: | + To show information about an individual autoscale pool, send a GET request to `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`. tags: - Droplet Autoscale Pools @@ -4369,13 +3846,9 @@ paths: put: operationId: autoscalepools_update summary: Update Autoscale Pool - description: > - To update the configuration of an existing autoscale pool, send a PUT - request to - - `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`. The request must contain a - full representation - + description: | + To update the configuration of an existing autoscale pool, send a PUT request to + `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`. The request must contain a full representation of the autoscale pool including existing attributes. tags: - Droplet Autoscale Pools @@ -4441,10 +3914,8 @@ paths: delete: operationId: autoscalepools_delete summary: Delete autoscale pool - description: > - To destroy an autoscale pool, send a DELETE request to the - `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID` endpoint. - + description: | + To destroy an autoscale pool, send a DELETE request to the `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID` endpoint. A successful response will include a 202 response code and no content. tags: @@ -4478,11 +3949,9 @@ paths: delete: operationId: autoscalepools_delete_dangerous summary: Delete autoscale pool and resources - description: > + description: | To destroy an autoscale pool and its associated resources (Droplets), - - send a DELETE request to the - `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/dangerous` endpoint. + send a DELETE request to the `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/dangerous` endpoint. tags: - Droplet Autoscale Pools parameters: @@ -4516,16 +3985,11 @@ paths: get: operationId: autoscalepools_list_members summary: List members - description: > - To list the Droplets in an autoscale pool, send a GET request to - `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/members`. - - - The response body will be a JSON object with a key of `droplets`. This - will be + description: | + To list the Droplets in an autoscale pool, send a GET request to `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/members`. - set to an array containing information about each of the Droplets in the - autoscale pool. + The response body will be a JSON object with a key of `droplets`. This will be + set to an array containing information about each of the Droplets in the autoscale pool. tags: - Droplet Autoscale Pools parameters: @@ -4559,14 +4023,10 @@ paths: get: operationId: autoscalepools_list_history summary: List history events - description: > - To list all of the scaling history events of an autoscale pool, send a - GET request to `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/history`. - - - The response body will be a JSON object with a key of `history`. This - will be + description: | + To list all of the scaling history events of an autoscale pool, send a GET request to `/v2/droplets/autoscale/$AUTOSCALE_POOL_ID/history`. + The response body will be a JSON object with a key of `history`. This will be set to an array containing objects each representing a history event. tags: - Droplet Autoscale Pools @@ -4601,9 +4061,7 @@ paths: get: operationId: firewalls_list summary: List All Firewalls - description: >- - To list all of the firewalls available on your account, send a GET - request to `/v2/firewalls`. + description: To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. tags: - Firewalls parameters: @@ -4671,10 +4129,8 @@ paths: post: operationId: firewalls_create summary: Create a New Firewall - description: > - To create a new firewall, send a POST request to `/v2/firewalls`. The - request - + description: | + To create a new firewall, send a POST request to `/v2/firewalls`. The request must contain at least one inbound or outbound access rule. tags: - Firewalls @@ -4881,9 +4337,7 @@ paths: get: operationId: firewalls_get summary: Retrieve an Existing Firewall - description: >- - To show information about an existing firewall, send a GET request to - `/v2/firewalls/$FIREWALL_ID`. + description: To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. tags: - Firewalls parameters: @@ -4946,21 +4400,12 @@ paths: put: operationId: firewalls_update summary: Update a Firewall - description: > - To update the configuration of an existing firewall, send a PUT request - to - - `/v2/firewalls/$FIREWALL_ID`. The request should contain a full - representation - - of the firewall including existing attributes. **Note that any - attributes that - + description: | + To update the configuration of an existing firewall, send a PUT request to + `/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation + of the firewall including existing attributes. **Note that any attributes that are not provided will be reset to their default values.** - -

You must have read access (e.g. `droplet:read`) to all resources - attached - +

You must have read access (e.g. `droplet:read`) to all resources attached to the firewall to successfully update the firewall. tags: - Firewalls @@ -5080,14 +4525,11 @@ paths: firewall, req, err := client.Firewalls.Create(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', updateRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - firewall = DropletKit::Firewall.new( name: 'firewall', inbound_rules: [ @@ -5120,9 +4562,7 @@ paths: tags: ['frontend'] ) - - client.firewalls.update(firewall, id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.update(firewall, id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python source: |- import os @@ -5182,16 +4622,11 @@ paths: delete: operationId: firewalls_delete summary: Delete a Firewall - description: > - To delete a firewall send a DELETE request to - `/v2/firewalls/$FIREWALL_ID`. - + description: | + To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`. No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5256,19 +4691,13 @@ paths: post: operationId: firewalls_assign_droplets summary: Add Droplets to a Firewall - description: > + description: | To assign a Droplet to a firewall, send a POST request to - `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there - should be a `droplet_ids` attribute containing a list of Droplet IDs. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5281,9 +4710,7 @@ paths: properties: droplet_ids: type: array - description: >- - An array containing the IDs of the Droplets to be assigned - to the firewall. + description: An array containing the IDs of the Droplets to be assigned to the firewall. items: type: integer example: @@ -5335,55 +4762,39 @@ paths: _, err := client.Firewalls.AddDroplets(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 49696269) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.firewalls.add_droplets([49696269], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.add_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "droplet_ids": [ 49696269 ] } - - resp = client.firewalls.assign_droplets(firewall_id="39fa4gz", - body=req) + resp = client.firewalls.assign_droplets(firewall_id="39fa4gz", body=req) security: - bearer_auth: - firewall:update delete: operationId: firewalls_delete_droplets summary: Remove Droplets from a Firewall - description: > + description: | To remove a Droplet from a firewall, send a DELETE request to - - `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there - should - + `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should be a `droplet_ids` attribute containing a list of Droplet IDs. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5396,9 +4807,7 @@ paths: properties: droplet_ids: type: array - description: >- - An array containing the IDs of the Droplets to be removed - from the firewall. + description: An array containing the IDs of the Droplets to be removed from the firewall. items: type: integer example: @@ -5450,35 +4859,26 @@ paths: _, err := client.Firewalls.RemoveDroplets(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 49696269) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.firewalls.remove_droplets([49696269], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.remove_droplets([49696269], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "droplet_ids": [ 49696269 ] } - - resp = client.firewalls.delete_droplets(firewall_id="39fa4gz", - body=req) + resp = client.firewalls.delete_droplets(firewall_id="39fa4gz", body=req) security: - bearer_auth: - firewall:update @@ -5486,21 +4886,13 @@ paths: post: operationId: firewalls_add_tags summary: Add Tags to a Firewall - description: > - To assign a tag representing a group of Droplets to a firewall, send a - POST - - request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the - request, - + description: | + To assign a tag representing a group of Droplets to a firewall, send a POST + request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request, there should be a `tags` attribute containing a list of tag names. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5514,9 +4906,7 @@ paths: tags: allOf: - $ref: '#/components/schemas/existing_tags_array' - - description: >- - An array containing the names of the Tags to be assigned - to the firewall. + - description: An array containing the names of the Tags to be assigned to the firewall. required: - tags type: object @@ -5564,16 +4954,12 @@ paths: _, err := client.Firewalls.AddTags(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 'frontend') } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.firewalls.add_tags(['frontend'], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.add_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python source: |- import os @@ -5594,20 +4980,13 @@ paths: delete: operationId: firewalls_delete_tags summary: Remove Tags from a Firewall - description: > + description: | To remove a tag representing a group of Droplets from a firewall, send a - DELETE request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the - - request, there should be a `tags` attribute containing a list of tag - names. - + request, there should be a `tags` attribute containing a list of tag names. No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5621,9 +5000,7 @@ paths: tags: allOf: - $ref: '#/components/schemas/existing_tags_array' - - description: >- - An array containing the names of the Tags to be removed - from the firewall. + - description: An array containing the names of the Tags to be removed from the firewall. required: - tags type: object @@ -5671,16 +5048,12 @@ paths: _, err := client.Firewalls.RemoveTags(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', 'frontend') } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.firewalls.remove_tags(['frontend'], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.remove_tags(['frontend'], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python source: |- import os @@ -5702,23 +5075,14 @@ paths: post: operationId: firewalls_add_rules summary: Add Rules to a Firewall - description: > + description: | To add additional access rules to a firewall, send a POST request to - - `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include - an - - inbound_rules and/or outbound_rules attribute containing an array of - rules to - + `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an + inbound_rules and/or outbound_rules attribute containing an array of rules to be added. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5774,7 +5138,7 @@ paths: -d '{"inbound_rules":[{"protocol":"tcp","ports":"3306","sources":{"droplet_ids":[49696269]}}],"outbound_rules":[{"protocol":"tcp","ports":"3306","destinations":{"droplet_ids":[49696269]}}]}' \ "https://api.digitalocean.com/v2/firewalls/bb4b2611-3d72-467b-8602-280330ecd65c/rules" - lang: Go - source: >- + source: |- import ( "context" "os" @@ -5782,7 +5146,6 @@ paths: "github.com/digitalocean/godo" ) - func main() { token := os.Getenv("DIGITALOCEAN_TOKEN") @@ -5810,20 +5173,14 @@ paths: }, } - - _, err := c.Firewalls.AddRules(ctx, - 'bb4b2611-3d72-467b-8602-280330ecd65c', ruleRequest) - + _, err := c.Firewalls.AddRules(ctx, 'bb4b2611-3d72-467b-8602-280330ecd65c', ruleRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - inbound_rule = DropletKit::FirewallInboundRule.new( protocol: 'tcp', ports: '3306', @@ -5832,7 +5189,6 @@ paths: } ) - outbound_rule = DropletKit::FirewallOutboundRule.new( protocol: 'tcp', ports: '3306', @@ -5841,10 +5197,7 @@ paths: } ) - - client.firewalls.add_rules(inbound_rules: [inbound_rule], - outbound_rules: [outbound_rule], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.add_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python source: |- import os @@ -5884,23 +5237,14 @@ paths: delete: operationId: firewalls_delete_rules summary: Remove Rules from a Firewall - description: > + description: | To remove access rules from a firewall, send a DELETE request to - - `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include - an - - `inbound_rules` and/or `outbound_rules` attribute containing an array of - rules - + `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an + `inbound_rules` and/or `outbound_rules` attribute containing an array of rules to be removed. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Firewalls @@ -5995,14 +5339,11 @@ paths: } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - inbound_rule = DropletKit::FirewallInboundRule.new( protocol: 'tcp', ports: '3306', @@ -6011,7 +5352,6 @@ paths: } ) - outbound_rule = DropletKit::FirewallOutboundRule.new( protocol: 'tcp', ports: '3306', @@ -6020,20 +5360,14 @@ paths: } ) - - client.firewalls.remove_rules(inbound_rules: [inbound_rule], - outbound_rules: [outbound_rule], id: - 'bb4b2611-3d72-467b-8602-280330ecd65c') + client.firewalls.remove_rules(inbound_rules: [inbound_rule], outbound_rules: [outbound_rule], id: 'bb4b2611-3d72-467b-8602-280330ecd65c') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "inbound_rules": [ { @@ -6059,9 +5393,7 @@ paths: ] } - - resp = client.firewalls.delete_rules(firewall_id="39fa4gz", - body=req) + resp = client.firewalls.delete_rules(firewall_id="39fa4gz", body=req) security: - bearer_auth: - firewall:update @@ -6069,52 +5401,31 @@ paths: get: operationId: images_list summary: List All Images - description: > - To list all of the images available on your account, send a GET request - to /v2/images. - + description: | + To list all of the images available on your account, send a GET request to /v2/images. ## Filtering Results - ----- - - It's possible to request filtered results by including certain query - parameters. - + It's possible to request filtered results by including certain query parameters. **Image Type** + Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter. - Either 1-Click Application or OS Distribution images can be filtered by - using the `type` query parameter. - - - > Important: The `type` query parameter does not directly relate to the - `type` attribute. + > Important: The `type` query parameter does not directly relate to the `type` attribute. + To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`. - To retrieve only ***distribution*** images, include the `type` query - parameter set to distribution, `/v2/images?type=distribution`. - - - To retrieve only ***application*** images, include the `type` query - parameter set to application, `/v2/images?type=application`. - + To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`. **User Images** - - To retrieve only the private images of a user, include the `private` - query parameter set to true, `/v2/images?private=true`. - + To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`. **Tags** - - To list all images assigned to a specific tag, include the `tag_name` - query parameter set to the name of the tag in your GET request. For - example, `/v2/images?tag_name=$TAG_NAME`. + To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`. tags: - Images parameters: @@ -6199,18 +5510,12 @@ paths: post: operationId: images_create_custom summary: Create a Custom Image - description: > + description: | To create a new custom image, send a POST request to /v2/images. - - The body must contain a url attribute pointing to a Linux virtual - machine - + The body must contain a url attribute pointing to a Linux virtual machine image to be imported into DigitalOcean. - The image must be in the raw, qcow2, vhdx, vdi, or vmdk format. - - It may be compressed using gzip or bzip2 and must be smaller than 100 GB - after + It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed. tags: - Images @@ -6274,16 +5579,12 @@ paths: parameters: - in: path name: image_id - description: > - A unique number (id) or string (slug) used to identify and reference - a - + description: | + A unique number (id) or string (slug) used to identify and reference a specific image. - **Public** images can be identified by image `id` or `slug`. - **Private** images *must* be identified by image `id`. required: true schema: @@ -6370,13 +5671,10 @@ paths: put: operationId: images_update summary: Update an Image - description: > + description: | To update an image, send a `PUT` request to `/v2/images/$IMAGE_ID`. - Set the `name` attribute to the new value you would like to use. - - For custom images, the `description` and `distribution` attributes may - also be updated. + For custom images, the `description` and `distribution` attributes may also be updated. tags: - Images parameters: @@ -6457,9 +5755,8 @@ paths: delete: operationId: images_delete summary: Delete an Image - description: > - To delete a snapshot or custom image, send a `DELETE` request to - `/v2/images/$IMAGE_ID`. + description: | + To delete a snapshot or custom image, send a `DELETE` request to `/v2/images/$IMAGE_ID`. tags: - Images parameters: @@ -6523,9 +5820,7 @@ paths: get: operationId: imageActions_list summary: List All Actions for an Image - description: >- - To retrieve all actions that have been executed on an image, send a GET - request to `/v2/images/$IMAGE_ID/actions`. + description: To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. tags: - Image Actions parameters: @@ -6581,31 +5876,19 @@ paths: post: operationId: imageActions_post summary: Initiate an Image Action - description: > + description: | The following actions are available on an Image. - ## Convert an Image to a Snapshot - - To convert an image, for example, a backup to a snapshot, send a POST - request - - to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to - `convert`. - + To convert an image, for example, a backup to a snapshot, send a POST request + to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `convert`. ## Transfer an Image - To transfer an image to another region, send a POST request to - - `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` - and set - - `region` attribute to the slug identifier of the region you wish to - transfer - + `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` and set + `region` attribute to the slug identifier of the region you wish to transfer to. tags: - Image Actions @@ -6708,9 +5991,7 @@ paths: get: operationId: imageActions_get summary: Retrieve an Existing Action - description: >- - To retrieve the status of an image action, send a GET request to - `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. + description: To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. tags: - Image Actions parameters: @@ -6761,17 +6042,13 @@ paths: client.image_actions.find(image_id: 7938269, id: 36805527) - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.image_actions.get(action_id=36805527, - image_id=7938269) + resp = client.image_actions.get(action_id=36805527, image_id=7938269) security: - bearer_auth: - image:read @@ -6779,22 +6056,15 @@ paths: post: operationId: loadBalancers_create summary: Create a New Load Balancer - description: > + description: | To create a new load balancer instance, send a POST request to - `/v2/load_balancers`. - - You can specify the Droplets that will sit behind the load balancer - using one - + You can specify the Droplets that will sit behind the load balancer using one of two methods: - * Set `droplet_ids` to a list of specific Droplet IDs. - - * Set `tag` to the name of a tag. All Droplets with this tag applied - will be + * Set `tag` to the name of a tag. All Droplets with this tag applied will be assigned to the load balancer. Additional Droplets will be automatically assigned as they are tagged. @@ -6811,13 +6081,11 @@ paths: Basic Create Request: $ref: '#/components/examples/load_balancer_basic_create_request' SSL Termination Create Request: - $ref: >- - #/components/examples/load_balancer_ssl_termination_create_request + $ref: '#/components/examples/load_balancer_ssl_termination_create_request' Create Request Using Droplet Tag: $ref: '#/components/examples/load_balancer_using_tag_create_request' Sticky Sessions and Custom Health Check: - $ref: >- - #/components/examples/load_balancer_sticky_sessions_and_health_check_create_request + $ref: '#/components/examples/load_balancer_sticky_sessions_and_health_check_create_request' responses: '202': $ref: '#/components/responses/load_balancer_create' @@ -7003,10 +6271,8 @@ paths: get: operationId: loadBalancers_list summary: List All Load Balancers - description: > - To list all of the load balancer instances on your account, send a GET - request - + description: | + To list all of the load balancer instances on your account, send a GET request to `/v2/load_balancers`. tags: - Load Balancers @@ -7076,10 +6342,8 @@ paths: get: operationId: loadBalancers_get summary: Retrieve an Existing Load Balancer - description: > - To show information about a load balancer instance, send a GET request - to - + description: | + To show information about a load balancer instance, send a GET request to `/v2/load_balancers/$LOAD_BALANCER_ID`. tags: - Load Balancers @@ -7123,16 +6387,12 @@ paths: lb, _, err := client.LoadBalancers.Get(ctx, "4de7ac8b-495b-4884-9a69-1050c6793cd6") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.load_balancers.find(id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.find(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python source: |- import os @@ -7147,21 +6407,12 @@ paths: put: operationId: loadBalancers_update summary: Update a Load Balancer - description: > + description: | To update a load balancer's settings, send a PUT request to - - `/v2/load_balancers/$LOAD_BALANCER_ID`. The request should contain a - full - - representation of the load balancer including existing attributes. It - may - - contain _one of_ the `droplets_ids` or `tag` attributes as they are - mutually - - exclusive. **Note that any attribute that is not provided will be reset - to its - + `/v2/load_balancers/$LOAD_BALANCER_ID`. The request should contain a full + representation of the load balancer including existing attributes. It may + contain _one of_ the `droplets_ids` or `tag` attributes as they are mutually + exclusive. **Note that any attribute that is not provided will be reset to its default value.** tags: - Load Balancers @@ -7257,14 +6508,11 @@ paths: lb, _, err := c.LoadBalancers.Update(ctx, "c2c97ca7-6f63-4e23-8909-906fd86efb5e", updateRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - load_balancer = DropletKit::LoadBalancer.new( name: 'example-lb-01', size_unit: '2', @@ -7305,9 +6553,7 @@ paths: unhealthy_threshold: 3 ) ) - - client.load_balancers.update(load_balancer, id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.update(load_balancer, id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python source: |- import os @@ -7377,18 +6623,12 @@ paths: delete: operationId: loadBalancers_delete summary: Delete a Load Balancer - description: > - To delete a load balancer instance, disassociating any Droplets assigned - to it - + description: | + To delete a load balancer instance, disassociating any Droplets assigned to it and removing it from your account, send a DELETE request to - `/v2/load_balancers/$LOAD_BALANCER_ID`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Load Balancers @@ -7432,16 +6672,12 @@ paths: _, err := client.LoadBalancers.Delete(ctx, "4de7ac8b-495b-4884-9a69-1050c6793cd6") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.load_balancers.delete(id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.delete(id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python source: |- import os @@ -7457,15 +6693,11 @@ paths: delete: operationId: loadBalancers_delete_cache summary: Delete a Global Load Balancer CDN Cache - description: > + description: | To delete a Global load balancer CDN cache, send a DELETE request to - `/v2/load_balancers/$LOAD_BALANCER_ID/cache`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Load Balancers @@ -7515,29 +6747,16 @@ paths: post: operationId: loadBalancers_add_droplets summary: Add Droplets to a Load Balancer - description: > + description: | To assign a Droplet to a load balancer instance, send a POST request to - - `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the - request, - - there should be a `droplet_ids` attribute containing a list of Droplet - IDs. - - Individual Droplets can not be added to a load balancer configured with - a - - Droplet tag. Attempting to do so will result in a "422 Unprocessable - Entity" - + `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, + there should be a `droplet_ids` attribute containing a list of Droplet IDs. + Individual Droplets can not be added to a load balancer configured with a + Droplet tag. Attempting to do so will result in a "422 Unprocessable Entity" response from the API. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Load Balancers @@ -7556,9 +6775,7 @@ paths: example: - 3164444 - 3164445 - description: >- - An array containing the IDs of the Droplets assigned to the - load balancer. + description: An array containing the IDs of the Droplets assigned to the load balancer. required: - droplet_ids type: object @@ -7602,16 +6819,12 @@ paths: _, err := client.LoadBalancers.AddDroplets(ctx, "4de7ac8b-495b-4884-9a69-1050c6793cd6", droplets...) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.load_balancers.add_droplets([3164446, 3164447], id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.add_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python source: |- import os @@ -7633,22 +6846,13 @@ paths: delete: operationId: loadBalancers_remove_droplets summary: Remove Droplets from a Load Balancer - description: > - To remove a Droplet from a load balancer instance, send a DELETE request - to - - `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the - request, - - there should be a `droplet_ids` attribute containing a list of Droplet - IDs. - + description: | + To remove a Droplet from a load balancer instance, send a DELETE request to + `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, + there should be a `droplet_ids` attribute containing a list of Droplet IDs. No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Load Balancers @@ -7667,9 +6871,7 @@ paths: example: - 3164444 - 3164445 - description: >- - An array containing the IDs of the Droplets assigned to the - load balancer. + description: An array containing the IDs of the Droplets assigned to the load balancer. required: - droplet_ids type: object @@ -7713,26 +6915,19 @@ paths: _, err := client.LoadBalancers.RemoveDroplets(ctx, "4de7ac8b-495b-4884-9a69-1050c6793cd6", droplets...) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.load_balancers.remove_droplets([3164446, 3164447], id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.remove_droplets([3164446, 3164447], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "droplet_ids": [ 3164444, @@ -7740,9 +6935,7 @@ paths: ] } - - resp = client.load_balancers.remove_droplets(lb_id="fda9fda", - body=req) + resp = client.load_balancers.remove_droplets(lb_id="fda9fda", body=req) security: - bearer_auth: - load_balancer:update @@ -7750,24 +6943,14 @@ paths: post: operationId: loadBalancers_add_forwardingRules summary: Add Forwarding Rules to a Load Balancer - description: > - To add an additional forwarding rule to a load balancer instance, send a - POST - - request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In - the body - - of the request, there should be a `forwarding_rules` attribute - containing an - + description: | + To add an additional forwarding rule to a load balancer instance, send a POST + request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body + of the request, there should be a `forwarding_rules` attribute containing an array of rules to be added. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Load Balancers @@ -7833,14 +7016,11 @@ paths: } } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - rule = DropletKit::ForwardingRule.new( entry_protocol: 'tcp', entry_port: 3306, @@ -7849,19 +7029,14 @@ paths: certificate_id: '', tls_passthrough: false ) - - client.load_balancers.add_forwarding_rules([rule], id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.add_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "forwarding_rules": [ { @@ -7875,32 +7050,21 @@ paths: ] } - - resp = client.load_balancers.add_forwarding_rules(lb_id="1fd32a", - body=req) + resp = client.load_balancers.add_forwarding_rules(lb_id="1fd32a", body=req) security: - bearer_auth: - load_balancer:update delete: operationId: loadBalancers_remove_forwardingRules summary: Remove Forwarding Rules from a Load Balancer - description: > + description: | To remove forwarding rules from a load balancer instance, send a DELETE - - request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In - the - - body of the request, there should be a `forwarding_rules` attribute - containing - + request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the + body of the request, there should be a `forwarding_rules` attribute containing an array of rules to be removed. - No response body will be sent back, but the response code will indicate - - success. Specifically, the response code will be a 204, which means that - the - + success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Load Balancers @@ -7968,14 +7132,11 @@ paths: _, err := client.LoadBalancers.RemoveForwardingRules(ctx, "4de7ac8b-495b-4884-9a69-1050c6793cd6", forwardingRule...) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - rule = DropletKit::ForwardingRule.new( entry_protocol: 'tcp', entry_port: 3306, @@ -7984,19 +7145,14 @@ paths: certificate_id: '', tls_passthrough: false ) - - client.load_balancers.remove_forwarding_rules([rule], id: - '4de7ac8b-495b-4884-9a69-1050c6793cd6') + client.load_balancers.remove_forwarding_rules([rule], id: '4de7ac8b-495b-4884-9a69-1050c6793cd6') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "forwarding_rules": [ { @@ -8010,10 +7166,7 @@ paths: ] } - - resp = - client.load_balancers.remove_forwarding_rules(lb_id="fda9fda", - body=req) + resp = client.load_balancers.remove_forwarding_rules(lb_id="fda9fda", body=req) security: - bearer_auth: - load_balancer:update @@ -8021,13 +7174,9 @@ paths: get: operationId: regions_list summary: List All Data Center Regions - description: >- - To list all of the regions that are available, send a GET request to - `/v2/regions`. - - The response will be a JSON object with a key called `regions`. The - value of this will be an array of `region` objects, each of which will - contain the standard region attributes. + description: |- + To list all of the regions that are available, send a GET request to `/v2/regions`. + The response will be a JSON object with a key called `regions`. The value of this will be an array of `region` objects, each of which will contain the standard region attributes. tags: - Regions parameters: @@ -8096,22 +7245,14 @@ paths: get: operationId: droplets_list_neighborsIds summary: List All Droplet Neighbors - description: > - To retrieve a list of all Droplets that are co-located on the same - physical - + description: | + To retrieve a list of all Droplets that are co-located on the same physical hardware, send a GET request to `/v2/reports/droplet_neighbors_ids`. - - The results will be returned as a JSON object with a key of - `neighbor_ids`. - + The results will be returned as a JSON object with a key of `neighbor_ids`. This will be set to an array of arrays. Each array will contain a set of - Droplet IDs for Droplets that share a physical server. An empty array - indicates that all Droplets associated with your account are located on - separate physical hardware. tags: - Droplets @@ -8150,9 +7291,7 @@ paths: get: operationId: reservedIPs_list summary: List All Reserved IPs - description: >- - To list all of the reserved IPs available on your account, send a GET - request to `/v2/reserved_ips`. + description: To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. tags: - Reserved IPs parameters: @@ -8220,19 +7359,15 @@ paths: post: operationId: reservedIPs_create summary: Create a New Reserved IP - description: >- - On creation, a reserved IP must be either assigned to a Droplet or - reserved to a region. - + description: |- + On creation, a reserved IP must be either assigned to a Droplet or reserved to a region. * To create a new reserved IP assigned to a Droplet, send a POST request to `/v2/reserved_ips` with the `droplet_id` attribute. - * To create a new reserved IP reserved to a region, send a POST request - to + * To create a new reserved IP reserved to a region, send a POST request to `/v2/reserved_ips` with the `region` attribute. - **Note**: In addition to the standard rate limiting, only 12 reserved - IPs may be created per 60 seconds. + **Note**: In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds. tags: - Reserved IPs requestBody: @@ -8310,9 +7445,7 @@ paths: get: operationId: reservedIPs_get summary: Retrieve an Existing Reserved IP - description: >- - To show information about a reserved IP, send a GET request to - `/v2/reserved_ips/$RESERVED_IP_ADDR`. + description: To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. tags: - Reserved IPs parameters: @@ -8375,16 +7508,11 @@ paths: delete: operationId: reservedIPs_delete summary: Delete a Reserved IP - description: > - To delete a reserved IP and remove it from your account, send a DELETE - request - + description: | + To delete a reserved IP and remove it from your account, send a DELETE request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Reserved IPs @@ -8449,9 +7577,7 @@ paths: get: operationId: reservedIPsActions_list summary: List All Actions for a Reserved IP - description: >- - To retrieve all actions that have been executed on a reserved IP, send a - GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. + description: To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. tags: - Reserved IP Actions parameters: @@ -8520,31 +7646,22 @@ paths: post: operationId: reservedIPsActions_post summary: Initiate a Reserved IP Action - description: > + description: | To initiate an action on a reserved IP send a POST request to - - `/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the - request, - + `/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the request, set the `type` attribute to on of the supported action types: - | Action | Details - |------------|-------- - | `assign` | Assigns a reserved IP to a Droplet - | `unassign` | Unassign a reserved IP from a Droplet tags: - Reserved IP Actions parameters: - $ref: '#/components/parameters/reserved_ip' requestBody: - description: > - The `type` attribute set in the request body will specify the action - that - + description: | + The `type` attribute set in the request body will specify the action that will be taken on the reserved IP. content: application/json: @@ -8608,40 +7725,28 @@ paths: action, _, err := client.ReservedIPActions.Unassign(ctx, "45.55.96.47") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - # Assign a Reserved IP to a Droplet - - client.reserved_ip_actions.assign(ip: '45.55.96.47', droplet_id: - 8219222) - + client.reserved_ip_actions.assign(ip: '45.55.96.47', droplet_id: 8219222) # Unassign a Reserved IP - # client.reserved_ip_actions.unassign(ip: '45.55.96.47') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req={ "type": "unassign" } - - resp = client.reserved_ips_actions.post(reserved_ip="49.32.13.21", - body=req) + resp = client.reserved_ips_actions.post(reserved_ip="49.32.13.21", body=req) security: - bearer_auth: - reserved_ip:update @@ -8649,9 +7754,7 @@ paths: get: operationId: reservedIPsActions_get summary: Retrieve an Existing Reserved IP Action - description: >- - To retrieve the status of a reserved IP action, send a GET request to - `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. + description: To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. tags: - Reserved IP Actions parameters: @@ -8716,9 +7819,7 @@ paths: get: operationId: reservedIPv6_list summary: '[Public Preview] List All Reserved IPv6s' - description: >- - To list all of the reserved IPv6s available on your account, send a GET - request to `/v2/reserved_ipv6`. + description: To list all of the reserved IPv6s available on your account, send a GET request to `/v2/reserved_ipv6`. tags: - '[Public Preview] Reserved IPv6' parameters: @@ -8778,11 +7879,9 @@ paths: post: operationId: reservedIPv6_create summary: '[Public Preview] Create a New Reserved IPv6' - description: >- + description: |- On creation, a reserved IPv6 must be reserved to a region. - - * To create a new reserved IPv6 reserved to a region, send a POST - request to + * To create a new reserved IPv6 reserved to a region, send a POST request to `/v2/reserved_ipv6` with the `region_slug` attribute. tags: - '[Public Preview] Reserved IPv6' @@ -8851,9 +7950,7 @@ paths: get: operationId: reservedIPv6_get summary: '[Public Preview] Retrieve an Existing Reserved IPv6' - description: >- - To show information about a reserved IPv6, send a GET request to - `/v2/reserved_ipv6/$RESERVED_IPV6`. + description: To show information about a reserved IPv6, send a GET request to `/v2/reserved_ipv6/$RESERVED_IPV6`. tags: - '[Public Preview] Reserved IPv6' parameters: @@ -8896,33 +7993,24 @@ paths: reservedIP, _, err := client.ReservedIPV6s.Get(ctx, "2409:40d0:f7:1017:74b4:3a96:105e:4c6e") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.reserved_ipv6s.get(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e") + resp = client.reserved_ipv6s.get(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e") security: - bearer_auth: - reserved_ip:read delete: operationId: reservedIPv6_delete summary: '[Public Preview] Delete a Reserved IPv6' - description: > - To delete a reserved IP and remove it from your account, send a DELETE - request - + description: | + To delete a reserved IP and remove it from your account, send a DELETE request to `/v2/reserved_ipv6/$RESERVED_IPV6`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - '[Public Preview] Reserved IPv6' @@ -8968,17 +8056,13 @@ paths: _, err := client.ReservedIPV6s.Delete(ctx, "2409:40d0:f7:1017:74b4:3a96:105e:4c6e") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.reserved_ipv6s.delete(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e") + resp = client.reserved_ipv6s.delete(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e") security: - bearer_auth: - reserved_ip:delete @@ -8986,31 +8070,22 @@ paths: post: operationId: reservedIPv6Actions_post summary: '[Public Preview] Initiate a Reserved IPv6 Action' - description: > + description: | To initiate an action on a reserved IPv6 send a POST request to - - `/v2/reserved_ipv6/$RESERVED_IPV6/actions`. In the JSON body to the - request, - + `/v2/reserved_ipv6/$RESERVED_IPV6/actions`. In the JSON body to the request, set the `type` attribute to on of the supported action types: - | Action | Details - |------------|-------- - | `assign` | Assigns a reserved IPv6 to a Droplet - | `unassign` | Unassign a reserved IPv6 from a Droplet tags: - '[Public Preview] Reserved IPv6 Actions' parameters: - $ref: '#/components/parameters/reserved_ipv6' requestBody: - description: > - The `type` attribute set in the request body will specify the action - that - + description: | + The `type` attribute set in the request body will specify the action that will be taken on the reserved IPv6. content: application/json: @@ -9074,23 +8149,17 @@ paths: action, _, err := client.ReservedIPV6Actions.Unassign(ctx, "2409:40d0:f7:1017:74b4:3a96:105e:4c6e") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req={ "type": "unassign" } - - resp = - client.reserved_ipv6s_actions.post(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e", - body=req) + resp = client.reserved_ipv6s_actions.post(reserved_ipv6="2409:40d0:f7:1017:74b4:3a96:105e:4c6e", body=req) security: - bearer_auth: - reserved_ip:update @@ -9098,13 +8167,9 @@ paths: get: operationId: sizes_list summary: List All Droplet Sizes - description: >- - To list all of available Droplet sizes, send a GET request to - `/v2/sizes`. - - The response will be a JSON object with a key called `sizes`. The value - of this will be an array of `size` objects each of which contain the - standard size attributes. + description: |- + To list all of available Droplet sizes, send a GET request to `/v2/sizes`. + The response will be a JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. tags: - Sizes parameters: @@ -9174,46 +8239,27 @@ paths: get: operationId: snapshots_list summary: List All Snapshots - description: > - To list all of the snapshots available on your account, send a GET - request to - + description: | + To list all of the snapshots available on your account, send a GET request to `/v2/snapshots`. - - The response will be a JSON object with a key called `snapshots`. This - will be - - set to an array of `snapshot` objects, each of which will contain the - standard - + The response will be a JSON object with a key called `snapshots`. This will be + set to an array of `snapshot` objects, each of which will contain the standard snapshot attributes. - ### Filtering Results by Resource Type - - It's possible to request filtered results by including certain query - parameters. - + It's possible to request filtered results by including certain query parameters. #### List Droplet Snapshots - - To retrieve only snapshots based on Droplets, include the - `resource_type` - - query parameter set to `droplet`. For example, - `/v2/snapshots?resource_type=droplet`. - + To retrieve only snapshots based on Droplets, include the `resource_type` + query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`. #### List Volume Snapshots - To retrieve only snapshots based on volumes, include the `resource_type` - - query parameter set to `volume`. For example, - `/v2/snapshots?resource_type=volume`. + query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`. tags: - Snapshots parameters: @@ -9311,17 +8357,12 @@ paths: get: operationId: snapshots_get summary: Retrieve an Existing Snapshot - description: > + description: | To retrieve information about a snapshot, send a GET request to - `/v2/snapshots/$SNAPSHOT_ID`. - - The response will be a JSON object with a key called `snapshot`. The - value of - - this will be an snapshot object containing the standard snapshot - attributes. + The response will be a JSON object with a key called `snapshot`. The value of + this will be an snapshot object containing the standard snapshot attributes. tags: - Snapshots parameters: @@ -9366,16 +8407,12 @@ paths: snapshot, _, err := client.Snapshots.Get(ctx, 'fbe805e8-866b-11e6-96bf-000f53315a41') } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - snapshot = client.snapshots.find(id: - 'fbe805e8-866b-11e6-96bf-000f53315a41') + snapshot = client.snapshots.find(id: 'fbe805e8-866b-11e6-96bf-000f53315a41') - lang: cURL source: |- import os @@ -9391,18 +8428,12 @@ paths: delete: operationId: snapshots_delete summary: Delete a Snapshot - description: > - Both Droplet and volume snapshots are managed through the - `/v2/snapshots/` - + description: | + Both Droplet and volume snapshots are managed through the `/v2/snapshots/` endpoint. To delete a snapshot, send a DELETE request to - `/v2/snapshots/$SNAPSHOT_ID`. - - A status of 204 will be given. This indicates that the request was - processed - + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Snapshots @@ -9470,13 +8501,10 @@ paths: get: operationId: tags_list summary: List All Tags - description: > + description: | To list all of your tags, you can send a GET request to `/v2/tags`. - - This endpoint will only return tagged resources that you are authorized - to see - + This endpoint will only return tagged resources that you are authorized to see (e.g. Droplets will only be returned if you have `droplet:read`). tags: - Tags @@ -9544,9 +8572,7 @@ paths: post: operationId: tags_create summary: Create a New Tag - description: >- - To create a tag you can send a POST request to `/v2/tags` with a `name` - attribute. + description: To create a tag you can send a POST request to `/v2/tags` with a `name` attribute. tags: - Tags requestBody: @@ -9621,15 +8647,11 @@ paths: get: operationId: tags_get summary: Retrieve a Tag - description: > + description: | To retrieve an individual tag, you can send a `GET` request to - `/v2/tags/$TAG_NAME`. - - This endpoint will only return tagged resources that you are authorized - to see. - + This endpoint will only return tagged resources that you are authorized to see. For example, to see tagged Droplets, include the `droplet:read` scope. tags: - Tags @@ -9693,10 +8715,7 @@ paths: delete: operationId: tags_delete summary: Delete a Tag - description: >- - A tag can be deleted by sending a `DELETE` request to - `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that - have previously been tagged by the Tag + description: A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that have previously been tagged by the Tag tags: - Tags parameters: @@ -9760,29 +8779,17 @@ paths: post: operationId: tags_assign_resources summary: Tag a Resource - description: > + description: | Resources can be tagged by sending a POST request to - `/v2/tags/$TAG_NAME/resources` with an array of json objects containing - `resource_id` and `resource_type` attributes. - - Currently only tagging of Droplets, Databases, Images, Volumes, and - Volume - - Snapshots is supported. `resource_type` is expected to be the string - `droplet`, - - `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is - expected - + Currently only tagging of Droplets, Databases, Images, Volumes, and Volume + Snapshots is supported. `resource_type` is expected to be the string `droplet`, + `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. - - In order to tag a resource, you must have both `tag:create` and - `:update` scopes. For example, - + In order to tag a resource, you must have both `tag:create` and `:update` scopes. For example, to tag a Droplet, you must have `tag:create` and `droplet:update`. tags: - Tags @@ -9837,18 +8844,12 @@ paths: tags, _, err := client.Tags.List(ctx, opt) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.tags.tag_resources(name: 'awesome', resources: [{ - resource_id: '9569411', resource_type: 'droplet' },{ resource_id: - '7555620', resource_type: 'image' },{ resource_id: - '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume'}]) + client.tags.tag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume'}]) - lang: Python source: |- import os @@ -9880,29 +8881,17 @@ paths: delete: operationId: tags_unassign_resources summary: Untag a Resource - description: > + description: | Resources can be untagged by sending a DELETE request to - `/v2/tags/$TAG_NAME/resources` with an array of json objects containing - `resource_id` and `resource_type` attributes. - - Currently only untagging of Droplets, Databases, Images, Volumes, and - Volume - - Snapshots is supported. `resource_type` is expected to be the string - `droplet`, - - `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is - expected - + Currently only untagging of Droplets, Databases, Images, Volumes, and Volume + Snapshots is supported. `resource_type` is expected to be the string `droplet`, + `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. - - In order to untag a resource, you must have both `tag:delete` and - `:update` scopes. For example, - + In order to untag a resource, you must have both `tag:delete` and `:update` scopes. For example, to untag a Droplet, you must have `tag:delete` and `droplet:update`. tags: - Tags @@ -9956,18 +8945,12 @@ paths: client.Tags.UntagResources(ctx, "awesome", untagResourcesRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.tags.untag_resources(name: 'awesome', resources: [{ - resource_id: '9569411', resource_type: 'droplet' },{ resource_id: - '7555620', resource_type: 'image' },{ resource_id: - '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume' }]) + client.tags.untag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume' }]) - lang: Python source: |- import os @@ -10000,32 +8983,16 @@ paths: get: operationId: volumes_list summary: List All Block Storage Volumes - description: >+ - To list all of the block storage volumes available on your account, send - a GET request to `/v2/volumes`. - + description: |+ + To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`. ## Filtering Results - ### By Region - - The `region` may be provided as query parameter in order to restrict - results to volumes available in a specific region. For example: - `/v2/volumes?region=nyc1` - + The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1` ### By Name - - It is also possible to list volumes on your account that match a - specified name. To do so, send a GET request with the volume's name as a - query parameter to `/v2/volumes?name=$VOLUME_NAME`. - + It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`. **Note:** You can only create one volume per region with the same name. - ### By Name and Region - - It is also possible to retrieve information about a block storage volume - by name. To do so, send a GET request with the volume's name and the - region slug for the region it is located in as query parameters to - `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. + It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. tags: @@ -10104,14 +9071,7 @@ paths: post: operationId: volumes_create summary: Create a New Block Storage Volume - description: >- - To create a new volume, send a POST request to `/v2/volumes`. - Optionally, a `filesystem_type` attribute may be provided in order to - automatically format the volume's filesystem. Pre-formatted volumes are - automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora - Atomic, and CentOS Droplets created on or after April 26, 2018. - Attaching pre-formatted volumes to Droplets without support for - auto-mounting is not recommended. + description: To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. tags: - Block Storage requestBody: @@ -10231,15 +9191,9 @@ paths: delete: operationId: volumes_delete_byName summary: Delete a Block Storage Volume by Name - description: >+ - Block storage volumes may also be deleted by name by sending a DELETE - request with the volume's **name** and the **region slug** for the - region it is located in as query parameters to - `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. - - No response body will be sent back, but the response code will indicate - success. Specifically, the response code will be a 204, which means that - the action was successful with no returned body data. + description: |+ + Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. + No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Block Storage @@ -10281,75 +9235,35 @@ paths: post: operationId: volumeActions_post summary: Initiate A Block Storage Action By Volume Name - description: > - To initiate an action on a block storage volume by Name, send a POST - request to - + description: | + To initiate an action on a block storage volume by Name, send a POST request to `~/v2/volumes/actions`. The body should contain the appropriate - attributes for the respective action. - ## Attach a Block Storage Volume to a Droplet + | Attribute | Details | + | ----------- | ------------------------------------------------------------------- | + | type | This must be `attach` | + | volume_name | The name of the block storage volume | + | droplet_id | Set to the Droplet's ID | + | region | Set to the slug representing the region where the volume is located | + + Each volume may only be attached to a single Droplet. However, up to fifteen + volumes may be attached to a Droplet at a time. Pre-formatted volumes will be + automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS + Droplets created on or after April 26, 2018 when attached. On older Droplets, + [additional configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) + is required. - | Attribute | - Details | - - | ----------- | - ------------------------------------------------------------------- | - - | type | This must be - `attach` | - - | volume_name | The name of the block storage - volume | - - | droplet_id | Set to the Droplet's - ID | - - | region | Set to the slug representing the region where the volume - is located | - - - Each volume may only be attached to a single Droplet. However, up to - fifteen - - volumes may be attached to a Droplet at a time. Pre-formatted volumes - will be + ## Remove a Block Storage Volume from a Droplet - automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and - CentOS - - Droplets created on or after April 26, 2018 when attached. On older - Droplets, - - [additional - configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) - - is required. - - - ## Remove a Block Storage Volume from a Droplet - - - | Attribute | - Details | - - | ----------- | - ------------------------------------------------------------------- | - - | type | This must be - `detach` | - - | volume_name | The name of the block storage - volume | - - | droplet_id | Set to the Droplet's - ID | - - | region | Set to the slug representing the region where the volume - is located | + | Attribute | Details | + | ----------- | ------------------------------------------------------------------- | + | type | This must be `detach` | + | volume_name | The name of the block storage volume | + | droplet_id | Set to the Droplet's ID | + | region | Set to the slug representing the region where the volume is located | tags: - Block Storage Actions parameters: @@ -10437,10 +9351,8 @@ paths: get: operationId: volumeSnapshots_get_byId summary: Retrieve an Existing Volume Snapshot - description: >+ - To retrieve the details of a snapshot that has been created from a - volume, send a GET request to - `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. + description: |+ + To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. tags: - Block Storage @@ -10484,15 +9396,11 @@ paths: delete: operationId: volumeSnapshots_delete_byId summary: Delete a Volume Snapshot - description: > + description: | To delete a volume snapshot, send a DELETE request to - `/v2/volumes/snapshots/$VOLUME_SNAPSHOT_ID`. - - A status of 204 will be given. This indicates that the request was - processed - + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Block Storage @@ -10561,9 +9469,8 @@ paths: get: operationId: volumes_get summary: Retrieve an Existing Block Storage Volume - description: >+ - To show information about a block storage volume, send a GET request to - `/v2/volumes/$VOLUME_ID`. + description: |+ + To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`. tags: - Block Storage @@ -10634,13 +9541,9 @@ paths: delete: operationId: volumes_delete summary: Delete a Block Storage Volume - description: >+ - To delete a block storage volume, destroying all data and removing it - from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. - - No response body will be sent back, but the response code will indicate - success. Specifically, the response code will be a 204, which means that - the action was successful with no returned body data. + description: |+ + To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. + No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. tags: - Block Storage @@ -10705,9 +9608,8 @@ paths: get: operationId: volumeActions_list summary: List All Actions for a Volume - description: >+ - To retrieve all actions that have been executed on a volume, send a GET - request to `/v2/volumes/$VOLUME_ID/actions`. + description: |+ + To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`. tags: - Block Storage Actions @@ -10758,17 +9660,12 @@ paths: actions, _, err := client.StorageActions(ctx, "7724db7c-e098-11e5-b522-000f53304e51", opt) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - actions = client.volume.actions(id: - '7724db7c-e098-11e5-b522-000f53304e51') - + actions = client.volume.actions(id: '7724db7c-e098-11e5-b522-000f53304e51') actions.each - lang: Python source: |- @@ -10784,93 +9681,43 @@ paths: post: operationId: volumeActions_post_byId summary: Initiate A Block Storage Action By Volume Id - description: > - To initiate an action on a block storage volume by Id, send a POST - request to - - `~/v2/volumes/$VOLUME_ID/actions`. The body should contain the - appropriate - + description: | + To initiate an action on a block storage volume by Id, send a POST request to + `~/v2/volumes/$VOLUME_ID/actions`. The body should contain the appropriate attributes for the respective action. - ## Attach a Block Storage Volume to a Droplet - - | Attribute | - Details | - - | ---------- | - ------------------------------------------------------------------- | - - | type | This must be - `attach` | - - | droplet_id | Set to the Droplet's - ID | - - | region | Set to the slug representing the region where the volume - is located | - - - Each volume may only be attached to a single Droplet. However, up to - fifteen - - volumes may be attached to a Droplet at a time. Pre-formatted volumes - will be - - automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and - CentOS - - Droplets created on or after April 26, 2018 when attached. On older - Droplets, - - [additional - configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) - + | Attribute | Details | + | ---------- | ------------------------------------------------------------------- | + | type | This must be `attach` | + | droplet_id | Set to the Droplet's ID | + | region | Set to the slug representing the region where the volume is located | + + Each volume may only be attached to a single Droplet. However, up to fifteen + volumes may be attached to a Droplet at a time. Pre-formatted volumes will be + automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS + Droplets created on or after April 26, 2018 when attached. On older Droplets, + [additional configuration](https://docs.digitalocean.com/products/volumes/how-to/mount/) is required. - ## Remove a Block Storage Volume from a Droplet - - | Attribute | - Details | - - | ---------- | - ------------------------------------------------------------------- | - - | type | This must be - `detach` | - - | droplet_id | Set to the Droplet's - ID | - - | region | Set to the slug representing the region where the volume - is located | - + | Attribute | Details | + | ---------- | ------------------------------------------------------------------- | + | type | This must be `detach` | + | droplet_id | Set to the Droplet's ID | + | region | Set to the slug representing the region where the volume is located | ## Resize a Volume + | Attribute | Details | + | -------------- | ------------------------------------------------------------------- | + | type | This must be `resize` | + | size_gigabytes | The new size of the block storage volume in GiB (1024^3) | + | region | Set to the slug representing the region where the volume is located | - | Attribute | - Details | - - | -------------- | - ------------------------------------------------------------------- | - - | type | This must be - `resize` | - - | size_gigabytes | The new size of the block storage volume in GiB - (1024^3) | - - | region | Set to the slug representing the region where the - volume is located | - - - Volumes may only be resized upwards. The maximum size for a volume is - 16TiB. + Volumes may only be resized upwards. The maximum size for a volume is 16TiB. tags: - Block Storage Actions parameters: @@ -10971,36 +9818,24 @@ paths: // action, _, err := client.StorageActions.Resize(ctx, "7724db7c-e098-11e5-b522-000f53304e51", 100, "nyc1") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - # Attach a Volume to a Droplet by ID - - client.volume_actions.attach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', - droplet_id: 11612190, region: 'nyc1' - + client.volume_actions.attach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', droplet_id: 11612190, region: 'nyc1' # Remove a Volume from a Droplet by ID - - # - client.volume_actions.detach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', - droplet_id: 11612190, region: 'nyc1' + # client.volume_actions.detach(volume_id:'7724db7c-e098-11e5-b522-000f53304e51', droplet_id: 11612190, region: 'nyc1' - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "type": "attach", "droplet_id": 11612190, @@ -11010,9 +9845,7 @@ paths: ] } - - resp = client.volume_actions.post_by_id(volume_id="7724db7c", - body=req) + resp = client.volume_actions.post_by_id(volume_id="7724db7c", body=req) security: - bearer_auth: - block_storage_action:create @@ -11020,9 +9853,8 @@ paths: get: operationId: volumeActions_get summary: Retrieve an Existing Volume Action - description: >+ - To retrieve the status of a volume action, send a GET request to - `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`. + description: |+ + To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`. tags: - Block Storage Actions @@ -11069,16 +9901,12 @@ paths: action, _, err := client.StorageActions.Get(ctx, "7724db7c-e098-11e5-b522-000f53304e51", 72531856) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.volume.actions.find(volume_id: - '7724db7c-e098-11e5-b522-000f53304e51', id: 72531856) + client.volume.actions.find(volume_id: '7724db7c-e098-11e5-b522-000f53304e51', id: 72531856) - lang: Python source: |- import os @@ -11094,9 +9922,8 @@ paths: get: operationId: volumeSnapshots_list summary: List Snapshots for a Volume - description: >+ - To retrieve the snapshots that have been created from a volume, send a - GET request to `/v2/volumes/$VOLUME_ID/snapshots`. + description: |+ + To retrieve the snapshots that have been created from a volume, send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`. tags: - Block Storage @@ -11147,17 +9974,12 @@ paths: volumes, _, err := client.Storage.ListSnapshots(ctx, '82a48a18-873f-11e6-96bf-000f53315a41', opt) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - snapshots = client.volumes.snapshots(id: - '82a48a18-873f-11e6-96bf-000f53315a41') - + snapshots = client.volumes.snapshots(id: '82a48a18-873f-11e6-96bf-000f53315a41') snapshots.each - lang: Python source: |- @@ -11177,9 +9999,7 @@ paths: post: operationId: volumeSnapshots_create summary: Create Snapshot from a Volume - description: >- - To create a snapshot from a volume, sent a POST request to - `/v2/volumes/$VOLUME_ID/snapshots`. + description: To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`. tags: - Block Storage parameters: @@ -11247,17 +10067,12 @@ paths: }) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.volumes.create_snapshot(id: - "82a48a18-873f-11e6-96bf-000f53315a41", name: - "big-data-snapshot1475261774") + client.volumes.create_snapshot(id: "82a48a18-873f-11e6-96bf-000f53315a41", name: "big-data-snapshot1475261774") - lang: Python source: |- import os @@ -11277,13 +10092,9 @@ paths: get: operationId: vpcnatgateways_list summary: List All VPC NAT Gateways - description: > - To list all VPC NAT gateways in your team, send a GET request to - `/v2/vpc_nat_gateways`. - - The response body will be a JSON object with a key of `vpc_nat_gateways` - containing an array of VPC NAT gateway objects. - + description: | + To list all VPC NAT gateways in your team, send a GET request to `/v2/vpc_nat_gateways`. + The response body will be a JSON object with a key of `vpc_nat_gateways` containing an array of VPC NAT gateway objects. These each contain the standard VPC NAT gateway attributes. tags: - '[Public Preview] VPC NAT Gateways' @@ -11318,14 +10129,10 @@ paths: post: operationId: vpcnatgateways_create summary: Create a New VPC NAT Gateway - description: > - To create a new VPC NAT gateway, send a POST request to - `/v2/vpc_nat_gateways` setting the required attributes. - + description: | + To create a new VPC NAT gateway, send a POST request to `/v2/vpc_nat_gateways` setting the required attributes. - The response body will contain a JSON object with a key called - `vpc_nat_gateway` containing the standard attributes for the new VPC NAT - gateway. + The response body will contain a JSON object with a key called `vpc_nat_gateway` containing the standard attributes for the new VPC NAT gateway. tags: - '[Public Preview] VPC NAT Gateways' requestBody: @@ -11376,10 +10183,8 @@ paths: get: operationId: vpcnatgateways_get summary: Retrieve an Existing VPC NAT Gateway - description: > - To show information about an individual VPC NAT gateway, send a GET - request to - + description: | + To show information about an individual VPC NAT gateway, send a GET request to `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`. tags: - '[Public Preview] VPC NAT Gateways' @@ -11411,13 +10216,9 @@ paths: put: operationId: vpcnatgateways_update summary: Update VPC NAT Gateway - description: > - To update the configuration of an existing VPC NAT Gateway, send a PUT - request to - - `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`. The request must contain a - full representation - + description: | + To update the configuration of an existing VPC NAT Gateway, send a PUT request to + `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`. The request must contain a full representation of the VPC NAT Gateway including existing attributes. tags: - '[Public Preview] VPC NAT Gateways' @@ -11472,10 +10273,8 @@ paths: delete: operationId: vpcnatgateways_delete summary: Delete VPC NAT Gateway - description: > - To destroy a VPC NAT Gateway, send a DELETE request to the - `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID` endpoint. - + description: | + To destroy a VPC NAT Gateway, send a DELETE request to the `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID` endpoint. A successful response will include a 202 response code and no content. tags: @@ -11511,29 +10310,29 @@ components: type: object properties: id: - $ref: '#/components/schemas/ssh_key_id' + type: integer + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + readOnly: true + example: 512189 fingerprint: - $ref: '#/components/schemas/ssh_key_fingerprint' + type: string + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + readOnly: true + example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa public_key: - description: >- - The entire public key string that was uploaded. Embedded into the - root user's `authorized_keys` file if you include this key during - Droplet creation. - type: string - example: >- - ssh-rsa - AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V - example + description: The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. + type: string + example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example name: - $ref: '#/components/schemas/ssh_key_name' + type: string + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + example: My SSH Public Key required: - public_key - name ssh_key_name: type: string - description: >- - A human-readable display name for this key, used to easily identify the - SSH keys when they are displayed. + description: A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. example: My SSH Public Key cdn_endpoint: type: object @@ -11543,25 +10342,18 @@ components: format: uuid readOnly: true example: 892071a0-bb95-49bc-8021-3afd67a210bf - description: >- - A unique ID that can be used to identify and reference a CDN - endpoint. + description: A unique ID that can be used to identify and reference a CDN endpoint. origin: type: string format: hostname example: static-images.nyc3.digitaloceanspaces.com - description: >- - The fully qualified domain name (FQDN) for the origin server which - provides the content for the CDN. This is currently restricted to a - Space. + description: The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. endpoint: type: string format: hostname readOnly: true example: static-images.nyc3.cdn.digitaloceanspaces.com - description: >- - The fully qualified domain name (FQDN) from which the CDN-backed - content is served. + description: The fully qualified domain name (FQDN) from which the CDN-backed content is served. ttl: type: integer example: 3600 @@ -11572,32 +10364,23 @@ components: - 86400 - 604800 default: 3600 - description: >- - The amount of time the content is cached by the CDN's edge servers - in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. - Defaults to 3600 (one hour) when excluded. + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. certificate_id: type: string format: uuid example: 892071a0-bb95-49bc-8021-3afd67a210bf - description: >- - The ID of a DigitalOcean managed TLS certificate used for SSL when a - custom subdomain is provided. + description: The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. custom_domain: type: string format: hostname example: static.example.com - description: >- - The fully qualified domain name (FQDN) of the custom subdomain used - with the CDN endpoint. + description: The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. created_at: type: string format: date-time readOnly: true example: '2018-03-21T16:02:37Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the CDN endpoint was created. + description: A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. required: - origin update_endpoint: @@ -11613,24 +10396,17 @@ components: - 86400 - 604800 default: 3600 - description: >- - The amount of time the content is cached by the CDN's edge servers - in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. - Defaults to 3600 (one hour) when excluded. + description: The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. certificate_id: type: string format: uuid example: 892071a0-bb95-49bc-8021-3afd67a210bf - description: >- - The ID of a DigitalOcean managed TLS certificate used for SSL when a - custom subdomain is provided. + description: The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. custom_domain: type: string format: hostname example: static.example.com - description: >- - The fully qualified domain name (FQDN) of the custom subdomain used - with the CDN endpoint. + description: The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. purge_cache: type: object properties: @@ -11641,295 +10417,210 @@ components: example: - path/to/image.png - path/to/css/* - description: >- - An array of strings containing the path to the content to be purged - from the CDN cache. + description: An array of strings containing the path to the content to be purged from the CDN cache. required: - files certificate_request_lets_encrypt: title: Let's Encrypt Certificate Request - allOf: - - $ref: '#/components/schemas/certificate_create_base' - - type: object - properties: - dns_names: - type: array - items: - type: string - example: - - www.example.com - - example.com - description: >- - An array of fully qualified domain names (FQDNs) for which the - certificate was issued. A certificate covering all subdomains - can be issued using a wildcard (e.g. `*.example.com`). - required: - - dns_names + type: object + required: + - name + properties: + name: + type: string + example: web-cert-01 + description: A unique human-readable name referring to a certificate. + type: + type: string + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + dns_names: + type: array + items: + type: string + example: + - www.example.com + - example.com + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). certificate_request_custom: title: Custom Certificate Request - allOf: - - $ref: '#/components/schemas/certificate_create_base' - - type: object - properties: - private_key: - type: string - example: |- - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 - SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 - DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X - wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w - Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F - ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX - fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l - 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm - cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt - eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF - 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x - gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh - GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ - P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj - IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 - W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ - 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt - Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx - pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG - RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 - o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E - sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW - JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo - QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ - AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg - eTuK2xNR0PIM8OI7pRpgyj1I - -----END PRIVATE KEY----- - description: >- - The contents of a PEM-formatted private-key corresponding to the - SSL certificate. - leaf_certificate: - type: string - example: |- - -----BEGIN CERTIFICATE----- - MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ - CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW - MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl - bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 - q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - UlF1zblDmg2Iaw== - -----END CERTIFICATE----- - description: The contents of a PEM-formatted public SSL certificate. - certificate_chain: - type: string - example: |- - -----BEGIN CERTIFICATE----- - MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ - CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW - MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl - bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 - q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - UlF1zblDmg2Iaw== - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ - MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT - DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow - SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT - GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC - AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF - q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 - SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 - Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA - a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj - /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T - AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG - CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv - bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k - c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw - VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC - ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz - MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu - Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF - AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo - uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ - wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu - X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG - PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 - KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== - -----END CERTIFICATE----- - description: >- - The full PEM-formatted trust chain between the certificate - authority's certificate and your domain's SSL certificate. - required: - - private_key - - leaf_certificate + type: object + required: + - name + properties: + name: + type: string + example: web-cert-01 + description: A unique human-readable name referring to a certificate. + type: + type: string + enum: + - custom + - lets_encrypt + example: lets_encrypt + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + private_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: The contents of a PEM-formatted private-key corresponding to the SSL certificate. + leaf_certificate: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: The contents of a PEM-formatted public SSL certificate. + certificate_chain: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ + MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT + DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow + SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT + GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC + AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF + q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 + SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 + Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA + a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj + /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T + AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG + CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv + bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k + c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw + VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC + ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz + MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu + Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF + AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo + uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ + wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu + X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG + PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 + KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== + -----END CERTIFICATE----- + description: The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. domain: type: object properties: name: type: string - description: >- - The name of the domain itself. This should follow the standard - domain format of domain.TLD. For instance, `example.com` is a valid - domain name. + description: The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. example: example.com ip_address: type: string writeOnly: true - description: >- - This optional attribute may contain an IP address. When provided, an - A record will be automatically created pointing to the apex domain. + description: This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. example: 192.0.2.1 ttl: type: integer readOnly: true nullable: true - description: >- - This value is the time to live for the records on this domain, in - seconds. This defines the time frame that clients can cache queried - information before a refresh should be requested. + description: This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. example: 1800 zone_file: type: string readOnly: true nullable: true - description: >- - This attribute contains the complete contents of the zone file for - the selected domain. Individual domain record resources should be - used to get more granular control over records. However, this - attribute can also be used to get information about the SOA record, - which is created automatically and is not accessible as an - individual record resource. - example: > + description: This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + example: | $ORIGIN example.com. - $TTL 1800 - - example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. - 1415982609 10800 3600 604800 1800 - + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 example.com. 1800 IN NS ns1.digitalocean.com. - example.com. 1800 IN NS ns2.digitalocean.com. - example.com. 1800 IN NS ns3.digitalocean.com. - example.com. 1800 IN A 1.2.3.4 domain_record_a: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_aaaa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_caa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag - domain_record_cname: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - domain_record_mx: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - data - - priority - domain_record_ns: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag - domain_record_soa: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - ttl - domain_record_srv: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - priority - - port - - flags - - tag - domain_record_txt: - allOf: - - $ref: '#/components/schemas/domain_record' - - required: - - type - - name - - data - - flags - - tag - domain_record: type: object required: - type @@ -11949,11 +10640,7 @@ components: example: '@' data: type: string - description: >- - Variable data depending on record type. For example, the "data" - value for an A record would be the IPv4 address to which the domain - will be mapped. For a CAA record, it would contain the domain name - of the CA being granted permission to issue certificates. + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. example: ns1.digitalocean.com priority: type: integer @@ -11967,10 +10654,7 @@ components: example: null ttl: type: integer - description: >- - This value is the time to live for the record, in seconds. This - defines the time frame that clients can cache queried information - before a refresh should be requested. + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. example: 1800 weight: type: integer @@ -11984,73 +10668,791 @@ components: example: null tag: type: string - description: >- - The parameter tag for CAA records. Valid values are "issue", - "issuewild", or "iodef" + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" nullable: true example: null - droplet_single_create: - title: Single Droplet Request - allOf: - - type: object - properties: - name: - type: string - maxLength: 255 - pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ - example: example.com - description: >- - The human-readable string you wish to use when displaying the - Droplet name. The name, if set to a domain name managed in the - DigitalOcean DNS management system, will configure a PTR record - for the Droplet. The name set during creation will also - determine the hostname for the Droplet in its internal - configuration. - required: - - name - - $ref: '#/components/schemas/droplet_create' - droplet_multi_create: - title: Multiple Droplet Request - allOf: - - type: object - properties: - names: - type: array - items: - type: string - maxLength: 255 - pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ - example: - - sub-01.example.com - - sub-02.example.com - description: >- - An array of human human-readable strings you wish to use when - displaying the Droplet name. Each name, if set to a domain name - managed in the DigitalOcean DNS management system, will - configure a PTR record for the Droplet. Each name set during - creation will also determine the hostname for the Droplet in its - internal configuration. - required: - - names - - $ref: '#/components/schemas/droplet_create' - droplet_action: + domain_record_aaaa: + type: object required: - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_caa: type: object - description: Specifies the action that will be taken on the Droplet. + required: + - type properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true type: type: string - enum: - - enable_backups - - disable_backups - - reboot - - power_cycle - - shutdown - - power_off - - power_on - - restore - - password_reset + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_cname: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_mx: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_ns: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_soa: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_srv: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record_txt: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + domain_record: + type: object + required: + - type + properties: + id: + type: integer + description: A unique identifier for each domain record. + example: 28448429 + readOnly: true + type: + type: string + description: 'The type of the DNS record. For example: A, CNAME, TXT, ...' + example: NS + name: + type: string + description: The host name, alias, or service being defined by the record. + example: '@' + data: + type: string + description: Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + example: ns1.digitalocean.com + priority: + type: integer + description: The priority for SRV and MX records. + nullable: true + example: null + port: + type: integer + description: The port for SRV records. + nullable: true + example: null + ttl: + type: integer + description: This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + example: 1800 + weight: + type: integer + description: The weight for SRV records. + nullable: true + example: null + flags: + type: integer + description: An unsigned integer between 0-255 used for CAA records. + nullable: true + example: null + tag: + type: string + description: The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + nullable: true + example: null + droplet_single_create: + title: Single Droplet Request + type: object + required: + - name + properties: + name: + type: string + maxLength: 255 + pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ + example: example.com + description: The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration. + region: + type: string + example: nyc3 + description: The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. + size: + type: string + example: s-1vcpu-1gb + description: The slug identifier for the size that you wish to select for this Droplet. + image: + oneOf: + - type: string + - type: integer + example: ubuntu-20-04-x64 + description: The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.
Requires `image:read` scope. + ssh_keys: + type: array + items: + anyOf: + - type: string + - type: integer + example: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + default: [] + description: An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. You must add the keys to your team before they can be embedded on a Droplet.
Requires `ssh_key:read` scope. + backups: + type: boolean + example: true + default: false + description: A boolean indicating whether automated backups should be enabled for the Droplet. + backup_policy: + type: object + description: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + ipv6: + type: boolean + example: true + default: false + description: A boolean indicating whether to enable IPv6 on the Droplet. + monitoring: + type: boolean + example: true + default: false + description: A boolean indicating whether to install the DigitalOcean agent for monitoring. + tags: + type: array + items: + type: string + nullable: true + example: + - env:prod + - web + default: [] + description: A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.
Requires `tag:create` scope. + user_data: + type: string + example: | + #cloud-config + runcmd: + - touch /test.txt + description: A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. + private_networking: + type: boolean + example: true + default: false + deprecated: true + description: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + volumes: + type: array + items: + type: string + example: + - 12e97116-7280-11ed-b3d0-0a58ac146812 + default: [] + description: An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.
Requires `block_storage:read` scpoe. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.
Requires `vpc:read` scope. + with_droplet_agent: + type: boolean + example: true + description: A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. + droplet_multi_create: + title: Multiple Droplet Request + type: object + required: + - names + properties: + names: + type: array + items: + type: string + maxLength: 255 + pattern: ^[a-zA-Z0-9]?[a-z0-9A-Z.\-]*[a-z0-9A-Z]$ + example: + - sub-01.example.com + - sub-02.example.com + description: An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration. + region: + type: string + example: nyc3 + description: The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. + size: + type: string + example: s-1vcpu-1gb + description: The slug identifier for the size that you wish to select for this Droplet. + image: + oneOf: + - type: string + - type: integer + example: ubuntu-20-04-x64 + description: The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.
Requires `image:read` scope. + ssh_keys: + type: array + items: + anyOf: + - type: string + - type: integer + example: + - 289794 + - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 + default: [] + description: An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. You must add the keys to your team before they can be embedded on a Droplet.
Requires `ssh_key:read` scope. + backups: + type: boolean + example: true + default: false + description: A boolean indicating whether automated backups should be enabled for the Droplet. + backup_policy: + type: object + description: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + ipv6: + type: boolean + example: true + default: false + description: A boolean indicating whether to enable IPv6 on the Droplet. + monitoring: + type: boolean + example: true + default: false + description: A boolean indicating whether to install the DigitalOcean agent for monitoring. + tags: + type: array + items: + type: string + nullable: true + example: + - env:prod + - web + default: [] + description: A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.
Requires `tag:create` scope. + user_data: + type: string + example: | + #cloud-config + runcmd: + - touch /test.txt + description: A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. + private_networking: + type: boolean + example: true + default: false + deprecated: true + description: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + volumes: + type: array + items: + type: string + example: + - 12e97116-7280-11ed-b3d0-0a58ac146812 + default: [] + description: An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.
Requires `block_storage:read` scpoe. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.
Requires `vpc:read` scope. + with_droplet_agent: + type: boolean + example: true + description: A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. + droplet_action: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + droplet_action_enable_backups: + example: + type: enable_backups + backup_policy: + plan: daily + hour: 20 + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset - resize - rebuild - rename @@ -12059,423 +11461,1723 @@ components: - snapshot example: reboot description: The type of action to initiate for the Droplet. - droplet_action_enable_backups: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - backup_policy: - allOf: - - $ref: '#/components/schemas/droplet_backup_policy' - - description: >- - An object specifying the backup policy for the Droplet. If - omitted, the backup plan will default to daily. - example: - type: enable_backups backup_policy: - plan: daily - hour: 20 - droplet_action_change_backup_policy: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object + type: object + description: An object specifying the backup policy for the Droplet. If omitted, the backup plan will default to daily. properties: - backup_policy: - allOf: - - $ref: '#/components/schemas/droplet_backup_policy' - - description: An object specifying the backup policy for the Droplet. + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. + droplet_action_change_backup_policy: required: - - backup_policy + - type example: type: enable_backups backup_policy: plan: weekly day: SUN hour: 20 - droplet_action_restore: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + backup_policy: + type: object + description: An object specifying the backup policy for the Droplet. properties: - image: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: type: integer - example: 12389723 - description: >- - The ID of a backup of the current Droplet instance to restore - from. + readOnly: true + example: 7 + description: The number of days the backup will be retained. + droplet_action_restore: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + image: + type: integer + example: 12389723 + description: The ID of a backup of the current Droplet instance to restore from. droplet_action_resize: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + disk: + type: boolean + example: true + description: When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased. + size: + type: string + example: s-2vcpu-2gb + description: The slug identifier for the size to which you wish to resize the Droplet. + droplet_action_rebuild: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + image: + oneOf: + - type: string + - type: integer + example: ubuntu-20-04-x64 + description: The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. + droplet_action_rename: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + name: + type: string + example: nifty-new-name + description: The new name for the Droplet. + droplet_action_change_kernel: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + kernel: + type: integer + example: 12389723 + description: A unique number used to identify and reference a specific kernel. + droplet_action_snapshot: + required: + - type + type: object + description: Specifies the action that will be taken on the Droplet. + properties: + type: + type: string + enum: + - enable_backups + - disable_backups + - reboot + - power_cycle + - shutdown + - power_off + - power_on + - restore + - password_reset + - resize + - rebuild + - rename + - change_kernel + - enable_ipv6 + - snapshot + example: reboot + description: The type of action to initiate for the Droplet. + name: + type: string + example: Nifty New Snapshot + description: The name to give the new snapshot of the Droplet. + selective_destroy_associated_resource: + type: object + description: An object containing information about a resource to be scheduled for deletion. + properties: + floating_ips: + type: array + deprecated: true + description: An array of unique identifiers for the floating IPs to be scheduled for deletion. + items: + type: string + example: + - '6186916' + reserved_ips: + type: array + description: An array of unique identifiers for the reserved IPs to be scheduled for deletion. + items: + type: string + example: + - '6186916' + snapshots: + type: array + description: An array of unique identifiers for the snapshots to be scheduled for deletion. + items: + type: string + example: + - '61486916' + volumes: + type: array + description: An array of unique identifiers for the volumes to be scheduled for deletion. + items: + type: string + example: + - ba49449a-7435-11ea-b89e-0a58ac14480f + volume_snapshots: + type: array + description: An array of unique identifiers for the volume snapshots to be scheduled for deletion. + items: + type: string + example: + - edb0478d-7436-11ea-86e6-0a58ac144b91 + autoscale_pool_create: + type: object + properties: + name: + example: my-autoscale-pool + type: string + description: The human-readable name of the autoscale pool. This field cannot be updated + config: + oneOf: + - type: object + properties: + target_number_instances: + title: static config + type: integer + example: 3 + description: Fixed number of instances in an autoscale pool. + minimum: 1 + maximum: 1000 + required: + - target_number_instances + - type: object + properties: + min_instances: + type: integer + example: 5 + description: The minimum number of Droplets in an autoscale pool. + minimum: 1 + maximum: 500 + max_instances: + type: integer + example: 10 + description: The maximum number of Droplets in an autoscale pool. + minimum: 1 + maximum: 1000 + target_cpu_utilization: + type: number + format: float + example: 0.6 + description: Target CPU utilization as a decimal. + minimum: 0.05 + maximum: 1 + target_memory_utilization: + type: number + format: float + example: 0.6 + description: Target memory utilization as a decimal. + minimum: 0.05 + maximum: 1 + cooldown_minutes: + type: integer + example: 5 + description: The number of minutes to wait between scaling events in an autoscale pool. Defaults to 10 minutes. + minimum: 5 + maximum: 20 + required: + - min_instances + - max_instances + type: object + description: The scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration). + droplet_template: + type: object properties: - disk: - type: boolean - example: true - description: >- - When `true`, the Droplet's disk will be resized in addition to - its RAM and CPU. This is a permanent change and cannot be - reversed as a Droplet's disk size cannot be decreased. + name: + type: string + example: my-droplet-name + description: The name(s) to be applied to all Droplets in the autoscale pool. + region: + type: string + example: tor1 + enum: + - nyc1 + - nyc2 + - nyc3 + - ams2 + - ams3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - lon1 + - fra1 + - tor1 + - blr1 + - syd1 + description: The datacenter in which all of the Droplets will be created. size: type: string - example: s-2vcpu-2gb - description: >- - The slug identifier for the size to which you wish to resize the - Droplet. - droplet_action_rebuild: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: + example: c-2 + description: The Droplet size to be used for all Droplets in the autoscale pool. image: - oneOf: - - type: string - - type: integer + type: string example: ubuntu-20-04-x64 - description: >- - The image ID of a public or private image or the slug identifier - for a public image. The Droplet will be rebuilt using this image - as its base. - droplet_action_rename: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - name: + description: The Droplet image to be used for all Droplets in the autoscale pool. You may specify the slug or the image ID. + ssh_keys: + type: array + items: + type: string + example: + - 88:66:90:d2:68:d5:b5:85:e3:26:26:11:31:57:e6:f8 + description: | + The SSH keys to be installed on the Droplets in the autoscale pool. You can either specify the key ID or the fingerprint. + Requires `ssh_key:read` scope. + tags: + type: array + items: + type: string + example: + - my-tag + description: | + The tags to apply to each of the Droplets in the autoscale pool. + Requires `tag:read` scope. + vpc_uuid: type: string - example: nifty-new-name - description: The new name for the Droplet. - droplet_action_change_kernel: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - kernel: - type: integer - example: 12389723 - description: >- - A unique number used to identify and reference a specific - kernel. - droplet_action_snapshot: - allOf: - - $ref: '#/components/schemas/droplet_action' - - type: object - properties: - name: + description: | + The VPC where the Droplets in the autoscale pool will be created. The VPC must be in the region where you want to create the Droplets. + Requires `vpc:read` scope. + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + with_droplet_agent: + type: boolean + description: Installs the Droplet agent. This must be set to true to monitor Droplets for resource utilization scaling. + example: true + project_id: type: string - example: Nifty New Snapshot - description: The name to give the new snapshot of the Droplet. - selective_destroy_associated_resource: + description: | + The project that the Droplets in the autoscale pool will belong to. + Requires `project:read` scope. + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + ipv6: + type: boolean + description: Assigns a unique IPv6 address to each of the Droplets in the autoscale pool. + example: true + user_data: + type: string + example: | + #cloud-config + runcmd: + - touch /test.txt + description: A string containing user data that cloud-init consumes to configure a Droplet on first boot. User data is often a cloud-config file or Bash script. It must be plain text and may not exceed 64 KiB in size. + required: + - region + - image + - size + - ssh_keys + required: + - name + - config + - droplet_template + firewall: + type: object + properties: + id: + type: string + description: A unique ID that can be used to identify and reference a firewall. + readOnly: true + example: bb4b2611-3d72-467b-8602-280330ecd65c + status: + type: string + description: A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + enum: + - waiting + - succeeded + - failed + readOnly: true + example: waiting + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the firewall was created. + readOnly: true + example: '2020-05-23T21:24:00Z' + pending_changes: + type: array + description: An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + items: + type: object + properties: + droplet_id: + type: integer + example: 8043964 + removing: + type: boolean + example: false + status: + type: string + example: waiting + readOnly: true + example: + - droplet_id: 8043964 + removing: false + status: waiting + name: + type: string + description: A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ + example: firewall + droplet_ids: + type: array + description: An array containing the IDs of the Droplets assigned to the firewall.

Requires `droplet:read` scope. + nullable: true + items: + type: integer + example: + - 8043964 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} + inbound_rules: + nullable: true + type: array + items: + type: object + required: + - protocol + - ports + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + description: An object specifying locations from which inbound traffic will be accepted. + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} + outbound_rules: + nullable: true + type: array + items: + type: object + required: + - protocol + - ports + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + description: An object specifying locations to which outbound traffic that will be allowed. + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} + existing_tags_array: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + firewall_rules: + type: object + properties: + inbound_rules: + nullable: true + type: array + items: + type: object + required: + - protocol + - ports + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + sources: + type: object + description: An object specifying locations from which inbound traffic will be accepted. + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} + outbound_rules: + nullable: true + type: array + items: + type: object + required: + - protocol + - ports + properties: + protocol: + type: string + enum: + - tcp + - udp + - icmp + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + example: tcp + ports: + type: string + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + example: '8000' + destinations: + type: object + description: An object specifying locations to which outbound traffic that will be allowed. + properties: + addresses: + type: array + items: + type: string + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + example: + - 1.2.3.4 + - 18.0.0.0/8 + droplet_ids: + type: array + items: + type: integer + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. + example: + - 8043964 + load_balancer_uids: + type: array + items: + type: string + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. + example: + - 4de7ac8b-495b-4884-9a69-1050c6793cd6 + kubernetes_ids: + type: array + items: + type: string + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + example: + - 41b74c5d-9bd0-5555-5555-a57c495b81a3 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} + image_new_custom: type: object - description: >- - An object containing information about a resource to be scheduled for - deletion. + required: + - name + - url + - region + example: + name: ubuntu-18.04-minimal + url: http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img + distribution: Ubuntu + region: nyc3 + description: Cloud-optimized image w/ small footprint + tags: + - base-image + - prod properties: - floating_ips: - type: array - deprecated: true - description: >- - An array of unique identifiers for the floating IPs to be scheduled - for deletion. - items: - type: string - example: - - '6186916' - reserved_ips: - type: array - description: >- - An array of unique identifiers for the reserved IPs to be scheduled - for deletion. - items: - type: string - example: - - '6186916' - snapshots: - type: array - description: >- - An array of unique identifiers for the snapshots to be scheduled for - deletion. - items: - type: string - example: - - '61486916' - volumes: - type: array - description: >- - An array of unique identifiers for the volumes to be scheduled for - deletion. - items: - type: string - example: - - ba49449a-7435-11ea-b89e-0a58ac14480f - volume_snapshots: + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + url: + type: string + description: A URL from which the custom Linux virtual machine image may be retrieved. The image it points to must be in the raw, qcow2, vhdx, vdi, or vmdk format. It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed. + example: http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + tags: type: array - description: >- - An array of unique identifiers for the volume snapshots to be - scheduled for deletion. items: type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. example: - - edb0478d-7436-11ea-86e6-0a58ac144b91 - autoscale_pool_create: + - base-image + - prod + image_update: type: object properties: name: - example: my-autoscale-pool type: string - description: >- - The human-readable name of the autoscale pool. This field cannot be - updated - config: - oneOf: - - $ref: '#/components/schemas/autoscale_pool_static_config' - - $ref: '#/components/schemas/autoscale_pool_dynamic_config' - type: object - description: >- - The scaling configuration for an autoscale pool, which is how the - pool scales up and down (either by resource utilization or static - configuration). - droplet_template: - $ref: '#/components/schemas/autoscale_pool_droplet_template' + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + image_action_base: + type: object + properties: + type: + type: string + description: The action to be taken on the image. Can be either `convert` or `transfer`. + enum: + - convert + - transfer + example: convert required: - - name - - config - - droplet_template - firewall: + - type + image_action_transfer: type: object - allOf: - - properties: + required: + - type + properties: + type: + type: string + description: The action to be taken on the image. Can be either `convert` or `transfer`. + enum: + - convert + - transfer + example: convert + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + load_balancer_create: + oneOf: + - title: Assign Droplets by ID + required: + - droplet_ids + - region + type: object + properties: + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + ipv6: + type: string + readOnly: true + example: 2604:a880:800:14::85f5:c000 + description: An attribute containing the public-facing IPv6 address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + network_stack: + type: string + example: IPV4 + enum: + - IPV4 + - DUALSTACK + default: IPV4 + description: A string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. + type: + type: string + example: REGIONAL + enum: + - REGIONAL + - REGIONAL_NETWORK + - GLOBAL + default: REGIONAL + description: A string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. + domains: + type: array + items: + type: object + description: An object specifying domain configurations for a Global load balancer. + properties: + name: + type: string + example: example.com + description: FQDN to associate with a Global load balancer. + is_managed: + type: boolean + example: true + description: A boolean value indicating if the domain is already managed by DigitalOcean. If true, all A and AAAA records required to enable Global load balancers will be automatically added. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination. + description: An array of objects specifying the domain configurations for a Global load balancer. + glb_settings: + type: object + description: An object specifying forwarding configurations for a Global load balancer. + properties: + target_protocol: + type: string + enum: + - http + - https + - http2 + example: http + description: The protocol used for forwarding traffic from the load balancer to the target backends. The possible values are `http`, `https` and `http2`. + target_port: + type: integer + example: 80 + description: An integer representing the port on the target backends which the load balancer will forward traffic to. + cdn: + type: object + properties: + is_enabled: + type: boolean + example: true + description: A boolean flag to enable CDN caching. + description: An object specifying CDN configurations for a Global load balancer. + region_priorities: + type: object + additionalProperties: + type: integer + example: + nyc1: 1 + fra1: 2 + sgp1: 3 + description: A map of region string to an integer priority value indicating preference for which regional target a Global load balancer will forward traffic to. A lower value indicates a higher priority. + failover_threshold: + type: integer + example: 50 + description: An integer value as a percentage to indicate failure threshold to decide how the regional priorities will take effect. A value of `50` would indicate that the Global load balancer will choose a lower priority region to forward traffic to once this failure threshold has been reached for the higher priority region. + target_load_balancer_ids: + type: array + items: + type: string + example: + - 7dbf91fe-cbdb-48dc-8290-c3a181554905 + - 996fa239-fac3-42a2-b9a1-9fa822268b7a + description: An array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer. + tls_cipher_policy: + type: string + example: STRONG + enum: + - DEFAULT + - STRONG + default: DEFAULT + description: A string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. + - title: Assign Droplets by Tag + required: + - tag + - region + type: object + properties: + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 id: type: string - description: >- - A unique ID that can be used to identify and reference a - firewall. + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + ipv6: + type: string readOnly: true - example: bb4b2611-3d72-467b-8602-280330ecd65c + example: 2604:a880:800:14::85f5:c000 + description: An attribute containing the public-facing IPv6 address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. status: type: string - description: >- - A status string indicating the current state of the firewall. - This can be "waiting", "succeeded", or "failed". + example: new enum: - - waiting - - succeeded - - failed + - new + - active + - errored readOnly: true - example: waiting + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. created_at: type: string format: date-time - description: >- - A time value given in ISO8601 combined date and time format that - represents when the firewall was created. readOnly: true - example: '2020-05-23T21:24:00Z' - pending_changes: + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: type: array - description: >- - An array of objects each containing the fields "droplet_id", - "removing", and "status". It is provided to detail exactly which - Droplets are having their security policies updated. When empty, - all changes have been successfully applied. + minItems: 1 items: type: object + description: An object specifying a forwarding rule for a load balancer. properties: - droplet_id: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: type: integer - example: 8043964 - removing: + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: type: boolean example: false - status: - type: string - example: waiting - readOnly: true - example: - - droplet_id: 8043964 - removing: false - status: waiting - name: - type: string - description: >- - A human-readable name for a firewall. The name must begin with - an alphanumeric character. Subsequent characters must either be - alphanumeric characters, a period (.), or a dash (-). - pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$ - example: firewall - droplet_ids: - type: array - description: >- - An array containing the IDs of the Droplets assigned to the - firewall.

Requires `droplet:read` scope. - nullable: true - items: - type: integer - example: - - 8043964 - tags: - allOf: - - $ref: '#/components/schemas/existing_tags_array' - - description: >- - An array containing the names of the Tags assigned to the - firewall.

Requires `tag:read` scope. - example: gateway - type: object - - $ref: '#/components/schemas/firewall_rules' - existing_tags_array: - type: array - items: - type: string - nullable: true - description: >- - A flat array of tag names as strings to be applied to the resource. Tag - names must exist in order to be referenced in a request. -

Requires `tag:create` and `tag:read` scopes. - example: - - base-image - - prod - firewall_rules: - type: object - properties: - inbound_rules: - nullable: true - type: array - items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - sources: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: >- - An object specifying locations from which inbound - traffic will be accepted. - required: - - sources - type: object - outbound_rules: - nullable: true - type: array - items: - allOf: - - $ref: '#/components/schemas/firewall_rule_base' - - properties: - destinations: - allOf: - - $ref: '#/components/schemas/firewall_rule_target' - - description: >- - An object specifying locations to which outbound - traffic that will be allowed. + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. required: - - destinations - type: object - image_new_custom: - type: object - allOf: - - $ref: '#/components/schemas/image_update' - - properties: - url: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: type: string - description: >- - A URL from which the custom Linux virtual machine image may be - retrieved. The image it points to must be in the raw, qcow2, - vhdx, vdi, or vmdk format. It may be compressed using gzip or - bzip2 and must be smaller than 100 GB after being decompressed. - example: >- - http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img - region: - $ref: '#/components/schemas/region_slug' - tags: - $ref: '#/components/schemas/tags_array' - type: object - required: - - name - - url - - region - example: - name: ubuntu-18.04-minimal - url: >- - http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img - distribution: Ubuntu - region: nyc3 - description: Cloud-optimized image w/ small footprint - tags: - - base-image - - prod - image_update: - type: object - properties: - name: - $ref: '#/components/schemas/image_name' - distribution: - $ref: '#/components/schemas/distribution' - description: - $ref: '#/components/schemas/image_description' - image_action_base: - type: object - properties: - type: - type: string - description: >- - The action to be taken on the image. Can be either `convert` or - `transfer`. - enum: - - convert - - transfer - example: convert - required: - - type - image_action_transfer: - allOf: - - $ref: '#/components/schemas/image_action_base' - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - required: - - type - - region - load_balancer_create: - oneOf: - - title: Assign Droplets by ID - allOf: - - type: object + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. properties: - droplet_ids: + deny: type: array items: - type: integer + type: string example: - - 3164444 - - 3164445 - description: >- - An array containing the IDs of the Droplets assigned to the - load balancer. - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - - $ref: '#/components/schemas/load_balancer_base' - required: - - droplet_ids - - region - - title: Assign Droplets by Tag - allOf: - - type: object + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + network_stack: + type: string + example: IPV4 + enum: + - IPV4 + - DUALSTACK + default: IPV4 + description: A string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. + type: + type: string + example: REGIONAL + enum: + - REGIONAL + - REGIONAL_NETWORK + - GLOBAL + default: REGIONAL + description: A string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. + domains: + type: array + items: + type: object + description: An object specifying domain configurations for a Global load balancer. + properties: + name: + type: string + example: example.com + description: FQDN to associate with a Global load balancer. + is_managed: + type: boolean + example: true + description: A boolean value indicating if the domain is already managed by DigitalOcean. If true, all A and AAAA records required to enable Global load balancers will be automatically added. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination. + description: An array of objects specifying the domain configurations for a Global load balancer. + glb_settings: + type: object + description: An object specifying forwarding configurations for a Global load balancer. properties: - tag: + target_protocol: type: string - example: prod:web - description: >- - The name of a Droplet tag corresponding to Droplets assigned - to the load balancer. - - type: object - properties: - region: - $ref: '#/components/schemas/region_slug' - - $ref: '#/components/schemas/load_balancer_base' - required: - - tag - - region + enum: + - http + - https + - http2 + example: http + description: The protocol used for forwarding traffic from the load balancer to the target backends. The possible values are `http`, `https` and `http2`. + target_port: + type: integer + example: 80 + description: An integer representing the port on the target backends which the load balancer will forward traffic to. + cdn: + type: object + properties: + is_enabled: + type: boolean + example: true + description: A boolean flag to enable CDN caching. + description: An object specifying CDN configurations for a Global load balancer. + region_priorities: + type: object + additionalProperties: + type: integer + example: + nyc1: 1 + fra1: 2 + sgp1: 3 + description: A map of region string to an integer priority value indicating preference for which regional target a Global load balancer will forward traffic to. A lower value indicates a higher priority. + failover_threshold: + type: integer + example: 50 + description: An integer value as a percentage to indicate failure threshold to decide how the regional priorities will take effect. A value of `50` would indicate that the Global load balancer will choose a lower priority region to forward traffic to once this failure threshold has been reached for the higher priority region. + target_load_balancer_ids: + type: array + items: + type: string + example: + - 7dbf91fe-cbdb-48dc-8290-c3a181554905 + - 996fa239-fac3-42a2-b9a1-9fa822268b7a + description: An array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer. + tls_cipher_policy: + type: string + example: STRONG + enum: + - DEFAULT + - STRONG + default: DEFAULT + description: A string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. forwarding_rule: type: object description: An object specifying a forwarding rule for a load balancer. @@ -12490,19 +13192,12 @@ components: - tcp - udp example: https - description: > - The protocol used for traffic to the load balancer. The possible - values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If - you set the `entry_protocol` to `udp`, the `target_protocol` must - be set to `udp`. When using UDP, the load balancer requires that - you set up a health check with a port that uses TCP, HTTP, or HTTPS - to work properly. + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. entry_port: type: integer example: 443 - description: >- - An integer representing the port on which the load balancer instance - will listen. + description: An integer representing the port on which the load balancer instance will listen. target_protocol: type: string enum: @@ -12512,19 +13207,12 @@ components: - tcp - udp example: http - description: > - The protocol used for traffic from the load balancer to the backend - Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, - or `udp`. If you set the `target_protocol` to `udp`, the - `entry_protocol` must be set to `udp`. When using UDP, the load - balancer requires that you set up a health check with a port that - uses TCP, HTTP, or HTTPS to work properly. + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. target_port: type: integer example: 80 - description: >- - An integer representing the port on the backend Droplets to which - the load balancer will send traffic. + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. certificate_id: type: string example: 892071a0-bb95-49bc-8021-3afd67a210bf @@ -12532,9 +13220,7 @@ components: tls_passthrough: type: boolean example: false - description: >- - A boolean value indicating whether SSL encrypted traffic will be - passed through to the backend Droplets. + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. required: - entry_protocol - entry_port @@ -12557,155 +13243,120 @@ components: region: type: string example: nyc3 - description: >- - The slug identifier for the region the reserved IP will be - reserved to. + description: The slug identifier for the region the reserved IP will be reserved to. project_id: type: string format: uuid example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: >- - The UUID of the project to which the reserved IP will be - assigned. + description: The UUID of the project to which the reserved IP will be assigned. required: - region reserved_ip_action_unassign: - allOf: - - $ref: '#/components/schemas/reserved_ip_action_type' - - type: object - required: - - type + type: object + required: + - type + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/reserved_ip_action_assign' + unassign: '#/components/schemas/reserved_ip_action_unassign' + properties: + type: + type: string + enum: + - assign + - unassign + description: The type of action to initiate for the reserved IP. reserved_ip_action_assign: - allOf: - - $ref: '#/components/schemas/reserved_ip_action_type' - - type: object - required: - - type - - droplet_id - properties: - droplet_id: - type: integer - example: 758604968 - description: The ID of the Droplet that the reserved IP will be assigned to. + type: object + required: + - type + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/reserved_ip_action_assign' + unassign: '#/components/schemas/reserved_ip_action_unassign' + properties: + type: + type: string + enum: + - assign + - unassign + description: The type of action to initiate for the reserved IP. + droplet_id: + type: integer + example: 758604968 + description: The ID of the Droplet that the reserved IP will be assigned to. reserved_ipv6_create: title: Reserve to Region type: object properties: - region_slug: + region_slug: + type: string + example: nyc3 + description: The slug identifier for the region the reserved IPv6 will be reserved to. + required: + - region_slug + reserved_ipv6_action_unassign: + type: object + required: + - type + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/reserved_ipv6_action_assign' + unassign: '#/components/schemas/reserved_ipv6_action_unassign' + properties: + type: + type: string + enum: + - assign + - unassign + description: The type of action to initiate for the reserved IPv6. + reserved_ipv6_action_assign: + type: object + required: + - type + discriminator: + propertyName: type + mapping: + assign: '#/components/schemas/reserved_ipv6_action_assign' + unassign: '#/components/schemas/reserved_ipv6_action_unassign' + properties: + type: type: string - example: nyc3 - description: >- - The slug identifier for the region the reserved IPv6 will be - reserved to. - required: - - region_slug - reserved_ipv6_action_unassign: - allOf: - - $ref: '#/components/schemas/reserved_ipv6_action_type' - - type: object - required: - - type - reserved_ipv6_action_assign: - allOf: - - $ref: '#/components/schemas/reserved_ipv6_action_type' - - type: object - required: - - type - - droplet_id - properties: - droplet_id: - type: integer - example: 758604968 - description: >- - The ID of the Droplet that the reserved IPv6 will be assigned - to. + enum: + - assign + - unassign + description: The type of action to initiate for the reserved IPv6. + droplet_id: + type: integer + example: 758604968 + description: The ID of the Droplet that the reserved IPv6 will be assigned to. tags: type: object - description: >- - A tag is a label that can be applied to a resource (currently Droplets, - Images, Volumes, Volume Snapshots, and Database clusters) in order to - better organize or facilitate the lookups and actions on it. - - Tags have two attributes: a user defined `name` attribute and an - embedded `resources` attribute with information about resources that - have been tagged. + description: |- + A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. + Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. properties: name: type: string - description: > - The name of the tag. Tags may contain letters, numbers, colons, - dashes, and underscores. - + description: | + The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. - **Note:** Tag names are case stable, which means the capitalization - you use when you first create a tag is canonical. - - - When working with tags in the API, you must use the tag's canonical - capitalization. For example, if you create a tag named "PROD", the - URL to add that tag to a resource would be - `https://api.digitalocean.com/v2/tags/PROD/resources` (not - `/v2/tags/prod/resources`). - + When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). - Tagged resources in the control panel will always display the - canonical capitalization. For example, if you create a tag named - "PROD", you can tag resources in the control panel by entering - "prod". The tag will still display with its canonical - capitalization, "PROD". + Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". pattern: ^[a-zA-Z0-9_\-\:]+$ maxLength: 255 example: extra-awesome resources: type: object - description: > - An embedded object containing key value pairs of resource type and - resource statistics. - - It also includes a count of the total number of resources tagged - with the current tag as well as a `last_tagged_uri` attribute set to - the last resource tagged with the current tag. - - - This will only include resources that you are authorized to see. For - example, to see tagged Droplets, include the `droplet:read` scope. + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. readOnly: true - allOf: - - $ref: '#/components/schemas/tags_metadata' - - properties: - droplets: - allOf: - - description: >- - Droplets that are tagged with the specified - tag.
Requires `droplet:read` scope. - - $ref: '#/components/schemas/tags_metadata' - imgages: - allOf: - - description: >- - Images that are tagged with the specified - tag.
Requires `image:read` scope. - - $ref: '#/components/schemas/tags_metadata' - volumes: - allOf: - - description: >- - Volumes that are tagged with the specified - tag.
Requires `block_storage:read` scope. - - $ref: '#/components/schemas/tags_metadata' - volume_snapshots: - allOf: - - description: >- - Volume Snapshots that are tagged with the specified - tag.
Requires `block_storage_snapshot:read` scope. - - $ref: '#/components/schemas/tags_metadata' - databases: - allOf: - - description: >- - Databases that are tagged with the specified - tag.
Requires `database:read` scope. - - $ref: '#/components/schemas/tags_metadata' - type: object example: count: 5 last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 @@ -12717,29 +13368,97 @@ components: last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 volumes: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 + last_tagged_uri: https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 volume_snapshots: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 + last_tagged_uri: https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 databases: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 + last_tagged_uri: https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + droplets: + description: Droplets that are tagged with the specified tag.
Requires `droplet:read` scope. + type: object + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + imgages: + description: Images that are tagged with the specified tag.
Requires `image:read` scope. + type: object + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volumes: + description: Volumes that are tagged with the specified tag.
Requires `block_storage:read` scope. + type: object + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + volume_snapshots: + description: Volume Snapshots that are tagged with the specified tag.
Requires `block_storage_snapshot:read` scope. + type: object + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 + databases: + description: Databases that are tagged with the specified tag.
Requires `database:read` scope. + type: object + properties: + count: + type: integer + description: The number of tagged objects for this type of resource. + example: 5 + minimum: 0 + last_tagged_uri: + type: string + description: The URI for the last tagged object for this type of resource. + example: https://api.digitalocean.com/v2/images/7555620 tags_resource: type: object properties: resources: - description: > + description: | An array of objects containing resource_id and resource_type - attributes. - - This response will only include resources that you are authorized to - see. - + This response will only include resources that you are authorized to see. For example, to see Droplets, include the `droplet:read` scope. type: array items: @@ -12769,83 +13488,290 @@ components: - resources volumes_ext4: type: object - allOf: - - $ref: '#/components/schemas/volume_base' - - $ref: '#/components/schemas/volume_snapshot_id' - - $ref: '#/components/schemas/volume_write_file_system_type' - - properties: - region: - $ref: '#/components/schemas/region_slug' - filesystem_label: - allOf: - - $ref: '#/components/schemas/volume_write_file_system_label' - - maxLength: 16 - required: - - name - - size_gigabytes - - region - type: object + required: + - name + - size_gigabytes + - region + properties: + id: + type: string + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: + type: string + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: + type: string + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: + type: string + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + snapshot_id: + type: string + description: The unique identifier for the volume snapshot from which to create the volume. + example: b0798135-fb76-11eb-946a-0a58ac146f33 + filesystem_type: + type: string + description: The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. + example: ext4 + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + filesystem_label: + type: string + description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. + example: example + maxLength: 16 + properties: {} volumes_xfs: type: object - allOf: - - $ref: '#/components/schemas/volume_base' - - $ref: '#/components/schemas/volume_snapshot_id' - - $ref: '#/components/schemas/volume_write_file_system_type' - - properties: - region: - $ref: '#/components/schemas/region_slug' - filesystem_label: - allOf: - - $ref: '#/components/schemas/volume_write_file_system_label' - - maxLength: 12 - required: - - name - - size_gigabytes - - region - type: object + required: + - name + - size_gigabytes + - region + properties: + id: + type: string + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: + type: string + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: + type: string + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: + type: string + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + snapshot_id: + type: string + description: The unique identifier for the volume snapshot from which to create the volume. + example: b0798135-fb76-11eb-946a-0a58ac146f33 + filesystem_type: + type: string + description: The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. + example: ext4 + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + filesystem_label: + type: string + description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. + example: example + maxLength: 12 + properties: {} volume_action_post_attach: type: object - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - droplet_id: - $ref: '#/components/schemas/volume_action_droplet_id' - tags: - $ref: '#/components/schemas/tags_array' - required: - - droplet_id - type: object + required: + - type + properties: + type: + type: string + description: The volume action to initiate. + enum: + - attach + - detach + - resize + example: attach + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + droplet_id: + type: integer + description: The unique identifier for the Droplet the volume will be attached or detached from. + example: 11612190 + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod volume_action_post_detach: type: object - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - droplet_id: - $ref: '#/components/schemas/volume_action_droplet_id' - required: - - droplet_id - type: object + required: + - type + properties: + type: + type: string + description: The volume action to initiate. + enum: + - attach + - detach + - resize + example: attach + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + droplet_id: + type: integer + description: The unique identifier for the Droplet the volume will be attached or detached from. + example: 11612190 volume_action_post_resize: type: object - allOf: - - $ref: '#/components/schemas/volume_action_post_base' - - properties: - size_gigabytes: - type: integer - description: The new size of the block storage volume in GiB (1024^3). - maximum: 16384 - required: - - size_gigabytes - type: object + required: + - type + properties: + type: + type: string + description: The volume action to initiate. + enum: + - attach + - detach + - resize + example: attach + region: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + size_gigabytes: + type: integer + description: The new size of the block storage volume in GiB (1024^3). + maximum: 16384 tags_array: type: array items: type: string nullable: true - description: >- - A flat array of tag names as strings to be applied to the resource. Tag - names may be for either existing or new tags.

Requires - `tag:create` scope. + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. example: - base-image - prod @@ -12894,9 +13820,7 @@ components: vpc_uuid: type: string example: 0d3db13e-a604-4944-9827-7ec2642d32ac - description: >- - The unique identifier of the VPC to which the NAT gateway is - attached. + description: The unique identifier of the VPC to which the NAT gateway is attached. description: An array of VPCs associated with the VPC NAT gateway. udp_timeout_seconds: type: integer @@ -12946,38 +13870,63 @@ components: type: object properties: links: - $ref: '#/components/schemas/page_links' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: type: object properties: meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total + type: object + description: Information about the response itself. + required: + - total + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - meta error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -12985,17 +13934,12 @@ components: - message ssh_key_id: type: integer - description: >- - A unique identification number for this key. Can be used to embed a - specific SSH key into a Droplet. + description: A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. readOnly: true example: 512189 ssh_key_fingerprint: type: string - description: >- - A unique identifier that differentiates this key from other keys using - a format that SSH recognizes. The fingerprint is created when the key is - added to your account. + description: A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. readOnly: true example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa certificate: @@ -13006,9 +13950,7 @@ components: format: uuid readOnly: true example: 892071a0-bb95-49bc-8021-3afd67a210bf - description: >- - A unique ID that can be used to identify and reference a - certificate. + description: A unique ID that can be used to identify and reference a certificate. name: type: string example: web-cert-01 @@ -13018,24 +13960,18 @@ components: format: date-time readOnly: true example: '2017-02-22T00:23:00Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents the certificate's expiration date. + description: A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. sha1_fingerprint: type: string readOnly: true example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 - description: >- - A unique identifier generated from the SHA-1 fingerprint of the - certificate. + description: A unique identifier generated from the SHA-1 fingerprint of the certificate. created_at: type: string format: date-time readOnly: true example: '2017-02-08T16:02:37Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the certificate was created. + description: A time value given in ISO8601 combined date and time format that represents when the certificate was created. dns_names: type: array items: @@ -13043,9 +13979,7 @@ components: example: - www.example.com - example.com - description: >- - An array of fully qualified domain names (FQDNs) for which the - certificate was issued. + description: An array of fully qualified domain names (FQDNs) for which the certificate was issued. state: type: string enum: @@ -13054,19 +13988,14 @@ components: - error readOnly: true example: verified - description: >- - A string representing the current state of the certificate. It may - be `pending`, `verified`, or `error`. + description: A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. type: type: string enum: - custom - lets_encrypt example: lets_encrypt - description: >- - A string representing the type of the certificate. The value will be - `custom` for a user-uploaded certificate or `lets_encrypt` for one - automatically generated with Let's Encrypt. + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. certificate_create_base: type: object properties: @@ -13080,10 +14009,7 @@ components: - custom - lets_encrypt example: lets_encrypt - description: >- - A string representing the type of the certificate. The value will be - `custom` for a user-uploaded certificate or `lets_encrypt` for one - automatically generated with Let's Encrypt. + description: A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. required: - name droplet: @@ -13092,9 +14018,7 @@ components: id: type: integer example: 3164444 - description: >- - A unique identifier for each Droplet instance. This is automatically - generated upon Droplet creation. + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. name: type: string example: example.com @@ -13114,17 +14038,32 @@ components: description: The size of the Droplet's disk in gigabytes. disk_info: type: array - description: >- - An array of objects containing information about the disks available - to the Droplet. + description: An array of objects containing information about the disks available to the Droplet. items: - $ref: '#/components/schemas/disk_info' + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib locked: type: boolean example: false - description: >- - A boolean value indicating whether the Droplet has been locked, - preventing actions by users. + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. status: type: string enum: @@ -13133,18 +14072,36 @@ components: - 'off' - archive example: active - description: >- - A status string indicating the state of the Droplet instance. This - may be "new", "active", "off", or "archive". + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". kernel: - $ref: '#/components/schemas/kernel' + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. created_at: type: string format: date-time example: '2020-07-21T18:37:44Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the Droplet was created. + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. features: type: array items: @@ -13160,68 +14117,402 @@ components: type: integer example: - 53893572 - description: >- - An array of backup IDs of any backups that have been taken of the - Droplet instance. Droplet backups are enabled at the time of the - instance creation.
Requires `image:read` scope. + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope. next_backup_window: - allOf: - - $ref: '#/components/schemas/droplet_next_backup_window' - - description: >- - The details of the Droplet's backups feature, if backups are - configured for the Droplet. This object contains keys for the - start and end times of the window during which the backup will - start. + type: object + nullable: true + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. snapshot_ids: type: array items: type: integer example: - 67512819 - description: >- - An array of snapshot IDs of any snapshots created from the Droplet - instance.
Requires `image:read` scope. + description: An array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope. image: - allOf: - - $ref: '#/components/schemas/image' - - description: The Droplet's image.
Requires `image:read` scope. + type: object + description: The Droplet's image.
Requires `image:read` scope. + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' volume_ids: type: array items: type: string example: - 506f78a4-e098-11e5-ad9f-000f53306ae1 - description: >- - A flat array including the unique identifier for each Block Storage - volume attached to the Droplet.
Requires `block_storage:read` - scope. + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope. size: - $ref: '#/components/schemas/size' + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description size_slug: type: string example: s-1vcpu-1gb description: The unique slug identifier for the size of this Droplet. networks: type: object - description: >- - The details of the network that are configured for the Droplet - instance. This is an object that contains keys for IPv4 and IPv6. - The value of each of these is an array that contains objects - describing an individual IP resource allocated to the Droplet. - These will define attributes like the IP address, netmask, and - gateway of the specific network depending on the type of network it - is. + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. properties: v4: type: array items: - $ref: '#/components/schemas/network_v4' + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. v6: type: array items: - $ref: '#/components/schemas/network_v6' + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + + **Note**: IPv6 private networking is not currently supported. region: - $ref: '#/components/schemas/region' + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug tags: type: array items: @@ -13229,17 +14520,34 @@ components: example: - web - env:prod - description: >- - An array of Tags the Droplet has been tagged with.
Requires - `tag:read` scope. + description: An array of Tags the Droplet has been tagged with.
Requires `tag:read` scope. vpc_uuid: type: string example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: >- - A string specifying the UUID of the VPC to which the Droplet is - assigned.
Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. gpu_info: - $ref: '#/components/schemas/gpu_info' + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib required: - id - name @@ -13266,28 +14574,17 @@ components: region: type: string example: nyc3 - description: >- - The slug identifier for the region that you wish to deploy the - Droplet in. If the specific datacenter is not not important, a slug - prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the - that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region - is omitted from the create request completely, the Droplet may - deploy in any region. + description: The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. size: type: string example: s-1vcpu-1gb - description: >- - The slug identifier for the size that you wish to select for this - Droplet. + description: The slug identifier for the size that you wish to select for this Droplet. image: oneOf: - type: string - type: integer example: ubuntu-20-04-x64 - description: >- - The image ID of a public or private image or the slug identifier for - a public image. This image will be the base image for your - Droplet.
Requires `image:read` scope. + description: The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.
Requires `image:read` scope. ssh_keys: type: array items: @@ -13298,25 +14595,56 @@ components: - 289794 - 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 default: [] - description: >- - An array containing the IDs or fingerprints of the SSH keys that you - wish to embed in the Droplet's root account upon creation. You must - add the keys to your team before they can be embedded on a - Droplet.
Requires `ssh_key:read` scope. + description: An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. You must add the keys to your team before they can be embedded on a Droplet.
Requires `ssh_key:read` scope. backups: type: boolean example: true default: false - description: >- - A boolean indicating whether automated backups should be enabled for - the Droplet. + description: A boolean indicating whether automated backups should be enabled for the Droplet. backup_policy: - allOf: - - $ref: '#/components/schemas/droplet_backup_policy' - - description: >- - An object specifying the backup policy for the Droplet. If - omitted and `backups` is `true`, the backup plan will default to - daily. + type: object + description: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. ipv6: type: boolean example: true @@ -13326,9 +14654,7 @@ components: type: boolean example: true default: false - description: >- - A boolean indicating whether to install the DigitalOcean agent for - monitoring. + description: A boolean indicating whether to install the DigitalOcean agent for monitoring. tags: type: array items: @@ -13338,30 +14664,20 @@ components: - env:prod - web default: [] - description: >- - A flat array of tag names as strings to apply to the Droplet after - it is created. Tag names can either be existing or new - tags.
Requires `tag:create` scope. + description: A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.
Requires `tag:create` scope. user_data: type: string example: | #cloud-config runcmd: - touch /test.txt - description: >- - A string containing 'user data' which may be used to configure the - Droplet on first boot, often a 'cloud-config' file or Bash script. - It must be plain text and may not exceed 64 KiB in size. + description: A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. private_networking: type: boolean example: true default: false deprecated: true - description: >- - This parameter has been deprecated. Use `vpc_uuid` instead to - specify a VPC network for the Droplet. If no `vpc_uuid` is provided, - the Droplet will be placed in your account's default VPC for the - region. + description: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. volumes: type: array items: @@ -13369,42 +14685,26 @@ components: example: - 12e97116-7280-11ed-b3d0-0a58ac146812 default: [] - description: >- - An array of IDs for block storage volumes that will be attached to - the Droplet once created. The volumes must not already be attached - to an existing Droplet.
Requires `block_storage:read` scpoe. + description: An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.
Requires `block_storage:read` scpoe. vpc_uuid: type: string example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 - description: >- - A string specifying the UUID of the VPC to which the Droplet will be - assigned. If excluded, the Droplet will be assigned to your - account's default VPC for the region.
Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.
Requires `vpc:read` scope. with_droplet_agent: type: boolean example: true - description: >- - A boolean indicating whether to install the DigitalOcean agent used - for providing access to the Droplet web console in the control - panel. By default, the agent is installed on new Droplets but - installation errors (i.e. OS not supported) are ignored. To prevent - it from being installed, set to `false`. To make installation errors - fatal, explicitly set it to `true`. + description: A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. required: - size - image action_link: type: object - description: >- - The linked actions can be used to check the status of a Droplet's create - event. + description: The linked actions can be used to check the status of a Droplet's create event. properties: id: type: integer example: 7515 - description: >- - A unique numeric ID that can be used to identify and reference an - action. + description: A unique numeric ID that can be used to identify and reference an action. rel: type: string example: create @@ -13415,30 +14715,47 @@ components: example: https://api.digitalocean.com/v2/actions/7515 description: A URL that can be used to access the action. droplet_snapshot: - allOf: - - type: object - properties: - id: - type: integer - example: 6372321 - description: The unique identifier for the snapshot or backup. - required: - - id - - $ref: '#/components/schemas/snapshots_base' - - type: object - properties: - type: - type: string - enum: - - snapshot - - backup - example: snapshot - description: >- - Describes the kind of image. It may be one of `snapshot` or - `backup`. This specifies whether an image is a user-generated - Droplet snapshot or automatically created Droplet backup. - required: - - type + type: object + required: + - id + properties: + id: + type: integer + example: 6372321 + description: The unique identifier for the snapshot or backup. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + type: + type: string + enum: + - snapshot + - backup + example: snapshot + description: Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. droplet_backup_policy_record: type: object properties: @@ -13449,19 +14766,66 @@ components: backup_enabled: type: boolean example: true - description: >- - A boolean value indicating whether backups are enabled for the - Droplet. + description: A boolean value indicating whether backups are enabled for the Droplet. backup_policy: - allOf: - - $ref: '#/components/schemas/droplet_backup_policy' - - description: An object specifying the backup policy for the Droplet. + type: object + description: An object specifying the backup policy for the Droplet. + properties: + plan: + type: string + enum: + - daily + - weekly + example: daily + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. + weekday: + type: string + enum: + - SUN + - MON + - TUE + - WED + - THU + - FRI + - SAT + example: SUN + description: The day of the week on which the backup will occur. + hour: + type: integer + enum: + - 0 + - 4 + - 8 + - 12 + - 16 + - 20 + example: 0 + description: The hour of the day that the backup window will start. + window_length_hours: + type: integer + readOnly: true + example: 4 + description: The length of the backup window starting from `hour`. + retention_period_days: + type: integer + readOnly: true + example: 7 + description: The number of days the backup will be retained. next_backup_window: - allOf: - - $ref: '#/components/schemas/droplet_next_backup_window' - - description: >- - An object containing keys with the start and end times of the - window during which the backup will occur. + type: object + nullable: true + description: An object containing keys with the start and end times of the window during which the backup will occur. + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. supported_droplet_backup_policy: type: object properties: @@ -13473,10 +14837,8 @@ components: type: array items: type: integer - description: > - An array of integers representing the hours of the day that a backup - can - + description: | + An array of integers representing the hours of the day that a backup can start. example: - 0 @@ -13511,15 +14873,11 @@ components: properties: id: type: integer - description: >- - A unique numeric ID that can be used to identify and reference an - action. + description: A unique numeric ID that can be used to identify and reference an action. example: 36804636 status: type: string - description: >- - The current status of the action. This can be "in-progress", - "completed", or "errored". + description: The current status of the action. This can be "in-progress", "completed", or "errored". enum: - in-progress - completed @@ -13528,45 +14886,86 @@ components: default: in-progress type: type: string - description: >- - This is the type of action that the object represents. For example, - this could be "transfer" to represent the state of an image transfer - action. + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. example: create started_at: type: string format: date-time - description: >- - A time value given in ISO8601 combined date and time format that - represents when the action was initiated. + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. example: '2020-11-14T16:29:21Z' completed_at: type: string format: date-time nullable: true - description: >- - A time value given in ISO8601 combined date and time format that - represents when the action was completed. + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. example: '2020-11-14T16:30:06Z' resource_id: type: integer nullable: true - description: >- - A unique identifier for the resource that the action is associated - with. + description: A unique identifier for the resource that the action is associated with. example: 3164444 resource_type: type: string description: The type of resource that the action is associated with. example: droplet region: - $ref: '#/components/schemas/region' + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug region_slug: type: string nullable: true - description: >- - A human-readable string that is used as a unique identifier for each - region. + description: A human-readable string that is used as a unique identifier for each region. example: nyc3 droplet_backup_policy: type: object @@ -13577,9 +14976,7 @@ components: - daily - weekly example: daily - description: >- - The backup plan used for the Droplet. The plan can be either `daily` - or `weekly`. + description: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`. weekday: type: string enum: @@ -13615,19 +15012,12 @@ components: description: The number of days the backup will be retained. kernel: type: object - description: > - **Note**: All Droplets created after March 2017 use internal kernels by - default. - + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. These Droplets will have this attribute set to `null`. - - The current - [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) - - for Droplets with externally managed kernels. This will initially be set - to - + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to the kernel of the base image when the Droplet is created. nullable: true deprecated: true @@ -13639,20 +15029,14 @@ components: name: type: string example: DigitalOcean GrubLoader v0.2 (20160714) - description: >- - The display name of the kernel. This is shown in the web UI and is - generally a descriptive title for the kernel in question. + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. version: type: string example: 2016.07.13-DigitalOcean_loader_Ubuntu - description: >- - A standard kernel version string representing the version, patch, - and release information. + description: A standard kernel version string representing the version, patch, and release information. associated_resource: type: object - description: >- - An objects containing information about a resource associated with a - Droplet. + description: An objects containing information about a resource associated with a Droplet. properties: id: type: string @@ -13665,98 +15049,336 @@ components: cost: type: string example: '0.05' - description: >- - The cost of the resource in USD per month if the resource is - retained after the Droplet is destroyed. + description: The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. associated_resource_status: type: object - description: >- - An objects containing information about a resources scheduled for - deletion. + description: An objects containing information about a resources scheduled for deletion. properties: droplet: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. resources: type: object - description: >- - An object containing additional information about resource related - to a Droplet requested to be destroyed. + description: An object containing additional information about resource related to a Droplet requested to be destroyed. properties: reserved_ips: type: array items: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. floating_ips: type: array items: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. snapshots: type: array items: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. volumes: type: array items: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. volume_snapshots: type: array items: - $ref: '#/components/schemas/destroyed_associated_resource' + type: object + description: An object containing information about a resource scheduled for deletion. + properties: + id: + type: string + example: '61486916' + description: The unique identifier for the resource scheduled for deletion. + name: + type: string + example: ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + description: The name of the resource scheduled for deletion. + destroyed_at: + type: string + format: date-time + example: '2020-04-01T18:11:49Z' + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + error_message: + type: string + example: ' ' + description: A string indicating that the resource was not successfully destroyed and providing additional information. completed_at: type: string format: date-time example: '2020-04-01T18:11:49Z' - description: >- - A time value given in ISO8601 combined date and time format - indicating when the requested action was completed. + description: A time value given in ISO8601 combined date and time format indicating when the requested action was completed. failures: type: integer example: 0 - description: >- - A count of the associated resources that failed to be destroyed, if - any. + description: A count of the associated resources that failed to be destroyed, if any. autoscale_pool: type: object properties: id: type: string example: 0d3db13e-a604-4944-9827-7ec2642d32ac - description: >- - A unique identifier for each autoscale pool instance. This is - automatically generated upon autoscale pool creation. + description: A unique identifier for each autoscale pool instance. This is automatically generated upon autoscale pool creation. name: type: string example: my-autoscale-pool description: The human-readable name set for the autoscale pool. config: oneOf: - - $ref: '#/components/schemas/autoscale_pool_static_config' - - $ref: '#/components/schemas/autoscale_pool_dynamic_config' + - type: object + properties: + target_number_instances: + title: static config + type: integer + example: 3 + description: Fixed number of instances in an autoscale pool. + minimum: 1 + maximum: 1000 + required: + - target_number_instances + - type: object + properties: + min_instances: + type: integer + example: 5 + description: The minimum number of Droplets in an autoscale pool. + minimum: 1 + maximum: 500 + max_instances: + type: integer + example: 10 + description: The maximum number of Droplets in an autoscale pool. + minimum: 1 + maximum: 1000 + target_cpu_utilization: + type: number + format: float + example: 0.6 + description: Target CPU utilization as a decimal. + minimum: 0.05 + maximum: 1 + target_memory_utilization: + type: number + format: float + example: 0.6 + description: Target memory utilization as a decimal. + minimum: 0.05 + maximum: 1 + cooldown_minutes: + type: integer + example: 5 + description: The number of minutes to wait between scaling events in an autoscale pool. Defaults to 10 minutes. + minimum: 5 + maximum: 20 + required: + - min_instances + - max_instances type: object - description: >- - The scaling configuration for an autoscale pool, which is how the - pool scales up and down (either by resource utilization or static - configuration). + description: The scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration). droplet_template: - $ref: '#/components/schemas/autoscale_pool_droplet_template' + type: object + properties: + name: + type: string + example: my-droplet-name + description: The name(s) to be applied to all Droplets in the autoscale pool. + region: + type: string + example: tor1 + enum: + - nyc1 + - nyc2 + - nyc3 + - ams2 + - ams3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - lon1 + - fra1 + - tor1 + - blr1 + - syd1 + description: The datacenter in which all of the Droplets will be created. + size: + type: string + example: c-2 + description: The Droplet size to be used for all Droplets in the autoscale pool. + image: + type: string + example: ubuntu-20-04-x64 + description: The Droplet image to be used for all Droplets in the autoscale pool. You may specify the slug or the image ID. + ssh_keys: + type: array + items: + type: string + example: + - 88:66:90:d2:68:d5:b5:85:e3:26:26:11:31:57:e6:f8 + description: | + The SSH keys to be installed on the Droplets in the autoscale pool. You can either specify the key ID or the fingerprint. + Requires `ssh_key:read` scope. + tags: + type: array + items: + type: string + example: + - my-tag + description: | + The tags to apply to each of the Droplets in the autoscale pool. + Requires `tag:read` scope. + vpc_uuid: + type: string + description: | + The VPC where the Droplets in the autoscale pool will be created. The VPC must be in the region where you want to create the Droplets. + Requires `vpc:read` scope. + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + with_droplet_agent: + type: boolean + description: Installs the Droplet agent. This must be set to true to monitor Droplets for resource utilization scaling. + example: true + project_id: + type: string + description: | + The project that the Droplets in the autoscale pool will belong to. + Requires `project:read` scope. + example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 + ipv6: + type: boolean + description: Assigns a unique IPv6 address to each of the Droplets in the autoscale pool. + example: true + user_data: + type: string + example: | + #cloud-config + runcmd: + - touch /test.txt + description: A string containing user data that cloud-init consumes to configure a Droplet on first boot. User data is often a cloud-config file or Bash script. It must be plain text and may not exceed 64 KiB in size. + required: + - region + - image + - size + - ssh_keys current_utilization: - $ref: '#/components/schemas/current_utilization' + type: object + properties: + memory: + type: number + format: float + example: 0.3588531587713522 + description: The average memory utilization of the autoscale pool. + minimum: 0 + maximum: 1 + cpu: + type: number + format: float + example: 0.0007338008770232183 + description: The average CPU utilization of the autoscale pool. + minimum: 0 + maximum: 1 created_at: format: date-time title: The creation time of the autoscale pool type: string example: '2020-07-28T18:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the autoscale pool was created. + description: A time value given in ISO8601 combined date and time format that represents when the autoscale pool was created. updated_at: format: date-time title: When the autoscale pool was last updated type: string example: '2020-07-28T18:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the autoscale pool was last updated. + description: A time value given in ISO8601 combined date and time format that represents when the autoscale pool was last updated. status: type: string enum: @@ -13822,9 +15444,7 @@ components: cooldown_minutes: type: integer example: 5 - description: >- - The number of minutes to wait between scaling events in an autoscale - pool. Defaults to 10 minutes. + description: The number of minutes to wait between scaling events in an autoscale pool. Defaults to 10 minutes. minimum: 5 maximum: 20 required: @@ -13863,19 +15483,15 @@ components: image: type: string example: ubuntu-20-04-x64 - description: >- - The Droplet image to be used for all Droplets in the autoscale pool. - You may specify the slug or the image ID. + description: The Droplet image to be used for all Droplets in the autoscale pool. You may specify the slug or the image ID. ssh_keys: type: array items: type: string example: - 88:66:90:d2:68:d5:b5:85:e3:26:26:11:31:57:e6:f8 - description: > - The SSH keys to be installed on the Droplets in the autoscale pool. - You can either specify the key ID or the fingerprint. - + description: | + The SSH keys to be installed on the Droplets in the autoscale pool. You can either specify the key ID or the fingerprint. Requires `ssh_key:read` scope. tags: type: array @@ -13888,17 +15504,13 @@ components: Requires `tag:read` scope. vpc_uuid: type: string - description: > - The VPC where the Droplets in the autoscale pool will be created. - The VPC must be in the region where you want to create the Droplets. - + description: | + The VPC where the Droplets in the autoscale pool will be created. The VPC must be in the region where you want to create the Droplets. Requires `vpc:read` scope. example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 with_droplet_agent: type: boolean - description: >- - Installs the Droplet agent. This must be set to true to monitor - Droplets for resource utilization scaling. + description: Installs the Droplet agent. This must be set to true to monitor Droplets for resource utilization scaling. example: true project_id: type: string @@ -13908,9 +15520,7 @@ components: example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 ipv6: type: boolean - description: >- - Assigns a unique IPv6 address to each of the Droplets in the - autoscale pool. + description: Assigns a unique IPv6 address to each of the Droplets in the autoscale pool. example: true user_data: type: string @@ -13918,11 +15528,7 @@ components: #cloud-config runcmd: - touch /test.txt - description: >- - A string containing user data that cloud-init consumes to configure - a Droplet on first boot. User data is often a cloud-config file or - Bash script. It must be plain text and may not exceed 64 KiB in - size. + description: A string containing user data that cloud-init consumes to configure a Droplet on first boot. User data is often a cloud-config file or Bash script. It must be plain text and may not exceed 64 KiB in size. required: - region - image @@ -13937,16 +15543,12 @@ components: description: The unique identifier of the Droplet. created_at: format: date-time - description: >- - The creation time of the Droplet in ISO8601 combined date and time - format. + description: The creation time of the Droplet in ISO8601 combined date and time format. type: string example: '2020-07-28T18:00:00Z' updated_at: format: date-time - description: >- - The last updated time of the Droplet in ISO8601 combined date and - time format. + description: The last updated time of the Droplet in ISO8601 combined date and time format. type: string example: '2020-07-28T18:00:00Z' health_status: @@ -13963,7 +15565,18 @@ components: description: The power status of the Droplet. example: active current_utilization: - $ref: '#/components/schemas/member_current_utilization' + type: object + properties: + memory: + type: number + format: float + example: 0.3588531587713522 + description: The memory utilization average of the individual Droplet. + cpu: + type: number + format: float + example: 0.0007338008770232183 + description: The CPU utilization average of the individual Droplet. required: - droplet_id - created_at @@ -13985,9 +15598,7 @@ components: desired_instance_count: type: integer example: 2 - description: >- - The target number of Droplets for the autoscale pool after the - scaling event. + description: The target number of Droplets for the autoscale pool after the scaling event. reason: type: string enum: @@ -14006,16 +15617,12 @@ components: example: success created_at: format: date-time - description: >- - The creation time of the history event in ISO8601 combined date and - time format. + description: The creation time of the history event in ISO8601 combined date and time format. type: string example: '2020-07-28T18:00:00Z' updated_at: format: date-time - description: >- - The last updated time of the history event in ISO8601 combined date - and time format. + description: The last updated time of the history event in ISO8601 combined date and time format. type: string example: '2020-07-28T18:00:00Z' required: @@ -14035,17 +15642,11 @@ components: - tcp - udp - icmp - description: >- - The type of traffic to be allowed. This may be one of `tcp`, `udp`, - or `icmp`. + description: The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. example: tcp ports: type: string - description: >- - The ports on which traffic will be allowed specified as a string - containing a single port, a range (e.g. "8000-9000"), or "0" when - all ports are open for a protocol. For ICMP rules this parameter - will always return "0". + description: The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". example: '8000' required: - protocol @@ -14057,10 +15658,7 @@ components: type: array items: type: string - description: >- - An array of strings containing the IPv4 addresses, IPv6 addresses, - IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow - traffic. + description: An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. example: - 1.2.3.4 - 18.0.0.0/8 @@ -14068,58 +15666,48 @@ components: type: array items: type: integer - description: >- - An array containing the IDs of the Droplets to which the firewall - will allow traffic. + description: An array containing the IDs of the Droplets to which the firewall will allow traffic. example: - 8043964 load_balancer_uids: type: array items: type: string - description: >- - An array containing the IDs of the load balancers to which the - firewall will allow traffic. + description: An array containing the IDs of the load balancers to which the firewall will allow traffic. example: - 4de7ac8b-495b-4884-9a69-1050c6793cd6 kubernetes_ids: type: array items: type: string - description: >- - An array containing the IDs of the Kubernetes clusters to which the - firewall will allow traffic. + description: An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. example: - 41b74c5d-9bd0-5555-5555-a57c495b81a3 tags: - allOf: - - $ref: '#/components/schemas/existing_tags_array' - - description: >- - An array containing the names of Tags corresponding to groups of - Droplets to which the firewall will allow traffic. - example: - - frontend + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. + example: + - base-image + - prod + properties: {} image: type: object properties: id: type: integer - description: >- - A unique number that can be used to identify and reference a - specific image. + description: A unique number that can be used to identify and reference a specific image. example: 7555620 readOnly: true name: - $ref: '#/components/schemas/image_name' + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot type: type: string - description: >- - Describes the kind of image. It may be one of `base`, `snapshot`, - `backup`, `custom`, or `admin`. Respectively, this specifies whether - an image is a DigitalOcean base OS image, user-generated Droplet - snapshot, automatically created Droplet backup, user-provided - virtual machine image, or an image used for DigitalOcean managed - resources (e.g. DOKS worker nodes). + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). enum: - base - snapshot @@ -14128,36 +15716,66 @@ components: - admin example: snapshot distribution: - $ref: '#/components/schemas/distribution' + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu slug: type: string nullable: true - description: >- - A uniquely identifying string that is associated with each of the - DigitalOcean-provided public images. These can be used to reference - a public image as an alternative to the numeric id. + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. example: nifty1 public: type: boolean - description: >- - This is a boolean value that indicates whether the image in question - is public or not. An image that is public is available to all - accounts. A non-public image is only accessible from your account. + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. example: true regions: - $ref: '#/components/schemas/regions_array' + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 created_at: type: string format: date-time - description: >- - A time value given in ISO8601 combined date and time format that - represents when the image was created. + description: A time value given in ISO8601 combined date and time format that represents when the image was created. example: '2020-05-04T22:23:02Z' min_disk_size: type: integer - description: >- - The minimum disk size in GB required for a Droplet to use this - image. + description: The minimum disk size in GB required for a Droplet to use this image. example: 20 nullable: true minimum: 0 @@ -14168,14 +15786,22 @@ components: description: The size of the image in gigabytes. example: 2.34 description: - $ref: '#/components/schemas/image_description' + type: string + description: An optional free-form text field to describe an image. + example: ' ' tags: - $ref: '#/components/schemas/tags_array' + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod status: type: string - description: >- - A status string indicating the state of a custom image. This may be - `NEW`, + description: |- + A status string indicating the state of a custom image. This may be `NEW`, `available`, `pending`, `deleted`, or `retired`. enum: - NEW @@ -14186,78 +15812,410 @@ components: example: NEW error_message: type: string - description: >- - A string containing information about errors that may occur when - importing - a custom image. - example: ' ' - region_slug: - type: string - description: >- - The slug identifier for the region where the resource will initially be - available. - enum: - - ams1 - - ams2 - - ams3 - - blr1 - - fra1 - - lon1 - - nyc1 - - nyc2 - - nyc3 - - sfo1 - - sfo2 - - sfo3 - - sgp1 - - tor1 - - syd1 - example: nyc3 - image_name: - type: string - description: >- - The display name that has been given to an image. This is what is shown - in the control panel and is generally a descriptive title for the image - in question. - example: Nifty New Snapshot - distribution: - type: string - description: >- - The name of a custom image's distribution. Currently, the valid values - are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora - Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, - `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, - and `Unknown` will be used in its place. - enum: - - Arch Linux - - CentOS - - CoreOS - - Debian - - Fedora - - Fedora Atomic - - FreeBSD - - Gentoo - - openSUSE - - RancherOS - - Rocky Linux - - Ubuntu - - Unknown - example: Ubuntu - image_description: - type: string - description: An optional free-form text field to describe an image. - example: ' ' - load_balancer_base: + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + region_slug: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + image_name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + image_description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + load_balancer_base: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: A unique ID that can be used to identify and reference a load balancer. + name: + type: string + example: example-lb-01 + description: A human-readable name for a load balancer instance. + project_id: + type: string + example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + ip: + type: string + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + readOnly: true + example: 104.131.186.241 + description: An attribute containing the public-facing IP address of the load balancer. + ipv6: + type: string + readOnly: true + example: 2604:a880:800:14::85f5:c000 + description: An attribute containing the public-facing IPv6 address of the load balancer. + size_unit: + type: integer + default: 1 + minimum: 1 + maximum: 100 + example: 3 + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + size: + type: string + enum: + - lb-small + - lb-medium + - lb-large + deprecated: true + default: lb-small + example: lb-small + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * `lb-small` = 1 node + * `lb-medium` = 3 nodes + * `lb-large` = 6 nodes + + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + algorithm: + type: string + example: round_robin + enum: + - round_robin + - least_connections + deprecated: true + default: round_robin + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. + status: + type: string + example: new + enum: + - new + - active + - errored + readOnly: true + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + created_at: + type: string + format: date-time + readOnly: true + example: '2017-02-01T22:22:58Z' + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + forwarding_rules: + type: array + minItems: 1 + items: + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. + health_check: + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + sticky_sessions: + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + redirect_http_to_https: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + enable_proxy_protocol: + type: boolean + example: true + default: false + description: A boolean value indicating whether PROXY Protocol is in use. + enable_backend_keepalive: + type: boolean + example: true + default: false + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + http_idle_timeout_seconds: + type: integer + example: 90 + default: 60 + minimum: 30 + maximum: 600 + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. + vpc_uuid: + type: string + format: uuid + example: c33931f2-a26a-4e61-b85c-4e95a2ec431b + description: A string specifying the UUID of the VPC to which the load balancer is assigned. + disable_lets_encrypt_dns_records: + type: boolean + example: true + default: false + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + firewall: + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + network: + type: string + example: EXTERNAL + enum: + - EXTERNAL + - INTERNAL + default: EXTERNAL + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. + network_stack: + type: string + example: IPV4 + enum: + - IPV4 + - DUALSTACK + default: IPV4 + description: A string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. + type: + type: string + example: REGIONAL + enum: + - REGIONAL + - REGIONAL_NETWORK + - GLOBAL + default: REGIONAL + description: A string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. + domains: + type: array + items: + type: object + description: An object specifying domain configurations for a Global load balancer. + properties: + name: + type: string + example: example.com + description: FQDN to associate with a Global load balancer. + is_managed: + type: boolean + example: true + description: A boolean value indicating if the domain is already managed by DigitalOcean. If true, all A and AAAA records required to enable Global load balancers will be automatically added. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination. + description: An array of objects specifying the domain configurations for a Global load balancer. + glb_settings: + type: object + description: An object specifying forwarding configurations for a Global load balancer. + properties: + target_protocol: + type: string + enum: + - http + - https + - http2 + example: http + description: The protocol used for forwarding traffic from the load balancer to the target backends. The possible values are `http`, `https` and `http2`. + target_port: + type: integer + example: 80 + description: An integer representing the port on the target backends which the load balancer will forward traffic to. + cdn: + type: object + properties: + is_enabled: + type: boolean + example: true + description: A boolean flag to enable CDN caching. + description: An object specifying CDN configurations for a Global load balancer. + region_priorities: + type: object + additionalProperties: + type: integer + example: + nyc1: 1 + fra1: 2 + sgp1: 3 + description: A map of region string to an integer priority value indicating preference for which regional target a Global load balancer will forward traffic to. A lower value indicates a higher priority. + failover_threshold: + type: integer + example: 50 + description: An integer value as a percentage to indicate failure threshold to decide how the regional priorities will take effect. A value of `50` would indicate that the Global load balancer will choose a lower priority region to forward traffic to once this failure threshold has been reached for the higher priority region. + target_load_balancer_ids: + type: array + items: + type: string + example: + - 7dbf91fe-cbdb-48dc-8290-c3a181554905 + - 996fa239-fac3-42a2-b9a1-9fa822268b7a + description: An array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer. + tls_cipher_policy: + type: string + example: STRONG + enum: + - DEFAULT + - STRONG + default: DEFAULT + description: A string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. + required: + - forwarding_rules + load_balancer: type: object + required: + - forwarding_rules properties: id: type: string format: uuid readOnly: true example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: >- - A unique ID that can be used to identify and reference a load - balancer. + description: A unique ID that can be used to identify and reference a load balancer. name: type: string example: example-lb-01 @@ -14265,40 +16223,25 @@ components: project_id: type: string example: 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: >- - The ID of the project that the load balancer is associated with. If - no ID is provided at creation, the load balancer associates with the - user's default project. If an invalid project ID is provided, the - load balancer will not be created. + description: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. ip: type: string - pattern: >- - ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ readOnly: true example: 104.131.186.241 - description: >- - An attribute containing the public-facing IP address of the load - balancer. + description: An attribute containing the public-facing IP address of the load balancer. ipv6: type: string readOnly: true example: 2604:a880:800:14::85f5:c000 - description: >- - An attribute containing the public-facing IPv6 address of the load - balancer. + description: An attribute containing the public-facing IPv6 address of the load balancer. size_unit: type: integer default: 1 minimum: 1 maximum: 100 example: 3 - description: >- - How many nodes the load balancer contains. Each additional node - increases the load balancer's ability to manage more connections. - Load balancers can be scaled up or down, and you can change the - number of nodes after creation up to once per hour. This field is - currently not available in the AMS2, NYC2, or SFO1 regions. Use the - `size` field to scale load balancers that reside in these regions. + description: How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. size: type: string enum: @@ -14308,21 +16251,13 @@ components: deprecated: true default: lb-small example: lb-small - description: >- - This field has been replaced by the `size_unit` field for all - regions except in AMS2, NYC2, and SFO1. Each available load balancer - size now equates to the load balancer having a set number of nodes. - + description: |- + This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. * `lb-small` = 1 node - * `lb-medium` = 3 nodes - * `lb-large` = 6 nodes - - You can resize load balancers after creation up to once per hour. - You cannot resize a load balancer within the first hour of its - creation. + You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. algorithm: type: string example: round_robin @@ -14331,9 +16266,7 @@ components: - least_connections deprecated: true default: round_robin - description: >- - This field has been deprecated. You can no longer specify an - algorithm for load balancers. + description: This field has been deprecated. You can no longer specify an algorithm for load balancers. status: type: string example: new @@ -14342,36 +16275,133 @@ components: - active - errored readOnly: true - description: >- - A status string indicating the current state of the load balancer. - This can be `new`, `active`, or `errored`. + description: A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. created_at: type: string format: date-time readOnly: true example: '2017-02-01T22:22:58Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the load balancer was created. + description: A time value given in ISO8601 combined date and time format that represents when the load balancer was created. forwarding_rules: type: array minItems: 1 items: - $ref: '#/components/schemas/forwarding_rule' - description: >- - An array of objects specifying the forwarding rules for a load - balancer. + type: object + description: An object specifying a forwarding rule for a load balancer. + properties: + entry_protocol: + type: string + enum: + - http + - https + - http2 + - http3 + - tcp + - udp + example: https + description: | + The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + entry_port: + type: integer + example: 443 + description: An integer representing the port on which the load balancer instance will listen. + target_protocol: + type: string + enum: + - http + - https + - http2 + - tcp + - udp + example: http + description: | + The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + target_port: + type: integer + example: 80 + description: An integer representing the port on the backend Droplets to which the load balancer will send traffic. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination if enabled. + tls_passthrough: + type: boolean + example: false + description: A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + required: + - entry_protocol + - entry_port + - target_protocol + - target_port + description: An array of objects specifying the forwarding rules for a load balancer. health_check: - $ref: '#/components/schemas/health_check' + type: object + description: An object specifying health check settings for the load balancer. + properties: + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + port: + type: integer + default: 80 + example: 80 + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. + path: + type: string + default: / + example: / + description: The path on the backend Droplets to which the load balancer instance will send a request. + check_interval_seconds: + type: integer + default: 10 + example: 10 + description: The number of seconds between between two consecutive health checks. + response_timeout_seconds: + type: integer + default: 5 + example: 5 + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + unhealthy_threshold: + type: integer + default: 5 + example: 5 + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + healthy_threshold: + type: integer + default: 3 + example: 3 + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. sticky_sessions: - $ref: '#/components/schemas/sticky_sessions' + type: object + description: An object specifying sticky sessions settings for the load balancer. + properties: + type: + type: string + enum: + - cookies + - none + example: cookies + default: none + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + cookie_name: + type: string + example: DO-LB + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + cookie_ttl_seconds: + type: integer + example: 300 + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. redirect_http_to_https: type: boolean example: true default: false - description: >- - A boolean value indicating whether HTTP requests to the load - balancer on port 80 will be redirected to HTTPS on port 443. + description: A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. enable_proxy_protocol: type: boolean example: true @@ -14381,35 +16411,46 @@ components: type: boolean example: true default: false - description: >- - A boolean value indicating whether HTTP keepalive connections are - maintained to target Droplets. + description: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. http_idle_timeout_seconds: type: integer example: 90 default: 60 minimum: 30 maximum: 600 - description: >- - An integer value which configures the idle timeout for HTTP requests - to the target droplets. + description: An integer value which configures the idle timeout for HTTP requests to the target droplets. vpc_uuid: type: string format: uuid example: c33931f2-a26a-4e61-b85c-4e95a2ec431b - description: >- - A string specifying the UUID of the VPC to which the load balancer - is assigned. + description: A string specifying the UUID of the VPC to which the load balancer is assigned. disable_lets_encrypt_dns_records: type: boolean example: true default: false - description: >- - A boolean value indicating whether to disable automatic DNS record - creation for Let's Encrypt certificates that are added to the load - balancer. + description: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. firewall: - $ref: '#/components/schemas/lb_firewall' + type: object + description: An object specifying allow and deny rules to control traffic to the load balancer. + properties: + deny: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + allow: + type: array + items: + type: string + example: + - ip:1.2.3.4 + - cidr:2.3.0.0/16 + default: [] + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') network: type: string example: EXTERNAL @@ -14417,11 +16458,7 @@ components: - EXTERNAL - INTERNAL default: EXTERNAL - description: >- - A string indicating whether the load balancer should be external or - internal. Internal load balancers have no public IPs and are only - accessible to resources on the same VPC network. This property - cannot be updated after creating the load balancer. + description: A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. network_stack: type: string example: IPV4 @@ -14429,10 +16466,7 @@ components: - IPV4 - DUALSTACK default: IPV4 - description: >- - A string indicating whether the load balancer will support IPv4 or - both IPv4 and IPv6 networking. This property cannot be updated after - creating the load balancer. + description: A string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. type: type: string example: REGIONAL @@ -14441,20 +16475,63 @@ components: - REGIONAL_NETWORK - GLOBAL default: REGIONAL - description: >- - A string indicating whether the load balancer should be a standard - regional HTTP load balancer, a regional network load balancer that - routes traffic at the TCP/UDP transport layer, or a global load - balancer. + description: A string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. domains: type: array items: - $ref: '#/components/schemas/domains' - description: >- - An array of objects specifying the domain configurations for a - Global load balancer. + type: object + description: An object specifying domain configurations for a Global load balancer. + properties: + name: + type: string + example: example.com + description: FQDN to associate with a Global load balancer. + is_managed: + type: boolean + example: true + description: A boolean value indicating if the domain is already managed by DigitalOcean. If true, all A and AAAA records required to enable Global load balancers will be automatically added. + certificate_id: + type: string + example: 892071a0-bb95-49bc-8021-3afd67a210bf + description: The ID of the TLS certificate used for SSL termination. + description: An array of objects specifying the domain configurations for a Global load balancer. glb_settings: - $ref: '#/components/schemas/glb_settings' + type: object + description: An object specifying forwarding configurations for a Global load balancer. + properties: + target_protocol: + type: string + enum: + - http + - https + - http2 + example: http + description: The protocol used for forwarding traffic from the load balancer to the target backends. The possible values are `http`, `https` and `http2`. + target_port: + type: integer + example: 80 + description: An integer representing the port on the target backends which the load balancer will forward traffic to. + cdn: + type: object + properties: + is_enabled: + type: boolean + example: true + description: A boolean flag to enable CDN caching. + description: An object specifying CDN configurations for a Global load balancer. + region_priorities: + type: object + additionalProperties: + type: integer + example: + nyc1: 1 + fra1: 2 + sgp1: 3 + description: A map of region string to an integer priority value indicating preference for which regional target a Global load balancer will forward traffic to. A lower value indicates a higher priority. + failover_threshold: + type: integer + example: 50 + description: An integer value as a percentage to indicate failure threshold to decide how the regional priorities will take effect. A value of `50` would indicate that the Global load balancer will choose a lower priority region to forward traffic to once this failure threshold has been reached for the higher priority region. target_load_balancer_ids: type: array items: @@ -14462,9 +16539,7 @@ components: example: - 7dbf91fe-cbdb-48dc-8290-c3a181554905 - 996fa239-fac3-42a2-b9a1-9fa822268b7a - description: >- - An array containing the UUIDs of the Regional load balancers to be - used as target backends for a Global load balancer. + description: An array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer. tls_cipher_policy: type: string example: STRONG @@ -14472,68 +16547,90 @@ components: - DEFAULT - STRONG default: DEFAULT - description: >- - A string indicating the policy for the TLS cipher suites used by the - load balancer. The possible values are `DEFAULT` or `STRONG`. The - default value is `DEFAULT`. - required: - - forwarding_rules - load_balancer: - allOf: - - $ref: '#/components/schemas/load_balancer_base' - - type: object - properties: - region: - type: object - allOf: - - description: >- - The region where the load balancer instance is located. When - setting a region, the value should be the slug identifier - for the region. When you query a load balancer, an entire - region object will be returned. - - $ref: '#/components/schemas/region' - - type: object + description: A string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. + region: + type: object + description: The region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned. + required: + - available + - features + - name + - sizes + - slug properties: - droplet_ids: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: type: array items: - type: integer + type: string + description: This attribute is set to an array which contains features available in this region example: - - 3164444 - - 3164445 - description: >- - An array containing the IDs of the Droplets assigned to the load - balancer. - - type: object - properties: - tag: - type: string - example: prod:web - description: >- - The name of a Droplet tag corresponding to Droplets assigned to - the load balancer. + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + droplet_ids: + type: array + items: + type: integer + example: + - 3164444 + - 3164445 + description: An array containing the IDs of the Droplets assigned to the load balancer. + tag: + type: string + example: prod:web + description: The name of a Droplet tag corresponding to Droplets assigned to the load balancer. region: type: object properties: name: type: string - description: >- - The display name of the region. This will be a full name that is - used in the control panel and other interfaces. + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. example: New York 3 slug: type: string - description: >- - A human-readable string that is used as a unique identifier for each - region. + description: A human-readable string that is used as a unique identifier for each region. example: nyc3 features: type: array items: type: string - description: >- - This attribute is set to an array which contains features available - in this region + description: This attribute is set to an array which contains features available in this region example: - private_networking - backups @@ -14544,18 +16641,13 @@ components: - image_transfer available: type: boolean - description: >- - This is a boolean value that represents whether new Droplets can be - created in this region. + description: This is a boolean value that represents whether new Droplets can be created in this region. example: true sizes: type: array items: type: string - description: >- - This attribute is set to an array which contains the identifying - slugs for the sizes available in this region. sizes:read is required - to view. + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. example: - s-1vcpu-1gb - s-1vcpu-2gb @@ -14586,9 +16678,7 @@ components: type: array items: type: integer - description: >- - An array of arrays. Each array will contain a set of Droplet IDs for - Droplets that share a physical server. + description: An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. example: - - 168671828 - 168663509 @@ -14602,44 +16692,634 @@ components: type: string format: ipv4 example: 45.55.96.47 - description: >- - The public IP address of the reserved IP. It also serves as its - identifier. + description: The public IP address of the reserved IP. It also serves as its identifier. region: - allOf: - - $ref: '#/components/schemas/region' - - type: object - description: >- - The region that the reserved IP is reserved to. When you query a - reserved IP, the entire region object will be returned. + type: object + required: + - available + - features + - name + - sizes + - slug + description: The region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned. + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g droplet: - description: >- - The Droplet that the reserved IP has been assigned to. When you - query a reserved IP, if it is assigned to a Droplet, the entire - Droplet object will be returned. If it is not assigned, the value - will be null.

Requires `droplet:read` scope. + description: The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.

Requires `droplet:read` scope. anyOf: - title: 'null' type: object nullable: true - description: >- - If the reserved IP is not assigned to a Droplet, the value will - be null. - - $ref: '#/components/schemas/droplet' + description: If the reserved IP is not assigned to a Droplet, the value will be null. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope. + next_backup_window: + type: object + nullable: true + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope. + image: + type: object + description: The Droplet's image.
Requires `image:read` scope. + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with.
Requires `tag:read` scope. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags example: null locked: type: boolean example: true - description: >- - A boolean value indicating whether or not the reserved IP has - pending actions preventing new ones from being submitted. + description: A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. project_id: type: string format: uuid example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: >- - The UUID of the project to which the reserved IP currently - belongs.

Requires `project:read` scope. + description: The UUID of the project to which the reserved IP currently belongs.

Requires `project:read` scope. reserved_ip_action_type: type: object required: @@ -14667,14 +17347,10 @@ components: type: string format: ipv6 example: 2409:40d0:f7:1017:74b4:3a96:105e:4c6e - description: >- - The public IP address of the reserved IPv6. It also serves as - its identifier. + description: The public IP address of the reserved IPv6. It also serves as its identifier. region_slug: type: string - description: >- - The region that the reserved IPv6 is reserved to. When you - query a reserved IPv6,the region_slug will be returned. + description: The region that the reserved IPv6 is reserved to. When you query a reserved IPv6,the region_slug will be returned. example: nyc3 reserved_at: type: string @@ -14686,10 +17362,562 @@ components: - title: 'null' type: object nullable: true - description: >- - If the reserved IP is not assigned to a Droplet, the value - will be null.

Requires `droplet:read` scope. - - $ref: '#/components/schemas/droplet' + description: If the reserved IP is not assigned to a Droplet, the value will be null.

Requires `droplet:read` scope. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope. + next_backup_window: + type: object + nullable: true + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope. + image: + type: object + description: The Droplet's image.
Requires `image:read` scope. + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with.
Requires `tag:read` scope. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags example: null type: object reserved_ipv6: @@ -14699,9 +17927,7 @@ components: type: string format: ipv6 example: 2409:40d0:f7:1017:74b4:3a96:105e:4c6e - description: >- - The public IP address of the reserved IPv6. It also serves as its - identifier. + description: The public IP address of the reserved IPv6. It also serves as its identifier. reserved_at: type: string format: date-time @@ -14709,19 +17935,569 @@ components: description: The date and time when the reserved IPv6 was reserved. region_slug: type: string - description: >- - The region that the reserved IPv6 is reserved to. When you query a - reserved IPv6,the region_slug will be returned. + description: The region that the reserved IPv6 is reserved to. When you query a reserved IPv6,the region_slug will be returned. example: nyc3 droplet: anyOf: - title: 'null' type: object nullable: true - description: >- - If the reserved IP is not assigned to a Droplet, the value will - be null.

Requires `droplet:read` scope. - - $ref: '#/components/schemas/droplet' + description: If the reserved IP is not assigned to a Droplet, the value will be null.

Requires `droplet:read` scope. + - type: object + properties: + id: + type: integer + example: 3164444 + description: A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + name: + type: string + example: example.com + description: The human-readable name set for the Droplet instance. + memory: + type: integer + multipleOf: 8 + example: 1024 + description: Memory of the Droplet in megabytes. + vcpus: + type: integer + example: 1 + description: The number of virtual CPUs. + disk: + type: integer + example: 25 + description: The size of the Droplet's disk in gigabytes. + disk_info: + type: array + description: An array of objects containing information about the disks available to the Droplet. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + locked: + type: boolean + example: false + description: A boolean value indicating whether the Droplet has been locked, preventing actions by users. + status: + type: string + enum: + - new + - active + - 'off' + - archive + example: active + description: A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + kernel: + type: object + description: | + **Note**: All Droplets created after March 2017 use internal kernels by default. + These Droplets will have this attribute set to `null`. + + The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) + for Droplets with externally managed kernels. This will initially be set to + the kernel of the base image when the Droplet is created. + nullable: true + deprecated: true + properties: + id: + type: integer + example: 7515 + description: A unique number used to identify and reference a specific kernel. + name: + type: string + example: DigitalOcean GrubLoader v0.2 (20160714) + description: The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + version: + type: string + example: 2016.07.13-DigitalOcean_loader_Ubuntu + description: A standard kernel version string representing the version, patch, and release information. + created_at: + type: string + format: date-time + example: '2020-07-21T18:37:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + features: + type: array + items: + type: string + example: + - backups + - private_networking + - ipv6 + description: An array of features enabled on this Droplet. + backup_ids: + type: array + items: + type: integer + example: + - 53893572 + description: An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope. + next_backup_window: + type: object + nullable: true + description: The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + properties: + start: + type: string + format: date-time + example: '2019-12-04T00:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + end: + type: string + format: date-time + example: '2019-12-04T23:00:00Z' + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + snapshot_ids: + type: array + items: + type: integer + example: + - 67512819 + description: An array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope. + image: + type: object + description: The Droplet's image.
Requires `image:read` scope. + properties: + id: + type: integer + description: A unique number that can be used to identify and reference a specific image. + example: 7555620 + readOnly: true + name: + type: string + description: The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + example: Nifty New Snapshot + type: + type: string + description: Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + enum: + - base + - snapshot + - backup + - custom + - admin + example: snapshot + distribution: + type: string + description: The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + enum: + - Arch Linux + - CentOS + - CoreOS + - Debian + - Fedora + - Fedora Atomic + - FreeBSD + - Gentoo + - openSUSE + - RancherOS + - Rocky Linux + - Ubuntu + - Unknown + example: Ubuntu + slug: + type: string + nullable: true + description: A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + example: nifty1 + public: + type: boolean + description: This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + example: true + regions: + type: array + items: + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + example: + - nyc1 + - nyc2 + created_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the image was created. + example: '2020-05-04T22:23:02Z' + min_disk_size: + type: integer + description: The minimum disk size in GB required for a Droplet to use this image. + example: 20 + nullable: true + minimum: 0 + size_gigabytes: + type: number + format: float + nullable: true + description: The size of the image in gigabytes. + example: 2.34 + description: + type: string + description: An optional free-form text field to describe an image. + example: ' ' + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod + status: + type: string + description: |- + A status string indicating the state of a custom image. This may be `NEW`, + `available`, `pending`, `deleted`, or `retired`. + enum: + - NEW + - available + - pending + - deleted + - retired + example: NEW + error_message: + type: string + description: |- + A string containing information about errors that may occur when importing + a custom image. + example: ' ' + volume_ids: + type: array + items: + type: string + example: + - 506f78a4-e098-11e5-ad9f-000f53306ae1 + description: A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope. + size: + type: object + properties: + slug: + type: string + example: s-1vcpu-1gb + description: A human-readable string that is used to uniquely identify each size. + memory: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + vcpus: + type: integer + example: 1 + description: The number of CPUs allocated to Droplets of this size. + disk: + type: integer + example: 25 + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + transfer: + type: number + format: float + example: 1 + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + price_monthly: + type: number + format: float + example: 5 + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + price_hourly: + type: number + format: float + example: 0.00743999984115362 + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + regions: + type: array + items: + type: string + example: + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + description: An array containing the region slugs where this size is available for Droplet creates. + available: + type: boolean + default: true + example: true + description: This is a boolean value that represents whether new Droplets can be created with this size. + description: + type: string + example: Basic + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' + disk_info: + type: array + description: An array of objects containing information about the disks available to Droplets created with this size. + items: + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - available + - disk + - memory + - price_hourly + - price_monthly + - regions + - slug + - transfer + - vcpus + - description + size_slug: + type: string + example: s-1vcpu-1gb + description: The unique slug identifier for the size of this Droplet. + networks: + type: object + description: The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + properties: + v4: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv4 + example: 104.236.32.182 + description: The IP address of the IPv4 network interface. + netmask: + type: string + format: ipv4 + example: 255.255.192.0 + description: The netmask of the IPv4 network interface. + gateway: + type: string + example: 104.236.0.1 + description: | + The gateway of the specified IPv4 network interface. + + For private interfaces, a gateway is not provided. This is denoted by + returning `nil` as its value. + type: + type: string + enum: + - public + - private + example: public + description: The type of the IPv4 network interface. + v6: + type: array + items: + type: object + properties: + ip_address: + type: string + format: ipv6 + example: 2604:a880:0:1010::18a:a001 + description: The IP address of the IPv6 network interface. + netmask: + type: integer + example: 64 + description: The netmask of the IPv6 network interface. + gateway: + type: string + format: ipv6 + example: 2604:a880:0:1010::1 + description: The gateway of the specified IPv6 network interface. + type: + type: string + enum: + - public + example: public + description: | + The type of the IPv6 network interface. + + **Note**: IPv6 private networking is not currently supported. + region: + type: object + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + tags: + type: array + items: + type: string + example: + - web + - env:prod + description: An array of Tags the Droplet has been tagged with.
Requires `tag:read` scope. + vpc_uuid: + type: string + example: 760e09ef-dc84-11e8-981e-3cfdfeaae000 + description: A string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. + gpu_info: + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib + required: + - id + - name + - memory + - vcpus + - disk + - locked + - status + - created_at + - features + - backup_ids + - next_backup_window + - snapshot_ids + - image + - volume_ids + - size + - size_slug + - networks + - region + - tags example: null reserved_ipv6_action_type: type: object @@ -14751,9 +18527,7 @@ components: multipleOf: 8 minimum: 8 example: 1024 - description: >- - The amount of RAM allocated to Droplets created of this size. The - value is represented in megabytes. + description: The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. vcpus: type: integer example: 1 @@ -14761,32 +18535,22 @@ components: disk: type: integer example: 25 - description: >- - The amount of disk space set aside for Droplets of this size. The - value is represented in gigabytes. + description: The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. transfer: type: number format: float example: 1 - description: >- - The amount of transfer bandwidth that is available for Droplets - created in this size. This only counts traffic on the public - interface. The value is given in terabytes. + description: The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. price_monthly: type: number format: float example: 5 - description: >- - This attribute describes the monthly cost of this Droplet size if - the Droplet is kept for an entire month. The value is measured in US - dollars. + description: This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. price_hourly: type: number format: float example: 0.00743999984115362 - description: >- - This describes the price of the Droplet size as measured hourly. The - value is measured in US dollars. + description: This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. regions: type: array items: @@ -14805,32 +18569,63 @@ components: - sfo3 - sgp1 - tor1 - description: >- - An array containing the region slugs where this size is available - for Droplet creates. + description: An array containing the region slugs where this size is available for Droplet creates. available: type: boolean default: true example: true - description: >- - This is a boolean value that represents whether new Droplets can be - created with this size. + description: This is a boolean value that represents whether new Droplets can be created with this size. description: type: string example: Basic - description: >- - A string describing the class of Droplets created from this size. - For example: Basic, General Purpose, CPU-Optimized, - Memory-Optimized, or Storage-Optimized. + description: 'A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized.' disk_info: type: array - description: >- - An array of objects containing information about the disks available - to Droplets created with this size. + description: An array of objects containing information about the disks available to Droplets created with this size. items: - $ref: '#/components/schemas/disk_info' + type: object + properties: + type: + type: string + enum: + - local + - scratch + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. + example: local + size: + type: object + properties: + amount: + type: integer + description: The amount of space allocated to the disk. + example: 25 + unit: + type: string + description: The unit of measure for the disk size. + example: gib gpu_info: - $ref: '#/components/schemas/gpu_info' + type: object + description: An object containing information about the GPU capabilities of Droplets created with this size. + properties: + count: + type: integer + description: The number of GPUs allocated to the Droplet. + example: 1 + model: + type: string + description: The model of the GPU. + example: nvidia_h100 + vram: + type: object + properties: + amount: + type: integer + description: The amount of VRAM allocated to the GPU. + example: 25 + unit: + type: string + description: The unit of measure for the VRAM. + example: gib required: - available - disk @@ -14843,51 +18638,63 @@ components: - vcpus - description snapshots: - allOf: - - type: object - properties: - id: - type: string - example: '6372321' - description: The unique identifier for the snapshot. - required: - - id - - $ref: '#/components/schemas/snapshots_base' - - type: object - properties: - resource_id: - type: string - example: '200776916' - description: >- - The unique identifier for the resource that the snapshot - originated from. - resource_type: - type: string - enum: - - droplet - - volume - example: droplet - description: The type of resource that the snapshot originated from. - tags: - description: >- - An array of Tags the snapshot has been tagged - with.

Requires `tag:read` scope. - type: array - items: - type: string - nullable: true - example: - - web - - env:prod - required: - - resource_id - - resource_type - - tags + type: object + required: + - id + properties: + id: + type: string + example: '6372321' + description: The unique identifier for the snapshot. + name: + type: string + example: web-01-1595954862243 + description: A human-readable name for the snapshot. + created_at: + type: string + format: date-time + example: '2020-07-28T16:47:44Z' + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + regions: + type: array + items: + type: string + example: + - nyc3 + - sfo3 + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + min_disk_size: + type: integer + example: 25 + description: The minimum size in GB required for a volume or Droplet to use this snapshot. + size_gigabytes: + type: number + format: float + example: 2.34 + description: The billable size of the snapshot in gigabytes. + resource_id: + type: string + example: '200776916' + description: The unique identifier for the resource that the snapshot originated from. + resource_type: + type: string + enum: + - droplet + - volume + example: droplet + description: The type of resource that the snapshot originated from. + tags: + description: An array of Tags the snapshot has been tagged with.

Requires `tag:read` scope. + type: array + items: + type: string + nullable: true + example: + - web + - env:prod tags_metadata: type: object - description: >- - Tagged Resource Statistics include metadata regarding the resource type - that has been tagged. + description: Tagged Resource Statistics include metadata regarding the resource type that has been tagged. properties: count: type: integer @@ -14913,9 +18720,7 @@ components: nullable: true example: null root_causes: - description: >- - A list of underlying causes for the error, including details to - help resolve it when possible. + description: A list of underlying causes for the error, including details to help resolve it when possible. type: array items: type: string @@ -14925,51 +18730,134 @@ components: - root_causes volume_full: type: object - allOf: - - $ref: '#/components/schemas/volume_base_read' - - properties: - region: - allOf: - - description: >- - The region that the block storage volume is located in. When - setting a region, the value should be the slug identifier - for the region. When you query a block storage volume, the - entire region object will be returned. - - $ref: '#/components/schemas/region' - example: - name: New York 1 - slug: nyc1 - sizes: - - s-1vcpu-1gb - - s-1vcpu-2gb - - s-1vcpu-3gb - - s-2vcpu-2gb - - s-3vcpu-1gb - - s-2vcpu-4gb - - s-4vcpu-8gb - - s-6vcpu-16gb - - s-8vcpu-32gb - - s-12vcpu-48gb - - s-16vcpu-64gb - - s-20vcpu-96gb - - s-24vcpu-128gb - - s-32vcpu-192gb - features: - - private_networking - - backups - - ipv6 - - metadata - available: true - readOnly: true - filesystem_type: + properties: + id: + type: string + description: The unique identifier for the block storage volume. + example: 506f78a4-e098-11e5-ad9f-000f53306ae1 + readOnly: true + droplet_ids: + type: array + items: + type: integer + nullable: true + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + example: [] + readOnly: true + name: + type: string + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + example: example + description: + type: string + description: An optional free-form text field to describe a block storage volume. + example: Block store for examples + size_gigabytes: + type: integer + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + example: 10 + created_at: + type: string + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + example: '2020-03-02T17:00:49Z' + readOnly: true + tags: + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. + example: + - base-image + - prod + region: + example: + name: New York 1 + slug: nyc1 + sizes: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192gb + features: + - private_networking + - backups + - ipv6 + - metadata + available: true + readOnly: true + description: The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. + type: object + required: + - available + - features + - name + - sizes + - slug + properties: + name: type: string - description: The type of filesystem currently in-use on the volume. - example: ext4 - filesystem_label: + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: type: string - description: The label currently applied to the filesystem. - example: example - type: object + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + filesystem_type: + type: string + description: The type of filesystem currently in-use on the volume. + example: ext4 + filesystem_label: + type: string + description: The label currently applied to the filesystem. + example: example volume_base: type: object properties: @@ -14983,18 +18871,12 @@ components: items: type: integer nullable: true - description: >- - An array containing the IDs of the Droplets the volume is attached - to. Note that at this time, a volume can only be attached to a - single Droplet. + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. example: [] readOnly: true name: type: string - description: >- - A human-readable name for the block storage volume. Must be - lowercase and be composed only of numbers, letters and "-", up to a - limit of 64 characters. The name must begin with a letter. + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. example: example description: type: string @@ -15002,26 +18884,27 @@ components: example: Block store for examples size_gigabytes: type: integer - description: >- - The size of the block storage volume in GiB (1024^3). This field - does not apply when creating a volume from a snapshot. + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. example: 10 created_at: type: string - description: >- - A time value given in ISO8601 combined date and time format that - represents when the block storage volume was created. + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. example: '2020-03-02T17:00:49Z' readOnly: true tags: - $ref: '#/components/schemas/tags_array' + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope. + example: + - base-image + - prod volume_snapshot_id: properties: snapshot_id: type: string - description: >- - The unique identifier for the volume snapshot from which to create - the volume. + description: The unique identifier for the volume snapshot from which to create the volume. example: b0798135-fb76-11eb-946a-0a58ac146f33 type: object volume_write_file_system_type: @@ -15029,22 +18912,11 @@ components: properties: filesystem_type: type: string - description: >- - The name of the filesystem type to be used on the volume. When - provided, the volume will automatically be formatted to the - specified filesystem type. Currently, the available options are - `ext4` and `xfs`. Pre-formatted volumes are automatically mounted - when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS - Droplets created on or after April 26, 2018. Attaching pre-formatted - volumes to other Droplets is not recommended. + description: The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. example: ext4 volume_write_file_system_label: type: string - description: >- - The label applied to the filesystem. Labels for ext4 type filesystems - may contain 16 characters while labels for xfs type filesystems are - limited to 12 characters. May only be used in conjunction with - filesystem_type. + description: The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. example: example volume_action_post_base: type: object @@ -15058,41 +18930,137 @@ components: - resize example: attach region: - $ref: '#/components/schemas/region_slug' + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 required: - type volume_action_droplet_id: type: integer - description: >- - The unique identifier for the Droplet the volume will be attached or - detached from. + description: The unique identifier for the Droplet the volume will be attached or detached from. example: 11612190 volumeAction: type: object - allOf: - - properties: - type: - type: string - description: >- - This is the type of action that the object represents. For - example, this could be "attach_volume" to represent the state of - a volume attach action. - example: attach_volume - resource_id: - type: integer - nullable: true - example: null + properties: + type: + type: string + description: This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + example: create + resource_id: + type: integer + nullable: true + description: A unique identifier for the resource that the action is associated with. + example: 3164444 + id: + type: integer + description: A unique numeric ID that can be used to identify and reference an action. + example: 36804636 + status: + type: string + description: The current status of the action. This can be "in-progress", "completed", or "errored". + enum: + - in-progress + - completed + - errored + example: completed + default: in-progress + started_at: + type: string + format: date-time + description: A time value given in ISO8601 combined date and time format that represents when the action was initiated. + example: '2020-11-14T16:29:21Z' + completed_at: + type: string + format: date-time + nullable: true + description: A time value given in ISO8601 combined date and time format that represents when the action was completed. + example: '2020-11-14T16:30:06Z' + resource_type: + type: string + description: The type of resource that the action is associated with. + example: droplet + region: type: object - - $ref: '#/components/schemas/action' + properties: + name: + type: string + description: The display name of the region. This will be a full name that is used in the control panel and other interfaces. + example: New York 3 + slug: + type: string + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 + features: + type: array + items: + type: string + description: This attribute is set to an array which contains features available in this region + example: + - private_networking + - backups + - ipv6 + - metadata + - install_agent + - storage + - image_transfer + available: + type: boolean + description: This is a boolean value that represents whether new Droplets can be created in this region. + example: true + sizes: + type: array + items: + type: string + description: This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + example: + - s-1vcpu-1gb + - s-1vcpu-2gb + - s-1vcpu-3gb + - s-2vcpu-2gb + - s-3vcpu-1gb + - s-2vcpu-4gb + - s-4vcpu-8gb + - s-6vcpu-16gb + - s-8vcpu-32gb + - s-12vcpu-48gb + - s-16vcpu-64gb + - s-20vcpu-96gb + - s-24vcpu-128gb + - s-32vcpu-192g + required: + - available + - features + - name + - sizes + - slug + region_slug: + type: string + nullable: true + description: A human-readable string that is used as a unique identifier for each region. + example: nyc3 vpc_nat_gateway_get: type: object properties: id: type: string example: 70e1b58d-cdec-4e95-b3ee-2d4d95feff51 - description: >- - The unique identifier for the VPC NAT gateway. This is automatically - generated upon creation. + description: The unique identifier for the VPC NAT gateway. This is automatically generated upon creation. name: type: string example: my-vpc-nat-gateway @@ -15146,9 +19114,7 @@ components: vpc_uuid: type: string example: 0d3db13e-a604-4944-9827-7ec2642d32ac - description: >- - The unique identifier of the VPC to which the NAT gateway is - attached. + description: The unique identifier of the VPC to which the NAT gateway is attached. gateway_ip: type: string example: 10.118.0.35 @@ -15185,24 +19151,38 @@ components: title: The creation time of the VPC NAT gateway. type: string example: '2020-07-28T18:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the VPC NAT gateway was created. + description: A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was created. updated_at: format: date-time title: The last update time of the VPC NAT gateway. type: string example: '2020-07-28T18:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the VPC NAT gateway was last updated. + description: A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was last updated. page_links: type: object properties: pages: anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 - {} example: pages: @@ -15224,9 +19204,7 @@ components: enum: - local - scratch - description: >- - The type of disk. All Droplets contain a `local` disk. Additionally, - GPU Droplets can also have a `scratch` disk for non-persistent data. + description: The type of disk. All Droplets contain a `local` disk. Additionally, GPU Droplets can also have a `scratch` disk for non-persistent data. example: local size: type: object @@ -15247,16 +19225,12 @@ components: type: string format: date-time example: '2019-12-04T00:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format - specifying the start of the Droplet's backup window. + description: A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. end: type: string format: date-time example: '2019-12-04T23:00:00Z' - description: >- - A time value given in ISO8601 combined date and time format - specifying the end of the Droplet's backup window. + description: A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. network_v4: type: object properties: @@ -15273,13 +19247,10 @@ components: gateway: type: string example: 104.236.0.1 - description: > + description: | The gateway of the specified IPv4 network interface. - - For private interfaces, a gateway is not provided. This is denoted - by - + For private interfaces, a gateway is not provided. This is denoted by returning `nil` as its value. type: type: string @@ -15316,9 +19287,7 @@ components: **Note**: IPv6 private networking is not currently supported. gpu_info: type: object - description: >- - An object containing information about the GPU capabilities of Droplets - created with this size. + description: An object containing information about the GPU capabilities of Droplets created with this size. properties: count: type: integer @@ -15350,9 +19319,7 @@ components: type: string format: date-time example: '2020-07-28T16:47:44Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the snapshot was created. + description: A time value given in ISO8601 combined date and time format that represents when the snapshot was created. regions: type: array items: @@ -15360,15 +19327,11 @@ components: example: - nyc3 - sfo3 - description: >- - An array of the regions that the snapshot is available in. The - regions are represented by their identifying slug values. + description: An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. min_disk_size: type: integer example: 25 - description: >- - The minimum size in GB required for a volume or Droplet to use this - snapshot. + description: The minimum size in GB required for a volume or Droplet to use this snapshot. size_gigabytes: type: number format: float @@ -15382,9 +19345,7 @@ components: - size_gigabytes destroyed_associated_resource: type: object - description: >- - An object containing information about a resource scheduled for - deletion. + description: An object containing information about a resource scheduled for deletion. properties: id: type: string @@ -15398,16 +19359,11 @@ components: type: string format: date-time example: '2020-04-01T18:11:49Z' - description: >- - A time value given in ISO8601 combined date and time format - indicating when the resource was destroyed if the request was - successful. + description: A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. error_message: type: string example: ' ' - description: >- - A string indicating that the resource was not successfully destroyed - and providing additional information. + description: A string indicating that the resource was not successfully destroyed and providing additional information. current_utilization: type: object properties: @@ -15441,10 +19397,26 @@ components: regions_array: type: array items: - $ref: '#/components/schemas/region_slug' - description: >- - This attribute is an array of the regions that the image is available - in. The regions are represented by their identifying slug values. + type: string + description: The slug identifier for the region where the resource will initially be available. + enum: + - ams1 + - ams2 + - ams3 + - blr1 + - fra1 + - lon1 + - nyc1 + - nyc2 + - nyc3 + - sfo1 + - sfo2 + - sfo3 + - sgp1 + - tor1 + - syd1 + example: nyc3 + description: This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. example: - nyc1 - nyc2 @@ -15460,23 +19432,17 @@ components: - tcp default: http example: http - description: >- - The protocol used for health checks sent to the backend Droplets. - The possible values are `http`, `https`, or `tcp`. + description: The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. port: type: integer default: 80 example: 80 - description: >- - An integer representing the port on the backend Droplets on which - the health check will attempt a connection. + description: An integer representing the port on the backend Droplets on which the health check will attempt a connection. path: type: string default: / example: / - description: >- - The path on the backend Droplets to which the load balancer instance - will send a request. + description: The path on the backend Droplets to which the load balancer instance will send a request. check_interval_seconds: type: integer default: 10 @@ -15486,23 +19452,17 @@ components: type: integer default: 5 example: 5 - description: >- - The number of seconds the load balancer instance will wait for a - response until marking a health check as failed. + description: The number of seconds the load balancer instance will wait for a response until marking a health check as failed. unhealthy_threshold: type: integer default: 5 example: 5 - description: >- - The number of times a health check must fail for a backend Droplet - to be marked "unhealthy" and be removed from the pool. + description: The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. healthy_threshold: type: integer default: 3 example: 3 - description: >- - The number of times a health check must pass for a backend Droplet - to be marked "healthy" and be re-added to the pool. + description: The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. sticky_sessions: type: object description: An object specifying sticky sessions settings for the load balancer. @@ -15514,28 +19474,18 @@ components: - none example: cookies default: none - description: >- - An attribute indicating how and if requests from a client will be - persistently served by the same backend Droplet. The possible values - are `cookies` or `none`. + description: An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. cookie_name: type: string example: DO-LB - description: >- - The name of the cookie sent to the client. This attribute is only - returned when using `cookies` for the sticky sessions type. + description: The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. cookie_ttl_seconds: type: integer example: 300 - description: >- - The number of seconds until the cookie set by the load balancer - expires. This attribute is only returned when using `cookies` for - the sticky sessions type. + description: The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. lb_firewall: type: object - description: >- - An object specifying allow and deny rules to control traffic to the load - balancer. + description: An object specifying allow and deny rules to control traffic to the load balancer. properties: deny: type: array @@ -15545,9 +19495,7 @@ components: - ip:1.2.3.4 - cidr:2.3.0.0/16 default: [] - description: >- - the rules for denying traffic to the load balancer (in the form - 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + description: the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') allow: type: array items: @@ -15556,9 +19504,7 @@ components: - ip:1.2.3.4 - cidr:2.3.0.0/16 default: [] - description: >- - the rules for allowing traffic to the load balancer (in the form - 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + description: the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') domains: type: object description: An object specifying domain configurations for a Global load balancer. @@ -15570,19 +19516,14 @@ components: is_managed: type: boolean example: true - description: >- - A boolean value indicating if the domain is already managed by - DigitalOcean. If true, all A and AAAA records required to enable - Global load balancers will be automatically added. + description: A boolean value indicating if the domain is already managed by DigitalOcean. If true, all A and AAAA records required to enable Global load balancers will be automatically added. certificate_id: type: string example: 892071a0-bb95-49bc-8021-3afd67a210bf description: The ID of the TLS certificate used for SSL termination. glb_settings: type: object - description: >- - An object specifying forwarding configurations for a Global load - balancer. + description: An object specifying forwarding configurations for a Global load balancer. properties: target_protocol: type: string @@ -15591,16 +19532,11 @@ components: - https - http2 example: http - description: >- - The protocol used for forwarding traffic from the load balancer to - the target backends. The possible values are `http`, `https` and - `http2`. + description: The protocol used for forwarding traffic from the load balancer to the target backends. The possible values are `http`, `https` and `http2`. target_port: type: integer example: 80 - description: >- - An integer representing the port on the target backends which the - load balancer will forward traffic to. + description: An integer representing the port on the target backends which the load balancer will forward traffic to. cdn: type: object properties: @@ -15617,19 +19553,11 @@ components: nyc1: 1 fra1: 2 sgp1: 3 - description: >- - A map of region string to an integer priority value indicating - preference for which regional target a Global load balancer will - forward traffic to. A lower value indicates a higher priority. + description: A map of region string to an integer priority value indicating preference for which regional target a Global load balancer will forward traffic to. A lower value indicates a higher priority. failover_threshold: type: integer example: 50 - description: >- - An integer value as a percentage to indicate failure threshold to - decide how the regional priorities will take effect. A value of `50` - would indicate that the Global load balancer will choose a lower - priority region to forward traffic to once this failure threshold - has been reached for the higher priority region. + description: An integer value as a percentage to indicate failure threshold to decide how the regional priorities will take effect. A value of `50` would indicate that the Global load balancer will choose a lower priority region to forward traffic to once this failure threshold has been reached for the higher priority region. volume_base_read: type: object properties: @@ -15643,18 +19571,12 @@ components: items: type: integer nullable: true - description: >- - An array containing the IDs of the Droplets the volume is attached - to. Note that at this time, a volume can only be attached to a - single Droplet. + description: An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. example: [] readOnly: true name: type: string - description: >- - A human-readable name for the block storage volume. Must be - lowercase and be composed only of numbers, letters and "-", up to a - limit of 64 characters. The name must begin with a letter. + description: A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. example: example description: type: string @@ -15662,35 +19584,50 @@ components: example: Block store for examples size_gigabytes: type: integer - description: >- - The size of the block storage volume in GiB (1024^3). This field - does not apply when creating a volume from a snapshot. + description: The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. example: 10 created_at: type: string - description: >- - A time value given in ISO8601 combined date and time format that - represents when the block storage volume was created. + description: A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. example: '2020-03-02T17:00:49Z' readOnly: true tags: - $ref: '#/components/schemas/tags_array_read' + type: array + items: + type: string + nullable: true + description: A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. + example: + - base-image + - prod forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' + type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' + type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 tags_array_read: type: array items: type: string nullable: true - description: >- - A flat array of tag names as strings applied to the resource. -

Requires `tag:read` scope. + description: A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. example: - base-image - prod @@ -15724,10 +19661,7 @@ components: example: https://api.digitalocean.com/v2/images?page=1 responses: sshKeys_all: - description: >- - A JSON object with the key set to `ssh_keys`. The value is an array of - `ssh_key` objects, each of which contains the standard `ssh_key` - attributes. + description: A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -15751,10 +19685,7 @@ components: ssh_keys: - id: 289794 fingerprint: 3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45 - public_key: >- - ssh-rsa - ANOTHEREXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V - anotherexample + public_key: ssh-rsa ANOTHEREXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V anotherexample name: Other Public Key links: {} meta: @@ -15849,9 +19780,7 @@ components: sshKeys_delete_by_fingerprint: $ref: '#/components/links/sshKeys_delete_by_fingerprint' sshKeys_existing: - description: >- - A JSON object with the key set to `ssh_key`. The value is an `ssh_key` - object containing the standard `ssh_key` attributes. + description: A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -15901,10 +19830,7 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' all_cdn_endpoints: - description: >- - The result will be a JSON object with an `endpoints` key. This will be - set to an array of endpoint objects, each of which will contain the - standard CDN endpoint attributes. + description: The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -15937,9 +19863,7 @@ components: meta: total: 1 existing_endpoint: - description: >- - The response will be a JSON object with an `endpoint` key. This will be - set to an object containing the standard CDN endpoint attributes. + description: The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -15974,10 +19898,7 @@ components: custom_domain: static.example.com ttl: 3600 all_certificates: - description: >- - The result will be a JSON object with a `certificates` key. This will be - set to an array of certificate objects, each of which will contain the - standard certificate attributes. + description: The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16001,15 +19922,9 @@ components: AllCertificates: $ref: '#/components/examples/certificates_all' new_certificate: - description: >- - The response will be a JSON object with a key called `certificate`. The - value of this will be an object that contains the standard attributes - associated with a certificate. - - When using Let's Encrypt, the initial value of the certificate's `state` - attribute will be `pending`. When the certificate has been successfully - issued by Let's Encrypt, this will transition to `verified` and be ready - for use. + description: |- + The response will be a JSON object with a key called `certificate`. The value of this will be an object that contains the standard attributes associated with a certificate. + When using Let's Encrypt, the initial value of the certificate's `state` attribute will be `pending`. When the certificate has been successfully issued by Let's Encrypt, this will transition to `verified` and be ready for use. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16030,9 +19945,7 @@ components: Let's Encrypt Certificate: $ref: '#/components/examples/certificates_lets_encrypt_pending' existing_certificate: - description: >- - The response will be a JSON object with a `certificate` key. This will - be set to an object containing the standard certificate attributes. + description: The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16053,10 +19966,7 @@ components: Let's Encrypt Certificate: $ref: '#/components/examples/certificates_lets_encrypt' all_domains_response: - description: >- - The response will be a JSON object with a key called `domains`. The - value of this will be an array of Domain objects, each of which contain - the standard domain attributes. + description: The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16083,29 +19993,19 @@ components: domains: - name: example.com ttl: 1800 - zone_file: > + zone_file: | $ORIGIN example.com. - $TTL 1800 - - example.com. IN SOA ns1.digitalocean.com. - hostmaster.example.com. 1415982609 10800 3600 604800 1800 - + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 example.com. 1800 IN NS ns1.digitalocean.com. - example.com. 1800 IN NS ns2.digitalocean.com. - example.com. 1800 IN NS ns3.digitalocean.com. - example.com. 1800 IN A 1.2.3.4 links: {} meta: total: 1 create_domain_response: - description: >- - The response will be a JSON object with a key called `domain`. The value - of this will be an object that contains the standard attributes - associated with a domain. + description: The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes associated with a domain. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16126,10 +20026,7 @@ components: zone_file: null type: object existing_domain: - description: >- - The response will be a JSON object with a key called `domain`. The value - of this will be an object that contains the standard attributes defined - for a domain. + description: The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16147,30 +20044,17 @@ components: domain: name: example.com ttl: 1800 - zone_file: > + zone_file: | $ORIGIN example.com. - $TTL 1800 - - example.com. IN SOA ns1.digitalocean.com. - hostmaster.example.com. 1415982611 10800 3600 604800 1800 - + example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982611 10800 3600 604800 1800 example.com. 1800 IN NS ns1.digitalocean.com. - example.com. 1800 IN NS ns2.digitalocean.com. - example.com. 1800 IN NS ns3.digitalocean.com. - example.com. 1800 IN A 1.2.3.4 type: object all_domain_records_response: - description: >- - The response will be a JSON object with a key called `domain_records`. - The value of this will be an array of domain record objects, each of - which contains the standard domain record attributes. For attributes - that are not used by a specific record type, a value of `null` will be - returned. For instance, all records other than SRV will have `null` for - the `weight` and `port` attributes. + description: The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16194,12 +20078,7 @@ components: All Domain Records: $ref: '#/components/examples/domain_records_all' created_domain_record: - description: >- - The response body will be a JSON object with a key called - `domain_record`. The value of this will be an object representing the - new record. Attributes that are not applicable for the record type will - be set to `null`. An `id` attribute is generated for each record as part - of the object. + description: The response body will be a JSON object with a key called `domain_record`. The value of this will be an object representing the new record. Attributes that are not applicable for the record type will be set to `null`. An `id` attribute is generated for each record as part of the object. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16227,10 +20106,7 @@ components: tag: null type: object domain_record: - description: >- - The response will be a JSON object with a key called `domain_record`. - The value of this will be a domain record object which contains the - standard domain record attributes. + description: The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16336,9 +20212,7 @@ components: Multiple Droplet Create Response: $ref: '#/components/examples/droplet_multi_create_response' no_content_with_content_type: - description: >- - The action was successful and the response body is empty. This response - has content-type set. + description: The action was successful and the response body is empty. This response has content-type set. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16349,10 +20223,8 @@ components: content-type: $ref: '#/components/headers/content-type' existing_droplet: - description: > - The response will be a JSON object with a key called `droplet`. This - will be - + description: | + The response will be a JSON object with a key called `droplet`. This will be set to a JSON object that contains the standard Droplet attributes. headers: ratelimit-limit: @@ -16409,12 +20281,9 @@ components: meta: total: 1 droplet_backup_policy: - description: > - The response will be a JSON object with a key called `policy`. This will - be - - set to a JSON object that contains the standard Droplet backup policy - attributes. + description: | + The response will be a JSON object with a key called `policy`. This will be + set to a JSON object that contains the standard Droplet backup policy attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16443,10 +20312,7 @@ components: start: '2024-09-15T20:00:00Z' end: '2024-09-16T00:00:00Z' all_droplet_backup_policies: - description: >- - A JSON object with a `policies` key set to a map. The keys are Droplet - IDs and the values are objects containing the backup policy information - for each Droplet. + description: A JSON object with a `policies` key set to a map. The keys are Droplet IDs and the values are objects containing the backup policy information for each Droplet. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16462,12 +20328,9 @@ components: properties: policies: type: object - description: > - A map where the keys are the Droplet IDs and the values - are - - objects containing the backup policy information for each - Droplet. + description: | + A map where the keys are the Droplet IDs and the values are + objects containing the backup policy information for each Droplet. additionalProperties: $ref: '#/components/schemas/droplet_backup_policy_record' - $ref: '#/components/schemas/pagination' @@ -16504,9 +20367,7 @@ components: meta: total: 3 droplets_supported_backup_policies: - description: >- - A JSON object with an `supported_policies` key set to an array of - objects describing each supported backup policy. + description: A JSON object with an `supported_policies` key set to an array of objects describing each supported backup policy. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16681,9 +20542,7 @@ components: $ref: '#/components/schemas/action' type: object action: - description: >- - The result will be a JSON object with an action key. This will be set - to an action object containing the standard action attributes. + description: The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16726,10 +20585,8 @@ components: version: 2016.07.13-DigitalOcean_loader_Ubuntu links: pages: - next: >- - https://api.digitalocean.com/v2/droplets/3164444/kernels?page=2&per_page=1 - last: >- - https://api.digitalocean.com/v2/droplets/3164444/kernels?page=171&per_page=1 + next: https://api.digitalocean.com/v2/droplets/3164444/kernels?page=2&per_page=1 + last: https://api.digitalocean.com/v2/droplets/3164444/kernels?page=171&per_page=1 meta: total: 171 all_firewalls: @@ -16823,9 +20680,7 @@ components: items: $ref: '#/components/schemas/droplet' associated_resources_list: - description: >- - A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` - keys. + description: A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16841,37 +20696,27 @@ components: properties: reserved_ips: type: array - description: >- - Reserved IPs that are associated with this - Droplet.
Requires `reserved_ip:read` scope. + description: Reserved IPs that are associated with this Droplet.
Requires `reserved_ip:read` scope. items: $ref: '#/components/schemas/associated_resource' floating_ips: type: array - description: >- - Floating IPs that are associated with this - Droplet.
Requires `reserved_ip:read` scope. + description: Floating IPs that are associated with this Droplet.
Requires `reserved_ip:read` scope. items: $ref: '#/components/schemas/associated_resource' snapshots: type: array - description: >- - Snapshots that are associated with this - Droplet.
Requires `image:read` scope. + description: Snapshots that are associated with this Droplet.
Requires `image:read` scope. items: $ref: '#/components/schemas/associated_resource' volumes: type: array - description: >- - Volumes that are associated with this Droplet.
Requires - `block_storage:read` scope. + description: Volumes that are associated with this Droplet.
Requires `block_storage:read` scope. items: $ref: '#/components/schemas/associated_resource' volume_snapshots: type: array - description: >- - Volume Snapshots that are associated with this - Droplet.
Requires `block_storage_snapshot:read` scope. + description: Volume Snapshots that are associated with this Droplet.
Requires `block_storage_snapshot:read` scope. items: $ref: '#/components/schemas/associated_resource' example: @@ -16896,9 +20741,7 @@ components: name: volume-nyc1-01-1585758983629 cost: '0.04' accepted: - description: >- - This does not indicate the success or failure of any operation, just - that the request has been accepted for processing. + description: This does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -16907,9 +20750,7 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' associated_resources_status: - description: >- - A JSON object containing containing the status of a request to destroy a - Droplet and its associated resources. + description: A JSON object containing containing the status of a request to destroy a Droplet and its associated resources. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17008,12 +20849,9 @@ components: Autoscale Create Response Static Config: $ref: '#/components/examples/autoscale_create_response_static' existing_autoscale_pool: - description: > - The response will be a JSON object with a key called `autoscale_pool`. - This will be - - set to a JSON object that contains the standard autoscale pool - attributes. + description: | + The response will be a JSON object with a key called `autoscale_pool`. This will be + set to a JSON object that contains the standard autoscale pool attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17080,12 +20918,7 @@ components: All History Events: $ref: '#/components/examples/history_all' list_firewalls_response: - description: >- - To list all of the firewalls available on your account, send a GET - request to `/v2/firewalls`.

Firewalls responses will include only - the resources that you are granted to see. Ensure that your API token - includes all necessary `:read` permissions for requested - firewall. + description: To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.

Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `:read` permissions for requested firewall. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17139,9 +20972,7 @@ components: meta: total: 1 create_firewall_response: - description: >- - The response will be a JSON object with a firewall key. This will be set - to an object containing the standard firewall attributes. + description: The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17207,12 +21038,7 @@ components: message: error parsing request body request_id: 4851a473-1621-42ea-b2f9-5071c0ea8414 get_firewall_response: - description: >- - The response will be a JSON object with a firewall key. This will be set - to an object containing the standard firewall - attributes.

Firewalls responses will include only the resources - that you are granted to see. Ensure that your API token includes all - necessary `:read` permissions for requested firewall. + description: The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes.

Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `:read` permissions for requested firewall. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17258,9 +21084,7 @@ components: tags: [] pending_changes: [] put_firewall_response: - description: >- - The response will be a JSON object with a `firewall` key. This will be - set to an object containing the standard firewall attributes. + description: The response will be a JSON object with a `firewall` key. This will be set to an object containing the standard firewall attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17310,10 +21134,7 @@ components: removing: false status: waiting all_images: - description: >- - The response will be a JSON object with a key called `images`. This - will be set to an array of image objects, each of which will contain the - standard image attributes. + description: The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17349,14 +21170,7 @@ components: Tagged: $ref: '#/components/examples/images_tagged' new_custom_image: - description: >- - The response will be a JSON object with a key set to `image`. The value - of this will be an image object containing a subset of the standard - image attributes as listed below, including the image's `id` and - `status`. After initial creation, the `status` will be `NEW`. Using the - image's id, you may query the image's status by sending a `GET` request - to the `/v2/images/$IMAGE_ID` endpoint. When the `status` changes to - `available`, the image will be ready for use. + description: The response will be a JSON object with a key set to `image`. The value of this will be an image object containing a subset of the standard image attributes as listed below, including the image's `id` and `status`. After initial creation, the `status` will be `NEW`. Using the image's id, you may query the image's status by sending a `GET` request to the `/v2/images/$IMAGE_ID` endpoint. When the `status` changes to `available`, the image will be ready for use. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17386,10 +21200,7 @@ components: - prod status: NEW existing_image: - description: >- - The response will be a JSON object with a key called `image`. The value - of this will be an image object containing the standard image - attributes. + description: The response will be a JSON object with a key called `image`. The value of this will be an image object containing the standard image attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17432,10 +21243,7 @@ components: status: available error_message: '' updated_image: - description: >- - The response will be a JSON object with a key set to `image`. The value - of this will be an image object containing the standard image - attributes. + description: The response will be a JSON object with a key set to `image`. The value of this will be an image object containing the standard image attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17470,10 +21278,7 @@ components: status: available error_message: '' get_image_actions_response: - description: >- - The results will be returned as a JSON object with an `actions` key. - This will be set to an array filled with action objects containing the - standard action attributes. + description: The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17534,17 +21339,12 @@ components: region_slug: nyc2 links: pages: - last: >- - https://api.digitalocean.com/v2/images/7555620/actions?page=5&per_page=1 - next: >- - https://api.digitalocean.com/v2/images/7555620/actions?page=2&per_page=1 + last: https://api.digitalocean.com/v2/images/7555620/actions?page=5&per_page=1 + next: https://api.digitalocean.com/v2/images/7555620/actions?page=2&per_page=1 meta: total: 5 post_image_action_response: - description: >- - The response will be a JSON object with a key called `action`. The value - of this will be an object containing the standard image action - attributes. + description: The response will be a JSON object with a key called `action`. The value of this will be an object containing the standard image action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17596,10 +21396,7 @@ components: available: true region_slug: nyc3 get_image_action_response: - description: >- - The response will be an object with a key called `action`. The value of - this will be an object that contains the standard image action - attributes. + description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17674,13 +21471,9 @@ components: Create Response Using Droplet Tag: $ref: '#/components/examples/load_balancer_using_tag_response' Sticky Sessions and Custom Health Check: - $ref: >- - #/components/examples/load_balancer_sticky_sessions_and_health_check_response + $ref: '#/components/examples/load_balancer_sticky_sessions_and_health_check_response' all_load_balancers: - description: >- - A JSON object with a key of `load_balancers`. This will be set to an - array of objects, each of which will contain the standard load balancer - attributes. + description: A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17704,12 +21497,9 @@ components: All Load Balancers: $ref: '#/components/examples/load_balancers_all' existing_load_balancer: - description: > - The response will be a JSON object with a key called `load_balancer`. - The - + description: | + The response will be a JSON object with a key called `load_balancer`. The value of this will be an object that contains the standard attributes - associated with a load balancer headers: ratelimit-limit: @@ -17729,12 +21519,9 @@ components: load_balancer_basic_response: $ref: '#/components/examples/load_balancer_basic_response' updated_load_balancer: - description: > - The response will be a JSON object with a key called `load_balancer`. - The - + description: | + The response will be a JSON object with a key called `load_balancer`. The value of this will be an object containing the standard attributes of a - load balancer. headers: ratelimit-limit: @@ -17754,10 +21541,7 @@ components: load_balancer_update_response: $ref: '#/components/examples/load_balancer_update_response' all_regions: - description: >- - A JSON object with a key set to `regions`. The value is an array of - `region` objects, each of which contain the standard `region` - attributes. + description: A JSON object with a key set to `regions`. The value is an array of `region` objects, each of which contain the standard `region` attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17827,10 +21611,7 @@ components: schema: $ref: '#/components/schemas/neighbor_ids' reserved_ip_list: - description: >- - The response will be a JSON object with a key called `reserved_ips`. - This will be set to an array of reserved IP objects, each of which will - contain the standard reserved IP attributes + description: The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17887,15 +21668,9 @@ components: meta: total: 1 reserved_ip_created: - description: >- - The response will be a JSON object with a key called `reserved_ip`. The - value of this will be an object that contains the standard attributes - associated with a reserved IP. - - When assigning a reserved IP to a Droplet at same time as it created, - the response's `links` object will contain links to both the Droplet and - the assignment action. The latter can be used to check the status of the - action. + description: |- + The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. + When assigning a reserved IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17927,10 +21702,7 @@ components: reserved_ip_reserving: $ref: '#/components/examples/reserved_ip_reserving' reserved_ip: - description: >- - The response will be a JSON object with a key called `reserved_ip`. The - value of this will be an object that contains the standard attributes - associated with a reserved IP. + description: The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -17951,10 +21723,7 @@ components: reserved_ip_reserved: $ref: '#/components/examples/reserved_ip_reserved' reserved_ip_actions: - description: >- - The results will be returned as a JSON object with an `actions` key. - This will be set to an array filled with action objects containing the - standard reserved IP action attributes. + description: The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18012,10 +21781,7 @@ components: meta: total: 1 reserved_ip_action: - description: >- - The response will be an object with a key called `action`. The value of - this will be an object that contains the standard reserved IP action - attributes. + description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18036,9 +21802,7 @@ components: type: string format: uuid example: 746c6152-2fa2-11ed-92d3-27aaa54e4988 - description: >- - The UUID of the project to which the reserved IP - currently belongs. + description: The UUID of the project to which the reserved IP currently belongs. example: action: id: 72531856 @@ -18076,10 +21840,7 @@ components: project_id: 746c6152-2fa2-11ed-92d3-27aaa54e4988 type: object reserved_ipv6_list: - description: >- - The response will be a JSON object with a key called `reserved_ipv6s`. - This will be set to an array of reserved IP objects, each of which will - contain the standard reserved IP attributes + description: The response will be a JSON object with a key called `reserved_ipv6s`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18106,10 +21867,7 @@ components: region_slug: nyc1 reserved_at: '2020-01-01T00:00:00Z' reserved_ipv6_create: - description: >- - The response will be a JSON object with key `reserved_ipv6`. The value - of this will be an object that contains the standard attributes - associated with a reserved IPv6. + description: The response will be a JSON object with key `reserved_ipv6`. The value of this will be an object that contains the standard attributes associated with a reserved IPv6. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18128,14 +21886,10 @@ components: type: string format: ipv6 example: 2409:40d0:f7:1017:74b4:3a96:105e:4c6e - description: >- - The public IP address of the reserved IPv6. It also serves - as its identifier. + description: The public IP address of the reserved IPv6. It also serves as its identifier. region_slug: type: string - description: >- - The region that the reserved IPv6 is reserved to. When you - query a reserved IPv6,the region_slug will be returned. + description: The region that the reserved IPv6 is reserved to. When you query a reserved IPv6,the region_slug will be returned. example: nyc3 reserved_at: type: string @@ -18146,10 +21900,7 @@ components: reserved_ipv6_reserved: $ref: '#/components/examples/reserved_ipv6_reserved' reserved_ipv6: - description: >- - The response will be a JSON object with key `reserved_ipv6`. The value - of this will be an object that contains the standard attributes - associated with a reserved IPv6. + description: The response will be a JSON object with key `reserved_ipv6`. The value of this will be an object that contains the standard attributes associated with a reserved IPv6. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18187,10 +21938,7 @@ components: message: request payload validation failed request_id: 4851a473-1621-42ea-b2f9-5071c0ea8414 reserved_ipv6_action: - description: >- - The response will be an object with a key called `action`. The value of - this will be an object that contains the standard reserved IP action - attributes. + description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18210,21 +21958,15 @@ components: resource_id: type: integer example: 758604968 - description: >- - The ID of the resource that the action is being taken - on. + description: The ID of the resource that the action is being taken on. resource_type: type: string example: reserved_ipv6 - description: >- - The type of resource that the action is being taken - on. + description: The type of resource that the action is being taken on. region_slug: type: string example: nyc3 - description: >- - The slug identifier for the region the resource is - located in. + description: The slug identifier for the region the resource is located in. example: action: id: 72531856 @@ -18261,10 +22003,7 @@ components: region_slug: nyc3 type: object all_sizes: - description: >- - A JSON object with a key called `sizes`. The value of this will be an - array of `size` objects each of which contain the standard size - attributes. + description: A JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18419,23 +22158,18 @@ components: last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 volumes: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 + last_tagged_uri: https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 volume_snapshots: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 + last_tagged_uri: https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 databases: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 + last_tagged_uri: https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 links: {} meta: total: 1 tags_new: - description: >- - The response will be a JSON object with a key called tag. The value of - this will be a tag object containing the standard tag attributes + description: The response will be a JSON object with a key called tag. The value of this will be a tag object containing the standard tag attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18483,25 +22217,16 @@ components: examples: InvalidCharacters: value: - error: >- - Error validating resource tag: \"tag-name \\\"здорово\\\" - contains invalid characters\" + error: 'Error validating resource tag: \"tag-name \\\"здорово\\\" contains invalid characters\"' messages: null root_causes: - - >- - rpc error: code = InvalidArgument desc = Error validating - resource tag: \"tag-name \\\"здорово\\\" contains invalid - characters\" + - 'rpc error: code = InvalidArgument desc = Error validating resource tag: \"tag-name \\\"здорово\\\" contains invalid characters\"' tags_existing: - description: > + description: | The response will be a JSON object with a key called `tag`. + The value of this will be a tag object containing the standard tag attributes. - The value of this will be a tag object containing the standard tag - attributes. - - - Tagged resources will only include resources that you are authorized to - see. + Tagged resources will only include resources that you are authorized to see. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18531,21 +22256,15 @@ components: last_tagged_uri: https://api.digitalocean.com/v2/images/7555620 volumes: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 + last_tagged_uri: https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933 volume_snapshots: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 + last_tagged_uri: https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519 databases: count: 1 - last_tagged_uri: >- - https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 + last_tagged_uri: https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976 volumes: - description: >- - The response will be a JSON object with a key called `volumes`. This - will be set to an array of volume objects, each of which will contain - the standard volume attributes. + description: The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18576,10 +22295,7 @@ components: Filtered by Region: $ref: '#/components/examples/volumes_filtered_by_region' volume: - description: >- - The response will be a JSON object with a key called `volume`. The value - will be an object containing the standard attributes associated with a - volume. + description: The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18629,10 +22345,7 @@ components: created_at: '2020-03-02T17:00:49Z' type: object volumeAction: - description: >- - The response will be an object with a key called `action`. The value of - this will be an object that contains the standard volume action - attributes + description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18653,9 +22366,7 @@ components: VolumeActionDetachResponse: $ref: '#/components/examples/volume_action_detach_response' volumeSnapshot: - description: >- - You will get back a JSON object that has a `snapshot` key. This will - contain the standard snapshot attributes + description: You will get back a JSON object that has a `snapshot` key. This will contain the standard snapshot attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18684,10 +22395,7 @@ components: - aninterestingtag type: object volumeActions: - description: >- - The response will be an object with a key called `action`. The value of - this will be an object that contains the standard volume action - attributes. + description: The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18744,10 +22452,7 @@ components: meta: total: 1 volumeSnapshots: - description: >- - You will get back a JSON object that has a `snapshots` key. This will be - set to an array of snapshot objects, each of which contain the standard - snapshot attributes + description: You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard snapshot attributes headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18807,12 +22512,9 @@ components: VPC NAT Gateways List Response: $ref: '#/components/examples/vpc_nat_gateways' vpc_nat_gateway: - description: > - The response will be a JSON object with a key called `vpc_nat_gateway`. - This will be - - set to a JSON object that contains the standard VPC NAT gateway - attributes. + description: | + The response will be a JSON object with a key called `vpc_nat_gateway`. This will be + set to a JSON object that contains the standard VPC NAT gateway attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -18901,10 +22603,7 @@ components: required: true domain_name_query: name: name - description: >- - A fully qualified record name. For example, to only include records - matching sub.example.com, send a GET request to - `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. + description: A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. in: query schema: type: string @@ -18937,9 +22636,7 @@ components: droplet_tag_name: in: query name: tag_name - description: >- - Used to filter Droplets by a specific tag. Can not be combined with - `name` or `type`.
Requires `tag:read` scope. + description: Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`.
Requires `tag:read` scope. required: false schema: type: string @@ -18947,9 +22644,7 @@ components: droplet_name: in: query name: name - description: >- - Used to filter list response by Droplet name returning only exact - matches. It is case-insensitive and can not be combined with `tag_name`. + description: Used to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with `tag_name`. required: false schema: type: string @@ -18957,10 +22652,7 @@ components: droplet_type: in: query name: type - description: >- - When `type` is set to `gpus`, only GPU Droplets will be returned. By - default, only non-GPU Droplets are returned. Can not be combined with - `tag_name`. + description: When `type` is set to `gpus`, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with `tag_name`. required: false schema: type: string @@ -18988,9 +22680,7 @@ components: action_id: in: path name: action_id - description: >- - A unique numeric ID that can be used to identify and reference an - action. + description: A unique numeric ID that can be used to identify and reference an action. required: true schema: type: integer @@ -18999,9 +22689,7 @@ components: x_dangerous: in: header name: X-Dangerous - description: >- - Acknowledge this action will destroy the Droplet and all associated - resources and _can not_ be reversed. + description: Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed. schema: type: boolean example: true @@ -19024,9 +22712,7 @@ components: parameters_x_dangerous: in: header name: X-Dangerous - description: >- - Acknowledge this action will destroy the autoscale pool and its - associated resources and _can not_ be reversed. + description: Acknowledge this action will destroy the autoscale pool and its associated resources and _can not_ be reversed. schema: type: boolean example: true @@ -19043,9 +22729,7 @@ components: type: in: query name: type - description: >- - Filters results based on image type which can be either `application` or - `distribution`. + description: Filters results based on image type which can be either `application` or `distribution`. required: false schema: type: string @@ -19072,9 +22756,7 @@ components: image_id: in: path name: image_id - description: >- - A unique number that can be used to identify and reference a specific - image. + description: A unique number that can be used to identify and reference a specific image. required: true schema: type: integer @@ -19123,9 +22805,7 @@ components: in: path name: snapshot_id required: true - description: >- - Either the ID of an existing snapshot. This will be an integer for a - Droplet snapshot or a string for a volume snapshot. + description: Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. schema: anyOf: - type: integer @@ -19138,9 +22818,7 @@ components: tag_id: in: path name: tag_id - description: >- - The name of the tag. Tags may contain letters, numbers, colons, dashes, - and underscores. There is a limit of 255 characters per tag. + description: The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. required: true schema: type: string @@ -19382,9 +23060,7 @@ components: - ip:1.2.3.4 - cidr:2.3.4.0/24 load_balancer_ssl_termination_create_request: - description: >- - Terminating SSL at the load balancer using a managed SSL certificate - specifying Droplets using `droplet_ids`. + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `droplet_ids`. value: name: example-lb-01 region: nyc3 @@ -19398,9 +23074,7 @@ components: - 3164444 - 3164445 load_balancer_using_tag_create_request: - description: >- - Terminating SSL at the load balancer using a managed SSL certificate - specifying Droplets using `tag`. + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: name: example-lb-01 region: nyc3 @@ -19412,9 +23086,7 @@ components: certificate_id: 892071a0-bb95-49bc-8021-3afd67a210bf tag: prod:web load_balancer_sticky_sessions_and_health_check_create_request: - description: >- - Terminating SSL at the load balancer using a managed SSL certificate - specifying Droplets using `tag`. + description: Terminating SSL at the load balancer using a managed SSL certificate specifying Droplets using `tag`. value: name: example-lb-01 region: nyc3 @@ -21138,14 +24810,10 @@ components: meta: total: 2 images_distribution: - description: > + description: | **Important:** - - The `type` query parameter is not directly related to the `type` - attribute. - - The main thing to remember here is that DigitalOcean-produced - distribution images will have `snapshot` as the type attribute. + The `type` query parameter is not directly related to the `type` attribute. + The main thing to remember here is that DigitalOcean-produced distribution images will have `snapshot` as the type attribute. value: images: - id: 63663980 @@ -21191,11 +24859,9 @@ components: meta: total: 1 images_application: - description: > + description: | **Important:** - - The `type` query parameter is not directly related to the `type` - attribute. + The `type` query parameter is not directly related to the `type` attribute. value: images: - id: 7555621 @@ -22466,38 +26132,24 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. content-type: description: 'The type of data that is returned from a request. ' schema: type: string example: application/json; charset=utf-8 x-request-id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. schema: type: string format: uuid @@ -22507,34 +26159,22 @@ components: operationId: sshKeys_get_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: >- - The `id` value returned in the response can be used as the - `ssh_key_identifier` parameter in `GET - /v2/account/keys/{ssh_key_identifier}`. + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_get_by_fingerprint: operationId: sshKeys_get_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: >- - The `fingerprint` value returned in the response can be used as the - `ssh_key_identifier` parameter in `GET - /v2/account/keys/{ssh_key_identifier}`. + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `GET /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_id: operationId: sshKeys_delete_by_id parameters: ssh_key_identifier: $response.body#/ssh_key/id - description: >- - The `id` value returned in the response can be used as the - `ssh_key_identifier` parameter in `DELETE - /v2/account/keys/{ssh_key_identifier}`. + description: The `id` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. sshKeys_delete_by_fingerprint: operationId: ssh_keys_delete_by_fingerprint parameters: ssh_key_identifier: $response.body#/ssh_key/fingerprint - description: >- - The `fingerprint` value returned in the response can be used as the - `ssh_key_identifier` parameter in `DELETE - /v2/account/keys/{ssh_key_identifier}`. + description: The `fingerprint` value returned in the response can be used as the `ssh_key_identifier` parameter in `DELETE /v2/account/keys/{ssh_key_identifier}`. x-stackQL-resources: ssh_keys: id: digitalocean.compute.ssh_keys @@ -22629,20 +26269,15 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cdn_endpoints/methods/cdn_get_endpoint - - $ref: >- - #/components/x-stackQL-resources/cdn_endpoints/methods/cdn_list_endpoints + - $ref: '#/components/x-stackQL-resources/cdn_endpoints/methods/cdn_get_endpoint' + - $ref: '#/components/x-stackQL-resources/cdn_endpoints/methods/cdn_list_endpoints' insert: - - $ref: >- - #/components/x-stackQL-resources/cdn_endpoints/methods/cdn_create_endpoint + - $ref: '#/components/x-stackQL-resources/cdn_endpoints/methods/cdn_create_endpoint' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/cdn_endpoints/methods/cdn_delete_endpoint + - $ref: '#/components/x-stackQL-resources/cdn_endpoints/methods/cdn_delete_endpoint' replace: - - $ref: >- - #/components/x-stackQL-resources/cdn_endpoints/methods/cdn_update_endpoints + - $ref: '#/components/x-stackQL-resources/cdn_endpoints/methods/cdn_update_endpoints' certificates: id: digitalocean.compute.certificates name: certificates @@ -22676,17 +26311,13 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/certificates_get - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/certificates_list + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_get' + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_list' insert: - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/certificates_create + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/certificates/methods/certificates_delete + - $ref: '#/components/x-stackQL-resources/certificates/methods/certificates_delete' replace: [] domains: id: digitalocean.compute.domains @@ -22749,51 +26380,41 @@ components: openAPIDocKey: '201' domains_get_record: operation: - $ref: >- - #/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/get + $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.domain_record domains_patch_record: operation: - $ref: >- - #/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/patch + $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/patch' response: mediaType: application/json openAPIDocKey: '200' domains_update_record: operation: - $ref: >- - #/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/put + $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/put' response: mediaType: application/json openAPIDocKey: '200' domains_delete_record: operation: - $ref: >- - #/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/delete + $ref: '#/paths/~1v2~1domains~1{domain_name}~1records~1{domain_record_id}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_get_record - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_list_records + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_get_record' + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_list_records' insert: - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_create_record + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_create_record' update: - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_patch_record + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_patch_record' delete: - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_delete_record + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_delete_record' replace: - - $ref: >- - #/components/x-stackQL-resources/domain_records/methods/domains_update_record + - $ref: '#/components/x-stackQL-resources/domain_records/methods/domains_update_record' droplets: id: digitalocean.compute.droplets name: droplets @@ -22840,8 +26461,7 @@ components: update: [] delete: - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_destroy' - - $ref: >- - #/components/x-stackQL-resources/droplets/methods/droplets_destroy_by_tag + - $ref: '#/components/x-stackQL-resources/droplets/methods/droplets_destroy_by_tag' replace: [] droplet_backups: id: digitalocean.compute.droplet_backups @@ -22857,8 +26477,7 @@ components: objectKey: $.backups sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_backups/methods/droplets_list_backups + - $ref: '#/components/x-stackQL-resources/droplet_backups/methods/droplets_list_backups' insert: [] update: [] delete: [] @@ -22884,10 +26503,8 @@ components: objectKey: $.policies sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_backup_policies/methods/droplets_get_backup_policy - - $ref: >- - #/components/x-stackQL-resources/droplet_backup_policies/methods/droplets_list_backup_policies + - $ref: '#/components/x-stackQL-resources/droplet_backup_policies/methods/droplets_get_backup_policy' + - $ref: '#/components/x-stackQL-resources/droplet_backup_policies/methods/droplets_list_backup_policies' insert: [] update: [] delete: [] @@ -22906,8 +26523,7 @@ components: objectKey: $.supported_policies sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_supported_backup_policies/methods/droplets_list_supported_backup_policies + - $ref: '#/components/x-stackQL-resources/droplet_supported_backup_policies/methods/droplets_list_supported_backup_policies' insert: [] update: [] delete: [] @@ -22926,8 +26542,7 @@ components: objectKey: $.snapshots sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_snapshots/methods/droplets_list_snapshots + - $ref: '#/components/x-stackQL-resources/droplet_snapshots/methods/droplets_list_snapshots' insert: [] update: [] delete: [] @@ -22965,10 +26580,8 @@ components: objectKey: $.action sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_actions/methods/droplet_actions_get - - $ref: >- - #/components/x-stackQL-resources/droplet_actions/methods/droplet_actions_list + - $ref: '#/components/x-stackQL-resources/droplet_actions/methods/droplet_actions_get' + - $ref: '#/components/x-stackQL-resources/droplet_actions/methods/droplet_actions_list' insert: [] update: [] delete: [] @@ -22987,8 +26600,7 @@ components: objectKey: $.kernels sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_kernels/methods/droplets_list_kernels + - $ref: '#/components/x-stackQL-resources/droplet_kernels/methods/droplets_list_kernels' insert: [] update: [] delete: [] @@ -23007,8 +26619,7 @@ components: objectKey: $.firewalls sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplets_firewalls/methods/droplets_list_firewalls + - $ref: '#/components/x-stackQL-resources/droplets_firewalls/methods/droplets_list_firewalls' insert: [] update: [] delete: [] @@ -23027,8 +26638,7 @@ components: objectKey: $.droplets sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplets_neighbors/methods/droplets_list_neighbors + - $ref: '#/components/x-stackQL-resources/droplets_neighbors/methods/droplets_list_neighbors' insert: [] update: [] delete: [] @@ -23040,43 +26650,37 @@ components: methods: droplets_list_associated_resources: operation: - $ref: >- - #/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources/get + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources/get' response: mediaType: application/json openAPIDocKey: '200' droplets_destroy_with_associated_resources_selective: operation: - $ref: >- - #/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1selective/delete + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1selective/delete' response: mediaType: application/json openAPIDocKey: '202' droplets_destroy_with_associated_resources_dangerous: operation: - $ref: >- - #/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1dangerous/delete + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1dangerous/delete' response: mediaType: application/json openAPIDocKey: '202' droplets_get_destroy_associated_resources_status: operation: - $ref: >- - #/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1status/get + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1status/get' response: mediaType: application/json openAPIDocKey: '200' droplets_destroy_retry_with_associated_resources: operation: - $ref: >- - #/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1retry/post + $ref: '#/paths/~1v2~1droplets~1{droplet_id}~1destroy_with_associated_resources~1retry/post' response: mediaType: application/json openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplets_associated_resources/methods/droplets_list_associated_resources + - $ref: '#/components/x-stackQL-resources/droplets_associated_resources/methods/droplets_list_associated_resources' insert: [] update: [] delete: [] @@ -23120,27 +26724,21 @@ components: openAPIDocKey: '202' autoscalepools_delete_dangerous: operation: - $ref: >- - #/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1dangerous/delete + $ref: '#/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1dangerous/delete' response: mediaType: application/json openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_get - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_list + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_get' + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_list' insert: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_create + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_delete + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_delete' replace: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_update + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pools/methods/autoscalepools_update' droplet_autoscale_pool_members: id: digitalocean.compute.droplet_autoscale_pool_members name: droplet_autoscale_pool_members @@ -23148,16 +26746,14 @@ components: methods: autoscalepools_list_members: operation: - $ref: >- - #/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1members/get + $ref: '#/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1members/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.droplets sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pool_members/methods/autoscalepools_list_members + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pool_members/methods/autoscalepools_list_members' insert: [] update: [] delete: [] @@ -23169,16 +26765,14 @@ components: methods: autoscalepools_list_history: operation: - $ref: >- - #/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1history/get + $ref: '#/paths/~1v2~1droplets~1autoscale~1{autoscale_pool_id}~1history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.history sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_pool_history/methods/autoscalepools_list_history + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_pool_history/methods/autoscalepools_list_history' insert: [] update: [] delete: [] @@ -23237,15 +26831,12 @@ components: - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_get' - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_list' insert: - - $ref: >- - #/components/x-stackQL-resources/firewalls/methods/firewalls_create + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/firewalls/methods/firewalls_delete + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_delete' replace: - - $ref: >- - #/components/x-stackQL-resources/firewalls/methods/firewalls_update + - $ref: '#/components/x-stackQL-resources/firewalls/methods/firewalls_update' firewall_tags: id: digitalocean.compute.firewall_tags name: firewall_tags @@ -23266,12 +26857,10 @@ components: sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/firewall_tags/methods/firewalls_add_tags + - $ref: '#/components/x-stackQL-resources/firewall_tags/methods/firewalls_add_tags' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/firewall_tags/methods/firewalls_delete_tags + - $ref: '#/components/x-stackQL-resources/firewall_tags/methods/firewalls_delete_tags' replace: [] firewall_rules: id: digitalocean.compute.firewall_rules @@ -23293,12 +26882,10 @@ components: sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/firewall_rules/methods/firewalls_add_rules + - $ref: '#/components/x-stackQL-resources/firewall_rules/methods/firewalls_add_rules' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/firewall_rules/methods/firewalls_delete_rules + - $ref: '#/components/x-stackQL-resources/firewall_rules/methods/firewalls_delete_rules' replace: [] images: id: digitalocean.compute.images @@ -23342,8 +26929,7 @@ components: - $ref: '#/components/x-stackQL-resources/images/methods/images_get' - $ref: '#/components/x-stackQL-resources/images/methods/images_list' insert: - - $ref: >- - #/components/x-stackQL-resources/images/methods/images_create_custom + - $ref: '#/components/x-stackQL-resources/images/methods/images_create_custom' update: [] delete: - $ref: '#/components/x-stackQL-resources/images/methods/images_delete' @@ -23375,10 +26961,8 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/image_actions/methods/image_actions_get - - $ref: >- - #/components/x-stackQL-resources/image_actions/methods/image_actions_list + - $ref: '#/components/x-stackQL-resources/image_actions/methods/image_actions_get' + - $ref: '#/components/x-stackQL-resources/image_actions/methods/image_actions_list' insert: [] update: [] delete: [] @@ -23452,20 +27036,15 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/load_balancers/methods/load_balancers_get - - $ref: >- - #/components/x-stackQL-resources/load_balancers/methods/load_balancers_list + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_get' + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_list' insert: - - $ref: >- - #/components/x-stackQL-resources/load_balancers/methods/load_balancers_create + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/load_balancers/methods/load_balancers_delete + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_delete' replace: - - $ref: >- - #/components/x-stackQL-resources/load_balancers/methods/load_balancers_update + - $ref: '#/components/x-stackQL-resources/load_balancers/methods/load_balancers_update' regions: id: digitalocean.compute.regions name: regions @@ -23499,8 +27078,7 @@ components: objectKey: $.neighbor_ids sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_neighbor_ids/methods/droplets_list_neighbors_ids + - $ref: '#/components/x-stackQL-resources/droplet_neighbor_ids/methods/droplets_list_neighbors_ids' insert: [] update: [] delete: [] @@ -23538,17 +27116,13 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_get - - $ref: >- - #/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_list + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_get' + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_list' insert: - - $ref: >- - #/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_create + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_delete + - $ref: '#/components/x-stackQL-resources/reserved_ips/methods/reserved_ips_delete' replace: [] reserved_ip_actions: id: digitalocean.compute.reserved_ip_actions @@ -23570,17 +27144,14 @@ components: openAPIDocKey: '201' reserved_ips_actions_get: operation: - $ref: >- - #/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions~1{action_id}/get + $ref: '#/paths/~1v2~1reserved_ips~1{reserved_ip}~1actions~1{action_id}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/reserved_ip_actions/methods/reserved_ips_actions_get - - $ref: >- - #/components/x-stackQL-resources/reserved_ip_actions/methods/reserved_ips_actions_list + - $ref: '#/components/x-stackQL-resources/reserved_ip_actions/methods/reserved_ips_actions_get' + - $ref: '#/components/x-stackQL-resources/reserved_ip_actions/methods/reserved_ips_actions_list' insert: [] update: [] delete: [] @@ -23623,17 +27194,13 @@ components: openAPIDocKey: '201' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_get - - $ref: >- - #/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_list + - $ref: '#/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_get' + - $ref: '#/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_list' insert: - - $ref: >- - #/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_create + - $ref: '#/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_delete + - $ref: '#/components/x-stackQL-resources/reserved_ipv6/methods/reserved_ipv6_delete' replace: [] sizes: id: digitalocean.compute.sizes @@ -23686,8 +27253,7 @@ components: insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/snapshots/methods/snapshots_delete + - $ref: '#/components/x-stackQL-resources/snapshots/methods/snapshots_delete' replace: [] tags: id: digitalocean.compute.tags @@ -23794,8 +27360,7 @@ components: update: [] delete: - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_delete' - - $ref: >- - #/components/x-stackQL-resources/volumes/methods/volumes_delete_by_name + - $ref: '#/components/x-stackQL-resources/volumes/methods/volumes_delete_by_name' replace: [] volume_snapshots: id: digitalocean.compute.volume_snapshots @@ -23830,17 +27395,13 @@ components: openAPIDocKey: '201' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_get_by_id - - $ref: >- - #/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_list + - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_get_by_id' + - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_list' insert: - - $ref: >- - #/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_create + - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_delete_by_id + - $ref: '#/components/x-stackQL-resources/volume_snapshots/methods/volume_snapshots_delete_by_id' replace: [] volume_actions: id: digitalocean.compute.volume_actions @@ -23869,10 +27430,8 @@ components: objectKey: $.action sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/volume_actions/methods/volume_actions_get - - $ref: >- - #/components/x-stackQL-resources/volume_actions/methods/volume_actions_list + - $ref: '#/components/x-stackQL-resources/volume_actions/methods/volume_actions_get' + - $ref: '#/components/x-stackQL-resources/volume_actions/methods/volume_actions_list' insert: [] update: [] delete: [] @@ -23916,19 +27475,14 @@ components: openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_get - - $ref: >- - #/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_list + - $ref: '#/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_get' + - $ref: '#/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_list' insert: - - $ref: >- - #/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_create + - $ref: '#/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_delete + - $ref: '#/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_delete' replace: - - $ref: >- - #/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_update + - $ref: '#/components/x-stackQL-resources/vpc_nat_gateways/methods/vpcnatgateways_update' servers: - url: https://api.digitalocean.com diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registries.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registry.yaml similarity index 74% rename from provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registries.yaml rename to provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registry.yaml index c7b8adf..0c7e3b2 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registries.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/container_registry.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - title: registry API + title: container_registry API description: digitalocean API version: '2.0' paths: @@ -8,9 +8,7 @@ paths: get: operationId: registries_list summary: '[Public Preview] List All Container Registries' - description: >- - To get information about any container registry in your account, send a - GET request to `/v2/registries/`. + description: To get information about any container registry in your account, send a GET request to `/v2/registries/`. tags: - Container Registries responses: @@ -45,17 +43,11 @@ paths: post: operationId: registries_create summary: '[Public Preview] Create Container Registry' - description: > - To create your container registry, send a POST request to - `/v2/registries`. - - - The `name` becomes part of the URL for images stored in the registry. - For - - example, if your registry is called `example`, an image in it will have - the + description: | + To create your container registry, send a POST request to `/v2/registries`. + The `name` becomes part of the URL for images stored in the registry. For + example, if your registry is called `example`, an image in it will have the URL `registry.digitalocean.com/example/image:tag`. tags: - Container Registries @@ -106,9 +98,7 @@ paths: get: operationId: registries_get summary: '[Public Preview] Get a Container Registry By Name' - description: >- - To get information about any container registry in your account, send a - GET request to `/v2/registries/{registry_name}`. + description: To get information about any container registry in your account, send a GET request to `/v2/registries/{registry_name}`. tags: - Container Registries parameters: @@ -147,9 +137,7 @@ paths: delete: operationId: registries_delete summary: '[Public Preview] Delete Container Registry By Name' - description: >- - To delete your container registry, destroying all container image data - stored in it, send a DELETE request to `/v2/registries/{registry_name}`. + description: To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registries/{registry_name}`. tags: - Container Registries parameters: @@ -189,53 +177,28 @@ paths: get: operationId: registries_get_dockerCredentials summary: '[Public Preview] Get Docker Credentials By Registry Name' - description: > - In order to access your container registry with the Docker client or - from a - - Kubernetes cluster, you will need to configure authentication. The - necessary - + description: | + In order to access your container registry with the Docker client or from a + Kubernetes cluster, you will need to configure authentication. The necessary JSON configuration can be retrieved by sending a GET request to - `/v2/registries/{registry_name}/docker-credentials`. - - The response will be in the format of a Docker `config.json` file. To - use the - + The response will be in the format of a Docker `config.json` file. To use the config in your Kubernetes cluster, create a Secret with: kubectl create secret generic docr \ --from-file=.dockerconfigjson=config.json \ --type=kubernetes.io/dockerconfigjson - By default, the returned credentials have read-only access to your - registry - - and cannot be used to push images. This is appropriate for most - Kubernetes - - clusters. To retrieve read/write credentials, suitable for use with the - Docker - - client or in a CI system, read_write may be provided as query parameter. - For - - example: - `/v2/registries/{registry_name}/docker-credentials?read_write=true` - - - By default, the returned credentials will not expire. To retrieve - credentials - - with an expiry set, expiry_seconds may be provided as a query parameter. - For - - example: - `/v2/registries/{registry_name}/docker-credentials?expiry_seconds=3600` - will return + By default, the returned credentials have read-only access to your registry + and cannot be used to push images. This is appropriate for most Kubernetes + clusters. To retrieve read/write credentials, suitable for use with the Docker + client or in a CI system, read_write may be provided as query parameter. For + example: `/v2/registries/{registry_name}/docker-credentials?read_write=true` + By default, the returned credentials will not expire. To retrieve credentials + with an expiry set, expiry_seconds may be provided as a query parameter. For + example: `/v2/registries/{registry_name}/docker-credentials?expiry_seconds=3600` will return credentials that expire after one hour. tags: - Container Registries @@ -262,17 +225,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/docker-credentials" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.get_docker_credentials(registry_name="example") + resp = client.registries.get_docker_credentials(registry_name="example") security: - bearer_auth: - registry:read @@ -281,11 +240,7 @@ paths: get: operationId: registries_get_subscription summary: '[Public Preview] Get Subscription Information' - description: >- - A subscription is automatically created when you configure your - container registry. To get information about your subscription, send a - GET request to `/v2/registries/subscription`. It is similar to GET - `/v2/registry/subscription` and exists for backward compatibility. + description: A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registries/subscription`. It is similar to GET `/v2/registry/subscription` and exists for backward compatibility. tags: - Container Registries responses: @@ -320,11 +275,7 @@ paths: post: operationId: registries_update_subscription summary: '[Public Preview] Update Subscription Tier' - description: >- - After creating your registry, you can switch to a different subscription - tier to better suit your needs. To do this, send a POST request to - `/v2/registries/subscription`. It is similar to POST - `/v2/registry/subscription` and exists for backward compatibility. + description: After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registries/subscription`. It is similar to POST `/v2/registry/subscription` and exists for backward compatibility. tags: - Container Registries requestBody: @@ -378,24 +329,12 @@ paths: /v2/registries/options: get: operationId: registries_get_options - summary: >- - [Public Preview] List Registry Options (Subscription Tiers and Available - Regions) - description: >- - This endpoint serves to provide additional information as to which - option values are available when creating a container registry. - - There are multiple subscription tiers available for container registry. - Each tier allows a different number of image repositories to be created - in your registry, and has a different amount of storage and transfer - included. - - There are multiple regions available for container registry and controls - where your data is stored. - - To list the available options, send a GET request to - `/v2/registries/options`. This is similar to GET `/v2/registry/options` - and exists for backward compatibility. + summary: '[Public Preview] List Registry Options (Subscription Tiers and Available Regions)' + description: |- + This endpoint serves to provide additional information as to which option values are available when creating a container registry. + There are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included. + There are multiple regions available for container registry and controls where your data is stored. + To list the available options, send a GET request to `/v2/registries/options`. This is similar to GET `/v2/registry/options` and exists for backward compatibility. tags: - Container Registries responses: @@ -431,10 +370,7 @@ paths: get: operationId: registries_get_garbageCollection summary: '[Public Preview] Get Active Garbage Collection' - description: >- - To get information about the currently-active garbage collection for a - registry, send a GET request to - `/v2/registry/$REGISTRY_NAME/garbage-collection`. + description: To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. tags: - Container Registries parameters: @@ -460,64 +396,40 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/garbage-collection" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.get_garbage_collection(registry_name="example") + resp = client.registries.get_garbage_collection(registry_name="example") security: - bearer_auth: - registry:read post: operationId: registries_run_garbageCollection summary: '[Public Preview] Start Garbage Collection' - description: > - Garbage collection enables users to clear out unreferenced blobs (layer - & - - manifest data) after deleting one or more manifests from a repository. - If - - there are no unreferenced blobs resulting from the deletion of one or - more - + description: | + Garbage collection enables users to clear out unreferenced blobs (layer & + manifest data) after deleting one or more manifests from a repository. If + there are no unreferenced blobs resulting from the deletion of one or more manifests, garbage collection is effectively a noop. + [See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/) + about how and why you should clean up your container registry periodically. - [See here for more - information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/) - - about how and why you should clean up your container registry - periodically. - - - To request a garbage collection run on your registry, send a POST - request to - - `/v2/registries/$REGISTRY_NAME/garbage-collection`. This will initiate - the - + To request a garbage collection run on your registry, send a POST request to + `/v2/registries/$REGISTRY_NAME/garbage-collection`. This will initiate the following sequence of events on your registry. - * Set the registry to read-only mode, meaning no further write-scoped JWTs will be issued to registry clients. Existing write-scoped JWTs will continue to work until they expire which can take up to 15 minutes. * Wait until all existing write-scoped JWTs have expired. - * Scan all registry manifests to determine which blobs are unreferenced. - * Delete all unreferenced blobs from the registry. - * Record the number of blobs deleted and bytes freed, mark the garbage collection status as `success`. - * Remove the read-only mode restriction from the registry, meaning - write-scoped + * Remove the read-only mode restriction from the registry, meaning write-scoped JWTs will once again be issued to registry clients. tags: - Container Registries @@ -544,17 +456,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/garbage-collection" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.run_garbage_collection(registry_name="example") + resp = client.registries.run_garbage_collection(registry_name="example") security: - bearer_auth: - registry:create @@ -562,9 +470,7 @@ paths: get: operationId: registries_list_garbageCollections summary: '[Public Preview] List Garbage Collections' - description: >- - To get information about past garbage collections for a registry, send a - GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. + description: To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. tags: - Container Registries parameters: @@ -592,17 +498,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/garbage-collections" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.list_garbage_collections(registry_name="example") + resp = client.registries.list_garbage_collections(registry_name="example") security: - bearer_auth: - registry:read @@ -610,13 +512,7 @@ paths: put: operationId: registries_update_garbageCollection summary: '[Public Preview] Update Garbage Collection' - description: >- - To cancel the currently-active garbage collection for a registry, send a - PUT request to - `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify - one or more of the attributes below. It is similar to PUT - `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and exists - for backward compatibility. + description: To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. It is similar to PUT `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and exists for backward compatibility. tags: - Container Registries parameters: @@ -649,17 +545,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/garbage-collection/example-gc-uuid" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.run_garbage_collection(registry_name="example") + resp = client.registries.run_garbage_collection(registry_name="example") security: - bearer_auth: - registry:update @@ -667,11 +559,7 @@ paths: get: operationId: registries_list_repositoriesV2 summary: '[Public Preview] List All Container Registry Repositories (V2)' - description: >- - To list all repositories in your container registry, send a GET request - to `/v2/registries/$REGISTRY_NAME/repositoriesV2`. It is similar to GET - `/v2/registry/$REGISTRY_NAME/repositoriesV2` and exists for backward - compatibility. + description: To list all repositories in your container registry, send a GET request to `/v2/registries/$REGISTRY_NAME/repositoriesV2`. It is similar to GET `/v2/registry/$REGISTRY_NAME/repositoriesV2` and exists for backward compatibility. tags: - Container Registries parameters: @@ -708,17 +596,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.list_repositories_v2(registry_name="example") + resp = client.registries.list_repositories_v2(registry_name="example") security: - bearer_auth: - registry:read @@ -726,16 +610,11 @@ paths: delete: operationId: registries_delete_repository summary: '[Public Preview] Delete Container Registry Repository' - description: > - To delete a container repository including all of its tags, send a - DELETE request to - + description: | + To delete a container repository including all of its tags, send a DELETE request to `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Container Registries @@ -763,17 +642,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositories/repo-1" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.registries.delete_repository(registry_name="example", - repository_name="repo-1") + resp = client.registries.delete_repository(registry_name="example", repository_name="repo-1") security: - bearer_auth: - registry:delete @@ -781,26 +656,16 @@ paths: get: operationId: registries_list_repositoryTags summary: '[Public Preview] List All Container Registry Repository Tags' - description: > - To list all tags in one of your container registry's repository, send a - GET - - request to - `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. - + description: | + To list all tags in one of your container registry's repository, send a GET + request to `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to list tags for - `registry.digitalocean.com/example/my/repo`, the path would be - `/v2/registry/example/repositories/my%2Frepo/tags`. - - It is similar to GET - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags` and - exists for backward compatibility. + It is similar to GET `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags` and exists for backward compatibility. tags: - Container Registries parameters: @@ -829,18 +694,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositories/repo-1/tags" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.list_repository_tags(registry_name="example", - repository_name="repo01") + resp = client.registries.list_repository_tags(registry_name="example", repository_name="repo01") security: - bearer_auth: - registry:read @@ -848,29 +708,17 @@ paths: delete: operationId: registries_delete_repositoryTag summary: '[Public Preview] Delete Container Registry Repository Tag' - description: > - To delete a container repository tag in on of our container registries, - send a DELETE request to - + description: | + To delete a container repository tag in on of our container registries, send a DELETE request to `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`. - Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to delete - `registry.digitalocean.com/example/my/repo:mytag`, the path would be - `/v2/registry/example/repositories/my%2Frepo/tags/mytag`. - - A successful request will receive a 204 status code with no body in - response. - - This indicates that the request was processed successfully. It is - similar to DELETE - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG` - and exists for backward compatibility. + A successful request will receive a 204 status code with no body in response. + This indicates that the request was processed successfully. It is similar to DELETE `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG` and exists for backward compatibility. tags: - Container Registries parameters: @@ -898,18 +746,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositories/repo-1/tags/mytag" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.delete_repository_tag(registry_name="example", - repository_name="repo-1", repository_tag="06a447a") + resp = client.registries.delete_repository_tag(registry_name="example", repository_name="repo-1", repository_tag="06a447a") security: - bearer_auth: - registry:delete @@ -917,25 +760,16 @@ paths: get: operationId: registries_list_repositoryManifests summary: '[Public Preview] List All Container Registry Repository Manifests' - description: > + description: | To list all manifests in your container registry repository, send a GET - - request to - `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. - + request to `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to list manifests for - `registry.digitalocean.com/example/my/repo`, the path would be - `/v2/registry/example/repositories/my%2Frepo/digests`. - - It is similar to - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests` and - exists for backward compatibility. + It is similar to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests` and exists for backward compatibility. tags: - Container Registries parameters: @@ -964,18 +798,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositories/repo-1/digests" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.list_repository_manifests(registry_name="example", - repository_name="repo01") + resp = client.registries.list_repository_manifests(registry_name="example", repository_name="repo01") security: - bearer_auth: - registry:read @@ -983,32 +812,19 @@ paths: delete: operationId: registries_delete_repositoryManifest summary: '[Public Preview] Delete Container Registry Repository Manifest' - description: > - To delete a container repository manifest by digest in one of your - registries, send a DELETE request to - + description: | + To delete a container repository manifest by digest in one of your registries, send a DELETE request to `/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`. - Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to delete - - `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would - be - + `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be `/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. - - It is similar to DELETE - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST` - and exists for backward compatibility. + It is similar to DELETE `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST` and exists for backward compatibility. tags: - Container Registries parameters: @@ -1036,18 +852,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registries/example/repositories/repo-1/digests/sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registries.delete_repository_manifest(registry_name="example", - repository_name="repo-1", manifest_digest="sha256:cb8a924afd") + resp = client.registries.delete_repository_manifest(registry_name="example", repository_name="repo-1", manifest_digest="sha256:cb8a924afd") security: - bearer_auth: - registry:delete @@ -1055,24 +866,15 @@ paths: post: operationId: registries_validate_name summary: '[Public Preview] Validate a Container Registry Name' - description: > - To validate that a container registry name is available for use, send a - POST - + description: | + To validate that a container registry name is available for use, send a POST request to `/v2/registries/validate-name`. - - If the name is both formatted correctly and available, the response code - will - - be 204 and contain no body. If the name is already in use, the response - will - + If the name is both formatted correctly and available, the response code will + be 204 and contain no body. If the name is already in use, the response will be a 409 Conflict. - - It is similar to `/v2/registry/validate-name` and exists for backward - compatibility. + It is similar to `/v2/registry/validate-name` and exists for backward compatibility. tags: - Container Registries requestBody: @@ -1121,12 +923,9 @@ paths: get: operationId: registry_get summary: Get Container Registry Information - description: >- - To get information about your container registry, send a GET request to - `/v2/registry`. - - This operation is not compatible with multiple registries in a DO - account. You should use `/v2/registries/{registry_name}` instead. + description: |- + To get information about your container registry, send a GET request to `/v2/registry`. + This operation is not compatible with multiple registries in a DO account. You should use `/v2/registries/{registry_name}` instead. tags: - Container Registry responses: @@ -1163,17 +962,11 @@ paths: post: operationId: registry_create summary: Create Container Registry - description: > - To create your container registry, send a POST request to - `/v2/registry`. - - - The `name` becomes part of the URL for images stored in the registry. - For - - example, if your registry is called `example`, an image in it will have - the + description: | + To create your container registry, send a POST request to `/v2/registry`. + The `name` becomes part of the URL for images stored in the registry. For + example, if your registry is called `example`, an image in it will have the URL `registry.digitalocean.com/example/image:tag`. tags: - Container Registry @@ -1222,12 +1015,9 @@ paths: delete: operationId: registry_delete summary: Delete Container Registry - description: >- - To delete your container registry, destroying all container image data - stored in it, send a DELETE request to `/v2/registry`. - - This operation is not compatible with multiple registries in a DO - account. You should use `/v2/registries/{registry_name}` instead. + description: |- + To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`. + This operation is not compatible with multiple registries in a DO account. You should use `/v2/registries/{registry_name}` instead. tags: - Container Registry responses: @@ -1267,10 +1057,7 @@ paths: get: operationId: registry_get_subscription summary: Get Subscription Information - description: >- - A subscription is automatically created when you configure your - container registry. To get information about your subscription, send a - GET request to `/v2/registry/subscription`. + description: A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. tags: - Container Registry responses: @@ -1305,10 +1092,7 @@ paths: post: operationId: registry_update_subscription summary: Update Subscription Tier - description: >- - After creating your registry, you can switch to a different subscription - tier to better suit your needs. To do this, send a POST request to - `/v2/registry/subscription`. + description: After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. tags: - Container Registry requestBody: @@ -1365,51 +1149,28 @@ paths: get: operationId: registry_get_dockerCredentials summary: Get Docker Credentials for Container Registry - description: > - In order to access your container registry with the Docker client or - from a - - Kubernetes cluster, you will need to configure authentication. The - necessary - + description: | + In order to access your container registry with the Docker client or from a + Kubernetes cluster, you will need to configure authentication. The necessary JSON configuration can be retrieved by sending a GET request to - `/v2/registry/docker-credentials`. - - The response will be in the format of a Docker `config.json` file. To - use the - + The response will be in the format of a Docker `config.json` file. To use the config in your Kubernetes cluster, create a Secret with: kubectl create secret generic docr \ --from-file=.dockerconfigjson=config.json \ --type=kubernetes.io/dockerconfigjson - By default, the returned credentials have read-only access to your - registry - - and cannot be used to push images. This is appropriate for most - Kubernetes - - clusters. To retrieve read/write credentials, suitable for use with the - Docker - - client or in a CI system, read_write may be provided as query parameter. - For - + By default, the returned credentials have read-only access to your registry + and cannot be used to push images. This is appropriate for most Kubernetes + clusters. To retrieve read/write credentials, suitable for use with the Docker + client or in a CI system, read_write may be provided as query parameter. For example: `/v2/registry/docker-credentials?read_write=true` - - By default, the returned credentials will not expire. To retrieve - credentials - - with an expiry set, expiry_seconds may be provided as a query parameter. - For - - example: `/v2/registry/docker-credentials?expiry_seconds=3600` will - return - + By default, the returned credentials will not expire. To retrieve credentials + with an expiry set, expiry_seconds may be provided as a query parameter. For + example: `/v2/registry/docker-credentials?expiry_seconds=3600` will return credentials that expire after one hour. tags: - Container Registry @@ -1450,19 +1211,12 @@ paths: post: operationId: registry_validate_name summary: Validate a Container Registry Name - description: > - To validate that a container registry name is available for use, send a - POST - + description: | + To validate that a container registry name is available for use, send a POST request to `/v2/registry/validate-name`. - - If the name is both formatted correctly and available, the response code - will - - be 204 and contain no body. If the name is already in use, the response - will - + If the name is both formatted correctly and available, the response code will + be 204 and contain no body. If the name is already in use, the response will be a 409 Conflict. tags: - Container Registry @@ -1513,13 +1267,10 @@ paths: operationId: registry_list_repositories deprecated: true summary: List All Container Registry Repositories - description: > - This endpoint has been deprecated in favor of the _List All Container - Registry Repositories [V2]_ endpoint. - + description: | + This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint. To list all repositories in your container registry, send a GET - request to `/v2/registry/$REGISTRY_NAME/repositories`. tags: - Container Registry @@ -1562,9 +1313,7 @@ paths: get: operationId: registry_list_repositoriesV2 summary: List All Container Registry Repositories (V2) - description: >- - To list all repositories in your container registry, send a GET request - to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. + description: To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. tags: - Container Registry parameters: @@ -1615,19 +1364,13 @@ paths: get: operationId: registry_list_repositoryTags summary: List All Container Registry Repository Tags - description: > + description: | To list all tags in your container registry repository, send a GET - - request to - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. - + request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to list tags for - `registry.digitalocean.com/example/my/repo`, the path would be - `/v2/registry/example/repositories/my%2Frepo/tags`. tags: - Container Registry @@ -1657,17 +1400,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.registry.list_repository_tags(registry_name="example", - repository_name="repo01") + resp = client.registry.list_repository_tags(registry_name="example", repository_name="repo01") security: - bearer_auth: - registry:read @@ -1675,24 +1414,16 @@ paths: delete: operationId: registry_delete_repositoryTag summary: Delete Container Registry Repository Tag - description: > + description: | To delete a container repository tag, send a DELETE request to - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`. - Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to delete - `registry.digitalocean.com/example/my/repo:mytag`, the path would be - `/v2/registry/example/repositories/my%2Frepo/tags/mytag`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Container Registry @@ -1721,18 +1452,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/tags/mytag" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.delete_repository_tag(registry_name="example", - repository_name="repo-1", repository_tag="06a447a") + resp = client.registry.delete_repository_tag(registry_name="example", repository_name="repo-1", repository_tag="06a447a") security: - bearer_auth: - registry:delete @@ -1740,19 +1466,13 @@ paths: get: operationId: registry_list_repositoryManifests summary: List All Container Registry Repository Manifests - description: > + description: | To list all manifests in your container registry repository, send a GET - - request to - `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. - + request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to list manifests for - `registry.digitalocean.com/example/my/repo`, the path would be - `/v2/registry/example/repositories/my%2Frepo/digests`. tags: - Container Registry @@ -1782,18 +1502,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.list_repository_manifests(registry_name="example", - repository_name="repo01") + resp = client.registry.list_repository_manifests(registry_name="example", repository_name="repo01") security: - bearer_auth: - registry:read @@ -1801,26 +1516,16 @@ paths: delete: operationId: registry_delete_repositoryManifest summary: Delete Container Registry Repository Manifest - description: > - To delete a container repository manifest by digest, send a DELETE - request to - + description: | + To delete a container repository manifest by digest, send a DELETE request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`. - Note that if your repository name contains `/` characters, it must be - URL-encoded in the request URL. For example, to delete - - `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would - be - + `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be `/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`. - - A successful request will receive a 204 status code with no body in - response. - + A successful request will receive a 204 status code with no body in response. This indicates that the request was processed successfully. tags: - Container Registry @@ -1849,18 +1554,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests/sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.delete_repository_manifest(registry_name="example", - repository_name="repo-1", manifest_digest="sha256:cb8a924afd") + resp = client.registry.delete_repository_manifest(registry_name="example", repository_name="repo-1", manifest_digest="sha256:cb8a924afd") security: - bearer_auth: - registry:delete @@ -1868,46 +1568,27 @@ paths: post: operationId: registry_run_garbageCollection summary: Start Garbage Collection - description: > - Garbage collection enables users to clear out unreferenced blobs (layer - & - - manifest data) after deleting one or more manifests from a repository. - If - - there are no unreferenced blobs resulting from the deletion of one or - more - + description: | + Garbage collection enables users to clear out unreferenced blobs (layer & + manifest data) after deleting one or more manifests from a repository. If + there are no unreferenced blobs resulting from the deletion of one or more manifests, garbage collection is effectively a noop. + [See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/) + about how and why you should clean up your container registry periodically. - [See here for more - information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/) - - about how and why you should clean up your container registry - periodically. - - - To request a garbage collection run on your registry, send a POST - request to - + To request a garbage collection run on your registry, send a POST request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the - following sequence of events on your registry. - * Set the registry to read-only mode, meaning no further write-scoped JWTs will be issued to registry clients. Existing write-scoped JWTs will continue to work until they expire which can take up to 15 minutes. * Wait until all existing write-scoped JWTs have expired. - * Scan all registry manifests to determine which blobs are unreferenced. - * Delete all unreferenced blobs from the registry. - * Record the number of blobs deleted and bytes freed, mark the garbage collection status as `success`. - * Remove the read-only mode restriction from the registry, meaning - write-scoped + * Remove the read-only mode restriction from the registry, meaning write-scoped JWTs will once again be issued to registry clients. tags: - Container Registry @@ -1941,33 +1622,25 @@ paths: -d '{ "type": "unreferenced blobs only"}' \ "https://api.digitalocean.com/v2/registry/example/garbage-collection" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "type": "unreferenced blobs only" } - - resp = - client.registry.run_garbage_collection(registry_name="example",body=req) + resp = client.registry.run_garbage_collection(registry_name="example",body=req) security: - bearer_auth: - registry:update get: operationId: registry_get_garbageCollection summary: Get Active Garbage Collection - description: >- - To get information about the currently-active garbage collection for a - registry, send a GET request to - `/v2/registry/$REGISTRY_NAME/garbage-collection`. + description: To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. tags: - Container Registry parameters: @@ -1993,17 +1666,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collection" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.get_garbage_collection(registry_name="example") + resp = client.registry.get_garbage_collection(registry_name="example") security: - bearer_auth: - registry:read @@ -2011,9 +1680,7 @@ paths: get: operationId: registry_list_garbageCollections summary: List Garbage Collections - description: >- - To get information about past garbage collections for a registry, send a - GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. + description: To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. tags: - Container Registry parameters: @@ -2041,17 +1708,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collections" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.list_garbage_collections(registry_name="example") + resp = client.registry.list_garbage_collections(registry_name="example") security: - bearer_auth: - registry:read @@ -2059,10 +1722,7 @@ paths: put: operationId: registry_update_garbageCollection summary: Update Garbage Collection - description: >- - To cancel the currently-active garbage collection for a registry, send a - PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` - and specify one or more of the attributes below. + description: To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. tags: - Container Registry parameters: @@ -2095,17 +1755,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/registry/example/garbage-collection/example-gc-uuid" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.registry.run_garbage_collection(registry_name="example") + resp = client.registry.run_garbage_collection(registry_name="example") security: - bearer_auth: - registry:update @@ -2113,20 +1769,11 @@ paths: get: operationId: registry_get_options summary: List Registry Options (Subscription Tiers and Available Regions) - description: >- - This endpoint serves to provide additional information as to which - option values are available when creating a container registry. - - There are multiple subscription tiers available for container registry. - Each tier allows a different number of image repositories to be created - in your registry, and has a different amount of storage and transfer - included. - - There are multiple regions available for container registry and controls - where your data is stored. - - To list the available options, send a GET request to - `/v2/registry/options`. + description: |- + This endpoint serves to provide additional information as to which option values are available when creating a container registry. + There are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included. + There are multiple regions available for container registry and controls where your data is stored. + To list the available options, send a GET request to `/v2/registry/options`. tags: - Container Registry responses: @@ -2168,10 +1815,7 @@ components: maxLength: 63 pattern: ^[a-z0-9-]{1,63}$ example: example - description: >- - A globally unique name for the container registry. Must be lowercase - and be composed only of numbers, letters and `-`, up to a limit of - 63 characters. + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. subscription_tier_slug: type: string enum: @@ -2179,9 +1823,7 @@ components: - basic - professional example: basic - description: >- - The slug of the subscription tier to sign up for. Valid values can - be retrieved using the options endpoint. + description: The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint. region: type: string enum: @@ -2194,9 +1836,7 @@ components: - blr1 - syd1 example: fra1 - description: >- - Slug of the region where registry data is stored. When not provided, - a region will be selected. + description: Slug of the region where registry data is stored. When not provided, a region will be selected. required: - name update_registry: @@ -2205,9 +1845,7 @@ components: cancel: type: boolean example: true - description: >- - A boolean value indicating that the garbage collection should be - cancelled. + description: A boolean value indicating that the garbage collection should be cancelled. validate_registry: type: object properties: @@ -2216,10 +1854,7 @@ components: maxLength: 63 pattern: ^[a-z0-9-]{1,63}$ example: example - description: >- - A globally unique name for the container registry. Must be lowercase - and be composed only of numbers, letters and `-`, up to a limit of - 63 characters. + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. required: - name registry_create: @@ -2230,10 +1865,7 @@ components: maxLength: 63 pattern: ^[a-z0-9-]{1,63}$ example: example - description: >- - A globally unique name for the container registry. Must be lowercase - and be composed only of numbers, letters and `-`, up to a limit of - 63 characters. + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. subscription_tier_slug: type: string enum: @@ -2241,9 +1873,7 @@ components: - basic - professional example: basic - description: >- - The slug of the subscription tier to sign up for. Valid values can - be retrieved using the options endpoint. + description: The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint. region: type: string enum: @@ -2253,9 +1883,7 @@ components: - sgp1 - fra1 example: fra1 - description: >- - Slug of the region where registry data is stored. When not provided, - a region will be selected. + description: Slug of the region where registry data is stored. When not provided, a region will be selected. required: - name - subscription_tier_slug @@ -2272,35 +1900,98 @@ components: description: Type of the garbage collection to run against this registry registry: type: object - allOf: - - $ref: '#/components/schemas/registry_base' - - type: object + properties: + name: + type: string + maxLength: 63 + pattern: ^[a-z0-9-]{1,63}$ + example: example + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-21T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the registry was created. + region: + type: string + example: fra1 + description: Slug of the region where registry data is stored + storage_usage_bytes: + type: integer + readOnly: true + example: 29393920 + description: The amount of storage used in the registry in bytes. + storage_usage_bytes_updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-04T21:39:49.530562231Z' + description: The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. + subscription: + readOnly: true + type: object properties: - subscription: - allOf: - - readOnly: true - - $ref: '#/components/schemas/subscription' + tier: + type: object + properties: + name: + type: string + example: Basic + description: The name of the subscription tier. + slug: + type: string + example: basic + description: The slug identifier of the subscription tier. + included_repositories: + type: integer + example: 5 + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + included_storage_bytes: + type: integer + example: 5368709120 + description: The amount of storage included in the subscription tier in bytes. + allow_storage_overage: + type: boolean + example: true + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + included_bandwidth_bytes: + type: integer + example: 5368709120 + description: The amount of outbound data transfer included in the subscription tier in bytes. + monthly_price_in_cents: + type: integer + example: 500 + description: The monthly cost of the subscription tier in cents. + storage_overage_price_in_cents: + type: integer + example: 2 + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-01-23T21:19:12Z' + description: The time at which the subscription was created. + updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-05T15:53:24Z' + description: The time at which the subscription was last updated. error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -2308,8 +1999,34 @@ components: - message multiregistry: type: object - allOf: - - $ref: '#/components/schemas/registry_base' + properties: + name: + type: string + maxLength: 63 + pattern: ^[a-z0-9-]{1,63}$ + example: example + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-21T16:02:37Z' + description: A time value given in ISO8601 combined date and time format that represents when the registry was created. + region: + type: string + example: fra1 + description: Slug of the region where registry data is stored + storage_usage_bytes: + type: integer + readOnly: true + example: 29393920 + description: The amount of storage used in the registry in bytes. + storage_usage_bytes_updated_at: + type: string + format: date-time + readOnly: true + example: '2020-11-04T21:39:49.530562231Z' + description: The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. docker_credentials: type: object properties: @@ -2321,16 +2038,46 @@ components: properties: auth: type: string - example: >- - YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK - description: >- - A base64 encoded string containing credentials for the - container registry. + example: YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK + description: A base64 encoded string containing credentials for the container registry. subscription: type: object properties: tier: - $ref: '#/components/schemas/subscription_tier_base' + type: object + properties: + name: + type: string + example: Basic + description: The name of the subscription tier. + slug: + type: string + example: basic + description: The slug identifier of the subscription tier. + included_repositories: + type: integer + example: 5 + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + included_storage_bytes: + type: integer + example: 5368709120 + description: The amount of storage included in the subscription tier in bytes. + allow_storage_overage: + type: boolean + example: true + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + included_bandwidth_bytes: + type: integer + example: 5368709120 + description: The amount of outbound data transfer included in the subscription tier in bytes. + monthly_price_in_cents: + type: integer + example: 500 + description: The monthly cost of the subscription tier in cents. + storage_overage_price_in_cents: + type: integer + example: 2 + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. created_at: type: string format: date-time @@ -2357,10 +2104,7 @@ components: included_repositories: type: integer example: 5 - description: >- - The number of repositories included in the subscription tier. `0` - indicates that the subscription tier includes unlimited - repositories. + description: The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. included_storage_bytes: type: integer example: 5368709120 @@ -2368,16 +2112,11 @@ components: allow_storage_overage: type: boolean example: true - description: >- - A boolean indicating whether the subscription tier supports - additional storage above what is included in the base plan at an - additional cost per GiB used. + description: A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. included_bandwidth_bytes: type: integer example: 5368709120 - description: >- - The amount of outbound data transfer included in the subscription - tier in bytes. + description: The amount of outbound data transfer included in the subscription tier in bytes. monthly_price_in_cents: type: integer example: 500 @@ -2385,18 +2124,14 @@ components: storage_overage_price_in_cents: type: integer example: 2 - description: >- - The price paid in cents per GiB for additional storage beyond what - is included in the subscription plan. + description: The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. subscription_tier_extended: type: object properties: eligible: type: boolean example: true - description: >- - A boolean indicating whether your account it eligible to use a - certain subscription tier. + description: A boolean indicating whether your account it eligible to use a certain subscription tier. eligibility_reasons: type: array items: @@ -2406,10 +2141,7 @@ components: - OverStorageLimit example: - OverRepositoryLimit - description: >- - If your account is not eligible to use a certain subscription tier, - this will include a list of reasons that prevent you from using the - tier. + description: If your account is not eligible to use a certain subscription tier, this will include a list of reasons that prevent you from using the tier. garbage_collection: type: object properties: @@ -2464,7 +2196,56 @@ components: example: repo-1 description: The name of the repository. latest_manifest: - $ref: '#/components/schemas/repository_manifest' + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The manifest digest + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the manifest in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the manifest was last updated. + tags: + type: array + items: + type: string + example: + - latest + - v1 + - v2 + description: All tags associated with this manifest + blobs: + type: array + items: + type: object + properties: + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the blob + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the blob in bytes. + description: All blobs associated with this manifest tag_count: type: integer example: 1 @@ -2477,15 +2258,48 @@ components: type: object properties: links: - $ref: '#/components/schemas/page_links' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: type: object properties: meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total + type: object + description: Information about the response itself. + required: + - total + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - meta repository_tag: @@ -2505,8 +2319,7 @@ components: description: The name of the tag. manifest_digest: type: string - example: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 description: The digest of the manifest associated with the tag. compressed_size_bytes: type: integer @@ -2515,9 +2328,7 @@ components: size_bytes: type: integer example: 5861888 - description: >- - The uncompressed size of the tag in bytes (this size is calculated - asynchronously so it may not be immediately available). + description: The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). updated_at: type: string format: date-time @@ -2536,8 +2347,7 @@ components: description: The name of the repository. digest: type: string - example: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 description: The manifest digest compressed_size_bytes: type: integer @@ -2546,9 +2356,7 @@ components: size_bytes: type: integer example: 5861888 - description: >- - The uncompressed size of the manifest in bytes (this size is - calculated asynchronously so it may not be immediately available). + description: The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). updated_at: type: string format: date-time @@ -2566,7 +2374,16 @@ components: blobs: type: array items: - $ref: '#/components/schemas/repository_blob' + type: object + properties: + digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the blob + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the blob in bytes. description: All blobs associated with this manifest repository: type: object @@ -2580,7 +2397,37 @@ components: example: repo-1 description: The name of the repository. latest_tag: - $ref: '#/components/schemas/repository_tag' + type: object + properties: + registry_name: + type: string + example: example + description: The name of the container registry. + repository: + type: string + example: repo-1 + description: The name of the repository. + tag: + type: string + example: latest + description: The name of the tag. + manifest_digest: + type: string + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + description: The digest of the manifest associated with the tag. + compressed_size_bytes: + type: integer + example: 2803255 + description: The compressed size of the tag in bytes. + size_bytes: + type: integer + example: 5861888 + description: The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). + updated_at: + type: string + format: date-time + example: '2020-04-09T23:54:25Z' + description: The time the tag was last updated. tag_count: type: integer example: 1 @@ -2593,18 +2440,13 @@ components: maxLength: 63 pattern: ^[a-z0-9-]{1,63}$ example: example - description: >- - A globally unique name for the container registry. Must be lowercase - and be composed only of numbers, letters and `-`, up to a limit of - 63 characters. + description: A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. created_at: type: string format: date-time readOnly: true example: '2020-03-21T16:02:37Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the registry was created. + description: A time value given in ISO8601 combined date and time format that represents when the registry was created. region: type: string example: fra1 @@ -2619,17 +2461,32 @@ components: format: date-time readOnly: true example: '2020-11-04T21:39:49.530562231Z' - description: >- - The time at which the storage usage was updated. Storage usage is - calculated asynchronously, and may not immediately reflect pushes to - the registry. + description: The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. page_links: type: object properties: pages: anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 - {} example: pages: @@ -2648,21 +2505,34 @@ components: properties: digest: type: string - example: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 description: The digest of the blob compressed_size_bytes: type: integer example: 2803255 description: The compressed size of the blob in bytes. forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' + type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' + type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 link_to_last_page: type: object properties: @@ -2693,9 +2563,7 @@ components: example: https://api.digitalocean.com/v2/images?page=1 responses: all_registries_info: - description: >- - The response will be a JSON object with the key `registry` containing - information about your registry. + description: The response will be a JSON object with the key `registry` containing information about your registry. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2778,9 +2646,7 @@ components: id: example_error message: some error message multiregistry_info: - description: >- - The response will be a JSON object with the key `registry` containing - information about your registry. + description: The response will be a JSON object with the key `registry` containing information about your registry. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2834,9 +2700,7 @@ components: schema: $ref: '#/components/schemas/docker_credentials' subscription_response: - description: >- - The response will be a JSON object with a key called `subscription` - containing information about your subscription. + description: The response will be a JSON object with a key called `subscription` containing information about your subscription. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2852,9 +2716,7 @@ components: $ref: '#/components/schemas/subscription' type: object registry_options_response: - description: >- - The response will be a JSON object with a key called `options` which - contains a key called `subscription_tiers` listing the available tiers. + description: The response will be a JSON object with a key called `options` which contains a key called `subscription_tiers` listing the available tiers. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2918,10 +2780,7 @@ components: monthly_price_in_cents: 2000 eligible: true garbage_collection: - description: >- - The response will be a JSON object with a key of `garbage_collection`. - This will be a json object with attributes representing the - currently-active garbage collection. + description: The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2937,11 +2796,7 @@ components: garbage_collection: $ref: '#/components/schemas/garbage_collection' garbage_collections: - description: >- - The response will be a JSON object with a key of `garbage_collections`. - This will be set to an array containing objects representing each past - garbage collection. Each will contain the standard Garbage Collection - attributes. + description: The response will be a JSON object with a key of `garbage_collections`. This will be set to an array containing objects representing each past garbage collection. Each will contain the standard Garbage Collection attributes. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -2970,10 +2825,7 @@ components: meta: total: 1 all_repositories_v2: - description: >- - The response body will be a JSON object with a key of `repositories`. - This will be set to an array containing objects each representing a - repository. + description: The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3000,8 +2852,7 @@ components: tag_count: 57 manifest_count: 82 latest_manifest: - digest: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + digest: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 registry_name: example repository: repo-1 compressed_size_bytes: 1972332 @@ -3011,23 +2862,18 @@ components: - v1 - v2 blobs: - - digest: >- - sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab + - digest: sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab compressed_size_bytes: 1471 - - digest: >- - sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e + - digest: sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e compressed_size_byte: 2814446 - - digest: >- - sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a + - digest: sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a compressed_size_bytes: 528 meta: total: 5 links: pages: - next: >- - https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1 - last: >- - https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=5&per_page=1 + next: https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=2&page_token=JPZmZzZXQiOjB9&per_page=1 + last: https://api.digitalocean.com/v2/registry/example/repositoriesV2?page=5&per_page=1 bad_request: description: There was an error parsing the request body. headers: @@ -3046,9 +2892,7 @@ components: message: error parsing request body request_id: 4851a473-1621-42ea-b2f9-5071c0ea8414 repository_tags: - description: >- - The response body will be a JSON object with a key of `tags`. This will - be set to an array containing objects each representing a tag. + description: The response body will be a JSON object with a key of `tags`. This will be set to an array containing objects each representing a tag. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3073,17 +2917,14 @@ components: - registry_name: example repository: repo-1 tag: latest - manifest_digest: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + manifest_digest: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 compressed_size_bytes: 2803255 size_bytes: 5861888 updated_at: '2020-04-09T23:54:25Z' meta: total: 1 repository_manifests: - description: >- - The response body will be a JSON object with a key of `manifests`. This - will be set to an array containing objects each representing a manifest. + description: The response body will be a JSON object with a key of `manifests`. This will be set to an array containing objects each representing a manifest. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3105,8 +2946,7 @@ components: - $ref: '#/components/schemas/meta' example: manifests: - - digest: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + - digest: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 registry_name: example repository: repo-1 compressed_size_bytes: 1972332 @@ -3116,27 +2956,20 @@ components: - v1 - v2 blobs: - - digest: >- - sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab + - digest: sha256:14119a10abf4669e8cdbdff324a9f9605d99697215a0d21c360fe8dfa8471bab compressed_size_bytes: 1471 - - digest: >- - sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e + - digest: sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e compressed_size_byte: 2814446 - - digest: >- - sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a + - digest: sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a compressed_size_bytes: 528 meta: total: 3 links: pages: - first: >- - https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1 - prev: >- - https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1 - next: >- - https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1 - last: >- - https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1 + first: https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1 + prev: https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=1&per_page=1 + next: https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1 + last: https://api.digitalocean.com/v2/registry/example/repositories/repo-1/digests?page=3&per_page=1 conflict: description: The request could not be completed due to a conflict. headers: @@ -3154,9 +2987,7 @@ components: id: conflict message: The request could not be completed due to a conflict. registry_info: - description: >- - The response will be a JSON object with the key `registry` containing - information about your registry. + description: The response will be a JSON object with the key `registry` containing information about your registry. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3186,14 +3017,10 @@ components: $ref: '#/components/schemas/error' example: id: precondition_failed - message: >- - This API is not supported if you have created multiple registries. - Please use - + message: |- + This API is not supported if you have created multiple registries. Please use ‘/v2/registries/{registry_name}’ instead. Refer to - - https://docs.digitalocean.com/reference/api/digitalocean/#tag/Container-Registry - for more info. + https://docs.digitalocean.com/reference/api/digitalocean/#tag/Container-Registry for more info. registries_over_limit: description: There are more than one registries in the DO account. headers: @@ -3211,10 +3038,7 @@ components: id: precondition_failed message: 'registry is not eligible for tier because: [OverRegistryLimit]' all_repositories: - description: >- - The response body will be a JSON object with a key of `repositories`. - This will be set to an array containing objects each representing a - repository. + description: The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3242,8 +3066,7 @@ components: registry_name: example repository: repo-1 tag: latest - manifest_digest: >- - sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + manifest_digest: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 compressed_size_bytes: 2803255 size_bytes: 5861888 updated_at: '2020-04-09T23:54:25Z' @@ -3292,9 +3115,7 @@ components: in: query name: page required: false - description: >- - Which 'page' of paginated results to return. Ignored when 'page_token' - is provided. + description: Which 'page' of paginated results to return. Ignored when 'page_token' is provided. schema: type: integer minimum: 1 @@ -3304,18 +3125,14 @@ components: in: query name: page_token required: false - description: >- - Token to retrieve of the next or previous set of results more quickly - than using 'page'. + description: Token to retrieve of the next or previous set of results more quickly than using 'page'. schema: type: string example: eyJUb2tlbiI6IkNnZGpiMjlz registry_repository_name: in: path name: repository_name - description: >- - The name of a container registry repository. If the name contains `/` - characters, they must be URL-encoded, e.g. `%2F`. + description: The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. required: true schema: type: string @@ -3340,9 +3157,7 @@ components: in: query name: expiry_seconds required: false - description: >- - The duration in seconds that the returned registry credentials will be - valid. If not set or 0, the credentials will not expire. + description: The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. schema: type: integer minimum: 0 @@ -3352,9 +3167,7 @@ components: in: query name: read_write required: false - description: >- - By default, the registry credentials allow for read-only access. Set - this query parameter to `true` to obtain read-write credentials. + description: By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. schema: type: boolean default: false @@ -3364,31 +3177,20 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-stackQL-resources: registries: - id: digitalocean.container_registries.registries + id: digitalocean.container_registry.registries name: registries title: Registries methods: @@ -3452,18 +3254,15 @@ components: sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/registries/methods/registries_get' - - $ref: >- - #/components/x-stackQL-resources/registries/methods/registries_list + - $ref: '#/components/x-stackQL-resources/registries/methods/registries_list' insert: - - $ref: >- - #/components/x-stackQL-resources/registries/methods/registries_create + - $ref: '#/components/x-stackQL-resources/registries/methods/registries_create' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/registries/methods/registries_delete + - $ref: '#/components/x-stackQL-resources/registries/methods/registries_delete' replace: [] docker_credentials: - id: digitalocean.container_registries.docker_credentials + id: digitalocean.container_registry.docker_credentials name: docker_credentials title: Docker Credentials methods: @@ -3483,14 +3282,13 @@ components: objectKey: $.auths sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/docker_credentials/methods/registries_get_docker_credentials + - $ref: '#/components/x-stackQL-resources/docker_credentials/methods/registries_get_docker_credentials' insert: [] update: [] delete: [] replace: [] subscriptions: - id: digitalocean.container_registries.subscriptions + id: digitalocean.container_registry.subscriptions name: subscriptions title: Subscriptions methods: @@ -3522,16 +3320,14 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/subscriptions/methods/registries_get_subscription + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/registries_get_subscription' insert: - - $ref: >- - #/components/x-stackQL-resources/subscriptions/methods/registries_update_subscription + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/registries_update_subscription' update: [] delete: [] replace: [] options: - id: digitalocean.container_registries.options + id: digitalocean.container_registry.options name: options title: Options methods: @@ -3551,14 +3347,13 @@ components: objectKey: $.options sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/options/methods/registries_get_options + - $ref: '#/components/x-stackQL-resources/options/methods/registries_get_options' insert: [] update: [] delete: [] replace: [] active_garbage_collection: - id: digitalocean.container_registries.active_garbage_collection + id: digitalocean.container_registry.active_garbage_collection name: active_garbage_collection title: Active Garbage Collection methods: @@ -3571,14 +3366,13 @@ components: objectKey: $.garbage_collection sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/active_garbage_collection/methods/registries_get_garbage_collection + - $ref: '#/components/x-stackQL-resources/active_garbage_collection/methods/registries_get_garbage_collection' insert: [] update: [] delete: [] replace: [] garbage_collections: - id: digitalocean.container_registries.garbage_collections + id: digitalocean.container_registry.garbage_collections name: garbage_collections title: Garbage Collections methods: @@ -3597,8 +3391,7 @@ components: objectKey: $.garbage_collections registries_update_garbage_collection: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1garbage-collection~1{garbage_collection_uuid}/put + $ref: '#/paths/~1v2~1registries~1{registry_name}~1garbage-collection~1{garbage_collection_uuid}/put' response: mediaType: application/json openAPIDocKey: '200' @@ -3623,23 +3416,20 @@ components: objectKey: $.garbage_collections registry_update_garbage_collection_legacy: operation: - $ref: >- - #/paths/~1v2~1registry~1{registry_name}~1garbage-collection~1{garbage_collection_uuid}/put + $ref: '#/paths/~1v2~1registry~1{registry_name}~1garbage-collection~1{garbage_collection_uuid}/put' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/garbage_collections/methods/registries_list_garbage_collections + - $ref: '#/components/x-stackQL-resources/garbage_collections/methods/registries_list_garbage_collections' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/garbage_collections/methods/registries_update_garbage_collection + - $ref: '#/components/x-stackQL-resources/garbage_collections/methods/registries_update_garbage_collection' repositories: - id: digitalocean.container_registries.repositories + id: digitalocean.container_registry.repositories name: repositories title: Repositories methods: @@ -3652,8 +3442,7 @@ components: objectKey: $.repositories registries_delete_repository: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}/delete + $ref: '#/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}/delete' response: mediaType: application/json openAPIDocKey: '204' @@ -3673,103 +3462,89 @@ components: objectKey: $.repositories sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repositories/methods/registries_list_repositories_v2 + - $ref: '#/components/x-stackQL-resources/repositories/methods/registries_list_repositories_v2' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/repositories/methods/registries_delete_repository + - $ref: '#/components/x-stackQL-resources/repositories/methods/registries_delete_repository' replace: [] repository_tags: - id: digitalocean.container_registries.repository_tags + id: digitalocean.container_registry.repository_tags name: repository_tags title: Repository Tags methods: registries_list_repository_tags: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1tags/get + $ref: '#/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1tags/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.tags registries_delete_repository_tag: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1tags~1{repository_tag}/delete + $ref: '#/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1tags~1{repository_tag}/delete' response: mediaType: application/json openAPIDocKey: '204' registry_list_repository_tags_legacy: operation: - $ref: >- - #/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags/get + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.tags registry_delete_repository_tag_legacy: operation: - $ref: >- - #/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags~1{repository_tag}/delete + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1tags~1{repository_tag}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repository_tags/methods/registries_list_repository_tags + - $ref: '#/components/x-stackQL-resources/repository_tags/methods/registries_list_repository_tags' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/repository_tags/methods/registries_delete_repository_tag + - $ref: '#/components/x-stackQL-resources/repository_tags/methods/registries_delete_repository_tag' replace: [] repository_manifests: - id: digitalocean.container_registries.repository_manifests + id: digitalocean.container_registry.repository_manifests name: repository_manifests title: Repository Manifests methods: registries_list_repository_manifests: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1digests/get + $ref: '#/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1digests/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.manifests registries_delete_repository_manifest: operation: - $ref: >- - #/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1digests~1{manifest_digest}/delete + $ref: '#/paths/~1v2~1registries~1{registry_name}~1repositories~1{repository_name}~1digests~1{manifest_digest}/delete' response: mediaType: application/json openAPIDocKey: '204' registry_list_repository_manifests_legacy: operation: - $ref: >- - #/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests/get + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.manifests registry_delete_repository_manifest_legacy: operation: - $ref: >- - #/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests~1{manifest_digest}/delete + $ref: '#/paths/~1v2~1registry~1{registry_name}~1repositories~1{repository_name}~1digests~1{manifest_digest}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/repository_manifests/methods/registries_list_repository_manifests + - $ref: '#/components/x-stackQL-resources/repository_manifests/methods/registries_list_repository_manifests' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/repository_manifests/methods/registries_delete_repository_manifest + - $ref: '#/components/x-stackQL-resources/repository_manifests/methods/registries_delete_repository_manifest' replace: [] servers: - url: https://api.digitalocean.com diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/databases.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/databases.yaml index 182cea2..11b6a39 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/databases.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/databases.yaml @@ -8,10 +8,8 @@ paths: get: operationId: databases_list_options summary: List Database Options - description: >- - To list all of the options available for the offered database engines, - send a GET request to `/v2/databases/options`. - + description: |- + To list all of the options available for the offered database engines, send a GET request to `/v2/databases/options`. The result will be a JSON object with an `options` key. tags: - Databases @@ -67,27 +65,14 @@ paths: get: operationId: databases_list_clusters summary: List All Database 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. - + 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 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 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. + The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. tags: - Databases parameters: @@ -148,42 +133,15 @@ paths: post: operationId: databases_create_cluster summary: Create a New Database Cluster - description: >- - To create a database cluster, send a POST request to `/v2/databases`. To - see a list of options for each engine, such as available regions, size - slugs, and versions, send a GET request to the `/v2/databases/options` - endpoint. The available sizes for the `storage_size_mib` field depends - on the cluster's size. To see a list of available sizes, see [Managed - Database - Pricing](https://www.digitalocean.com/pricing/managed-databases). - - - The create response returns a JSON object with a key called `database`. - The value of this is an object that contains the standard attributes - associated with a database cluster. The initial value of the database - cluster's `status` attribute is `creating`. When the cluster is ready to - receive traffic, this changes to `online`. - - - The embedded `connection` and `private_connection` objects contains the - information needed to access the database cluster. For multi-node - clusters, the `standby_connection` and `standby_private_connection` - objects contain the information needed to connect to the cluster's - standby node(s). - - - DigitalOcean managed PostgreSQL and MySQL database clusters take - automated daily backups. To create a new database cluster based on a - backup of an existing cluster, send a POST request to `/v2/databases`. - In addition to the standard database cluster attributes, the JSON body - must include a key named `backup_restore` with the name of the original - database cluster and the timestamp of the backup to be restored. - Creating a database from a backup is the same as forking a database in - the control panel. - - Note: Caching cluster creates are no longer supported as of - 2025-04-30T00:00:00Z. Backups are also not supported for Caching or - Valkey clusters. + description: |- + To create a database cluster, send a POST request to `/v2/databases`. To see a list of options for each engine, such as available regions, size slugs, and versions, send a GET request to the `/v2/databases/options` endpoint. The available sizes for the `storage_size_mib` field depends on the cluster's size. To see a list of available sizes, see [Managed Database Pricing](https://www.digitalocean.com/pricing/managed-databases). + + The create response returns a JSON object with a key called `database`. The value of this is an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute is `creating`. When the cluster is ready to receive traffic, this changes to `online`. + + The embedded `connection` and `private_connection` objects contains the information needed to access the database cluster. For multi-node clusters, the `standby_connection` and `standby_private_connection` objects contain the information needed to connect to the cluster's standby node(s). + + DigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel. + Note: Caching cluster creates are no longer supported as of 2025-04-30T00:00:00Z. Backups are also not supported for Caching or Valkey clusters. tags: - Databases requestBody: @@ -316,24 +274,14 @@ paths: get: operationId: databases_get_cluster summary: Retrieve an Existing Database Cluster - description: >- - To show information about an existing database cluster, send a GET - request to `/v2/databases/$DATABASE_ID`. - + description: |- + To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`. - The response will be a JSON object with a database key. This will be set - to an object containing the standard database cluster attributes. + The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster 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 contain the information needed to connect to the cluster's standby node(s). - 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 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. + The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. tags: - Databases parameters: @@ -376,29 +324,22 @@ paths: cluster, _, err := client.Databases.Get(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_cluster(database_cluster_uuid="a7a89a") + get_resp = client.databases.get_cluster(database_cluster_uuid="a7a89a") security: - bearer_auth: - database:read delete: operationId: databases_destroy_cluster summary: Destroy a Database Cluster - description: >- - To destroy a specific database, send a DELETE request to - `/v2/databases/$DATABASE_ID`. - - A status of 204 will be given. This indicates that the request was - processed successfully, but that no response body is needed. + description: |- + To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases parameters: @@ -418,13 +359,10 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X DELETE \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" - lang: Go source: |- @@ -442,17 +380,13 @@ paths: _, err := client.Databases.Delete(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_resp = - client.databases.destroy_cluster(database_cluster_uuid="a7abba8") + delete_resp = client.databases.destroy_cluster(database_cluster_uuid="a7abba8") security: - bearer_auth: - database:delete @@ -460,15 +394,10 @@ paths: get: operationId: databases_get_config summary: Retrieve an Existing Database Cluster Configuration - description: > - Shows configuration parameters for an existing database cluster by - sending a GET request to - + description: | + Shows configuration parameters for an existing database cluster by sending a GET request to `/v2/databases/$DATABASE_ID/config`. - - The response is a JSON object with a `config` key, which is set to an - object - + The response is a JSON object with a `config` key, which is set to an object containing any database configuration parameters. tags: - Databases @@ -495,27 +424,21 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_config(database_cluster_uuid="a7a90ab") + get_resp = client.databases.get_config(database_cluster_uuid="a7a90ab") security: - bearer_auth: - database:read patch: operationId: databases_patch_config summary: Update the Database Configuration for an Existing Database - description: > - To update the configuration for an existing database cluster, send a - PATCH request to - + description: | + To update the configuration for an existing database cluster, send a PATCH request to `/v2/databases/$DATABASE_ID/config`. tags: - Databases @@ -527,8 +450,7 @@ paths: $ref: '#/components/schemas/database_config' example: config: - sql_mode: >- - ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES sql_require_primary_key: true parameters: - $ref: '#/components/parameters/database_cluster_uuid' @@ -554,17 +476,13 @@ paths: -d '{"config": {"sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES","sql_require_primary_key": true}}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.databases.patch_config(database_cluster_uuid="a7aba9d") + resp = client.databases.patch_config(database_cluster_uuid="a7aba9d") security: - bearer_auth: - database:update @@ -572,16 +490,11 @@ paths: get: operationId: databases_get_ca summary: Retrieve the Public Certificate - description: > - To retrieve the public certificate used to secure the connection to the - database cluster send a GET request to - + description: | + To retrieve the public certificate used to secure the connection to the database cluster send a GET request to `/v2/databases/$DATABASE_ID/ca`. - - The response will be a JSON object with a `ca` key. This will be set to - an object - + The response will be a JSON object with a `ca` key. This will be set to an object containing the base64 encoding of the public key certificate. tags: - Databases @@ -639,9 +552,7 @@ paths: get: operationId: databases_get_migrationStatus summary: Retrieve the Status of an Online Migration - description: >- - To retrieve the status of the most recent online migration, send a GET - request to `/v2/databases/$DATABASE_ID/online-migration`. + description: 'To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. ' tags: - Databases parameters: @@ -661,48 +572,28 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_migration_status(database_cluster_uuid="a7a7ab90") + get_resp = client.databases.get_migration_status(database_cluster_uuid="a7a7ab90") security: - bearer_auth: - database:read put: operationId: databases_update_onlineMigration summary: Start an Online Migration - description: >- - To start an online migration, send a PUT request to - `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a - cluster establishes a connection with an existing cluster and replicates - its contents to the target cluster. Online migration is only available - for MySQL, PostgreSQL, Caching, and Valkey clusters. - - If the existing database is continuously being written to, the - migration process will continue for up to two weeks unless it is - manually stopped. Online migration is only available for - [MySQL](https://docs.digitalocean.com/products/databases/mysql/how-to/migrate/#:~:text=To%20migrate%20a%20MySQL%20database,then%20select%20Set%20Up%20Migration), - [PostgreSQL](https://docs.digitalocean.com/products/databases/postgresql/how-to/migrate/), - [Caching](https://docs.digitalocean.com/products/databases/redis/how-to/migrate/), - and - [Valkey](https://docs.digitalocean.com/products/databases/valkey/how-to/migrate/) - clusters. + description: |- + To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, Caching, and Valkey clusters. + If the existing database is continuously being written to, the migration process will continue for up to two weeks unless it is manually stopped. Online migration is only available for [MySQL](https://docs.digitalocean.com/products/databases/mysql/how-to/migrate/#:~:text=To%20migrate%20a%20MySQL%20database,then%20select%20Set%20Up%20Migration), [PostgreSQL](https://docs.digitalocean.com/products/databases/postgresql/how-to/migrate/), [Caching](https://docs.digitalocean.com/products/databases/redis/how-to/migrate/), and [Valkey](https://docs.digitalocean.com/products/databases/valkey/how-to/migrate/) clusters. tags: - Databases parameters: @@ -739,28 +630,19 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - - -d - '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false,"ignore_dbs":["db0","db1"]}' - \ - + -d '{"source":{"host":"source-do-user-6607903-0.b.db.ondigitalocean.com","dbname":"defaultdb","port":25060,"username":"doadmin","password":"paakjnfe10rsrsmf"},"disable_ssl":false,"ignore_dbs":["db0","db1"]}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "source": { "host": "source-do-user-6607903-0.b.db.ondigitalocean.com", @@ -773,10 +655,7 @@ paths: "ignore_dbs": ["db0","db1"] } - - update_resp = - client.databases.update_online_migration(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_online_migration(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -784,13 +663,10 @@ paths: delete: operationId: databases_delete_onlineMigration summary: Stop an Online Migration - description: > - To stop an online migration, send a DELETE request to - `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. - + description: | + To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. - A status of 204 will be given. This indicates that the request was - processed successfully, but that no response body is needed. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases parameters: @@ -811,27 +687,19 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X DELETE \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/online-migration/77b28fc8-19ff-11eb-8c9c-c68e24557488" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_resp = - client.databases.delete_online_migration(database_cluster_uuid="9cc10173", - migration="77b28fc8") + delete_resp = client.databases.delete_online_migration(database_cluster_uuid="9cc10173", migration="77b28fc8") security: - bearer_auth: - database:delete @@ -839,24 +707,14 @@ paths: put: operationId: databases_update_region summary: Migrate a Database Cluster to a New Region - description: > + description: | To migrate a database cluster to a new region, send a `PUT` request to - - `/v2/databases/$DATABASE_ID/migrate`. The body of the request must - specify a - + `/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a `region` attribute. - - A successful request will receive a 202 Accepted status code with no - body in - - response. Querying the database cluster will show that its `status` - attribute - - will now be set to `migrating`. This will transition back to `online` - when the - + A successful request will receive a 202 Accepted status code with no body in + response. Querying the database cluster will show that its `status` attribute + will now be set to `migrating`. This will transition back to `online` when the migration has completed. tags: - Databases @@ -872,9 +730,7 @@ paths: region: type: string example: lon1 - description: >- - A slug identifier for the region to which the database - cluster will be migrated. + description: A slug identifier for the region to which the database cluster will be migrated. required: - region example: @@ -922,23 +778,17 @@ paths: _, err := client.Databases.Migrate(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", migrateRequest) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "region": "lon1" } - - update_resp = - client.databases.update_region(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_region(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -946,15 +796,9 @@ paths: put: operationId: databases_update_clusterSize summary: Resize a Database Cluster - description: >- - To resize a database cluster, send a PUT request to - `/v2/databases/$DATABASE_ID/resize`. The body of the request must - specify both the size and num_nodes attributes. - - A successful request will receive a 202 Accepted status code with no - body in response. Querying the database cluster will show that its - status attribute will now be set to resizing. This will transition back - to online when the resize operation has completed. + description: |- + To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. + A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. tags: - Databases parameters: @@ -984,16 +828,11 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - - -d '{"size":"db-s-4vcpu-8gb", "num_nodes":3, - "storage_size_mib":163840}' \ - + -d '{"size":"db-s-4vcpu-8gb", "num_nodes":3, "storage_size_mib":163840}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize" - lang: Go source: |- @@ -1015,25 +854,19 @@ paths: } } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "size": "db-s-4vcpu-8gb", "num_nodes": 3, "storage_size_mib": 163840 } - - update_resp = - client.databases.update_cluster_size(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_cluster_size(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -1041,11 +874,8 @@ paths: get: operationId: databases_list_firewall_rules summary: List Firewall Rules (Trusted Sources) for a Database Cluster - description: >- - To list all of a database cluster's firewall rules (known as "trusted - sources" in the control panel), send a GET request to - `/v2/databases/$DATABASE_ID/firewall`. - + description: |- + To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`. The result will be a JSON object with a `rules` key. tags: - Databases @@ -1089,35 +919,21 @@ paths: rules, _, err := client.Databases.GetFirewallRules(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.list_firewall_rules(database_cluster_uuid="a7aab9a") + get_resp = client.databases.list_firewall_rules(database_cluster_uuid="a7aab9a") security: - bearer_auth: - database:read put: operationId: databases_update_firewall_rules summary: Update Firewall Rules (Trusted Sources) for a Database - description: >- - To update a database cluster's firewall rules (known as "trusted - sources" in the control panel), send a PUT request to - `/v2/databases/$DATABASE_ID/firewall` specifying which resources should - be able to open connections to the database. You may limit connections - to specific Droplets, Kubernetes clusters, or IP addresses. When a tag - is provided, any Droplet or Kubernetes node with that tag applied to it - will have access. The firewall is limited to 100 rules (or trusted - sources). When possible, we recommend [placing your databases into a VPC - network](https://docs.digitalocean.com/products/networking/vpc/) to - limit access to them instead of using a firewall. - + description: |- + To update a database cluster's firewall rules (known as "trusted sources" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://docs.digitalocean.com/products/networking/vpc/) to limit access to them instead of using a firewall. A successful tags: - Databases @@ -1199,15 +1015,12 @@ paths: _, err := client.Databases.UpdateFirewallRules(ctx, dbID, &req) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "rules": [ { @@ -1228,10 +1041,7 @@ paths: } ] } - - update_resp = - client.databases.update_firewall_rules(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_firewall_rules(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -1239,13 +1049,9 @@ paths: put: operationId: databases_update_maintenanceWindow summary: Configure a Database Cluster's Maintenance Window - description: >- - To configure the window when automatic maintenance should be performed - for a database cluster, send a PUT request to - `/v2/databases/$DATABASE_ID/maintenance`. - - A successful request will receive a 204 No Content status code with no - body in response. + description: |- + To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: @@ -1303,24 +1109,18 @@ paths: _, err := client.Databases.UpdateMaintenance(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", maintenanceRequest) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "day": "tuesday", "hour": "14:00" } - - update_resp = - client.databases.update_maintenance_window(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_maintenance_window(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -1328,12 +1128,9 @@ paths: put: operationId: databases_install_update summary: Start Database Maintenance - description: >- - To start the installation of updates for a database cluster, send a PUT - request to `/v2/databases/$DATABASE_ID/install_update`. - - A successful request will receive a 204 No Content status code with no - body in response. + description: |- + To start the installation of updates for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/install_update`. + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: @@ -1376,17 +1173,13 @@ paths: _, err := client.Databases.InstallUpdate(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - update_resp = - client.databases.install_update(database_cluster_uuid="a7a8bas") + update_resp = client.databases.install_update(database_cluster_uuid="a7a8bas") security: - bearer_auth: - database:update @@ -1394,15 +1187,10 @@ paths: get: operationId: databases_list_backups summary: List Backups for a Database Cluster - description: >- - To list all of the available backups of a PostgreSQL or MySQL database - cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. - + description: |- + To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. **Note**: Backups are not supported for Caching or Valkey clusters. - - The result will be a JSON object with a `backups key`. This will be set - to an array of backup objects, each of which will contain the size of - the backup and the timestamp at which it was created. + The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. tags: - Databases parameters: @@ -1445,17 +1233,13 @@ paths: backups, _, err := client.Databases.ListBackups(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.list_backups(database_cluster_uuid="a9a8a77") + get_resp = client.databases.list_backups(database_cluster_uuid="a9a8a77") security: - bearer_auth: - database:read @@ -1463,18 +1247,12 @@ paths: get: operationId: databases_list_replicas summary: List All Read-only Replicas - description: >- - To list all of the read-only replicas associated with a database - cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. - + description: |- + To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. - **Note**: Read-only replicas are not supported for Caching or Valkey - clusters. + **Note**: Read-only replicas are not supported for Caching or Valkey clusters. - - The result will be a JSON object with a `replicas` key. This will be set - to an array of database replica objects, each of which will contain the - standard database replica attributes. + The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. tags: - Databases parameters: @@ -1517,39 +1295,25 @@ paths: replicas, _, err := client.Databases.ListReplicas(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.list_replicas(database_cluster_uuid="a7aba3") + get_resp = client.databases.list_replicas(database_cluster_uuid="a7aba3") security: - bearer_auth: - database:read post: operationId: databases_create_replica summary: Create a Read-only Replica - description: >- - To create a read-only replica for a PostgreSQL or MySQL database - cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` - specifying the name it should be given, the size of the node to be used, - and the region where it will be located. - + description: |- + To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. - **Note**: Read-only replicas are not supported for Caching or Valkey - clusters. + **Note**: Read-only replicas are not supported for Caching or Valkey clusters. - - The response will be a JSON object with a key called `replica`. The - value of this will be an object that contains the standard attributes - associated with a database replica. The initial value of the read-only - replica's `status` attribute will be `forking`. When the replica is - ready to receive traffic, this will transition to `active`. + The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. tags: - Databases parameters: @@ -1615,15 +1379,12 @@ paths: replica, _, err := client.Databases.CreateReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", replicaRequest) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - create_req = { "name": "read-nyc3-01", "region": "nyc3", @@ -1631,10 +1392,7 @@ paths: "storage_size_mib": 61440, } - - create_resp = - client.databases.create_replica(database_cluster_uuid="9cc10173", - body=create_req) + create_resp = client.databases.create_replica(database_cluster_uuid="9cc10173", body=create_req) security: - bearer_auth: - database:create @@ -1695,17 +1453,12 @@ paths: get: operationId: databases_get_replica summary: Retrieve an Existing Read-only Replica - description: >- - To show information about an existing database replica, send a GET - request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + description: |- + To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + **Note**: Read-only replicas are not supported for Caching or Valkey clusters. - **Note**: Read-only replicas are not supported for Caching or Valkey - clusters. - - - The response will be a JSON object with a `replica key`. This will be - set to an object containing the standard database replica attributes. + The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. tags: - Databases parameters: @@ -1749,35 +1502,25 @@ paths: replica, _, err := client.Databases.GetReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_replica(database_cluster_uuid="a7a90a", - replica_name="backend-replica") + get_resp = client.databases.get_replica(database_cluster_uuid="a7a90a", replica_name="backend-replica") security: - bearer_auth: - database:read delete: operationId: databases_destroy_replica summary: Destroy a Read-only Replica - description: >- - To destroy a specific read-only replica, send a DELETE request to - `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. - - - **Note**: Read-only replicas are not supported for Caching or Valkey - clusters. + description: |- + To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + **Note**: Read-only replicas are not supported for Caching or Valkey clusters. - A status of 204 will be given. This indicates that the request was - processed successfully, but that no response body is needed. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases parameters: @@ -1821,18 +1564,13 @@ paths: _, err := client.Databases.DeleteReplica(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_resp = - client.databases.destroy_replica(database_cluster_uuid="ba88aab", - replica_name="read_nyc_3") + delete_resp = client.databases.destroy_replica(database_cluster_uuid="ba88aab", replica_name="read_nyc_3") security: - bearer_auth: - database:delete @@ -1840,17 +1578,12 @@ paths: put: operationId: databases_promote_replica summary: Promote a Read-only Replica to become a Primary Cluster - description: >- - To promote a specific read-only replica, send a PUT request to - `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. - - - **Note**: Read-only replicas are not supported for Caching or Valkey - clusters. + description: |- + To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. + **Note**: Read-only replicas are not supported for Caching or Valkey clusters. - A status of 204 will be given. This indicates that the request was - processed successfully, but that no response body is needed. + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases parameters: @@ -1894,18 +1627,13 @@ paths: _, err := client.Databases.PromoteReplicaToPrimary(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.databases.promote_replica(database_cluster_uuid="a7a8bas", - replica_name="ba8ab22") + resp = client.databases.promote_replica(database_cluster_uuid="a7a8bas", replica_name="ba8ab22") security: - bearer_auth: - database:update @@ -1913,32 +1641,19 @@ paths: get: operationId: databases_list_users summary: List all Database Users - description: > - To list all of the users for your database cluster, send a GET request - to - + description: | + To list all of the users for your database cluster, send a GET request to `/v2/databases/$DATABASE_ID/users`. - Note: User management is not supported for Caching or Valkey clusters. + The result will be a JSON object with a `users` key. This will be set to an array + of database user objects, each of which will contain the standard database user attributes. + User passwords will not show without the `database:view_credentials` scope. - The result will be a JSON object with a `users` key. This will be set to - an array - - of database user objects, each of which will contain the standard - database user attributes. - - User passwords will not show without the `database:view_credentials` - scope. - + For MySQL clusters, additional options will be contained in the mysql_settings object. - For MySQL clusters, additional options will be contained in the - mysql_settings object. - - - For MongoDB clusters, additional information will be contained in the - mongo_user_settings object + For MongoDB clusters, additional information will be contained in the mongo_user_settings object tags: - Databases parameters: @@ -1981,54 +1696,36 @@ paths: users, _, err := client.Databases.ListUsers(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", nil) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.list_users(database_cluster_uuid="a7aba3") + get_resp = client.databases.list_users(database_cluster_uuid="a7aba3") security: - bearer_auth: - database:read post: operationId: databases_add_user summary: Add a Database User - description: > - To add a new database user, send a POST request to - `/v2/databases/$DATABASE_ID/users` - + description: | + To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` with the desired username. - Note: User management is not supported for Caching or Valkey clusters. - - When adding a user to a MySQL cluster, additional options can be - configured in the - + When adding a user to a MySQL cluster, additional options can be configured in the `mysql_settings` object. - - When adding a user to a Kafka cluster, additional options can be - configured in - + When adding a user to a Kafka cluster, additional options can be configured in the `settings` object. When adding a user to a MongoDB cluster, additional options can be configured in the `settings.mongo_user_settings` object. - - The response will be a JSON object with a key called `user`. The value - of this will be an - - object that contains the standard attributes associated with a database - user including - + The response will be a JSON object with a key called `user`. The value of this will be an + object that contains the standard attributes associated with a database user including its randomly generated password. tags: - Databases @@ -2046,15 +1743,10 @@ paths: readonly: type: boolean example: true - description: > - (To be deprecated: use settings.mongo_user_settings.role - instead for access controls to MongoDB databases). - - For MongoDB clusters, set to `true` to create a - read-only user. - - This option is not currently supported for other - database engines. + description: | + (To be deprecated: use settings.mongo_user_settings.role instead for access controls to MongoDB databases). + For MongoDB clusters, set to `true` to create a read-only user. + This option is not currently supported for other database engines. examples: Add New User: @@ -2138,18 +1830,13 @@ paths: } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - add_user_resp = - client.databases.add_user(database_cluster_uuid="ab7bb7a", - body={"name": "app-01"}) + add_user_resp = client.databases.add_user(database_cluster_uuid="ab7bb7a", body={"name": "app-01"}) security: - bearer_auth: - database:create @@ -2157,37 +1844,22 @@ paths: get: operationId: databases_get_user summary: Retrieve an Existing Database User - description: > - To show information about an existing database user, send a GET request - to - + description: | + To show information about an existing database user, send a GET request to `/v2/databases/$DATABASE_ID/users/$USERNAME`. - Note: User management is not supported for Caching or Valkey clusters. - - The response will be a JSON object with a `user` key. This will be set - to an object - - containing the standard database user attributes. The user's password - will not show - + The response will be a JSON object with a `user` key. This will be set to an object + containing the standard database user attributes. The user's password will not show up unless the `database:view_credentials` scope is present. - - For MySQL clusters, additional options will be contained in the - `mysql_settings` - + For MySQL clusters, additional options will be contained in the `mysql_settings` object. + For Kafka clusters, additional options will be contained in the `settings` object. - For Kafka clusters, additional options will be contained in the - `settings` object. - - - For MongoDB clusters, additional information will be contained in the - mongo_user_settings object + For MongoDB clusters, additional information will be contained in the mongo_user_settings object tags: - Databases parameters: @@ -2231,35 +1903,26 @@ paths: user, _, err := client.Databases.GetUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = client.databases.get_user(database_cluster_uuid="9a9aba", - username="admin") + get_resp = client.databases.get_user(database_cluster_uuid="9a9aba", username="admin") security: - bearer_auth: - database:read delete: operationId: databases_delete_user summary: Remove a Database User - description: > + description: | To remove a specific database user, send a DELETE request to - `/v2/databases/$DATABASE_ID/users/$USERNAME`. - - A status of 204 will be given. This indicates that the request was - processed - + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. - Note: User management is not supported for Caching or Valkey clusters. tags: - Databases @@ -2304,43 +1967,28 @@ paths: _, err := client.Databases.DeleteUser(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_resp = - client.databases.delete_user(database_cluster_uuid="aba134a", - username="backend_user1") + delete_resp = client.databases.delete_user(database_cluster_uuid="aba134a", username="backend_user1") security: - bearer_auth: - database:delete put: operationId: databases_update_user summary: Update a Database User - description: > - To update an existing database user, send a PUT request to - `/v2/databases/$DATABASE_ID/users/$USERNAME` - + description: | + To update an existing database user, send a PUT request to `/v2/databases/$DATABASE_ID/users/$USERNAME` with the desired settings. - - **Note**: only `settings` can be updated via this type of request. If - you wish to change the name of a user, - + **Note**: only `settings` can be updated via this type of request. If you wish to change the name of a user, you must recreate a new user. - - The response will be a JSON object with a key called `user`. The value - of this will be an - - object that contains the name of the update database user, along with - the `settings` object that - + The response will be a JSON object with a key called `user`. The value of this will be an + object that contains the name of the update database user, along with the `settings` object that has been updated. tags: - Databases @@ -2434,23 +2082,15 @@ paths: post: operationId: databases_reset_auth summary: Reset a Database User's Password or Authentication Method - description: > + description: | To reset the password for a database user, send a POST request to - `/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`. - For `mysql` databases, the authentication method can be specifying by - - including a key in the JSON body called `mysql_settings` with the - `auth_plugin` - + including a key in the JSON body called `mysql_settings` with the `auth_plugin` value specified. - - The response will be a JSON object with a `user` key. This will be set - to an - + The response will be a JSON object with a `user` key. This will be set to an object containing the standard database user attributes. tags: - Databases @@ -2513,25 +2153,19 @@ paths: user, _, err := client.Databases.ResetUserAuth(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", "app-01", resetuserAuthRequest) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "mysql_settings": { "auth_plugin": "caching_sha2_password" } } - - get_resp = - client.databases.reset_auth(database_cluster_uuid="a7a8bas", - username="admin", body=req) + get_resp = client.databases.reset_auth(database_cluster_uuid="a7a8bas", username="admin", body=req) security: - bearer_auth: - database:update @@ -2539,21 +2173,14 @@ paths: get: operationId: databases_list summary: List All Databases - description: > + description: | To list all of the databases in a clusters, send a GET request to - `/v2/databases/$DATABASE_ID/dbs`. + The result will be a JSON object with a `dbs` key. This will be set to an array + of database objects, each of which will contain the standard database attributes. - The result will be a JSON object with a `dbs` key. This will be set to - an array - - of database objects, each of which will contain the standard database - attributes. - - - Note: Database management is not supported for Caching or Valkey - clusters. + Note: Database management is not supported for Caching or Valkey clusters. tags: - Databases parameters: @@ -2609,21 +2236,14 @@ paths: post: operationId: databases_add summary: Add a New Database - description: > + description: | To add a new database to an existing cluster, send a POST request to - `/v2/databases/$DATABASE_ID/dbs`. + Note: Database management is not supported for Caching or Valkey clusters. - Note: Database management is not supported for Caching or Valkey - clusters. - - - The response will be a JSON object with a key called `db`. The value of - this will be - - an object that contains the standard attributes associated with a - database. + The response will be a JSON object with a key called `db`. The value of this will be + an object that contains the standard attributes associated with a database. tags: - Databases parameters: @@ -2679,17 +2299,13 @@ paths: db, _, err := client.Databases.CreateDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createDBReq) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - add_resp = client.databases.add(database_cluster_uuid="9cc10173", - body={"name": "alpha"}) + add_resp = client.databases.add(database_cluster_uuid="9cc10173", body={"name": "alpha"}) security: - bearer_auth: - database:create @@ -2697,20 +2313,13 @@ paths: get: operationId: databases_get summary: Retrieve an Existing Database - description: > - To show information about an existing database cluster, send a GET - request to - + description: | + To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + Note: Database management is not supported for Caching or Valkey clusters. - Note: Database management is not supported for Caching or Valkey - clusters. - - - The response will be a JSON object with a `db` key. This will be set to - an object - + The response will be a JSON object with a `db` key. This will be set to an object containing the standard database attributes. tags: - Databases @@ -2755,37 +2364,27 @@ paths: db, _, err := client.Databases.GetDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = client.databases.get(database_cluster_uuid="a9a8a77", - database_name="admin") + get_resp = client.databases.get(database_cluster_uuid="a9a8a77", database_name="admin") security: - bearer_auth: - database:read delete: operationId: databases_delete summary: Delete a Database - description: > + description: | To delete a specific database, send a DELETE request to - `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + A status of 204 will be given. This indicates that the request was processed + successfully, but that no response body is needed. - A status of 204 will be given. This indicates that the request was - processed - - successfully, but that no response body is needed. - - - Note: Database management is not supported for Caching or Valkey - clusters. + Note: Database management is not supported for Caching or Valkey clusters. tags: - Databases parameters: @@ -2829,18 +2428,13 @@ paths: _, err := client.Databases.DeleteDB(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_resp = - client.databases.delete(database_cluster_uuid="a7abda", - database_name="ba1341") + delete_resp = client.databases.delete(database_cluster_uuid="a7abda", database_name="ba1341") security: - bearer_auth: - database:delete @@ -2848,12 +2442,9 @@ paths: get: operationId: databases_list_connectionPools summary: List Connection Pools (PostgreSQL) - description: >- - To list all of the connection pools available to a PostgreSQL database - cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. - - The result will be a JSON object with a `pools` key. This will be set to - an array of connection pool objects. + description: |- + To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. + The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. tags: - Databases parameters: @@ -2873,13 +2464,10 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X GET / - -H "Content-Type: application/json" / - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" - lang: Go source: |- @@ -2897,48 +2485,29 @@ paths: pools, _, err := client.Databases.ListPools(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", nil) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.list_connection_pools(database_cluster_uuid="a7aab9a") + get_resp = client.databases.list_connection_pools(database_cluster_uuid="a7aab9a") security: - bearer_auth: - database:read post: operationId: databases_add_connectionPool summary: Add a New Connection Pool (PostgreSQL) - description: > - For PostgreSQL database clusters, connection pools can be used to allow - a - - database to share its idle connections. The popular PostgreSQL - connection - - pooling utility PgBouncer is used to provide this service. [See here for - more - information](https://docs.digitalocean.com/products/databases/postgresql/how-to/manage-connection-pools/) - + description: | + For PostgreSQL database clusters, connection pools can be used to allow a + database to share its idle connections. The popular PostgreSQL connection + pooling utility PgBouncer is used to provide this service. [See here for more information](https://docs.digitalocean.com/products/databases/postgresql/how-to/manage-connection-pools/) about how and why to use PgBouncer connection pooling including - details about the available transaction modes. - - To add a new connection pool to a PostgreSQL database cluster, send a - POST - - request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the - pool, - - the user to connect with, the database to connect to, as well as its - desired - + To add a new connection pool to a PostgreSQL database cluster, send a POST + request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool, + the user to connect with, the database to connect to, as well as its desired size and transaction mode. tags: - Databases @@ -2971,16 +2540,11 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X POST \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - - -d '{"name": "backend-pool","mode": "transaction","size": 10,"db": - "defaultdb","user": "doadmin"}' \ - + -d '{"name": "backend-pool","mode": "transaction","size": 10,"db": "defaultdb","user": "doadmin"}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools" - lang: Go source: |- @@ -3006,15 +2570,12 @@ paths: pool, _, err := client.Databases.CreatePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", createPoolReq) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - add_conn_pool_req = { "name": "backend-pool", "mode": "transaction", @@ -3023,10 +2584,7 @@ paths: "user": "doadmin" } - - add_conn_pool_resp = - client.databases.add_connection_pool(database_cluster_uuid="9cc10173", - body=add_conn_pool_req) + add_conn_pool_resp = client.databases.add_connection_pool(database_cluster_uuid="9cc10173", body=add_conn_pool_req) security: - bearer_auth: - database:create @@ -3034,11 +2592,8 @@ paths: get: operationId: databases_get_connectionPool summary: Retrieve Existing Connection Pool (PostgreSQL) - description: >- - To show information about an existing connection pool for a PostgreSQL - database cluster, send a GET request to - `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - + description: |- + To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. The response will be a JSON object with a `pool` key. tags: - Databases @@ -3060,13 +2615,10 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X GET / - -H "Content-Type: application/json" / - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" / - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- @@ -3084,27 +2636,20 @@ paths: pool, _, err := client.Databases.GetPool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_connection_pool(database_cluster_uuid="a7aba8a", - pool_name="backend-pool") + get_resp = client.databases.get_connection_pool(database_cluster_uuid="a7aba8a", pool_name="backend-pool") security: - bearer_auth: - database:read put: operationId: databases_update_connectionPool summary: Update Connection Pools (PostgreSQL) - description: >- - To update a connection pool for a PostgreSQL database cluster, send a - PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + description: To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. tags: - Databases requestBody: @@ -3136,16 +2681,11 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X PUT \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - - -d '{"mode": "transaction", "size": 15, "db": "defaultdb", "user": - "doadmin"}' \ - + -d '{"mode": "transaction", "size": 15, "db": "defaultdb", "user": "doadmin"}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- @@ -3171,15 +2711,12 @@ paths: } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "mode": "transaction", "size": 10, @@ -3187,26 +2724,18 @@ paths: "user": "doadmin" } - - update_resp = - client.databases.update_connection_pool(database_cluster_uuid="a7a8bas", - pool_name="conn_pool", body=req) + update_resp = client.databases.update_connection_pool(database_cluster_uuid="a7a8bas", pool_name="conn_pool", body=req) security: - bearer_auth: - database:update delete: operationId: databases_delete_connectionPool summary: Delete a Connection Pool (PostgreSQL) - description: > - To delete a specific connection pool for a PostgreSQL database cluster, - send - + description: | + To delete a specific connection pool for a PostgreSQL database cluster, send a DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - - A status of 204 will be given. This indicates that the request was - processed - + A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. tags: - Databases @@ -3228,13 +2757,10 @@ paths: $ref: '#/components/responses/unexpected_error' x-codeSamples: - lang: cURL - source: >- + source: |- curl -X GET \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/pools/backend-pool" - lang: Go source: |- @@ -3252,18 +2778,13 @@ paths: _, err := client.Databases.DeletePool(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - delete_conn_pool = - client.databases.delete_connection_pool(database_cluster_uuid="9cc10173", - pool_name="backend-pool") + delete_conn_pool = client.databases.delete_connection_pool(database_cluster_uuid="9cc10173", pool_name="backend-pool") security: - bearer_auth: - database:delete @@ -3271,13 +2792,9 @@ paths: get: operationId: databases_get_evictionPolicy summary: Retrieve the Eviction Policy for a Caching or Valkey Cluster - description: >- - To retrieve the configured eviction policy for an existing Caching or - Valkey cluster, send a GET request to - `/v2/databases/$DATABASE_ID/eviction_policy`. - - The response will be a JSON object with an `eviction_policy` key. This - will be set to a string representing the eviction policy. + description: |- + To retrieve the configured eviction policy for an existing Caching or Valkey cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`. + The response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy. tags: - Databases parameters: @@ -3320,28 +2837,20 @@ paths: db, _, err := client.Databases.GetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_eviction_policy(database_cluster_uuid="a7aa89a") + get_resp = client.databases.get_eviction_policy(database_cluster_uuid="a7aa89a") security: - bearer_auth: - database:read put: operationId: databases_update_evictionPolicy summary: Configure the Eviction Policy for a Caching or Valkey Cluster - description: >- - To configure an eviction policy for an existing Caching or Valkey - cluster, send a PUT request to - `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired - policy. + description: To configure an eviction policy for an existing Caching or Valkey cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy. tags: - Databases parameters: @@ -3398,23 +2907,17 @@ paths: db, _, err := client.Databases.SetEvictionPolicy(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "allkeys_lru") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "eviction_policy": "allkeys_lru" } - - update_resp = - client.databases.update_eviction_policy(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_eviction_policy(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -3422,12 +2925,9 @@ paths: get: operationId: databases_get_sql_mode summary: Retrieve the SQL Modes for a MySQL Cluster - description: >- - To retrieve the configured SQL modes for an existing MySQL cluster, send - a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. - - The response will be a JSON object with a `sql_mode` key. This will be - set to a string representing the configured SQL modes. + description: |- + To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. + The response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes. tags: - Databases parameters: @@ -3470,32 +2970,22 @@ paths: sqlMode, _, err := client.Databases.GetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_sql_mode(database_cluster_uuid="90abaa8") + get_resp = client.databases.get_sql_mode(database_cluster_uuid="90abaa8") security: - bearer_auth: - database:read put: operationId: databases_update_sql_mode summary: Update SQL Mode for a Cluster - description: >- - To configure the SQL modes for an existing MySQL cluster, send a PUT - request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired - modes. See the official MySQL 8 documentation for a [full list of - supported SQL - modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). - - A successful request will receive a 204 No Content status code with no - body in response. + description: |- + To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: @@ -3507,8 +2997,7 @@ paths: schema: $ref: '#/components/schemas/sql_mode' example: - sql_mode: >- - ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE responses: '204': $ref: '#/components/responses/no_content' @@ -3549,23 +3038,17 @@ paths: _, err := client.Databases.SetSQLMode(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", sqlMode) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" } - - update_resp = - client.databases.update_sql_mode(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_sql_mode(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -3573,12 +3056,9 @@ paths: put: operationId: databases_update_major_version summary: Upgrade Major Version for a Database - description: >- - To upgrade the major version of a database, send a PUT request to - `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. - - A successful request will receive a 204 No Content status code with no - body in response. + description: |- + To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: @@ -3613,23 +3093,17 @@ paths: -d '{"version":"14"}' \ "https://api.digitalocean.com/v2/databases/9cdb64e5-61e4-4b30-b711-11ef66d84558/upgrade" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "version": "14" } - - update_resp = - client.databases.update_major_version(database_cluster_uuid="a7a8bas", - body=req) + update_resp = client.databases.update_major_version(database_cluster_uuid="a7a8bas", body=req) security: - bearer_auth: - database:update @@ -3637,12 +3111,9 @@ paths: get: operationId: databases_get_autoscale summary: Retrieve Autoscale Configuration for a Database Cluster - description: >- - To retrieve the autoscale configuration for an existing database - cluster, send a GET request to `/v2/databases/$DATABASE_ID/autoscale`. - - The response will be a JSON object with autoscaling configuration - details. + description: |- + To retrieve the autoscale configuration for an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID/autoscale`. + The response will be a JSON object with autoscaling configuration details. tags: - Databases parameters: @@ -3668,30 +3139,22 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/autoscale" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - get_resp = - client.databases.get_autoscale(database_cluster_uuid="a7a89a") + get_resp = client.databases.get_autoscale(database_cluster_uuid="a7a89a") security: - bearer_auth: - database:read put: operationId: databases_update_autoscale summary: Configure Autoscale Settings for a Database Cluster - description: >- - To configure autoscale settings for an existing database cluster, send a - PUT request to `/v2/databases/$DATABASE_ID/autoscale`, specifying the - autoscale configuration. - - A successful request will receive a 204 No Content status code with no - body in response. + description: |- + To configure autoscale settings for an existing database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/autoscale`, specifying the autoscale configuration. + A successful request will receive a 204 No Content status code with no body in response. tags: - Databases parameters: @@ -3731,15 +3194,12 @@ paths: -d '{"storage":{"enabled":true,"threshold_percent":80,"increment_gib":10}}' \ "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/autoscale" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "storage": { "enabled": True, @@ -3748,10 +3208,7 @@ paths: } } - - update_resp = - client.databases.update_autoscale(database_cluster_uuid="a7a89a", - body=req) + update_resp = client.databases.update_autoscale(database_cluster_uuid="a7a89a", body=req) security: - bearer_auth: - database:update @@ -3889,13 +3346,10 @@ paths: get: operationId: databases_get_kafka_topic summary: Get Topic for a Kafka Cluster - description: > - To retrieve a given topic by name from the set of a Kafka cluster's - topics, - + description: | + To retrieve a given topic by name from the set of a Kafka cluster's topics, send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`. - The result will be a JSON object with a `topic` key. tags: - Databases @@ -4393,10 +3847,8 @@ paths: operationId: databases_get_kafka_schema summary: | Get a Kafka Schema by Subject Name - description: > - To get a specific schema by subject name for a Kafka cluster, send a GET - request to - + description: | + To get a specific schema by subject name for a Kafka cluster, send a GET request to `/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`. tags: - Databases @@ -4421,10 +3873,8 @@ paths: operationId: databases_delete_kafka_schema summary: | Delete a Kafka Schema by Subject Name - description: > - To delete a specific schema by subject name for a Kafka cluster, send a - DELETE request to - + description: | + To delete a specific schema by subject name for a Kafka cluster, send a DELETE request to `/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`. tags: - Databases @@ -4449,10 +3899,8 @@ paths: get: operationId: databases_get_kafka_schema_version summary: Get Kafka Schema by Subject Version - description: > - To get a specific schema by subject name for a Kafka cluster, send a GET - request to - + description: | + To get a specific schema by subject name for a Kafka cluster, send a GET request to `/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME/versions/$VERSION`. tags: - Databases @@ -4478,15 +3926,10 @@ paths: get: operationId: databases_get_kafka_schema_config summary: Retrieve Schema Registry Configuration for a kafka Cluster - description: > - To retrieve the Schema Registry configuration for a Kafka cluster, send - a GET request to - + description: | + To retrieve the Schema Registry configuration for a Kafka cluster, send a GET request to `/v2/databases/$DATABASE_ID/schema-registry/config`. - - The response is a JSON object with a `compatibility_level` key, which is - set to an object - + The response is a JSON object with a `compatibility_level` key, which is set to an object containing any database configuration parameters. tags: - Databases @@ -4511,15 +3954,10 @@ paths: put: operationId: databases_update_kafka_schema_config summary: Update Schema Registry Configuration for a kafka Cluster - description: > - To update the Schema Registry configuration for a Kafka cluster, send a - PUT request to - + description: | + To update the Schema Registry configuration for a Kafka cluster, send a PUT request to `/v2/databases/$DATABASE_ID/schema-registry/config`. - - The response is a JSON object with a `compatibility_level` key, which is - set to an object - + The response is a JSON object with a `compatibility_level` key, which is set to an object containing any database configuration parameters. tags: - Databases @@ -4566,15 +4004,10 @@ paths: get: operationId: databases_get_kafka_schema_subject_config summary: Retrieve Schema Registry Configuration for a Subject of kafka Cluster - description: > - To retrieve the Schema Registry configuration for a Subject of a Kafka - cluster, send a GET request to - + description: | + To retrieve the Schema Registry configuration for a Subject of a Kafka cluster, send a GET request to `/v2/databases/$DATABASE_ID/schema-registry/config/$SUBJECT_NAME`. - - The response is a JSON object with a `compatibility_level` key, which is - set to an object - + The response is a JSON object with a `compatibility_level` key, which is set to an object containing any database configuration parameters. tags: - Databases @@ -4600,15 +4033,10 @@ paths: put: operationId: databases_update_kafka_schema_subject_config summary: Update Schema Registry Configuration for a Subject of kafka Cluster - description: > - To update the Schema Registry configuration for a Subject of a Kafka - cluster, send a PUT request to - + description: | + To update the Schema Registry configuration for a Subject of a Kafka cluster, send a PUT request to `/v2/databases/$DATABASE_ID/schema-registry/config/$SUBJECT_NAME`. - - The response is a JSON object with a `compatibility_level` key, which is - set to an object - + The response is a JSON object with a `compatibility_level` key, which is set to an object containing any database configuration parameters. tags: - Databases @@ -4656,10 +4084,7 @@ paths: get: operationId: databases_get_cluster_metrics_credentials summary: Retrieve Database Clusters' Metrics Endpoint Credentials - description: >- - To show the credentials for all database clusters' metrics endpoints, - send a GET request to `/v2/databases/metrics/credentials`. The result - will be a JSON object with a `credentials` key. + description: To show the credentials for all database clusters' metrics endpoints, send a GET request to `/v2/databases/metrics/credentials`. The result will be a JSON object with a `credentials` key. tags: - Databases responses: @@ -4704,11 +4129,7 @@ paths: put: operationId: databases_update_cluster_metrics_credentials summary: Update Database Clusters' Metrics Endpoint Credentials - description: >- - To update the credentials for all database clusters' metrics endpoints, - send a PUT request to `/v2/databases/metrics/credentials`. A successful - request will receive a 204 No Content status code with no body in - response. + description: To update the credentials for all database clusters' metrics endpoints, send a PUT request to `/v2/databases/metrics/credentials`. A successful request will receive a 204 No Content status code with no body in response. tags: - Databases requestBody: @@ -4822,15 +4243,11 @@ paths: delete: operationId: databases_delete_opensearch_index summary: Delete Index for OpenSearch Cluster - description: > - To delete a single index within OpenSearch cluster, send a DELETE - request - + description: | + To delete a single index within OpenSearch cluster, send a DELETE request to `/v2/databases/$DATABASE_ID/indexes/$INDEX_NAME`. - A status of 204 will be given. This indicates that the request was - processed successfully, but that no response body is needed. tags: - Databases @@ -4888,9 +4305,7 @@ components: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - A unique ID that can be used to identify and reference a database - cluster. + description: A unique ID that can be used to identify and reference a database cluster. readOnly: true name: type: string @@ -4907,23 +4322,15 @@ components: - mongodb - kafka - opensearch - description: >- - A slug representing the database engine used for the cluster. The - possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" - for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" - for OpenSearch, and "valkey" for Valkey. + description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" for OpenSearch, and "valkey" for Valkey.' version: type: string example: '8' - description: >- - A string representing the version of the database engine in use for - the cluster. + description: A string representing the version of the database engine in use for the cluster. semantic_version: type: string example: 8.0.28 - description: >- - A string representing the semantic version of the database engine in - use for the cluster. + description: A string representing the semantic version of the database engine in use for the cluster. readOnly: true num_nodes: type: integer @@ -4932,15 +4339,11 @@ components: size: type: string example: db-s-2vcpu-4gb - description: >- - The slug identifier representing the size of the nodes in the - database cluster. + description: The slug identifier representing the size of the nodes in the database cluster. region: type: string example: nyc3 - description: >- - The slug identifier for the region where the database cluster is - located. + description: The slug identifier for the region where the database cluster is located. status: type: string enum: @@ -4956,19 +4359,13 @@ components: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the database cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. readOnly: true private_network_uuid: type: string pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} example: d455e75d-4858-4eec-8c95-da2f0a5f93a7 - description: >- - A string specifying the UUID of the VPC to which the database - cluster will be assigned. If excluded, the cluster when creating a - new database cluster, it will be assigned to your account's default - VPC for the region.

Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. tags: type: array items: @@ -4976,9 +4373,7 @@ components: example: - production nullable: true - description: >- - An array of tags (as strings) to apply to the database cluster. -

Requires `tag:create` scope. + description: An array of tags (as strings) to apply to the database cluster.

Requires `tag:create` scope. db_names: type: array items: @@ -4987,168 +4382,1983 @@ components: - doadmin nullable: true readOnly: true - description: >- - An array of strings containing the names of databases created in the - database cluster. + description: An array of strings containing the names of databases created in the database cluster. ui_connection: - allOf: - - $ref: '#/components/schemas/opensearch_connection' - - readOnly: true description: 'The connection details for OpenSearch dashboard. ' + type: object + readOnly: true + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the opensearch cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the opensearch dashboard is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the opensearch dashboard.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true schema_registry_connection: - allOf: - - $ref: '#/components/schemas/schema_registry_connection' - - readOnly: true description: The connection details for Schema Registry. - connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - standby_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - standby_private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true - users: - type: array - nullable: true - items: - $ref: '#/components/schemas/database_user' - readOnly: true - maintenance_window: - allOf: - - $ref: '#/components/schemas/database_maintenance_window' - - readOnly: true - project_id: - type: string - format: uuid - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - The ID of the project that the database cluster is assigned to. If - excluded when creating a new database cluster, it will be assigned - to your default project.

Requires `project:update` scope. - rules: - type: array - items: - $ref: '#/components/schemas/firewall_rule' - version_end_of_life: - type: string - example: '2023-11-09T00:00:00Z' - readOnly: true - description: >- - A timestamp referring to the date when the particular version will - no longer be supported. If null, the version does not have an end of - life timeline. - version_end_of_availability: - type: string - example: '2023-05-09T00:00:00Z' - readOnly: true - description: >- - A timestamp referring to the date when the particular version will - no longer be available for creating new clusters. If null, the - version does not have an end of availability timeline. - storage_size_mib: - type: integer - example: 61440 - description: >- - Additional storage added to the cluster, in MiB. If null, no - additional storage is added to the cluster, beyond what is provided - as a base amount from the 'size' and any previously added additional - storage. - metrics_endpoints: - type: array - items: - $ref: '#/components/schemas/database_service_endpoint' - description: >- - Public hostname and port of the cluster's metrics endpoint(s). - Includes one record for the cluster's primary node and a second - entry for the cluster's standby node(s). + type: object readOnly: true - autoscale: - allOf: - - $ref: '#/components/schemas/database_autoscale_params' - description: >- - Autoscaling configuration for the database cluster. Currently only - supports storage autoscaling. If null, autoscaling is not configured - for the cluster. - required: - - name - - engine - - num_nodes - - size - - region - database_backup: - type: object - properties: - database_name: - type: string - example: backend - description: >- - The name of an existing database cluster from which the backup will - be restored. - backup_created_at: - type: string - format: date-time - example: '2019-01-31T19:25:22Z' - description: >- - The timestamp of an existing database cluster backup in ISO8601 - combined date and time format. The most recent backup will be used - if excluded. - required: - - database_name - database_config: - type: object - properties: - config: - anyOf: - - $ref: '#/components/schemas/mysql_advanced_config' - - $ref: '#/components/schemas/postgres_advanced_config' - - $ref: '#/components/schemas/redis_advanced_config' - - $ref: '#/components/schemas/valkey_advanced_config' - - $ref: '#/components/schemas/mongo_advanced_config' - - $ref: '#/components/schemas/kafka_advanced_config' - - $ref: '#/components/schemas/opensearch_advanced_config' - source_database: - type: object - required: - - source - properties: - source: + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the schema registry connection uri. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the schema registry is listening. + example: 20835 + readOnly: true + user: + type: string + description: The default user for the schema registry.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the schema registry.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + connection: type: object + readOnly: true properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true host: type: string - description: >- - The FQDN pointing to the database cluster's current primary - node. + description: The FQDN pointing to the database cluster's current primary node. example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true port: type: integer description: The port on which the database cluster is listening. example: 25060 - dbname: + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + private_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: type: string description: The name of the default database. example: defaultdb - username: + readOnly: true + host: type: string - description: The default user for the database. + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. example: doadmin + readOnly: true password: type: string - description: The randomly generated password for the default user. + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. example: wv78n3zpz42xezdk - disable_ssl: - type: boolean - description: Enables SSL encryption when connecting to the source database. - example: false + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + standby_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + standby_private_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + users: + type: array + nullable: true + items: + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user.
Requires `database:view_credentials` scope. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + mongo_user_settings: + type: object + properties: + databases: + type: array + items: + type: string + example: my-db + example: + - my-db + - my-db-2 + description: A list of databases to which the user should have access. When the database is set to `admin`, the user will have access to all databases based on the user's role i.e. a user with the role `readOnly` assigned to the `admin` database will have read access to all databases. + role: + type: string + enum: + - readOnly + - readWrite + - dbAdmin + example: readOnly + description: The role to assign to the user with each role mapping to a MongoDB built-in role. `readOnly` maps to a [read](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-read) role. `readWrite` maps to a [readWrite](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-readWrite) role. `dbAdmin` maps to a [dbAdmin](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-dbAdmin) role. + description: MongoDB-specific settings for the user. This option is not currently supported for other database engines. + required: + - name + readOnly: true + maintenance_window: + type: object + nullable: true + required: + - day + - hour + readOnly: true + properties: + day: + type: string + example: tuesday + description: The day of the week on which to apply maintenance updates. + hour: + type: string + example: '14:00' + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. + pending: + type: boolean + example: true + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + readOnly: true + description: + type: array + items: + type: string + description: A list of strings, each containing information about a pending maintenance update. + example: + - Update TimescaleDB to version 1.2.1 + - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases + readOnly: true + project_id: + type: string + format: uuid + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.

Requires `project:update` scope. + rules: + type: array + items: + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + readOnly: true + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value + version_end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + version_end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + readOnly: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + metrics_endpoints: + type: array + items: + type: object + properties: + host: + type: string + description: A FQDN pointing to the database cluster's node(s). + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which a service is listening. + example: 9273 + readOnly: true + description: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). + readOnly: true + autoscale: + description: Contains all autoscaling configuration for a database cluster + type: object + properties: + storage: + type: object + description: Configuration for database cluster storage autoscaling + required: + - enabled + properties: + enabled: + type: boolean + description: Whether storage autoscaling is enabled for the cluster + example: true + threshold_percent: + type: integer + minimum: 15 + maximum: 95 + description: The storage usage threshold percentage that triggers autoscaling. When storage usage exceeds this percentage, additional storage will be added automatically. + example: 80 + increment_gib: + type: integer + minimum: 10 + maximum: 500 + description: The amount of additional storage to add (in GiB) when autoscaling is triggered + example: 10 + required: + - name + - engine + - num_nodes + - size + - region + database_backup: + type: object + properties: + database_name: + type: string + example: backend + description: The name of an existing database cluster from which the backup will be restored. + backup_created_at: + type: string + format: date-time + example: '2019-01-31T19:25:22Z' + description: The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded. + required: + - database_name + database_config: + type: object + properties: + config: + anyOf: + - type: object + properties: + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + sql_mode: + description: Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. + type: string + pattern: ^[A-Z_]*(,[A-Z_]+)*$ + example: ANSI,TRADITIONAL + maxLength: 1024 + connect_timeout: + description: The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. + type: integer + minimum: 2 + maximum: 3600 + example: 10 + default_time_zone: + description: Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. + type: string + example: '+03:00' + minLength: 2 + maxLength: 100 + group_concat_max_len: + description: The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. + type: integer + minimum: 4 + maximum: 18446744073709552000 + example: 1024 + information_schema_stats_expiry: + description: The time, in seconds, before cached statistics expire. + type: integer + minimum: 900 + maximum: 31536000 + example: 86400 + innodb_ft_min_token_size: + description: The minimum length of words that an InnoDB FULLTEXT index stores. + type: integer + minimum: 0 + maximum: 16 + example: 3 + innodb_ft_server_stopword_table: + description: The InnoDB FULLTEXT index stopword list for all InnoDB tables. + type: string + pattern: ^.+/.+$ + example: db_name/table_name + maxLength: 1024 + innodb_lock_wait_timeout: + description: The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. + type: integer + minimum: 1 + maximum: 3600 + example: 50 + innodb_log_buffer_size: + description: The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. + type: integer + minimum: 1048576 + maximum: 4294967295 + example: 16777216 + innodb_online_alter_log_max_size: + description: The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. + type: integer + minimum: 65536 + maximum: 1099511627776 + example: 134217728 + innodb_print_all_deadlocks: + description: When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. + type: boolean + example: true + innodb_rollback_on_timeout: + description: When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. + type: boolean + example: true + interactive_timeout: + description: The time, in seconds, the server waits for activity on an interactive. connection before closing it. + type: integer + minimum: 30 + maximum: 604800 + example: 3600 + internal_tmp_mem_storage_engine: + description: The storage engine for in-memory internal temporary tables. + type: string + enum: + - TempTable + - MEMORY + example: TempTable + net_read_timeout: + description: The time, in seconds, to wait for more data from an existing connection. aborting the read. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + net_write_timeout: + description: The number of seconds to wait for a block to be written to a connection before aborting the write. + type: integer + minimum: 1 + maximum: 3600 + example: 30 + sql_require_primary_key: + description: Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. + type: boolean + example: true + wait_timeout: + description: The number of seconds the server waits for activity on a noninteractive connection before closing it. + type: integer + minimum: 1 + maximum: 2147483 + example: 28800 + max_allowed_packet: + description: The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). + type: integer + minimum: 102400 + maximum: 1073741824 + example: 67108864 + max_heap_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + sort_buffer_size: + description: The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). + type: integer + minimum: 32768 + maximum: 1073741824 + example: 262144 + tmp_table_size: + description: The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). + type: integer + minimum: 1048576 + maximum: 1073741824 + example: 16777216 + slow_query_log: + description: When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. + type: boolean + example: true + long_query_time: + description: The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. + type: number + minimum: 0 + maximum: 3600 + example: 10 + binlog_retention_period: + description: The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. + type: number + minimum: 600 + maximum: 86400 + example: 600 + innodb_change_buffer_max_size: + description: Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. + type: integer + minimum: 0 + maximum: 50 + example: 25 + innodb_flush_neighbors: + description: |- + Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. + - 0 — disables this functionality, dirty pages in the same extent are not flushed. + - 1 — flushes contiguous dirty pages in the same extent. + - 2 — flushes dirty pages in the same extent. + type: integer + enum: + - 0 + - 1 + - 2 + example: 0 + innodb_read_io_threads: + description: The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_write_io_threads: + description: The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_thread_concurrency: + description: Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance tuning on high concurrency systems. + type: integer + minimum: 0 + maximum: 1000 + example: 0 + net_buffer_length: + description: Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1024 + maximum: 1048576 + example: 4096 + log_output: + description: Defines the destination for logs. Can be `INSIGHTS`, `TABLE`, or both (`INSIGHTS,TABLE`), or `NONE` to disable logs. To specify both destinations, use `INSIGHTS,TABLE` (order matters). Default is NONE. + type: string + enum: + - INSIGHTS + - TABLE + - INSIGHTS,TABLE + - NONE + example: INSIGHTS + default: NONE + - type: object + properties: + autovacuum_freeze_max_age: + description: Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. + type: integer + minimum: 200000000 + maximum: 1500000000 + example: 200000000 + autovacuum_max_workers: + description: Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. + type: integer + minimum: 1 + maximum: 20 + example: 5 + autovacuum_naptime: + description: Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. + type: integer + minimum: 0 + maximum: 86400 + example: 43200 + autovacuum_vacuum_threshold: + description: Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_analyze_threshold: + description: Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. + type: integer + minimum: 0 + maximum: 2147483647 + example: 50 + autovacuum_vacuum_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_analyze_scale_factor: + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). + type: number + minimum: 0 + maximum: 1 + example: 0.2 + autovacuum_vacuum_cost_delay: + description: Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. + type: integer + minimum: -1 + maximum: 100 + example: 20 + autovacuum_vacuum_cost_limit: + description: Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. + type: integer + minimum: -1 + maximum: 10000 + example: -1 + backup_hour: + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + minimum: 0 + maximum: 23 + type: integer + example: 3 + backup_minute: + description: The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. + minimum: 0 + maximum: 59 + type: integer + example: 30 + bgwriter_delay: + description: Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. + type: integer + minimum: 10 + maximum: 10000 + example: 200 + bgwriter_flush_after: + description: The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. + type: integer + minimum: 0 + maximum: 2048 + example: 512 + bgwriter_lru_maxpages: + description: The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. + type: integer + minimum: 0 + maximum: 1073741823 + example: 100 + bgwriter_lru_multiplier: + description: The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. + type: number + minimum: 0 + maximum: 10 + example: 2 + deadlock_timeout: + description: The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. + type: integer + minimum: 500 + maximum: 1800000 + example: 1000 + default_toast_compression: + description: Specifies the default TOAST compression method for values of compressible columns (the default is lz4). + type: string + enum: + - lz4 + - pglz + example: lz4 + idle_in_transaction_session_timeout: + description: Time out sessions with open transactions after this number of milliseconds + type: integer + minimum: 0 + maximum: 604800000 + example: 10000 + jit: + description: Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). + type: boolean + example: true + log_autovacuum_min_duration: + description: Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. + type: integer + minimum: -1 + maximum: 2147483647 + example: -1 + log_error_verbosity: + description: Controls the amount of detail written in the server log for each message that is logged. + type: string + enum: + - TERSE + - DEFAULT + - VERBOSE + example: VERBOSE + log_line_prefix: + description: Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. + type: string + enum: + - pid=%p,user=%u,db=%d,app=%a,client=%h + - '%m [%p] %q[user=%u,db=%d,app=%a]' + - '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' + example: pid=%p,user=%u,db=%d,app=%a,client=%h + log_min_duration_statement: + description: Log statements that take more than this number of milliseconds to run. If -1, disables. + type: integer + minimum: -1 + maximum: 86400000 + example: -1 + max_files_per_process: + description: PostgreSQL maximum number of files that can be open per process. + type: integer + minimum: 1000 + maximum: 4096 + example: 2048 + max_prepared_transactions: + description: PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 0 + maximum: 10000 + example: 20 + max_pred_locks_per_transaction: + description: PostgreSQL maximum predicate locks per transaction. + type: integer + minimum: 64 + maximum: 640 + example: 128 + max_locks_per_transaction: + description: PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 64 + maximum: 6400 + example: 128 + max_stack_depth: + description: Maximum depth of the stack in bytes. + type: integer + minimum: 2097152 + maximum: 6291456 + example: 2097152 + max_standby_archive_delay: + description: Max standby archive delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_standby_streaming_delay: + description: Max standby streaming delay in milliseconds. + type: integer + minimum: 1 + maximum: 43200000 + example: 43200 + max_replication_slots: + description: PostgreSQL maximum replication slots. + type: integer + minimum: 8 + maximum: 64 + example: 16 + max_logical_replication_workers: + description: PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). + type: integer + minimum: 4 + maximum: 64 + example: 16 + max_parallel_workers: + description: Sets the maximum number of workers that the system can support for parallel queries. + type: integer + minimum: 0 + maximum: 96 + example: 12 + max_parallel_workers_per_gather: + description: Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. + type: integer + minimum: 0 + maximum: 96 + example: 16 + max_worker_processes: + description: Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 8 + maximum: 96 + example: 16 + pg_partman_bgw.role: + type: string + pattern: ^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$ + maxLength: 64 + example: myrolename + description: Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. + pg_partman_bgw.interval: + description: Sets the time interval to run pg_partman's scheduled tasks. + type: integer + minimum: 3600 + maximum: 604800 + example: 3600 + pg_stat_statements.track: + description: Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. + type: string + enum: + - all + - top + - none + example: all + temp_file_limit: + description: PostgreSQL temporary file limit in KiB. If -1, sets to unlimited. + type: integer + example: 5000000 + minimum: -1 + maximum: 2147483647 + timezone: + description: PostgreSQL service timezone + type: string + example: Europe/Helsinki + maxLength: 64 + track_activity_query_size: + description: Specifies the number of bytes reserved to track the currently executing command for each active session. + type: integer + example: 1024 + minimum: 1024 + maximum: 10240 + track_commit_timestamp: + description: Record commit time of transactions. + type: string + enum: + - 'off' + - 'on' + example: 'off' + track_functions: + description: Enables tracking of function call counts and time used. + type: string + enum: + - all + - pl + - none + example: all + track_io_timing: + description: Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. + type: string + enum: + - 'off' + - 'on' + example: 'off' + max_wal_senders: + description: PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. + type: integer + minimum: 20 + maximum: 64 + example: 32 + wal_sender_timeout: + description: Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. + type: integer + minimum: 0 + maximum: 10800000 + example: 60000 + wal_writer_delay: + description: WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance + type: integer + minimum: 10 + maximum: 200 + example: 50 + shared_buffers_percentage: + description: Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. + type: number + minimum: 20 + maximum: 60 + example: 41.5 + pgbouncer: + type: object + description: PGBouncer connection pooling settings + properties: + server_reset_query_always: + description: Run server_reset_query (DISCARD ALL) in all pooling modes. + type: boolean + example: false + ignore_startup_parameters: + description: List of parameters to ignore when given in startup packet. + type: array + example: + - extra_float_digits + - search_path + items: + description: Enum of parameters to ignore when given in startup packet. + type: string + enum: + - extra_float_digits + - search_path + maxItems: 32 + min_pool_size: + description: If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + server_lifetime: + description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. + type: integer + minimum: 60 + maximum: 86400 + example: 3600 + server_idle_timeout: + description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' + type: integer + minimum: 0 + maximum: 86400 + example: 600 + autodb_pool_size: + description: If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + autodb_pool_mode: + enum: + - session + - transaction + - statement + example: session + description: PGBouncer pool mode + type: string + autodb_max_db_connections: + description: Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. + type: integer + minimum: 0 + maximum: 2147483647 + example: 1 + autodb_idle_timeout: + description: If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. + type: integer + minimum: 0 + maximum: 86400 + example: 3600 + work_mem: + description: The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). + type: integer + minimum: 1 + maximum: 1024 + example: 4 + timescaledb: + type: object + description: TimescaleDB extension configuration values + properties: + max_background_workers: + description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. + type: integer + minimum: 1 + maximum: 4096 + example: 8 + synchronous_replication: + description: Synchronous replication type. Note that the service plan also needs to support synchronous replication. + type: string + example: 'off' + enum: + - 'off' + - quorum + stat_monitor_enable: + description: Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. + type: boolean + example: false + max_failover_replication_time_lag: + description: Number of seconds of master unavailability before triggering database failover to standby. The default value is 60. + type: integer + minimum: 10 + maximum: 9223372036854776000 + example: 50 + max_connections: + description: Sets the PostgreSQL maximum number of concurrent connections to the database server. This is a limited-release parameter. Contact your account team to confirm your eligibility. You cannot decrease this parameter value when set. For services with a read replica, first increase the read replica's value. After the change is applied to the replica, you can increase the primary service's value. Changing this parameter causes a service restart. + type: integer + minimum: 25 + example: 75 + max_slot_wal_keep_size: + description: PostgreSQL maximum WAL size (MB) reserved for replication slots. If -1 is specified, replication slots may retain an unlimited amount of WAL files. The default is -1 (upstream default). wal_keep_size minimum WAL size setting takes precedence over this. + type: integer + minimum: -1 + maximum: 2147483647 + example: 100 + - type: object + properties: + redis_maxmemory_policy: + type: string + enum: + - noeviction + - allkeys-lru + - allkeys-random + - volatile-lru + - volatile-random + - volatile-ttl + description: |- + A string specifying the desired eviction policy for the Caching cluster. + + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys-lru:` Evict any key, least recently used (LRU) first. + - `allkeys-random`: Evict keys in a random order. + - `volatile-lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile-random`: Evict keys with expiration only in a random order. + - `volatile-ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys-lru + redis_pubsub_client_output_buffer_limit: + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. + type: integer + minimum: 32 + maximum: 512 + example: 64 + redis_number_of_databases: + type: integer + minimum: 1 + maximum: 128 + description: Set number of redis databases. Changing this will cause a restart of redis service. + example: 16 + redis_io_threads: + description: Caching IO thread count + type: integer + minimum: 1 + maximum: 32 + example: 1 + redis_lfu_log_factor: + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies + type: integer + minimum: 0 + maximum: 100 + default: 10 + example: 10 + redis_lfu_decay_time: + description: LFU maxmemory-policy counter decay time in minutes + type: integer + minimum: 1 + maximum: 120 + default: 1 + example: 1 + redis_ssl: + description: | + Require SSL to access Caching. + - When enabled, Caching accepts only SSL connections on port `25061`. + - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections. + type: boolean + default: true + example: true + redis_timeout: + description: Caching idle connection timeout in seconds + type: integer + minimum: 0 + maximum: 31536000 + default: 300 + example: 300 + redis_notify_keyspace_events: + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + - `K` — Keyspace events + - `E` — Keyevent events + - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + - `$` — String commands + - `l` — List commands + - `s` — Set commands + - `h` — Hash commands + - `z` — Sorted set commands + - `t` — Stream commands + - `d` — Module key type events + - `x` — Expired events + - `e` — Evicted events + - `m` — Key miss events + - `n` — New key events + - `A` — Alias for `"g$lshztxed"` + type: string + pattern: ^[KEg\$lshzxeA]*$ + default: '' + maxLength: 32 + example: K + redis_persistence: + type: string + enum: + - 'off' + - rdb + description: Creates an RDB dump of the database every 10 minutes that can be used to recover data after a node crash. The database does not create the dump if no keys have changed since the last dump. When set to `off`, the database cannot fork services, and data can be lost if a service is restarted or powered off. DigitalOcean Managed Caching databases do not support the Append Only File (AOF) persistence method. + example: rdb + redis_acl_channels_default: + type: string + enum: + - allchannels + - resetchannels + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Caching configuration acl-pubsub-default. + example: allchannels + - type: object + properties: + valkey_maxmemory_policy: + type: string + enum: + - noeviction + - allkeys_lru + - allkeys_random + - volatile_lru + - volatile_random + - volatile_ttl + description: |- + A string specifying the desired eviction policy for a Caching or Valkey cluster. + + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys_lru:` Evict any key, least recently used (LRU) first. + - `allkeys_random`: Evict keys in a random order. + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile_random`: Evict keys with expiration only in a random order. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys_lru + valkey_pubsub_client_output_buffer_limit: + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. + type: integer + minimum: 32 + maximum: 512 + example: 64 + valkey_number_of_databases: + type: integer + minimum: 1 + maximum: 128 + description: Set number of valkey databases. Changing this will cause a restart of valkey service. + example: 16 + valkey_io_threads: + description: Valkey IO thread count + type: integer + minimum: 1 + maximum: 32 + example: 1 + valkey_lfu_log_factor: + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies + type: integer + minimum: 0 + maximum: 100 + default: 10 + example: 10 + valkey_lfu_decay_time: + description: LFU maxmemory-policy counter decay time in minutes + type: integer + minimum: 1 + maximum: 120 + default: 1 + example: 1 + valkey_ssl: + description: Require SSL to access Valkey + type: boolean + default: true + example: true + valkey_timeout: + description: Valkey idle connection timeout in seconds + type: integer + minimum: 0 + maximum: 31536000 + default: 300 + example: 300 + valkey_notify_keyspace_events: + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + - `K` — Keyspace events + - `E` — Keyevent events + - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + - `$` — String commands + - `l` — List commands + - `s` — Set commands + - `h` — Hash commands + - `z` — Sorted set commands + - `t` — Stream commands + - `d` — Module key type events + - `x` — Expired events + - `e` — Evicted events + - `m` — Key miss events + - `n` — New key events + - `A` — Alias for `"g$lshztxed"` + type: string + pattern: ^[KEg\$lshzxeA]*$ + default: '' + maxLength: 32 + example: K + valkey_persistence: + type: string + enum: + - 'off' + - rdb + description: When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. + example: rdb + valkey_acl_channels_default: + type: string + enum: + - allchannels + - resetchannels + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default. + example: allchannels + frequent_snapshots: + type: boolean + default: true + description: | + Frequent RDB snapshots + When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when valkey_persistence is set to off. + example: true + valkey_active_expire_effort: + type: integer + minimum: 1 + maximum: 10 + default: 1 + description: | + Active expire effort + Valkey reclaims expired keys both when accessed and in the background. The background process scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to reclaim expired keys faster, reducing memory usage but potentially increasing latency. + example: 1 + - type: object + properties: + default_read_concern: + description: Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/). + type: string + enum: + - local + - available + - majority + default: local + example: local + default_write_concern: + description: Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number `0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/). + type: string + default: majority + example: majority + transaction_lifetime_limit_seconds: + description: Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds). + type: integer + minimum: 1 + default: 60 + example: 100 + slow_op_threshold_ms: + description: Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs). + type: integer + minimum: 0 + default: 100 + example: 200 + verbosity: + description: The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity). + type: integer + minimum: 0 + maximum: 5 + default: 0 + example: 3 + - type: object + properties: + compression_type: + description: Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. + type: string + enum: + - gzip + - snappy + - lz4 + - zstd + - uncompressed + - producer + example: gzip + group_initial_rebalance_delay_ms: + description: The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. + type: integer + example: 3000 + minimum: 0 + maximum: 300000 + group_min_session_timeout_ms: + description: The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 6000 + minimum: 0 + maximum: 60000 + group_max_session_timeout_ms: + description: The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. + type: integer + example: 1800000 + minimum: 0 + maximum: 1800000 + connections_max_idle_ms: + description: 'Idle connections timeout: the server socket processor threads close the connections that idle for longer than this.' + type: integer + minimum: 1000 + example: 540000 + maximum: 3600000 + max_incremental_fetch_session_cache_slots: + description: The maximum number of incremental fetch sessions that the broker will maintain. + type: integer + example: 1000 + minimum: 1000 + maximum: 10000 + message_max_bytes: + description: The maximum size of message that the server can receive. + type: integer + example: 1048588 + minimum: 0 + maximum: 100001200 + offsets_retention_minutes: + description: Log retention window in minutes for offsets topic + type: integer + example: 10080 + minimum: 1 + maximum: 2147483647 + log_cleaner_delete_retention_ms: + description: How long are delete records retained? + type: integer + minimum: 0 + maximum: 315569260000 + example: 86400000 + log_cleaner_min_cleanable_ratio: + description: Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log_cleaner_max_compaction_lag_ms to enforce compactions sooner, instead of setting a very high value for this option. + type: number + minimum: 0.2 + maximum: 0.9 + example: 0.5 + log_cleaner_max_compaction_lag_ms: + description: The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted + type: integer + minimum: 30000 + maximum: 9223372036854776000 + example: 60000 + log_cleaner_min_compaction_lag_ms: + description: The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 100000 + log_cleanup_policy: + description: The default cleanup policy for segments beyond the retention window + type: string + enum: + - delete + - compact + - compact,delete + example: delete + log_flush_interval_messages: + description: The number of messages accumulated on a log partition before messages are flushed to disk + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 9223372036854776000 + log_flush_interval_ms: + description: The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_index_interval_bytes: + description: The interval with which Kafka adds an entry to the offset index + type: integer + minimum: 0 + maximum: 104857600 + example: 4096 + log_index_size_max_bytes: + description: The maximum size in bytes of the offset index + type: integer + minimum: 1048576 + maximum: 104857600 + example: 10485760 + log_message_downconversion_enable: + description: This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. + type: boolean + example: true + log_message_timestamp_type: + description: Define whether the timestamp in the message is message create time or log append time. + type: string + enum: + - CreateTime + - LogAppendTime + example: CreateTime + log_message_timestamp_difference_max_ms: + description: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 1000000 + log_preallocate: + description: Controls whether to preallocate a file when creating a new segment + type: boolean + example: false + log_retention_bytes: + description: The maximum size of the log before deleting messages + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 1000000 + log_retention_hours: + description: The number of hours to keep a log file before deleting it + type: integer + minimum: -1 + maximum: 2147483647 + example: 1000000 + log_retention_ms: + description: The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. + type: integer + minimum: -1 + maximum: 9223372036854776000 + example: 100000000 + log_roll_jitter_ms: + description: The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used + type: integer + minimum: 0 + maximum: 9223372036854776000 + example: 10000000 + log_roll_ms: + description: The maximum time before a new log segment is rolled out (in milliseconds). + type: integer + minimum: 1 + maximum: 9223372036854776000 + example: 1000000 + log_segment_bytes: + description: The maximum size of a single log file + type: integer + minimum: 10485760 + maximum: 1073741824 + example: 100000000 + log_segment_delete_delay_ms: + description: The amount of time to wait before deleting a file from the filesystem + type: integer + minimum: 0 + maximum: 3600000 + example: 60000 + auto_create_topics_enable: + description: Enable auto creation of topics + type: boolean + example: true + default: false + min_insync_replicas: + description: When a producer sets acks to 'all' (or '-1'), min_insync_replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. + type: integer + minimum: 1 + maximum: 7 + example: 1 + num_partitions: + description: Number of partitions for autocreated topics + type: integer + minimum: 1 + maximum: 1000 + example: 10 + default_replication_factor: + description: Replication factor for autocreated topics + type: integer + minimum: 1 + maximum: 10 + example: 2 + replica_fetch_max_bytes: + description: The number of bytes of messages to attempt to fetch for each partition (defaults to 1048576). This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. + type: integer + minimum: 1048576 + maximum: 104857600 + example: 2097152 + replica_fetch_response_max_bytes: + description: Maximum bytes expected for the entire fetch response (defaults to 10485760). Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. + type: integer + minimum: 10485760 + maximum: 1048576000 + example: 20971520 + max_connections_per_ip: + description: The maximum number of connections allowed from each ip address (defaults to 2147483647). + type: integer + minimum: 256 + maximum: 2147483647 + example: 512 + producer_purgatory_purge_interval_requests: + description: The purge interval (in number of requests) of the producer request purgatory (defaults to 1000). + type: integer + minimum: 10 + maximum: 10000 + example: 100 + socket_request_max_bytes: + description: The maximum number of bytes in a socket request (defaults to 104857600). + type: integer + minimum: 10485760 + maximum: 209715200 + example: 20971520 + transaction_state_log_segment_bytes: + description: The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (defaults to 104857600 (100 mebibytes)). + type: integer + minimum: 1048576 + maximum: 2147483647 + example: 104857600 + transaction_remove_expired_transaction_cleanup_interval_ms: + description: The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (defaults to 3600000 (1 hour)). + type: integer + minimum: 600000 + maximum: 3600000 + example: 3600000 + schema_registry: + description: Enable creation of schema registry for the Kafka cluster. Schema_registry only works with General Purpose - Dedicated CPU plans. + type: boolean + example: true + default: false + - type: object + properties: + http_max_content_length_bytes: + description: Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. + type: integer + example: 100000000 + minimum: 1 + maximum: 2147483647 + default: 100000000 + http_max_header_size_bytes: + description: Maximum size of allowed headers, in bytes. + type: integer + example: 8192 + minimum: 1024 + maximum: 262144 + default: 8192 + http_max_initial_line_length_bytes: + description: Maximum length of an HTTP URL, in bytes. + type: integer + example: 4096 + minimum: 1024 + maximum: 65536 + default: 4096 + indices_query_bool_max_clause_count: + description: Maximum number of clauses Lucene BooleanQuery can have. Only increase it if necessary, as it may cause performance issues. + type: integer + example: 1024 + minimum: 64 + maximum: 4096 + default: 1024 + indices_fielddata_cache_size_percentage: + description: Maximum amount of heap memory used for field data cache, expressed as a percentage. Decreasing the value too much will increase overhead of loading field data. Increasing the value too much will decrease amount of heap available for other operations. + type: integer + example: 3 + minimum: 3 + maximum: 100 + indices_memory_index_buffer_size_percentage: + description: Total amount of heap used for indexing buffer before writing segments to disk, expressed as a percentage. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_memory_min_index_buffer_size_mb: + description: Minimum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + default: 48 + indices_memory_max_index_buffer_size_mb: + description: Maximum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. The default is unbounded. + type: integer + example: 48 + minimum: 3 + maximum: 2048 + indices_queries_cache_size_percentage: + description: Maximum amount of heap used for query cache. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other functionality. + type: integer + example: 10 + minimum: 3 + maximum: 40 + default: 10 + indices_recovery_max_mb_per_sec: + description: Limits total inbound and outbound recovery traffic for each node, expressed in mb per second. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). + type: integer + example: 40 + minimum: 40 + maximum: 400 + default: 40 + indices_recovery_max_concurrent_file_chunks: + description: Maximum number of file chunks sent in parallel for each recovery. + type: integer + example: 2 + minimum: 2 + maximum: 5 + default: 2 + thread_pool_search_size: + description: Number of workers in the search operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_throttled_size: + description: Number of workers in the search throttled operation thread pool. This pool is used for searching frozen indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_get_size: + description: Number of workers in the get operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_analyze_size: + description: Number of workers in the analyze operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_write_size: + description: Number of workers in the write operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_force_merge_size: + description: Number of workers in the force merge operation thread pool. This pool is used for forcing a merge between shards of one or more indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. + type: integer + example: 1 + minimum: 1 + maximum: 128 + thread_pool_search_queue_size: + description: Size of queue for operations in the search thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_search_throttled_queue_size: + description: Size of queue for operations in the search throttled thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_get_queue_size: + description: Size of queue for operations in the get thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_analyze_queue_size: + description: Size of queue for operations in the analyze thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + thread_pool_write_queue_size: + description: Size of queue for operations in the write thread pool. + type: integer + example: 10 + minimum: 10 + maximum: 2000 + ism_enabled: + description: Specifies whether ISM is enabled or not. + type: boolean + example: true + default: true + ism_history_enabled: + description: Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document. + type: boolean + example: true + default: true + ism_history_max_age_hours: + description: Maximum age before rolling over the audit history index, in hours. + type: integer + example: 24 + minimum: 1 + maximum: 2147483647 + default: 24 + ism_history_max_docs: + description: Maximum number of documents before rolling over the audit history index. + type: integer + example: 2500000 + minimum: 1 + maximum: 9223372036854776000 + default: 2500000 + ism_history_rollover_check_period_hours: + description: The time between rollover checks for the audit history index, in hours. + type: integer + example: 8 + minimum: 1 + maximum: 2147483647 + default: 8 + ism_history_rollover_retention_period_days: + description: Length of time long audit history indices are kept, in days. + type: integer + example: 30 + minimum: 1 + maximum: 2147483647 + default: 30 + search_max_buckets: + description: Maximum number of aggregation buckets allowed in a single response. + type: integer + example: 10000 + minimum: 1 + maximum: 1000000 + default: 10000 + action_auto_create_index_enabled: + description: Specifices whether to allow automatic creation of indices. + type: boolean + example: true + default: true + enable_security_audit: + description: Specifies whether to allow security audit logging. + type: boolean + example: false + default: false + action_destructive_requires_name: + description: Specifies whether to require explicit index names when deleting indices. + type: boolean + example: false + cluster_max_shards_per_node: + description: Maximum number of shards allowed per data node. + type: integer + example: 100 + minimum: 100 + maximum: 10000 + override_main_response_version: + description: Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. + type: boolean + example: false + default: false + script_max_compilations_rate: + description: Limits the number of inline script compilations within a period of time. Default is use-context + type: string + example: 75/5m + default: use-context + cluster_routing_allocation_node_concurrent_recoveries: + description: Maximum concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen per node . + type: integer + example: 2 + minimum: 2 + maximum: 16 + default: 2 + reindex_remote_whitelist: + description: Allowlist of remote IP addresses for reindexing. Changing this value will cause all OpenSearch instances to restart. + type: array + items: + type: string + example: + - 255.255.223.233:9200 + - 222.33.222.222:6300 + plugins_alerting_filter_by_backend_roles_enabled: + description: Enable or disable filtering of alerting by backend roles. + type: boolean + example: false + default: false + knn_memory_circuit_breaker_enabled: + description: Enable or disable KNN memory circuit breaker. + type: boolean + example: true + default: true + knn_memory_circuit_breaker_limit: + description: Maximum amount of memory that can be used for KNN index, as a percentage of the JVM heap size. + type: integer + example: 60 + minimum: 3 + maximum: 100 + default: 50 + keep_index_refresh_interval: + description: DigitalOcean automatically resets the `index.refresh_interval` to the default value (once per second) to ensure that new documents are quickly available for search queries. If you are setting your own refresh intervals, you can disable this by setting this field to true. + example: true + type: boolean + default: false + source_database: + type: object + required: + - source + properties: + source: + type: object + properties: + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + dbname: + type: string + description: The name of the default database. + example: defaultdb + username: + type: string + description: The default user for the database. + example: doadmin + password: + type: string + description: The randomly generated password for the default user. + example: wv78n3zpz42xezdk + disable_ssl: + type: boolean + description: Enables SSL encryption when connecting to the source database. + example: false ignore_dbs: type: array items: @@ -5164,25 +6374,16 @@ components: size: type: string example: db-s-4vcpu-8gb - description: >- - A slug identifier representing desired the size of the nodes in the - database cluster. + description: A slug identifier representing desired the size of the nodes in the database cluster. num_nodes: type: integer format: int32 example: 3 - description: >- - The number of nodes in the database cluster. Valid values are are - 1-3. In addition to the primary node, up to two standby nodes may be - added for highly available configurations. + description: The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations. storage_size_mib: type: integer example: 61440 - description: >- - Additional storage added to the cluster, in MiB. If null, no - additional storage is added to the cluster, beyond what is provided - as a base amount from the 'size' and any previously added additional - storage. + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. required: - size - num_nodes @@ -5209,23 +6410,16 @@ components: - tag - app example: droplet - description: >- - The type of resource that the firewall rule allows to access the - database cluster. + description: The type of resource that the firewall rule allows to access the database cluster. value: type: string example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 - description: >- - The ID of the specific resource, the name of a tag applied to a - group of resources, or the IP address that the firewall rule allows - to access the database cluster. + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. created_at: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the firewall rule was created. + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. readOnly: true required: - type @@ -5241,23 +6435,17 @@ components: hour: type: string example: '14:00' - description: >- - The hour in UTC at which maintenance updates will be applied in 24 - hour format. + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. pending: type: boolean example: true - description: >- - A boolean value indicating whether any maintenance is scheduled to - be performed in the next window. + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. readOnly: true description: type: array items: type: string - description: >- - A list of strings, each containing information about a pending - maintenance update. + description: A list of strings, each containing information about a pending maintenance update. example: - Update TimescaleDB to version 1.2.1 - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases @@ -5272,9 +6460,7 @@ components: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - A unique ID that can be used to identify and reference a database - replica. + description: A unique ID that can be used to identify and reference a database replica. readOnly: true name: type: string @@ -5283,18 +6469,11 @@ components: region: type: string example: nyc3 - description: >- - A slug identifier for the region where the read-only replica will be - located. If excluded, the replica will be placed in the same region - as the cluster. + description: A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. size: type: string example: db-s-2vcpu-4gb - description: >- - A slug identifier representing the size of the node for the - read-only replica. The size of the replica must be at least as large - as the node size for the database cluster from which it is - replicating. + description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. status: type: string enum: @@ -5312,69 +6491,122 @@ components: type: string example: - production - description: >- - A flat array of tag names as strings to apply to the read-only - replica after it is created. Tag names can either be existing or new - tags.

Requires `tag:create` scope. + description: A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags.

Requires `tag:create` scope. created_at: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the database cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. readOnly: true private_network_uuid: type: string example: 9423cbad-9211-442f-820b-ef6915e99b5f - description: >- - A string specifying the UUID of the VPC to which the read-only - replica will be assigned. If excluded, the replica will be assigned - to your account's default VPC for the region.

Requires - `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' - private_connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' - storage_size_mib: - type: integer - example: 61440 - description: >- - Additional storage added to the cluster, in MiB. If null, no - additional storage is added to the cluster, beyond what is provided - as a base amount from the 'size' and any previously added additional - storage. - required: - - name - database_user: - type: object - properties: - name: - type: string - example: app-01 - description: The name of a database user. - role: + readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + private_connection: + readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + storage_size_mib: + type: integer + example: 61440 + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. + required: + - name + database_user: + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: type: string enum: - primary - normal example: normal - description: > - A string representing the database user's role. The value will be - either - + description: | + A string representing the database user's role. The value will be either "primary" or "normal". readOnly: true password: type: string example: jge5lfxtzhx42iff - description: >- - A randomly generated password for the database user.
Requires - `database:view_credentials` scope. + description: A randomly generated password for the database user.
Requires `database:view_credentials` scope. readOnly: true access_cert: type: string @@ -5445,9 +6677,98 @@ components: description: Access key for TLS client authentication. (Kafka only) readOnly: true mysql_settings: - $ref: '#/components/schemas/mysql_settings' + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin settings: - $ref: '#/components/schemas/user_settings' + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + mongo_user_settings: + type: object + properties: + databases: + type: array + items: + type: string + example: my-db + example: + - my-db + - my-db-2 + description: A list of databases to which the user should have access. When the database is set to `admin`, the user will have access to all databases based on the user's role i.e. a user with the role `readOnly` assigned to the `admin` database will have read access to all databases. + role: + type: string + enum: + - readOnly + - readWrite + - dbAdmin + example: readOnly + description: The role to assign to the user with each role mapping to a MongoDB built-in role. `readOnly` maps to a [read](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-read) role. `readWrite` maps to a [readWrite](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-readWrite) role. `dbAdmin` maps to a [dbAdmin](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-dbAdmin) role. + description: MongoDB-specific settings for the user. This option is not currently supported for other database engines. required: - name user_settings: @@ -5456,10 +6777,8 @@ components: pg_allow_replication: type: boolean example: true - description: > - For Postgres clusters, set to `true` for a user with replication - rights. - + description: | + For Postgres clusters, set to `true` for a user with replication rights. This option is not currently supported for other database engines. opensearch_acl: type: array @@ -5469,9 +6788,7 @@ components: index: type: string example: index-abc.* - description: >- - A regex for matching the indexes that this ACL should apply - to. + description: A regex for matching the indexes that this ACL should apply to. permission: type: string enum: @@ -5481,16 +6798,8 @@ components: - readwrite - write example: read - description: >- - Permission set applied to the ACL. 'read' allows user to read - from the index. 'write' allows for user to write to the index. - 'readwrite' allows for both 'read' and 'write' permission. - 'deny'(default) restricts user from performing any operation - over an index. 'admin' allows for 'readwrite' as well as any - operations to administer the index. - description: >- - ACLs (Access Control Lists) specifying permissions on index within a - OpenSearch cluster. + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. acl: type: array items: @@ -5498,16 +6807,12 @@ components: properties: id: type: string - description: >- - An identifier for the ACL. Will be computed after the ACL is - created/updated. + description: An identifier for the ACL. Will be computed after the ACL is created/updated. example: aaa topic: type: string example: topic-abc.* - description: >- - A regex for matching the topic(s) that this ACL should apply - to. + description: A regex for matching the topic(s) that this ACL should apply to. permission: type: string enum: @@ -5516,19 +6821,11 @@ components: - produce - produceconsume example: consume - description: >- - Permission set applied to the ACL. 'consume' allows for - messages to be consumed from the topic. 'produce' allows for - messages to be published to the topic. 'produceconsume' allows - for both 'consume' and 'produce' permission. 'admin' allows - for 'produceconsume' as well as any operations to administer - the topic (delete, update). + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). required: - topic - permission - description: >- - ACLs (Access Control Lists) specifying permissions on topics within - a Kafka cluster. + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. mongo_user_settings: type: object properties: @@ -5540,12 +6837,7 @@ components: example: - my-db - my-db-2 - description: >- - A list of databases to which the user should have access. When - the database is set to `admin`, the user will have access to all - databases based on the user's role i.e. a user with the role - `readOnly` assigned to the `admin` database will have read - access to all databases. + description: A list of databases to which the user should have access. When the database is set to `admin`, the user will have access to all databases based on the user's role i.e. a user with the role `readOnly` assigned to the `admin` database will have read access to all databases. role: type: string enum: @@ -5553,18 +6845,8 @@ components: - readWrite - dbAdmin example: readOnly - description: >- - The role to assign to the user with each role mapping to a - MongoDB built-in role. `readOnly` maps to a - [read](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-read) - role. `readWrite` maps to a - [readWrite](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-readWrite) - role. `dbAdmin` maps to a - [dbAdmin](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-dbAdmin) - role. - description: >- - MongoDB-specific settings for the user. This option is not currently - supported for other database engines. + description: The role to assign to the user with each role mapping to a MongoDB built-in role. `readOnly` maps to a [read](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-read) role. `readWrite` maps to a [readWrite](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-readWrite) role. `dbAdmin` maps to a [dbAdmin](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-dbAdmin) role. + description: MongoDB-specific settings for the user. This option is not currently supported for other database engines. mysql_settings: type: object properties: @@ -5574,19 +6856,11 @@ components: - mysql_native_password - caching_sha2_password example: mysql_native_password - description: > - A string specifying the authentication method to be used for - connections - - to the MySQL user account. The valid values are - `mysql_native_password` - - or `caching_sha2_password`. If excluded when creating a new user, - the - - default for the version of MySQL in use will be used. As of MySQL - 8.0, the - + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the default is `caching_sha2_password`. required: - auth_plugin @@ -5604,27 +6878,16 @@ components: properties: name: type: string - description: >- - A unique name for the connection pool. Must be between 3 and 60 - characters. + description: A unique name for the connection pool. Must be between 3 and 60 characters. example: backend-pool mode: type: string - description: >- - The PGBouncer transaction mode for the connection pool. The allowed - values are session, transaction, and statement. + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. example: transaction size: type: integer format: int32 - description: >- - The desired size of the PGBouncer connection pool. The maximum - allowed size is determined by the size of the cluster's primary - node. 25 backend server connections are allowed for every 1GB of - RAM. Three are reserved for maintenance. For example, a primary node - with 1 GB of RAM allows for a maximum of 22 backend server - connections while one with 4 GB would allow for 97. Note that these - are shared across all connection pools in a cluster. + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. example: 10 db: type: string @@ -5632,26 +6895,164 @@ components: example: defaultdb user: type: string - description: >- - The name of the user for use with the connection pool. When - excluded, all sessions connect to the database as the inbound user. + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. example: doadmin connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true standby_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true standby_private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true required: - name - mode @@ -5662,21 +7063,12 @@ components: properties: mode: type: string - description: >- - The PGBouncer transaction mode for the connection pool. The allowed - values are session, transaction, and statement. + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. example: transaction size: type: integer format: int32 - description: >- - The desired size of the PGBouncer connection pool. The maximum - allowed size is determined by the size of the cluster's primary - node. 25 backend server connections are allowed for every 1GB of - RAM. Three are reserved for maintenance. For example, a primary node - with 1 GB of RAM allows for a maximum of 22 backend server - connections while one with 4 GB would allow for 97. Note that these - are shared across all connection pools in a cluster. + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. example: 10 db: type: string @@ -5684,9 +7076,7 @@ components: example: defaultdb user: type: string - description: >- - The name of the user for use with the connection pool. When - excluded, all sessions connect to the database as the inbound user. + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. example: doadmin required: - mode @@ -5701,33 +7091,22 @@ components: - volatile_lru - volatile_random - volatile_ttl - description: >- - A string specifying the desired eviction policy for a Caching or Valkey - cluster. - - - - `noeviction`: Don't evict any data, returns error when memory limit is - reached. + description: |- + A string specifying the desired eviction policy for a Caching or Valkey cluster. + - `noeviction`: Don't evict any data, returns error when memory limit is reached. - `allkeys_lru:` Evict any key, least recently used (LRU) first. - - `allkeys_random`: Evict keys in a random order. - - - `volatile_lru`: Evict keys with expiration only, least recently used - (LRU) first. - + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. - `volatile_random`: Evict keys with expiration only in a random order. - - - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live - (TTL) first. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. example: allkeys_lru sql_mode: type: object properties: sql_mode: type: string - example: >- - ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + example: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES description: A string specifying the configured SQL modes for the MySQL cluster. required: - sql_mode @@ -5735,23 +7114,220 @@ components: type: object properties: version: - $ref: '#/components/schemas/version' + type: string + example: '8' + description: A string representing the version of the database engine in use for the cluster. database_autoscale_params: type: object description: Contains all autoscaling configuration for a database cluster properties: storage: - allOf: - - $ref: '#/components/schemas/database_storage_autoscale_params' - - description: Storage autoscaling configuration + type: object + description: Configuration for database cluster storage autoscaling + required: + - enabled + properties: + enabled: + type: boolean + description: Whether storage autoscaling is enabled for the cluster + example: true + threshold_percent: + type: integer + minimum: 15 + maximum: 95 + description: The storage usage threshold percentage that triggers autoscaling. When storage usage exceeds this percentage, additional storage will be added automatically. + example: 80 + increment_gib: + type: integer + minimum: 10 + maximum: 500 + description: The amount of additional storage to add (in GiB) when autoscaling is triggered + example: 10 kafka_topic_create: type: object - allOf: - - $ref: '#/components/schemas/kafka_topic_base' - - properties: - config: - $ref: '#/components/schemas/kafka_topic_config' + properties: + name: + type: string + description: The name of the Kafka topic. + example: events + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partition_count: + type: integer + example: 3 + description: The number of partitions available for the topic. On update, this value can only be increased. + config: type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. kafka_topic_update: type: object properties: @@ -5762,32 +7338,501 @@ components: partition_count: type: integer example: 3 - description: >- - The number of partitions available for the topic. On update, this - value can only be increased. + description: The number of partitions available for the topic. On update, this value can only be increased. config: - $ref: '#/components/schemas/kafka_topic_config' + type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. logsink_create: type: object - allOf: - - $ref: '#/components/schemas/logsink_base' - - properties: - config: - anyOf: - - $ref: '#/components/schemas/rsyslog_logsink' - - $ref: '#/components/schemas/elasticsearch_logsink' - - $ref: '#/components/schemas/opensearch_logsink' - - $ref: '#/components/schemas/datadog_logsink' - type: object + properties: + sink_name: + type: string + description: The name of the Logsink + example: prod-logsink + sink_type: + type: string + enum: + - rsyslog + - elasticsearch + - opensearch + - datadog + description: | + Type of logsink integration. + + - Use `datadog` for Datadog integration **only with MongoDB clusters**. + - For non-MongoDB clusters, use `rsyslog` for general syslog forwarding. + - Other supported types include `elasticsearch` and `opensearch`. + + More details about the configuration can be found in the `config` property. + example: rsyslog + config: + anyOf: + - type: object + properties: + server: + type: string + example: 192.168.0.1 + description: DNS name or IPv4 address of the rsyslog server + port: + type: integer + example: 514 + maximum: 65535 + description: The internal port on which the rsyslog server is listening + tls: + type: boolean + example: false + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) + format: + type: string + enum: + - rfc5424 + - rfc3164 + - custom + example: rfc5424 + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom + logline: + type: string + example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% + description: | + Conditional (required if `format` == `custom`). + + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. + + --- + **Datadog Integration Example for Non-Mongo clusters**: + ``` + DD_KEY <%pri%>1 %timestamp:::date-rfc3339% %HOSTNAME%.DB_NAME %app-name% - - - %msg% + ``` + - Replace `DD_KEY` with your actual Datadog API key. + - Replace `DB_NAME` with the actual name of your database cluster. + - Configure the Server: + - US Region: Use `intake.logs.datadoghq.com` + - EU Region: Use `tcp-intake.logs.datadoghq.eu` + - Configure the Port: + - US Region: Use port `10516` + - EU Region: Use port `443` + - Enable TLS: + - Ensure the TLS checkbox is enabled. + - Note: This configuration applies to **non-Mongo clusters only**. For **Mongo clusters**, use the `datadog_logsink` integration instead. + sd: + type: string + example: TOKEN tag="LiteralValue" + description: content of the structured data block of rfc5424 message + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + key: + type: string + example: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n' + description: (PEM format) client key if the server requires client authentication + cert: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: (PEM format) client cert to use + required: + - server + - port + - tls + - format + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Elasticsearch connection URL + index_prefix: + type: string + example: elastic-logs + description: Elasticsearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Elasticsearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Opensearch connection URL + index_prefix: + type: string + example: opensearch-logs + description: Opensearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Opensearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + description: | + Configuration for Datadog integration **applicable only to MongoDB clusters**. + properties: + site: + type: string + example: http-intake.logs.datadoghq.com + description: Datadog connection URL + datadog_api_key: + type: string + example: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + description: Datadog API key + required: + - site + - datadog_api_key logsink_update: type: object properties: config: anyOf: - - $ref: '#/components/schemas/rsyslog_logsink' - - $ref: '#/components/schemas/elasticsearch_logsink' - - $ref: '#/components/schemas/opensearch_logsink' - - $ref: '#/components/schemas/datadog_logsink' + - type: object + properties: + server: + type: string + example: 192.168.0.1 + description: DNS name or IPv4 address of the rsyslog server + port: + type: integer + example: 514 + maximum: 65535 + description: The internal port on which the rsyslog server is listening + tls: + type: boolean + example: false + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) + format: + type: string + enum: + - rfc5424 + - rfc3164 + - custom + example: rfc5424 + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom + logline: + type: string + example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% + description: | + Conditional (required if `format` == `custom`). + + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. + + --- + **Datadog Integration Example for Non-Mongo clusters**: + ``` + DD_KEY <%pri%>1 %timestamp:::date-rfc3339% %HOSTNAME%.DB_NAME %app-name% - - - %msg% + ``` + - Replace `DD_KEY` with your actual Datadog API key. + - Replace `DB_NAME` with the actual name of your database cluster. + - Configure the Server: + - US Region: Use `intake.logs.datadoghq.com` + - EU Region: Use `tcp-intake.logs.datadoghq.eu` + - Configure the Port: + - US Region: Use port `10516` + - EU Region: Use port `443` + - Enable TLS: + - Ensure the TLS checkbox is enabled. + - Note: This configuration applies to **non-Mongo clusters only**. For **Mongo clusters**, use the `datadog_logsink` integration instead. + sd: + type: string + example: TOKEN tag="LiteralValue" + description: content of the structured data block of rfc5424 message + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + key: + type: string + example: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n' + description: (PEM format) client key if the server requires client authentication + cert: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: (PEM format) client cert to use + required: + - server + - port + - tls + - format + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Elasticsearch connection URL + index_prefix: + type: string + example: elastic-logs + description: Elasticsearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Elasticsearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Opensearch connection URL + index_prefix: + type: string + example: opensearch-logs + description: Opensearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Opensearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + description: | + Configuration for Datadog integration **applicable only to MongoDB clusters**. + properties: + site: + type: string + example: http-intake.logs.datadoghq.com + description: Datadog connection URL + datadog_api_key: + type: string + example: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + description: Datadog API key + required: + - site + - datadog_api_key required: - config database_kafka_schema_create: @@ -5821,7 +7866,16 @@ components: type: object properties: credentials: - $ref: '#/components/schemas/databases_basic_auth_credentials' + type: object + properties: + basic_auth_username: + type: string + example: username + description: basic authentication username for metrics HTTP endpoint + basic_auth_password: + type: string + example: password + description: basic authentication password for metrics HTTP endpoint options: type: object properties: @@ -5829,78 +7883,441 @@ components: type: object properties: kafka: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts mongodb: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts pg: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts mysql: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts redis: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts valkey: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts opensearch: - allOf: - - $ref: '#/components/schemas/database_region_options' - - $ref: '#/components/schemas/database_version_options' - - $ref: '#/components/schemas/database_layout_options' + type: object + properties: + regions: + type: array + items: + type: string + example: + - ams3 + - blr1 + readOnly: true + description: An array of strings containing the names of available regions + versions: + type: array + items: + type: string + example: + - '4.4' + - '5.0' + readOnly: true + description: An array of strings containing the names of available regions + layouts: + type: array + readOnly: true + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). + items: + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts version_availability: type: object properties: kafka: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. pg: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. mysql: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. redis: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. valkey: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. mongodb: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. opensearch: - $ref: '#/components/schemas/database_version_availabilities' + type: array + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines + items: + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -5913,9 +8330,7 @@ components: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - A unique ID that can be used to identify and reference a database - cluster. + description: A unique ID that can be used to identify and reference a database cluster. readOnly: true name: type: string @@ -5932,23 +8347,15 @@ components: - mongodb - kafka - opensearch - description: >- - A slug representing the database engine used for the cluster. The - possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" - for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" - for OpenSearch, and "valkey" for Valkey. + description: 'A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" for OpenSearch, and "valkey" for Valkey.' version: type: string example: '8' - description: >- - A string representing the version of the database engine in use for - the cluster. + description: A string representing the version of the database engine in use for the cluster. semantic_version: type: string example: 8.0.28 - description: >- - A string representing the semantic version of the database engine in - use for the cluster. + description: A string representing the semantic version of the database engine in use for the cluster. readOnly: true num_nodes: type: integer @@ -5957,15 +8364,11 @@ components: size: type: string example: db-s-2vcpu-4gb - description: >- - The slug identifier representing the size of the nodes in the - database cluster. + description: The slug identifier representing the size of the nodes in the database cluster. region: type: string example: nyc3 - description: >- - The slug identifier for the region where the database cluster is - located. + description: The slug identifier for the region where the database cluster is located. status: type: string enum: @@ -5981,19 +8384,13 @@ components: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the database cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. readOnly: true private_network_uuid: type: string pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} example: d455e75d-4858-4eec-8c95-da2f0a5f93a7 - description: >- - A string specifying the UUID of the VPC to which the database - cluster will be assigned. If excluded, the cluster when creating a - new database cluster, it will be assigned to your account's default - VPC for the region.

Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. tags: type: array items: @@ -6001,9 +8398,7 @@ components: example: - production nullable: true - description: >- - An array of tags that have been applied to the database cluster. -

Requires `tag:read` scope. + description: An array of tags that have been applied to the database cluster.

Requires `tag:read` scope. db_names: type: array items: @@ -6012,89 +8407,526 @@ components: - doadmin nullable: true readOnly: true - description: >- - An array of strings containing the names of databases created in the - database cluster. + description: An array of strings containing the names of databases created in the database cluster. ui_connection: - allOf: - - $ref: '#/components/schemas/opensearch_connection' - - readOnly: true description: 'The connection details for OpenSearch dashboard. ' + type: object + readOnly: true + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the opensearch cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the opensearch dashboard is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the opensearch dashboard.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true schema_registry_connection: - allOf: - - $ref: '#/components/schemas/schema_registry_connection' - - readOnly: true description: The connection details for Schema Registry. + type: object + readOnly: true + properties: + uri: + type: string + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + readOnly: true + host: + type: string + description: The FQDN pointing to the schema registry connection uri. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the schema registry is listening. + example: 20835 + readOnly: true + user: + type: string + description: The default user for the schema registry.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the schema registry.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true standby_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true standby_private_connection: - allOf: - - $ref: '#/components/schemas/database_connection' - - readOnly: true + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true users: type: array nullable: true items: - $ref: '#/components/schemas/database_user' + type: object + properties: + name: + type: string + example: app-01 + description: The name of a database user. + role: + type: string + enum: + - primary + - normal + example: normal + description: | + A string representing the database user's role. The value will be either + "primary" or "normal". + readOnly: true + password: + type: string + example: jge5lfxtzhx42iff + description: A randomly generated password for the database user.
Requires `database:view_credentials` scope. + readOnly: true + access_cert: + type: string + example: |- + -----BEGIN CERTIFICATE----- + MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + UlF1zblDmg2Iaw== + -----END CERTIFICATE----- + description: Access certificate for TLS client authentication. (Kafka only) + readOnly: true + access_key: + type: string + example: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + eTuK2xNR0PIM8OI7pRpgyj1I + -----END PRIVATE KEY----- + description: Access key for TLS client authentication. (Kafka only) + readOnly: true + mysql_settings: + type: object + properties: + auth_plugin: + type: string + enum: + - mysql_native_password + - caching_sha2_password + example: mysql_native_password + description: | + A string specifying the authentication method to be used for connections + to the MySQL user account. The valid values are `mysql_native_password` + or `caching_sha2_password`. If excluded when creating a new user, the + default for the version of MySQL in use will be used. As of MySQL 8.0, the + default is `caching_sha2_password`. + required: + - auth_plugin + settings: + type: object + properties: + pg_allow_replication: + type: boolean + example: true + description: | + For Postgres clusters, set to `true` for a user with replication rights. + This option is not currently supported for other database engines. + opensearch_acl: + type: array + items: + type: object + properties: + index: + type: string + example: index-abc.* + description: A regex for matching the indexes that this ACL should apply to. + permission: + type: string + enum: + - deny + - admin + - read + - readwrite + - write + example: read + description: Permission set applied to the ACL. 'read' allows user to read from the index. 'write' allows for user to write to the index. 'readwrite' allows for both 'read' and 'write' permission. 'deny'(default) restricts user from performing any operation over an index. 'admin' allows for 'readwrite' as well as any operations to administer the index. + description: ACLs (Access Control Lists) specifying permissions on index within a OpenSearch cluster. + acl: + type: array + items: + type: object + properties: + id: + type: string + description: An identifier for the ACL. Will be computed after the ACL is created/updated. + example: aaa + topic: + type: string + example: topic-abc.* + description: A regex for matching the topic(s) that this ACL should apply to. + permission: + type: string + enum: + - admin + - consume + - produce + - produceconsume + example: consume + description: Permission set applied to the ACL. 'consume' allows for messages to be consumed from the topic. 'produce' allows for messages to be published to the topic. 'produceconsume' allows for both 'consume' and 'produce' permission. 'admin' allows for 'produceconsume' as well as any operations to administer the topic (delete, update). + required: + - topic + - permission + description: ACLs (Access Control Lists) specifying permissions on topics within a Kafka cluster. + mongo_user_settings: + type: object + properties: + databases: + type: array + items: + type: string + example: my-db + example: + - my-db + - my-db-2 + description: A list of databases to which the user should have access. When the database is set to `admin`, the user will have access to all databases based on the user's role i.e. a user with the role `readOnly` assigned to the `admin` database will have read access to all databases. + role: + type: string + enum: + - readOnly + - readWrite + - dbAdmin + example: readOnly + description: The role to assign to the user with each role mapping to a MongoDB built-in role. `readOnly` maps to a [read](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-read) role. `readWrite` maps to a [readWrite](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-readWrite) role. `dbAdmin` maps to a [dbAdmin](https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-dbAdmin) role. + description: MongoDB-specific settings for the user. This option is not currently supported for other database engines. + required: + - name readOnly: true maintenance_window: - allOf: - - $ref: '#/components/schemas/database_maintenance_window' - - readOnly: true + type: object + nullable: true + required: + - day + - hour + readOnly: true + properties: + day: + type: string + example: tuesday + description: The day of the week on which to apply maintenance updates. + hour: + type: string + example: '14:00' + description: The hour in UTC at which maintenance updates will be applied in 24 hour format. + pending: + type: boolean + example: true + description: A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + readOnly: true + description: + type: array + items: + type: string + description: A list of strings, each containing information about a pending maintenance update. + example: + - Update TimescaleDB to version 1.2.1 + - Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases + readOnly: true project_id: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - The ID of the project that the database cluster is assigned to. If - excluded when creating a new database cluster, it will be assigned - to your default project.

Requires `project:read` scope. + description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.

Requires `project:read` scope. rules: type: array items: - $ref: '#/components/schemas/firewall_rule' + type: object + properties: + uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + description: A unique ID for the firewall rule itself. + cluster_uuid: + type: string + pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12} + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + readOnly: true + description: A unique ID for the database cluster to which the rule is applied. + type: + type: string + enum: + - droplet + - k8s + - ip_addr + - tag + - app + example: droplet + description: The type of resource that the firewall rule allows to access the database cluster. + value: + type: string + example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + description: The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + created_at: + type: string + format: date-time + example: '2019-01-11T18:37:36Z' + description: A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + readOnly: true + required: + - type + - value version_end_of_life: type: string example: '2023-11-09T00:00:00Z' readOnly: true - description: >- - A timestamp referring to the date when the particular version will - no longer be supported. If null, the version does not have an end of - life timeline. + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. version_end_of_availability: type: string example: '2023-05-09T00:00:00Z' readOnly: true - description: >- - A timestamp referring to the date when the particular version will - no longer be available for creating new clusters. If null, the - version does not have an end of availability timeline. + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. storage_size_mib: type: integer example: 61440 - description: >- - Additional storage added to the cluster, in MiB. If null, no - additional storage is added to the cluster, beyond what is provided - as a base amount from the 'size' and any previously added additional - storage. + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. metrics_endpoints: type: array items: - $ref: '#/components/schemas/database_service_endpoint' - description: >- - Public hostname and port of the cluster's metrics endpoint(s). - Includes one record for the cluster's primary node and a second - entry for the cluster's standby node(s). + type: object + properties: + host: + type: string + description: A FQDN pointing to the database cluster's node(s). + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which a service is listening. + example: 9273 + readOnly: true + description: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). readOnly: true required: - name @@ -6107,11 +8939,8 @@ components: properties: uri: type: string - description: >- - This is provided as a convenience and should be able to be - constructed by the other attributes. - example: >- - https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 readOnly: true host: type: string @@ -6125,23 +8954,17 @@ components: readOnly: true user: type: string - description: >- - The default user for the opensearch dashboard.

Requires - `database:view_credentials` scope. + description: The default user for the opensearch dashboard.

Requires `database:view_credentials` scope. example: doadmin readOnly: true password: type: string - description: >- - The randomly generated password for the default - user.

Requires `database:view_credentials` scope. + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. example: wv78n3zpz42xezdk readOnly: true ssl: type: boolean - description: >- - A boolean value indicating if the connection should be made over - SSL. + description: A boolean value indicating if the connection should be made over SSL. example: true readOnly: true schema_registry_connection: @@ -6149,11 +8972,8 @@ components: properties: uri: type: string - description: >- - This is provided as a convenience and should be able to be - constructed by the other attributes. - example: >- - https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 + description: This is provided as a convenience and should be able to be constructed by the other attributes. + example: https://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060 readOnly: true host: type: string @@ -6167,23 +8987,17 @@ components: readOnly: true user: type: string - description: >- - The default user for the schema registry.

Requires - `database:view_credentials` scope. + description: The default user for the schema registry.

Requires `database:view_credentials` scope. example: doadmin readOnly: true password: type: string - description: >- - The randomly generated password for the schema - registry.

Requires `database:view_credentials` scope. + description: The randomly generated password for the schema registry.

Requires `database:view_credentials` scope. example: wv78n3zpz42xezdk readOnly: true ssl: type: boolean - description: >- - A boolean value indicating if the connection should be made over - SSL. + description: A boolean value indicating if the connection should be made over SSL. example: true readOnly: true database_connection: @@ -6191,12 +9005,8 @@ components: properties: uri: type: string - description: >- - A connection string in the format accepted by the `psql` command. - This is provided as a convenience and should be able to be - constructed by the other attributes. - example: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require readOnly: true database: type: string @@ -6215,23 +9025,17 @@ components: readOnly: true user: type: string - description: >- - The default user for the database.

Requires - `database:view_credentials` scope. + description: The default user for the database.

Requires `database:view_credentials` scope. example: doadmin readOnly: true password: type: string - description: >- - The randomly generated password for the default - user.

Requires `database:view_credentials` scope. + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. example: wv78n3zpz42xezdk readOnly: true ssl: type: boolean - description: >- - A boolean value indicating if the connection should be made over - SSL. + description: A boolean value indicating if the connection should be made over SSL. example: true readOnly: true database_service_endpoint: @@ -6251,50 +9055,37 @@ components: type: object properties: backup_hour: - description: >- - The hour of day (in UTC) when backup for the service starts. New - backup only starts if previous backup has already completed. + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. minimum: 0 maximum: 23 type: integer example: 3 backup_minute: - description: >- - The minute of the backup hour when backup for the service starts. - New backup only starts if previous backup has already completed. + description: The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. minimum: 0 maximum: 59 type: integer example: 30 sql_mode: - description: >- - Global SQL mode. If empty, uses MySQL server defaults. Must only - include uppercase alphabetic characters, underscores, and commas. + description: Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. type: string pattern: ^[A-Z_]*(,[A-Z_]+)*$ example: ANSI,TRADITIONAL maxLength: 1024 connect_timeout: - description: >- - The number of seconds that the mysqld server waits for a connect - packet before responding with bad handshake. + description: The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. type: integer minimum: 2 maximum: 3600 example: 10 default_time_zone: - description: >- - Default server time zone, in the form of an offset from UTC (from - -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the - MySQL server default. + description: Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. type: string example: '+03:00' minLength: 2 maxLength: 100 group_concat_max_len: - description: >- - The maximum permitted result length, in bytes, for the - GROUP_CONCAT() function. + description: The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. type: integer minimum: 4 maximum: 18446744073709552000 @@ -6318,45 +9109,33 @@ components: example: db_name/table_name maxLength: 1024 innodb_lock_wait_timeout: - description: >- - The time, in seconds, that an InnoDB transaction waits for a row - lock. before giving up. + description: The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. type: integer minimum: 1 maximum: 3600 example: 50 innodb_log_buffer_size: - description: >- - The size of the buffer, in bytes, that InnoDB uses to write to the - log files. on disk. + description: The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. type: integer minimum: 1048576 maximum: 4294967295 example: 16777216 innodb_online_alter_log_max_size: - description: >- - The upper limit, in bytes, of the size of the temporary log files - used during online DDL operations for InnoDB tables. + description: The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. type: integer minimum: 65536 maximum: 1099511627776 example: 134217728 innodb_print_all_deadlocks: - description: >- - When enabled, records information about all deadlocks in InnoDB user - transactions in the error log. Disabled by default. + description: When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. type: boolean example: true innodb_rollback_on_timeout: - description: >- - When enabled, transaction timeouts cause InnoDB to abort and roll - back the entire transaction. + description: When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. type: boolean example: true interactive_timeout: - description: >- - The time, in seconds, the server waits for activity on an - interactive. connection before closing it. + description: The time, in seconds, the server waits for activity on an interactive. connection before closing it. type: integer minimum: 30 maximum: 604800 @@ -6369,105 +9148,76 @@ components: - MEMORY example: TempTable net_read_timeout: - description: >- - The time, in seconds, to wait for more data from an existing - connection. aborting the read. + description: The time, in seconds, to wait for more data from an existing connection. aborting the read. type: integer minimum: 1 maximum: 3600 example: 30 net_write_timeout: - description: >- - The number of seconds to wait for a block to be written to a - connection before aborting the write. + description: The number of seconds to wait for a block to be written to a connection before aborting the write. type: integer minimum: 1 maximum: 3600 example: 30 sql_require_primary_key: - description: >- - Require primary key to be defined for new tables or old tables - modified with ALTER TABLE and fail if missing. It is recommended to - always have primary keys because various functionality may break if - any large table is missing them. + description: Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. type: boolean example: true wait_timeout: - description: >- - The number of seconds the server waits for activity on a - noninteractive connection before closing it. + description: The number of seconds the server waits for activity on a noninteractive connection before closing it. type: integer minimum: 1 maximum: 2147483 example: 28800 max_allowed_packet: - description: >- - The size of the largest message, in bytes, that can be received by - the server. Default is 67108864 (64M). + description: The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). type: integer minimum: 102400 maximum: 1073741824 example: 67108864 max_heap_table_size: - description: >- - The maximum size, in bytes, of internal in-memory tables. Also set - tmp_table_size. Default is 16777216 (16M) + description: The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) type: integer minimum: 1048576 maximum: 1073741824 example: 16777216 sort_buffer_size: - description: >- - The sort buffer size, in bytes, for ORDER BY optimization. Default - is 262144. (256K). + description: The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). type: integer minimum: 32768 maximum: 1073741824 example: 262144 tmp_table_size: - description: >- - The maximum size, in bytes, of internal in-memory tables. Also set - max_heap_table_size. Default is 16777216 (16M). + description: The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). type: integer minimum: 1048576 maximum: 1073741824 example: 16777216 slow_query_log: - description: >- - When enabled, captures slow queries. When disabled, also truncates - the mysql.slow_log table. Default is false. + description: When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. type: boolean example: true long_query_time: - description: >- - The time, in seconds, for a query to take to execute before being - captured by slow_query_logs. Default is 10 seconds. + description: The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. type: number minimum: 0 maximum: 3600 example: 10 binlog_retention_period: - description: >- - The minimum amount of time, in seconds, to keep binlog entries - before deletion. This may be extended for services that require - binlog entries for longer than the default, for example if using the - MySQL Debezium Kafka connector. + description: The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. type: number minimum: 600 maximum: 86400 example: 600 innodb_change_buffer_max_size: - description: >- - Specifies the maximum size of the InnoDB change buffer as a - percentage of the buffer pool. + description: Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. type: integer minimum: 0 maximum: 50 example: 25 innodb_flush_neighbors: - description: >- - Specifies whether flushing a page from the InnoDB buffer pool also - flushes other dirty pages in the same extent. + description: |- + Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. - 0 — disables this functionality, dirty pages in the same extent are not flushed. - 1 — flushes contiguous dirty pages in the same extent. - 2 — flushes dirty pages in the same extent. @@ -6478,45 +9228,31 @@ components: - 2 example: 0 innodb_read_io_threads: - description: >- - The number of I/O threads for read operations in InnoDB. Changing - this parameter will lead to a restart of the MySQL service. + description: The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. type: integer minimum: 1 maximum: 64 example: 16 innodb_write_io_threads: - description: >- - The number of I/O threads for write operations in InnoDB. Changing - this parameter will lead to a restart of the MySQL service. + description: The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. type: integer minimum: 1 maximum: 64 example: 16 innodb_thread_concurrency: - description: >- - Defines the maximum number of threads permitted inside of InnoDB. A - value of 0 (the default) is interpreted as infinite concurrency (no - limit). This variable is intended for performance tuning on high - concurrency systems. + description: Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance tuning on high concurrency systems. type: integer minimum: 0 maximum: 1000 example: 0 net_buffer_length: - description: >- - Start sizes of connection buffer and result buffer, must be multiple - of 1024. Changing this parameter will lead to a restart of the MySQL - service. + description: Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. type: integer minimum: 1024 maximum: 1048576 example: 4096 log_output: - description: >- - Defines the destination for logs. Can be `INSIGHTS`, `TABLE`, or - both (`INSIGHTS,TABLE`), or `NONE` to disable logs. To specify both - destinations, use `INSIGHTS,TABLE` (order matters). Default is NONE. + description: Defines the destination for logs. Can be `INSIGHTS`, `TABLE`, or both (`INSIGHTS,TABLE`), or `NONE` to disable logs. To specify both destinations, use `INSIGHTS,TABLE` (order matters). Default is NONE. type: string enum: - INSIGHTS @@ -6529,187 +9265,126 @@ components: type: object properties: autovacuum_freeze_max_age: - description: >- - Specifies the maximum age (in transactions) that a table's - pg_class.relfrozenxid field can attain before a VACUUM operation is - forced to prevent transaction ID wraparound within the table. Note - that the system will launch autovacuum processes to prevent - wraparound even when autovacuum is otherwise disabled. This - parameter will cause the server to be restarted. + description: Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. type: integer minimum: 200000000 maximum: 1500000000 example: 200000000 autovacuum_max_workers: - description: >- - Specifies the maximum number of autovacuum processes (other than the - autovacuum launcher) that may be running at any one time. The - default is three. This parameter can only be set at server start. + description: Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. type: integer minimum: 1 maximum: 20 example: 5 autovacuum_naptime: - description: >- - Specifies the minimum delay, in seconds, between autovacuum runs on - any given database. The default is one minute. + description: Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. type: integer minimum: 0 maximum: 86400 example: 43200 autovacuum_vacuum_threshold: - description: >- - Specifies the minimum number of updated or deleted tuples needed to - trigger a VACUUM in any one table. The default is 50 tuples. + description: Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. type: integer minimum: 0 maximum: 2147483647 example: 50 autovacuum_analyze_threshold: - description: >- - Specifies the minimum number of inserted, updated, or deleted tuples - needed to trigger an ANALYZE in any one table. The default is 50 - tuples. + description: Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. type: integer minimum: 0 maximum: 2147483647 example: 50 autovacuum_vacuum_scale_factor: - description: >- - Specifies a fraction, in a decimal value, of the table size to add - to autovacuum_vacuum_threshold when deciding whether to trigger a - VACUUM. The default is 0.2 (20% of table size). + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). type: number minimum: 0 maximum: 1 example: 0.2 autovacuum_analyze_scale_factor: - description: >- - Specifies a fraction, in a decimal value, of the table size to add - to autovacuum_analyze_threshold when deciding whether to trigger an - ANALYZE. The default is 0.2 (20% of table size). + description: Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). type: number minimum: 0 maximum: 1 example: 0.2 autovacuum_vacuum_cost_delay: - description: >- - Specifies the cost delay value, in milliseconds, that will be used - in automatic VACUUM operations. If -1, uses the regular - vacuum_cost_delay value, which is 20 milliseconds. + description: Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. type: integer minimum: -1 maximum: 100 example: 20 autovacuum_vacuum_cost_limit: - description: >- - Specifies the cost limit value that will be used in automatic VACUUM - operations. If -1 is specified (which is the default), the regular - vacuum_cost_limit value will be used. + description: Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. type: integer minimum: -1 maximum: 10000 example: -1 backup_hour: - description: >- - The hour of day (in UTC) when backup for the service starts. New - backup only starts if previous backup has already completed. + description: The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. minimum: 0 maximum: 23 type: integer example: 3 backup_minute: - description: >- - The minute of the backup hour when backup for the service starts. - New backup is only started if previous backup has already completed. + description: The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. minimum: 0 maximum: 59 type: integer example: 30 bgwriter_delay: - description: >- - Specifies the delay, in milliseconds, between activity rounds for - the background writer. Default is 200 ms. + description: Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. type: integer minimum: 10 maximum: 10000 example: 200 bgwriter_flush_after: - description: >- - The amount of kilobytes that need to be written by the background - writer before attempting to force the OS to issue these writes to - underlying storage. Specified in kilobytes, default is 512. Setting - of 0 disables forced writeback. + description: The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. type: integer minimum: 0 maximum: 2048 example: 512 bgwriter_lru_maxpages: - description: >- - The maximum number of buffers that the background writer can write. - Setting this to zero disables background writing. Default is 100. + description: The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. type: integer minimum: 0 maximum: 1073741823 example: 100 bgwriter_lru_multiplier: - description: >- - The average recent need for new buffers is multiplied by - bgwriter_lru_multiplier to arrive at an estimate of the number that - will be needed during the next round, (up to bgwriter_lru_maxpages). - 1.0 represents a “just in time” policy of writing exactly the number - of buffers predicted to be needed. Larger values provide some - cushion against spikes in demand, while smaller values intentionally - leave writes to be done by server processes. The default is 2.0. + description: The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. type: number minimum: 0 maximum: 10 example: 2 deadlock_timeout: - description: >- - The amount of time, in milliseconds, to wait on a lock before - checking to see if there is a deadlock condition. + description: The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. type: integer minimum: 500 maximum: 1800000 example: 1000 default_toast_compression: - description: >- - Specifies the default TOAST compression method for values of - compressible columns (the default is lz4). + description: Specifies the default TOAST compression method for values of compressible columns (the default is lz4). type: string enum: - lz4 - pglz example: lz4 idle_in_transaction_session_timeout: - description: >- - Time out sessions with open transactions after this number of - milliseconds + description: Time out sessions with open transactions after this number of milliseconds type: integer minimum: 0 maximum: 604800000 example: 10000 jit: - description: >- - Activates, in a boolean, the system-wide use of Just-in-Time - Compilation (JIT). + description: Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). type: boolean example: true log_autovacuum_min_duration: - description: >- - Causes each action executed by autovacuum to be logged if it ran for - at least the specified number of milliseconds. Setting this to zero - logs all autovacuum actions. Minus-one (the default) disables - logging autovacuum actions. + description: Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. type: integer minimum: -1 maximum: 2147483647 example: -1 log_error_verbosity: - description: >- - Controls the amount of detail written in the server log for each - message that is logged. + description: Controls the amount of detail written in the server log for each message that is logged. type: string enum: - TERSE @@ -6717,9 +9392,7 @@ components: - VERBOSE example: VERBOSE log_line_prefix: - description: >- - Selects one of the available log-formats. These can support popular - log analyzers like pgbadger, pganalyze, etc. + description: Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. type: string enum: - pid=%p,user=%u,db=%d,app=%a,client=%h @@ -6727,9 +9400,7 @@ components: - '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' example: pid=%p,user=%u,db=%d,app=%a,client=%h log_min_duration_statement: - description: >- - Log statements that take more than this number of milliseconds to - run. If -1, disables. + description: Log statements that take more than this number of milliseconds to run. If -1, disables. type: integer minimum: -1 maximum: 86400000 @@ -6741,9 +9412,7 @@ components: maximum: 4096 example: 2048 max_prepared_transactions: - description: >- - PostgreSQL maximum prepared transactions. Once increased, this - parameter cannot be lowered from its set value. + description: PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. type: integer minimum: 0 maximum: 10000 @@ -6755,9 +9424,7 @@ components: maximum: 640 example: 128 max_locks_per_transaction: - description: >- - PostgreSQL maximum locks per transaction. Once increased, this - parameter cannot be lowered from its set value. + description: PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. type: integer minimum: 64 maximum: 6400 @@ -6787,34 +9454,25 @@ components: maximum: 64 example: 16 max_logical_replication_workers: - description: >- - PostgreSQL maximum logical replication workers (taken from the pool - of max_parallel_workers). + description: PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). type: integer minimum: 4 maximum: 64 example: 16 max_parallel_workers: - description: >- - Sets the maximum number of workers that the system can support for - parallel queries. + description: Sets the maximum number of workers that the system can support for parallel queries. type: integer minimum: 0 maximum: 96 example: 12 max_parallel_workers_per_gather: - description: >- - Sets the maximum number of workers that can be started by a single - Gather or Gather Merge node. + description: Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. type: integer minimum: 0 maximum: 96 example: 16 max_worker_processes: - description: >- - Sets the maximum number of background processes that the system can - support. Once increased, this parameter cannot be lowered from its - set value. + description: Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. type: integer minimum: 8 maximum: 96 @@ -6824,10 +9482,7 @@ components: pattern: ^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$ maxLength: 64 example: myrolename - description: >- - Controls which role to use for pg_partman's scheduled background - tasks. Must consist of alpha-numeric characters, dots, underscores, - or dashes. May not start with dash or dot. Maximum of 64 characters. + description: Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. pg_partman_bgw.interval: description: Sets the time interval to run pg_partman's scheduled tasks. type: integer @@ -6835,12 +9490,7 @@ components: maximum: 604800 example: 3600 pg_stat_statements.track: - description: >- - Controls which statements are counted. Specify 'top' to track - top-level statements (those issued directly by clients), 'all' to - also track nested statements (such as statements invoked within - functions), or 'none' to disable statement statistics collection. - The default value is top. + description: Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. type: string enum: - all @@ -6859,9 +9509,7 @@ components: example: Europe/Helsinki maxLength: 64 track_activity_query_size: - description: >- - Specifies the number of bytes reserved to track the currently - executing command for each active session. + description: Specifies the number of bytes reserved to track the currently executing command for each active session. type: integer example: 1024 minimum: 1024 @@ -6882,107 +9530,141 @@ components: - none example: all track_io_timing: - description: >- - Enables timing of database I/O calls. This parameter is off by - default, because it will repeatedly query the operating system for - the current time, which may cause significant overhead on some - platforms. + description: Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. type: string enum: - 'off' - 'on' example: 'off' max_wal_senders: - description: >- - PostgreSQL maximum WAL senders. Once increased, this parameter - cannot be lowered from its set value. + description: PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. type: integer minimum: 20 maximum: 64 example: 32 wal_sender_timeout: - description: >- - Terminate replication connections that are inactive for longer than - this amount of time, in milliseconds. Setting this value to zero - disables the timeout. Must be either 0 or between 5000 and 10800000. + description: Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. type: integer minimum: 0 maximum: 10800000 example: 60000 wal_writer_delay: - description: >- - WAL flush interval in milliseconds. Note that setting this value to - lower than the default 200ms may negatively impact performance + description: WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance type: integer minimum: 10 maximum: 200 example: 50 shared_buffers_percentage: - description: >- - Percentage of total RAM that the database server uses for shared - memory buffers. Valid range is 20-60 (float), which corresponds to - 20% - 60%. This setting adjusts the shared_buffers configuration - value. + description: Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. type: number minimum: 20 maximum: 60 example: 41.5 pgbouncer: - $ref: '#/components/schemas/pgbouncer_advanced_config' + type: object + description: PGBouncer connection pooling settings + properties: + server_reset_query_always: + description: Run server_reset_query (DISCARD ALL) in all pooling modes. + type: boolean + example: false + ignore_startup_parameters: + description: List of parameters to ignore when given in startup packet. + type: array + example: + - extra_float_digits + - search_path + items: + description: Enum of parameters to ignore when given in startup packet. + type: string + enum: + - extra_float_digits + - search_path + maxItems: 32 + min_pool_size: + description: If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + server_lifetime: + description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. + type: integer + minimum: 60 + maximum: 86400 + example: 3600 + server_idle_timeout: + description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' + type: integer + minimum: 0 + maximum: 86400 + example: 600 + autodb_pool_size: + description: If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. + type: integer + minimum: 0 + maximum: 10000 + example: 1 + autodb_pool_mode: + enum: + - session + - transaction + - statement + example: session + description: PGBouncer pool mode + type: string + autodb_max_db_connections: + description: Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. + type: integer + minimum: 0 + maximum: 2147483647 + example: 1 + autodb_idle_timeout: + description: If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. + type: integer + minimum: 0 + maximum: 86400 + example: 3600 work_mem: - description: >- - The maximum amount of memory, in MB, used by a query operation (such - as a sort or hash table) before writing to temporary disk files. - Default is 1MB + 0.075% of total RAM (up to 32MB). + description: The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). type: integer minimum: 1 maximum: 1024 example: 4 timescaledb: - $ref: '#/components/schemas/timescaledb_advanced_config' + type: object + description: TimescaleDB extension configuration values + properties: + max_background_workers: + description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. + type: integer + minimum: 1 + maximum: 4096 + example: 8 synchronous_replication: - description: >- - Synchronous replication type. Note that the service plan also needs - to support synchronous replication. + description: Synchronous replication type. Note that the service plan also needs to support synchronous replication. type: string example: 'off' enum: - 'off' - quorum stat_monitor_enable: - description: >- - Enable the pg_stat_monitor extension. Enabling this extension - will cause the cluster to be restarted. When this extension is - enabled, pg_stat_statements results for utility commands are - unreliable. + description: Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. type: boolean example: false max_failover_replication_time_lag: - description: >- - Number of seconds of master unavailability before triggering - database failover to standby. The default value is 60. + description: Number of seconds of master unavailability before triggering database failover to standby. The default value is 60. type: integer minimum: 10 maximum: 9223372036854776000 example: 50 max_connections: - description: >- - Sets the PostgreSQL maximum number of concurrent connections to the - database server. This is a limited-release parameter. Contact your - account team to confirm your eligibility. You cannot decrease this - parameter value when set. For services with a read replica, first - increase the read replica's value. After the change is applied to - the replica, you can increase the primary service's value. Changing - this parameter causes a service restart. + description: Sets the PostgreSQL maximum number of concurrent connections to the database server. This is a limited-release parameter. Contact your account team to confirm your eligibility. You cannot decrease this parameter value when set. For services with a read replica, first increase the read replica's value. After the change is applied to the replica, you can increase the primary service's value. Changing this parameter causes a service restart. type: integer minimum: 25 example: 75 max_slot_wal_keep_size: - description: >- - PostgreSQL maximum WAL size (MB) reserved for replication slots. If - -1 is specified, replication slots may retain an unlimited amount of - WAL files. The default is -1 (upstream default). wal_keep_size - minimum WAL size setting takes precedence over this. + description: PostgreSQL maximum WAL size (MB) reserved for replication slots. If -1 is specified, replication slots may retain an unlimited amount of WAL files. The default is -1 (upstream default). wal_keep_size minimum WAL size setting takes precedence over this. type: integer minimum: -1 maximum: 2147483647 @@ -6999,33 +9681,18 @@ components: - volatile-lru - volatile-random - volatile-ttl - description: >- - A string specifying the desired eviction policy for the Caching - cluster. - - - - `noeviction`: Don't evict any data, returns error when memory - limit is reached. + description: |- + A string specifying the desired eviction policy for the Caching cluster. + - `noeviction`: Don't evict any data, returns error when memory limit is reached. - `allkeys-lru:` Evict any key, least recently used (LRU) first. - - `allkeys-random`: Evict keys in a random order. - - - `volatile-lru`: Evict keys with expiration only, least recently - used (LRU) first. - - - `volatile-random`: Evict keys with expiration only in a random - order. - - - `volatile-ttl`: Evict keys with expiration only, shortest - time-to-live (TTL) first. + - `volatile-lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile-random`: Evict keys with expiration only in a random order. + - `volatile-ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. example: allkeys-lru redis_pubsub_client_output_buffer_limit: - description: >- - Set output buffer limit for pub / sub clients in MB. The value is - the hard limit, the soft limit is 1/4 of the hard limit. When - setting the limit, be mindful of the available memory in the - selected service plan. + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. type: integer minimum: 32 maximum: 512 @@ -7034,9 +9701,7 @@ components: type: integer minimum: 1 maximum: 128 - description: >- - Set number of redis databases. Changing this will cause a restart of - redis service. + description: Set number of redis databases. Changing this will cause a restart of redis service. example: 16 redis_io_threads: description: Caching IO thread count @@ -7045,9 +9710,7 @@ components: maximum: 32 example: 1 redis_lfu_log_factor: - description: >- - Counter logarithm factor for volatile-lfu and allkeys-lfu - maxmemory-policies + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies type: integer minimum: 0 maximum: 100 @@ -7061,14 +9724,10 @@ components: default: 1 example: 1 redis_ssl: - description: > + description: | Require SSL to access Caching. - - - When enabled, Caching accepts only SSL connections on port - `25061`. - - - When disabled, port `25060` is opened for non-SSL connections, - while port `25061` remains available for SSL connections. + - When enabled, Caching accepts only SSL connections on port `25061`. + - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections. type: boolean default: true example: true @@ -7080,39 +9739,22 @@ components: default: 300 example: 300 redis_notify_keyspace_events: - description: >- - Set notify-keyspace-events option. Requires at least `K` or `E` and - accepts any combination of the following options. Setting the - parameter to `""` disables notifications. - + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. - `K` — Keyspace events - - `E` — Keyevent events - - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) - - `$` — String commands - - `l` — List commands - - `s` — Set commands - - `h` — Hash commands - - `z` — Sorted set commands - - `t` — Stream commands - - `d` — Module key type events - - `x` — Expired events - - `e` — Evicted events - - `m` — Key miss events - - `n` — New key events - - `A` — Alias for `"g$lshztxed"` type: string pattern: ^[KEg\$lshzxeA]*$ @@ -7124,37 +9766,39 @@ components: enum: - 'off' - rdb - description: >- - Creates an RDB dump of the database every 10 minutes that can be - used to recover data after a node crash. The database does not - create the dump if no keys have changed since the last dump. When - set to `off`, the database cannot fork services, and data can be - lost if a service is restarted or powered off. DigitalOcean Managed - Caching databases do not support the Append Only File (AOF) - persistence method. + description: Creates an RDB dump of the database every 10 minutes that can be used to recover data after a node crash. The database does not create the dump if no keys have changed since the last dump. When set to `off`, the database cannot fork services, and data can be lost if a service is restarted or powered off. DigitalOcean Managed Caching databases do not support the Append Only File (AOF) persistence method. example: rdb redis_acl_channels_default: type: string enum: - allchannels - resetchannels - description: >- - Determines default pub/sub channels' ACL for new users if ACL is not - supplied. When this option is not defined, all_channels is assumed - to keep backward compatibility. This option doesn't affect Caching - configuration acl-pubsub-default. + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Caching configuration acl-pubsub-default. example: allchannels valkey_advanced_config: type: object properties: valkey_maxmemory_policy: - $ref: '#/components/schemas/eviction_policy_model' + type: string + enum: + - noeviction + - allkeys_lru + - allkeys_random + - volatile_lru + - volatile_random + - volatile_ttl + description: |- + A string specifying the desired eviction policy for a Caching or Valkey cluster. + + - `noeviction`: Don't evict any data, returns error when memory limit is reached. + - `allkeys_lru:` Evict any key, least recently used (LRU) first. + - `allkeys_random`: Evict keys in a random order. + - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + - `volatile_random`: Evict keys with expiration only in a random order. + - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + example: allkeys_lru valkey_pubsub_client_output_buffer_limit: - description: >- - Set output buffer limit for pub / sub clients in MB. The value is - the hard limit, the soft limit is 1/4 of the hard limit. When - setting the limit, be mindful of the available memory in the - selected service plan. + description: Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. type: integer minimum: 32 maximum: 512 @@ -7163,9 +9807,7 @@ components: type: integer minimum: 1 maximum: 128 - description: >- - Set number of valkey databases. Changing this will cause a restart - of valkey service. + description: Set number of valkey databases. Changing this will cause a restart of valkey service. example: 16 valkey_io_threads: description: Valkey IO thread count @@ -7174,9 +9816,7 @@ components: maximum: 32 example: 1 valkey_lfu_log_factor: - description: >- - Counter logarithm factor for volatile-lfu and allkeys-lfu - maxmemory-policies + description: Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies type: integer minimum: 0 maximum: 100 @@ -7202,39 +9842,22 @@ components: default: 300 example: 300 valkey_notify_keyspace_events: - description: >- - Set notify-keyspace-events option. Requires at least `K` or `E` and - accepts any combination of the following options. Setting the - parameter to `""` disables notifications. - + description: |- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. - `K` — Keyspace events - - `E` — Keyevent events - - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) - - `$` — String commands - - `l` — List commands - - `s` — Set commands - - `h` — Hash commands - - `z` — Sorted set commands - - `t` — Stream commands - - `d` — Module key type events - - `x` — Expired events - - `e` — Evicted events - - `m` — Key miss events - - `n` — New key events - - `A` — Alias for `"g$lshztxed"` type: string pattern: ^[KEg\$lshzxeA]*$ @@ -7246,60 +9869,36 @@ components: enum: - 'off' - rdb - description: >- - When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if - any key is changed. Also RDB dumps are done according to backup - schedule for backup purposes. When persistence is 'off', no RDB - dumps and backups are done, so data can be lost at any moment if - service is restarted for any reason, or if service is powered off. - Also service can't be forked. + description: When persistence is 'rdb', Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. example: rdb valkey_acl_channels_default: type: string enum: - allchannels - resetchannels - description: >- - Determines default pub/sub channels' ACL for new users if ACL is not - supplied. When this option is not defined, all_channels is assumed - to keep backward compatibility. This option doesn't affect Valkey - configuration acl-pubsub-default. + description: Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default. example: allchannels frequent_snapshots: type: boolean default: true - description: > + description: | Frequent RDB snapshots - - When enabled, Valkey will create frequent local RDB snapshots. When - disabled, Valkey will only take RDB snapshots when a backup is - created, based on the backup schedule. This setting is ignored when - valkey_persistence is set to off. + When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when valkey_persistence is set to off. example: true valkey_active_expire_effort: type: integer minimum: 1 maximum: 10 default: 1 - description: > + description: | Active expire effort - - Valkey reclaims expired keys both when accessed and in the - background. The background process scans for expired keys to free - memory. Increasing the active-expire-effort setting (default 1, max - 10) uses more CPU to reclaim expired keys faster, reducing memory - usage but potentially increasing latency. + Valkey reclaims expired keys both when accessed and in the background. The background process scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to reclaim expired keys faster, reducing memory usage but potentially increasing latency. example: 1 kafka_advanced_config: type: object properties: compression_type: - description: >- - Specify the final compression type for a given topic. This - configuration accepts the standard compression codecs ('gzip', - 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' - which is equivalent to no compression; and 'producer' which means - retain the original compression codec set by the producer. + description: Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. type: string enum: - gzip @@ -7310,48 +9909,31 @@ components: - producer example: gzip group_initial_rebalance_delay_ms: - description: >- - The amount of time, in milliseconds, the group coordinator will wait - for more consumers to join a new group before performing the first - rebalance. A longer delay means potentially fewer rebalances, but - increases the time until processing begins. The default value for - this is 3 seconds. During development and testing it might be - desirable to set this to 0 in order to not delay test execution - time. + description: The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. type: integer example: 3000 minimum: 0 maximum: 300000 group_min_session_timeout_ms: - description: >- - The minimum allowed session timeout for registered consumers. Longer - timeouts give consumers more time to process messages in between - heartbeats at the cost of a longer time to detect failures. + description: The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. type: integer example: 6000 minimum: 0 maximum: 60000 group_max_session_timeout_ms: - description: >- - The maximum allowed session timeout for registered consumers. Longer - timeouts give consumers more time to process messages in between - heartbeats at the cost of a longer time to detect failures. + description: The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. type: integer example: 1800000 minimum: 0 maximum: 1800000 connections_max_idle_ms: - description: >- - Idle connections timeout: the server socket processor threads close - the connections that idle for longer than this. + description: 'Idle connections timeout: the server socket processor threads close the connections that idle for longer than this.' type: integer minimum: 1000 example: 540000 maximum: 3600000 max_incremental_fetch_session_cache_slots: - description: >- - The maximum number of incremental fetch sessions that the broker - will maintain. + description: The maximum number of incremental fetch sessions that the broker will maintain. type: integer example: 1000 minimum: 1000 @@ -7375,27 +9957,19 @@ components: maximum: 315569260000 example: 86400000 log_cleaner_min_cleanable_ratio: - description: >- - Controls log compactor frequency. Larger value means more frequent - compactions but also more space wasted for logs. Consider setting - log_cleaner_max_compaction_lag_ms to enforce compactions sooner, - instead of setting a very high value for this option. + description: Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log_cleaner_max_compaction_lag_ms to enforce compactions sooner, instead of setting a very high value for this option. type: number minimum: 0.2 maximum: 0.9 example: 0.5 log_cleaner_max_compaction_lag_ms: - description: >- - The maximum amount of time message will remain uncompacted. Only - applicable for logs that are being compacted + description: The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted type: integer minimum: 30000 maximum: 9223372036854776000 example: 60000 log_cleaner_min_compaction_lag_ms: - description: >- - The minimum time a message will remain uncompacted in the log. Only - applicable for logs that are being compacted. + description: The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. type: integer minimum: 0 maximum: 9223372036854776000 @@ -7409,18 +9983,13 @@ components: - compact,delete example: delete log_flush_interval_messages: - description: >- - The number of messages accumulated on a log partition before - messages are flushed to disk + description: The number of messages accumulated on a log partition before messages are flushed to disk type: integer minimum: 1 maximum: 9223372036854776000 example: 9223372036854776000 log_flush_interval_ms: - description: >- - The maximum time in ms that a message in any topic is kept in memory - before flushed to disk. If not set, the value in - log.flush.scheduler.interval.ms is used + description: The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used type: integer minimum: 0 maximum: 9223372036854776000 @@ -7438,24 +10007,18 @@ components: maximum: 104857600 example: 10485760 log_message_downconversion_enable: - description: >- - This configuration controls whether down-conversion of message - formats is enabled to satisfy consume requests. + description: This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. type: boolean example: true log_message_timestamp_type: - description: >- - Define whether the timestamp in the message is message create time - or log append time. + description: Define whether the timestamp in the message is message create time or log append time. type: string enum: - CreateTime - LogAppendTime example: CreateTime log_message_timestamp_difference_max_ms: - description: >- - The maximum difference allowed between the timestamp when a broker - receives a message and the timestamp specified in the message + description: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message type: integer minimum: 0 maximum: 9223372036854776000 @@ -7477,27 +10040,19 @@ components: maximum: 2147483647 example: 1000000 log_retention_ms: - description: >- - The number of milliseconds to keep a log file before deleting it (in - milliseconds), If not set, the value in log.retention.minutes is - used. If set to -1, no time limit is applied. + description: The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. type: integer minimum: -1 maximum: 9223372036854776000 example: 100000000 log_roll_jitter_ms: - description: >- - The maximum jitter to subtract from logRollTimeMillis (in - milliseconds). If not set, the value in log.roll.jitter.hours is - used + description: The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used type: integer minimum: 0 maximum: 9223372036854776000 example: 10000000 log_roll_ms: - description: >- - The maximum time before a new log segment is rolled out (in - milliseconds). + description: The maximum time before a new log segment is rolled out (in milliseconds). type: integer minimum: 1 maximum: 9223372036854776000 @@ -7509,9 +10064,7 @@ components: maximum: 1073741824 example: 100000000 log_segment_delete_delay_ms: - description: >- - The amount of time to wait before deleting a file from the - filesystem + description: The amount of time to wait before deleting a file from the filesystem type: integer minimum: 0 maximum: 3600000 @@ -7522,10 +10075,7 @@ components: example: true default: false min_insync_replicas: - description: >- - When a producer sets acks to 'all' (or '-1'), min_insync_replicas - specifies the minimum number of replicas that must acknowledge a - write for the write to be considered successful. + description: When a producer sets acks to 'all' (or '-1'), min_insync_replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. type: integer minimum: 1 maximum: 7 @@ -7543,74 +10093,49 @@ components: maximum: 10 example: 2 replica_fetch_max_bytes: - description: >- - The number of bytes of messages to attempt to fetch for each - partition (defaults to 1048576). This is not an absolute maximum, if - the first record batch in the first non-empty partition of the fetch - is larger than this value, the record batch will still be returned - to ensure that progress can be made. + description: The number of bytes of messages to attempt to fetch for each partition (defaults to 1048576). This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. type: integer minimum: 1048576 maximum: 104857600 example: 2097152 replica_fetch_response_max_bytes: - description: >- - Maximum bytes expected for the entire fetch response (defaults to - 10485760). Records are fetched in batches, and if the first record - batch in the first non-empty partition of the fetch is larger than - this value, the record batch will still be returned to ensure that - progress can be made. As such, this is not an absolute maximum. + description: Maximum bytes expected for the entire fetch response (defaults to 10485760). Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. type: integer minimum: 10485760 maximum: 1048576000 example: 20971520 max_connections_per_ip: - description: >- - The maximum number of connections allowed from each ip address - (defaults to 2147483647). + description: The maximum number of connections allowed from each ip address (defaults to 2147483647). type: integer minimum: 256 maximum: 2147483647 example: 512 producer_purgatory_purge_interval_requests: - description: >- - The purge interval (in number of requests) of the producer request - purgatory (defaults to 1000). + description: The purge interval (in number of requests) of the producer request purgatory (defaults to 1000). type: integer minimum: 10 maximum: 10000 example: 100 socket_request_max_bytes: - description: >- - The maximum number of bytes in a socket request (defaults to - 104857600). + description: The maximum number of bytes in a socket request (defaults to 104857600). type: integer minimum: 10485760 maximum: 209715200 example: 20971520 transaction_state_log_segment_bytes: - description: >- - The transaction topic segment bytes should be kept relatively small - in order to facilitate faster log compaction and cache loads - (defaults to 104857600 (100 mebibytes)). + description: The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (defaults to 104857600 (100 mebibytes)). type: integer minimum: 1048576 maximum: 2147483647 example: 104857600 transaction_remove_expired_transaction_cleanup_interval_ms: - description: >- - The interval at which to remove transactions that have expired due - to transactional.id.expiration.ms passing (defaults to 3600000 (1 - hour)). + description: The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (defaults to 3600000 (1 hour)). type: integer minimum: 600000 maximum: 3600000 example: 3600000 schema_registry: - description: >- - Enable creation of schema registry for the Kafka cluster. - Schema_registry only works with General Purpose - Dedicated CPU - plans. + description: Enable creation of schema registry for the Kafka cluster. Schema_registry only works with General Purpose - Dedicated CPU plans. type: boolean example: true default: false @@ -7618,9 +10143,7 @@ components: type: object properties: http_max_content_length_bytes: - description: >- - Maximum content length for HTTP requests to the OpenSearch HTTP API, - in bytes. + description: Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. type: integer example: 100000000 minimum: 1 @@ -7641,71 +10164,47 @@ components: maximum: 65536 default: 4096 indices_query_bool_max_clause_count: - description: >- - Maximum number of clauses Lucene BooleanQuery can have. Only - increase it if necessary, as it may cause performance issues. + description: Maximum number of clauses Lucene BooleanQuery can have. Only increase it if necessary, as it may cause performance issues. type: integer example: 1024 minimum: 64 maximum: 4096 default: 1024 indices_fielddata_cache_size_percentage: - description: >- - Maximum amount of heap memory used for field data cache, expressed - as a percentage. Decreasing the value too much will increase - overhead of loading field data. Increasing the value too much will - decrease amount of heap available for other operations. + description: Maximum amount of heap memory used for field data cache, expressed as a percentage. Decreasing the value too much will increase overhead of loading field data. Increasing the value too much will decrease amount of heap available for other operations. type: integer example: 3 minimum: 3 maximum: 100 indices_memory_index_buffer_size_percentage: - description: >- - Total amount of heap used for indexing buffer before writing - segments to disk, expressed as a percentage. Too low value will slow - down indexing; too high value will increase indexing performance but - causes performance issues for query performance. + description: Total amount of heap used for indexing buffer before writing segments to disk, expressed as a percentage. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance. type: integer example: 10 minimum: 3 maximum: 40 default: 10 indices_memory_min_index_buffer_size_mb: - description: >- - Minimum amount of heap used for indexing buffer before writing - segments to disk, in mb. Works in conjunction with - indices_memory_index_buffer_size_percentage, each being enforced. + description: Minimum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. type: integer example: 48 minimum: 3 maximum: 2048 default: 48 indices_memory_max_index_buffer_size_mb: - description: >- - Maximum amount of heap used for indexing buffer before writing - segments to disk, in mb. Works in conjunction with - indices_memory_index_buffer_size_percentage, each being enforced. - The default is unbounded. + description: Maximum amount of heap used for indexing buffer before writing segments to disk, in mb. Works in conjunction with indices_memory_index_buffer_size_percentage, each being enforced. The default is unbounded. type: integer example: 48 minimum: 3 maximum: 2048 indices_queries_cache_size_percentage: - description: >- - Maximum amount of heap used for query cache. Too low value will - decrease query performance and increase performance for other - operations; too high value will cause issues with other - functionality. + description: Maximum amount of heap used for query cache. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other functionality. type: integer example: 10 minimum: 3 maximum: 40 default: 10 indices_recovery_max_mb_per_sec: - description: >- - Limits total inbound and outbound recovery traffic for each node, - expressed in mb per second. Applies to both peer recoveries as well - as snapshot recoveries (i.e., restores from a snapshot). + description: Limits total inbound and outbound recovery traffic for each node, expressed in mb per second. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). type: integer example: 40 minimum: 40 @@ -7719,58 +10218,37 @@ components: maximum: 5 default: 2 thread_pool_search_size: - description: >- - Number of workers in the search operation thread pool. Do note this - may have maximum value depending on CPU count - value is - automatically lowered if set to higher than maximum value. + description: Number of workers in the search operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 maximum: 128 thread_pool_search_throttled_size: - description: >- - Number of workers in the search throttled operation thread pool. - This pool is used for searching frozen indices. Do note this may - have maximum value depending on CPU count - value is automatically - lowered if set to higher than maximum value. + description: Number of workers in the search throttled operation thread pool. This pool is used for searching frozen indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 maximum: 128 thread_pool_get_size: - description: >- - Number of workers in the get operation thread pool. Do note this - may have maximum value depending on CPU count - value is - automatically lowered if set to higher than maximum value. + description: Number of workers in the get operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 maximum: 128 thread_pool_analyze_size: - description: >- - Number of workers in the analyze operation thread pool. Do note - this may have maximum value depending on CPU count - value is - automatically lowered if set to higher than maximum value. + description: Number of workers in the analyze operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 maximum: 128 thread_pool_write_size: - description: >- - Number of workers in the write operation thread pool. Do note this - may have maximum value depending on CPU count - value is - automatically lowered if set to higher than maximum value. + description: Number of workers in the write operation thread pool. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 maximum: 128 thread_pool_force_merge_size: - description: >- - Number of workers in the force merge operation thread pool. This - pool is used for forcing a merge between shards of one or more - indices. Do note this may have maximum value depending on CPU count - - value is automatically lowered if set to higher than maximum - value. + description: Number of workers in the force merge operation thread pool. This pool is used for forcing a merge between shards of one or more indices. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value. type: integer example: 1 minimum: 1 @@ -7811,9 +10289,7 @@ components: example: true default: true ism_history_enabled: - description: >- - Specifies whether audit history is enabled or not. The logs from ISM - are automatically indexed to a logs document. + description: Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document. type: boolean example: true default: true @@ -7825,18 +10301,14 @@ components: maximum: 2147483647 default: 24 ism_history_max_docs: - description: >- - Maximum number of documents before rolling over the audit history - index. + description: Maximum number of documents before rolling over the audit history index. type: integer example: 2500000 minimum: 1 maximum: 9223372036854776000 default: 2500000 ism_history_rollover_check_period_hours: - description: >- - The time between rollover checks for the audit history index, in - hours. + description: The time between rollover checks for the audit history index, in hours. type: integer example: 8 minimum: 1 @@ -7867,9 +10339,7 @@ components: example: false default: false action_destructive_requires_name: - description: >- - Specifies whether to require explicit index names when deleting - indices. + description: Specifies whether to require explicit index names when deleting indices. type: boolean example: false cluster_max_shards_per_node: @@ -7879,32 +10349,24 @@ components: minimum: 100 maximum: 10000 override_main_response_version: - description: >- - Compatibility mode sets OpenSearch to report its version as 7.10 so - clients continue to work. + description: Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. type: boolean example: false default: false script_max_compilations_rate: - description: >- - Limits the number of inline script compilations within a period of - time. Default is use-context + description: Limits the number of inline script compilations within a period of time. Default is use-context type: string example: 75/5m default: use-context cluster_routing_allocation_node_concurrent_recoveries: - description: >- - Maximum concurrent incoming/outgoing shard recoveries (normally - replicas) are allowed to happen per node . + description: Maximum concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen per node . type: integer example: 2 minimum: 2 maximum: 16 default: 2 reindex_remote_whitelist: - description: >- - Allowlist of remote IP addresses for reindexing. Changing this value - will cause all OpenSearch instances to restart. + description: Allowlist of remote IP addresses for reindexing. Changing this value will cause all OpenSearch instances to restart. type: array items: type: string @@ -7922,21 +10384,14 @@ components: example: true default: true knn_memory_circuit_breaker_limit: - description: >- - Maximum amount of memory that can be used for KNN index, as a - percentage of the JVM heap size. + description: Maximum amount of memory that can be used for KNN index, as a percentage of the JVM heap size. type: integer example: 60 minimum: 3 maximum: 100 default: 50 keep_index_refresh_interval: - description: >- - DigitalOcean automatically resets the `index.refresh_interval` to - the default value (once per second) to ensure that new documents - are quickly available for search queries. If you are setting your - own refresh intervals, you can disable this by setting this field - to true. + description: DigitalOcean automatically resets the `index.refresh_interval` to the default value (once per second) to ensure that new documents are quickly available for search queries. If you are setting your own refresh intervals, you can disable this by setting this field to true. example: true type: boolean default: false @@ -7944,12 +10399,7 @@ components: type: object properties: default_read_concern: - description: >- - Specifies the default consistency behavior of reads from the - database. Data that is returned from the query with may or may not - have been acknowledged by all nodes in the replicaset depending on - this value. Learn more - [here](https://www.mongodb.com/docs/manual/reference/read-concern/). + description: Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/). type: string enum: - local @@ -7958,50 +10408,24 @@ components: default: local example: local default_write_concern: - description: >- - Describes the level of acknowledgment requested from MongoDB for - write operations clusters. This field can set to either `majority` - or a number `0...n` which will describe the number of nodes that - must acknowledge the write operation before it is fully accepted. - Setting to `0` will request no acknowledgement of the write - operation. Learn more - [here](https://www.mongodb.com/docs/manual/reference/write-concern/). + description: Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number `0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/). type: string default: majority example: majority transaction_lifetime_limit_seconds: - description: >- - Specifies the lifetime of multi-document transactions. Transactions - that exceed this limit are considered expired and will be aborted - by a periodic cleanup process. The cleanup process runs every - `transactionLifetimeLimitSeconds/2 seconds` or at least once every - 60 seconds. *Changing this parameter will lead to a restart of the - MongoDB service.* Learn more - [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds). + description: Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds). type: integer minimum: 1 default: 60 example: 100 slow_op_threshold_ms: - description: >- - Operations that run for longer than this threshold are considered - slow which are then recorded to the diagnostic logs. Higher log - levels (verbosity) will record all operations regardless of this - threshold on the primary node. *Changing this parameter will lead - to a restart of the MongoDB service.* Learn more - [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs). + description: Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs). type: integer minimum: 0 default: 100 example: 200 verbosity: - description: >- - The log message verbosity level. The verbosity level determines the - amount of Informational and Debug messages MongoDB outputs. 0 - includes informational messages while 1...5 increases the level to - include debug messages. *Changing this parameter will lead to a - restart of the MongoDB service.* Learn more - [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity). + description: The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. *Changing this parameter will lead to a restart of the MongoDB service.* Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity). type: integer minimum: 0 maximum: 5 @@ -8012,11 +10436,8 @@ components: properties: certificate: type: string - example: >- - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - description: >- - base64 encoding of the certificate used to secure database - connections + example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + description: base64 encoding of the certificate used to secure database connections readOnly: true required: - certificate @@ -8048,9 +10469,7 @@ components: type: string format: date-time example: '2019-01-31T19:25:22Z' - description: >- - A time value given in ISO8601 combined date and time format at which - the backup was created. + description: A time value given in ISO8601 combined date and time format at which the backup was created. size_gigabytes: type: number example: 0.03364864 @@ -8065,9 +10484,7 @@ components: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: >- - A unique ID that can be used to identify and reference a database - replica. + description: A unique ID that can be used to identify and reference a database replica. readOnly: true name: type: string @@ -8076,18 +10493,11 @@ components: region: type: string example: nyc3 - description: >- - A slug identifier for the region where the read-only replica will be - located. If excluded, the replica will be placed in the same region - as the cluster. + description: A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. size: type: string example: db-s-2vcpu-4gb - description: >- - A slug identifier representing the size of the node for the - read-only replica. The size of the replica must be at least as large - as the node size for the database cluster from which it is - replicating. + description: A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. status: type: string enum: @@ -8105,41 +10515,99 @@ components: type: string example: - production - description: >- - A flat array of tag names as strings applied to the read-only - replica.

Requires `tag:read` scope. + description: A flat array of tag names as strings applied to the read-only replica.

Requires `tag:read` scope. created_at: type: string format: date-time example: '2019-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the database cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the database cluster was created. readOnly: true private_network_uuid: type: string example: 9423cbad-9211-442f-820b-ef6915e99b5f - description: >- - A string specifying the UUID of the VPC to which the read-only - replica will be assigned. If excluded, the replica will be assigned - to your account's default VPC for the region.

Requires - `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' + readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true private_connection: - allOf: - - readOnly: true - - $ref: '#/components/schemas/database_connection' + readOnly: true + type: object + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true storage_size_mib: type: integer example: 61440 - description: >- - Additional storage added to the cluster, in MiB. If null, no - additional storage is added to the cluster, beyond what is provided - as a base amount from the 'size' and any previously added additional - storage. + description: Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. required: - name events_logs: @@ -8177,13 +10645,194 @@ components: readOnly: true description: An array of connection pool objects. items: - $ref: '#/components/schemas/connection_pool' + type: object + properties: + name: + type: string + description: A unique name for the connection pool. Must be between 3 and 60 characters. + example: backend-pool + mode: + type: string + description: The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + example: transaction + size: + type: integer + format: int32 + description: The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + example: 10 + db: + type: string + description: The database for use with the connection pool. + example: defaultdb + user: + type: string + description: The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + example: doadmin + connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + private_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + standby_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + standby_private_connection: + type: object + readOnly: true + properties: + uri: + type: string + description: A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + example: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + readOnly: true + database: + type: string + description: The name of the default database. + example: defaultdb + readOnly: true + host: + type: string + description: The FQDN pointing to the database cluster's current primary node. + example: backend-do-user-19081923-0.db.ondigitalocean.com + readOnly: true + port: + type: integer + description: The port on which the database cluster is listening. + example: 25060 + readOnly: true + user: + type: string + description: The default user for the database.

Requires `database:view_credentials` scope. + example: doadmin + readOnly: true + password: + type: string + description: The randomly generated password for the default user.

Requires `database:view_credentials` scope. + example: wv78n3zpz42xezdk + readOnly: true + ssl: + type: boolean + description: A boolean value indicating if the connection should be made over SSL. + example: true + readOnly: true + required: + - name + - mode + - size + - db version: type: string example: '8' - description: >- - A string representing the version of the database engine in use for the - cluster. + description: A string representing the version of the database engine in use for the cluster. database_storage_autoscale_params: type: object description: Configuration for database cluster storage autoscaling @@ -8196,36 +10845,40 @@ components: type: integer minimum: 15 maximum: 95 - description: >- - The storage usage threshold percentage that triggers autoscaling. - When storage usage exceeds this percentage, additional storage will - be added automatically. + description: The storage usage threshold percentage that triggers autoscaling. When storage usage exceeds this percentage, additional storage will be added automatically. example: 80 increment_gib: type: integer minimum: 10 maximum: 500 - description: >- - The amount of additional storage to add (in GiB) when autoscaling is - triggered + description: The amount of additional storage to add (in GiB) when autoscaling is triggered example: 10 required: - enabled kafka_topic: type: object - allOf: - - $ref: '#/components/schemas/kafka_topic_base' - - properties: - state: - type: string - enum: - - active - - configuring - - deleting - - unknown - example: active - description: The state of the Kafka topic. - type: object + properties: + name: + type: string + description: The name of the Kafka topic. + example: events + replication_factor: + type: integer + example: 2 + description: The number of nodes to replicate data across the cluster. + partition_count: + type: integer + example: 3 + description: The number of partitions available for the topic. On update, this value can only be increased. + state: + type: string + enum: + - active + - configuring + - deleting + - unknown + example: active + description: The state of the Kafka topic. kafka_topic_base: type: object properties: @@ -8240,9 +10893,7 @@ components: partition_count: type: integer example: 3 - description: >- - The number of partitions available for the topic. On update, this - value can only be increased. + description: The number of partitions available for the topic. On update, this value can only be increased. kafka_topic_config: type: object properties: @@ -8254,11 +10905,7 @@ components: - compact_delete example: delete default: delete - description: >- - The cleanup_policy sets the retention policy to use on log segments. - 'delete' will discard old segments when retention time/size limits - are reached. 'compact' will enable log compaction, resulting in - retention of the latest value for each key. + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. compression_type: type: string enum: @@ -8275,64 +10922,42 @@ components: type: integer example: 86400000 default: 86400000 - description: >- - The delete_retention_ms specifies how long (in ms) to retain delete - tombstone markers for topics. + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. file_delete_delay_ms: type: integer example: 60000 default: 60000 - description: >- - The file_delete_delay_ms specifies the time (in ms) to wait before - deleting a file from the filesystem. + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. flush_messages: type: integer example: 9223372036854776000 default: 9223372036854776000 - description: >- - The flush_messages specifies the number of messages to accumulate on - a log partition before messages are flushed to disk. + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. flush_ms: type: integer example: 9223372036854776000 default: 9223372036854776000 - description: >- - The flush_ms specifies the maximum time (in ms) that a message is - kept in memory before being flushed to disk. + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. index_interval_bytes: type: integer example: 4096 default: 4096 - description: >- - The index_interval_bytes specifies the number of bytes between - entries being added into te offset index. + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. max_compaction_lag_ms: type: integer example: 9223372036854776000 default: 9223372036854776000 - description: >- - The max_compaction_lag_ms specifies the maximum amount of time (in - ms) that a message will remain uncompacted. This is only applicable - if the logs are have compaction enabled. + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. max_message_bytes: type: integer example: 1048588 default: 1048588 - description: >- - The max_messages_bytes specifies the largest record batch size (in - bytes) that can be sent to the server. This is calculated after - compression if compression is enabled. + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. message_down_conversion_enable: type: boolean example: true default: true - description: >- - The message_down_conversion_enable specifies whether down-conversion - of message formats is enabled to satisfy consumer requests. When - 'false', the broker will not perform conversion for consumers - expecting older message formats. The broker will respond with an - `UNSUPPORTED_VERSION` error for consume requests from these older - clients. + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. message_format_version: type: string example: 3.0-IV1 @@ -8379,13 +11004,7 @@ components: - 3.3-IV2 - 3.3-IV3 default: 3.0-IV1 - description: >- - The message_format_version specifies the message format version used - by the broker to append messages to the logs. The value of this - setting is assumed to be 3.0-IV1 if the broker protocol version is - 3.0 or higher. By setting a particular message format version, all - existing messages on disk must be smaller or equal to the specified - version. + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. message_timestamp_type: type: string example: create_time @@ -8393,9 +11012,7 @@ components: - create_time - log_append_time default: create_time - description: >- - The message_timestamp_type specifies whether to use the message - create time or log append time as the timestamp on a message. + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. min_cleanable_dirty_ratio: type: number format: float @@ -8403,73 +11020,50 @@ components: example: 0.5 minimum: 0 maximum: 1 - description: >- - The min_cleanable_dirty_ratio specifies the frequency of log - compaction (if enabled) in relation to duplicates present in the - logs. For example, at 0.5, at most 50% of the log could be - duplicates before compaction would begin. + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. min_compaction_lag_ms: type: integer example: 0 default: 0 - description: >- - The min_compaction_lag_ms specifies the minimum time (in ms) that a - message will remain uncompacted in the log. Only relevant if log - compaction is enabled. + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. min_insync_replicas: type: integer example: 1 default: 1 minimum: 1 - description: >- - The min_insync_replicas specifies the number of replicas that must - ACK a write for the write to be considered successful. + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. preallocate: type: boolean example: false default: false - description: >- - The preallocate specifies whether a file should be preallocated on - disk when creating a new log segment. + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. retention_bytes: type: integer example: 1000000 default: -1 - description: >- - The retention_bytes specifies the maximum size of the log (in bytes) - before deleting messages. -1 indicates that there is no limit. + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. retention_ms: type: integer example: 604800000 default: 604800000 - description: >- - The retention_ms specifies the maximum amount of time (in ms) to - keep a message before deleting it. + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. segment_bytes: type: integer example: 209715200 default: 209715200 minimum: 14 - description: >- - The segment_bytes specifies the maximum size of a single log file - (in bytes). + description: The segment_bytes specifies the maximum size of a single log file (in bytes). segment_jitter_ms: type: integer example: 0 default: 0 - description: >- - The segment_jitter_ms specifies the maximum random jitter subtracted - from the scheduled segment roll time to avoid thundering herds of - segment rolling. + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. segment_ms: type: integer example: 604800000 default: 604800000 minimum: 1 - description: >- - The segment_ms specifies the period of time after which the log will - be forced to roll if the segment file isn't full. This ensures that - retention can delete or compact old data. + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. kafka_topic_verbose: type: object properties: @@ -8493,27 +11087,381 @@ components: partitions: type: array items: - $ref: '#/components/schemas/kafka_topic_partition' + type: object + properties: + size: + type: integer + description: Size of the topic partition in bytes. + example: 4096 + id: + type: integer + description: An identifier for the partition. + example: 1 + in_sync_replicas: + type: integer + description: The number of nodes that are in-sync (have the latest data) for the given partition + example: 3 + earliest_offset: + type: integer + description: The earliest consumer offset amongst consumer groups. + example: 0 + consumer_groups: + type: array + nullable: true + items: + type: object + properties: + group_name: + type: string + description: Name of the consumer group. + example: consumer + offset: + type: integer + description: The current offset of the consumer group. + example: 0 config: - $ref: '#/components/schemas/kafka_topic_config' + type: object + properties: + cleanup_policy: + type: string + enum: + - delete + - compact + - compact_delete + example: delete + default: delete + description: The cleanup_policy sets the retention policy to use on log segments. 'delete' will discard old segments when retention time/size limits are reached. 'compact' will enable log compaction, resulting in retention of the latest value for each key. + compression_type: + type: string + enum: + - producer + - gzip + - snappy + - Iz4 + - zstd + - uncompressed + example: producer + default: producer + description: The compression_type specifies the compression type of the topic. + delete_retention_ms: + type: integer + example: 86400000 + default: 86400000 + description: The delete_retention_ms specifies how long (in ms) to retain delete tombstone markers for topics. + file_delete_delay_ms: + type: integer + example: 60000 + default: 60000 + description: The file_delete_delay_ms specifies the time (in ms) to wait before deleting a file from the filesystem. + flush_messages: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_messages specifies the number of messages to accumulate on a log partition before messages are flushed to disk. + flush_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The flush_ms specifies the maximum time (in ms) that a message is kept in memory before being flushed to disk. + index_interval_bytes: + type: integer + example: 4096 + default: 4096 + description: The index_interval_bytes specifies the number of bytes between entries being added into te offset index. + max_compaction_lag_ms: + type: integer + example: 9223372036854776000 + default: 9223372036854776000 + description: The max_compaction_lag_ms specifies the maximum amount of time (in ms) that a message will remain uncompacted. This is only applicable if the logs are have compaction enabled. + max_message_bytes: + type: integer + example: 1048588 + default: 1048588 + description: The max_messages_bytes specifies the largest record batch size (in bytes) that can be sent to the server. This is calculated after compression if compression is enabled. + message_down_conversion_enable: + type: boolean + example: true + default: true + description: The message_down_conversion_enable specifies whether down-conversion of message formats is enabled to satisfy consumer requests. When 'false', the broker will not perform conversion for consumers expecting older message formats. The broker will respond with an `UNSUPPORTED_VERSION` error for consume requests from these older clients. + message_format_version: + type: string + example: 3.0-IV1 + enum: + - 0.8.0 + - 0.8.1 + - 0.8.2 + - 0.9.0 + - 0.10.0-IV0 + - 0.10.0-IV1 + - 0.10.1-IV0 + - 0.10.1-IV1 + - 0.10.1-IV2 + - 0.10.2-IV0 + - 0.11.0-IV0 + - 0.11.0-IV1 + - 0.11.0-IV2 + - 1.0-IV0 + - 1.1-IV0 + - 2.0-IV0 + - 2.0-IV1 + - 2.1-IV0 + - 2.1-IV1 + - 2.1-IV2 + - 2.2-IV0 + - 2.2-IV1 + - 2.3-IV0 + - 2.3-IV1 + - 2.4-IV0 + - 2.4-IV1 + - 2.5-IV0 + - 2.6-IV0 + - 2.7-IV0 + - 2.7-IV1 + - 2.7-IV2 + - 2.8-IV0 + - 2.8-IV1 + - 3.0-IV0 + - 3.0-IV1 + - 3.1-IV0 + - 3.2-IV0 + - 3.3-IV0 + - 3.3-IV1 + - 3.3-IV2 + - 3.3-IV3 + default: 3.0-IV1 + description: The message_format_version specifies the message format version used by the broker to append messages to the logs. The value of this setting is assumed to be 3.0-IV1 if the broker protocol version is 3.0 or higher. By setting a particular message format version, all existing messages on disk must be smaller or equal to the specified version. + message_timestamp_type: + type: string + example: create_time + enum: + - create_time + - log_append_time + default: create_time + description: The message_timestamp_type specifies whether to use the message create time or log append time as the timestamp on a message. + min_cleanable_dirty_ratio: + type: number + format: float + default: 0.5 + example: 0.5 + minimum: 0 + maximum: 1 + description: The min_cleanable_dirty_ratio specifies the frequency of log compaction (if enabled) in relation to duplicates present in the logs. For example, at 0.5, at most 50% of the log could be duplicates before compaction would begin. + min_compaction_lag_ms: + type: integer + example: 0 + default: 0 + description: The min_compaction_lag_ms specifies the minimum time (in ms) that a message will remain uncompacted in the log. Only relevant if log compaction is enabled. + min_insync_replicas: + type: integer + example: 1 + default: 1 + minimum: 1 + description: The min_insync_replicas specifies the number of replicas that must ACK a write for the write to be considered successful. + preallocate: + type: boolean + example: false + default: false + description: The preallocate specifies whether a file should be preallocated on disk when creating a new log segment. + retention_bytes: + type: integer + example: 1000000 + default: -1 + description: The retention_bytes specifies the maximum size of the log (in bytes) before deleting messages. -1 indicates that there is no limit. + retention_ms: + type: integer + example: 604800000 + default: 604800000 + description: The retention_ms specifies the maximum amount of time (in ms) to keep a message before deleting it. + segment_bytes: + type: integer + example: 209715200 + default: 209715200 + minimum: 14 + description: The segment_bytes specifies the maximum size of a single log file (in bytes). + segment_jitter_ms: + type: integer + example: 0 + default: 0 + description: The segment_jitter_ms specifies the maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling. + segment_ms: + type: integer + example: 604800000 + default: 604800000 + minimum: 1 + description: The segment_ms specifies the period of time after which the log will be forced to roll if the segment file isn't full. This ensures that retention can delete or compact old data. logsink_verbose: type: object - allOf: - - $ref: '#/components/schemas/logsink_base_verbose' - - properties: + properties: + sink_id: + type: string + example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + description: A unique identifier for Logsink + sink_name: + type: string + description: The name of the Logsink + example: prod-logsink + sink_type: + type: string + enum: + - rsyslog + - elasticsearch + - opensearch + example: rsyslog + config: + anyOf: + - type: object + properties: + server: + type: string + example: 192.168.0.1 + description: DNS name or IPv4 address of the rsyslog server + port: + type: integer + example: 514 + maximum: 65535 + description: The internal port on which the rsyslog server is listening + tls: + type: boolean + example: false + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) + format: + type: string + enum: + - rfc5424 + - rfc3164 + - custom + example: rfc5424 + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom + logline: + type: string + example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% + description: | + Conditional (required if `format` == `custom`). + + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. + + --- + **Datadog Integration Example for Non-Mongo clusters**: + ``` + DD_KEY <%pri%>1 %timestamp:::date-rfc3339% %HOSTNAME%.DB_NAME %app-name% - - - %msg% + ``` + - Replace `DD_KEY` with your actual Datadog API key. + - Replace `DB_NAME` with the actual name of your database cluster. + - Configure the Server: + - US Region: Use `intake.logs.datadoghq.com` + - EU Region: Use `tcp-intake.logs.datadoghq.eu` + - Configure the Port: + - US Region: Use port `10516` + - EU Region: Use port `443` + - Enable TLS: + - Ensure the TLS checkbox is enabled. + - Note: This configuration applies to **non-Mongo clusters only**. For **Mongo clusters**, use the `datadog_logsink` integration instead. + sd: + type: string + example: TOKEN tag="LiteralValue" + description: content of the structured data block of rfc5424 message + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + key: + type: string + example: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n' + description: (PEM format) client key if the server requires client authentication + cert: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: (PEM format) client cert to use + required: + - server + - port + - tls + - format + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Elasticsearch connection URL + index_prefix: + type: string + example: elastic-logs + description: Elasticsearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Elasticsearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + properties: + url: + type: string + example: https://user:passwd@192.168.0.1:9200 + description: Opensearch connection URL + index_prefix: + type: string + example: opensearch-logs + description: Opensearch index prefix + index_days_max: + type: integer + default: 7 + example: 5 + maximum: 10000 + minimum: 1 + description: Maximum number of days of logs to keep + timeout: + type: number + format: float + example: 10 + default: 10 + minimum: 10 + maximum: 120 + description: Opensearch request timeout limit + ca: + type: string + example: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n' + description: PEM encoded CA certificate + required: + - url + - index_prefix + - type: object + description: | + Configuration for Datadog integration **applicable only to MongoDB clusters**. + properties: + site: + type: string + example: http-intake.logs.datadoghq.com + description: Datadog connection URL + datadog_api_key: + type: string + example: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + description: Datadog API key + required: + - site + - datadog_api_key + example: config: - anyOf: - - $ref: '#/components/schemas/rsyslog_logsink' - - $ref: '#/components/schemas/elasticsearch_logsink' - - $ref: '#/components/schemas/opensearch_logsink' - - $ref: '#/components/schemas/datadog_logsink' - example: - config: - server: 192.168.0.1 - port: 514 - tls: false - format: rfc5424 - type: object + server: 192.168.0.1 + port: 514 + tls: false + format: rfc5424 logsink_base: type: object properties: @@ -8528,21 +11476,14 @@ components: - elasticsearch - opensearch - datadog - description: > + description: | Type of logsink integration. - - - Use `datadog` for Datadog integration **only with MongoDB - clusters**. - - - For non-MongoDB clusters, use `rsyslog` for general syslog - forwarding. - + - Use `datadog` for Datadog integration **only with MongoDB clusters**. + - For non-MongoDB clusters, use `rsyslog` for general syslog forwarding. - Other supported types include `elasticsearch` and `opensearch`. - - More details about the configuration can be found in the `config` - property. + More details about the configuration can be found in the `config` property. example: rsyslog rsyslog_logsink: type: object @@ -8559,10 +11500,7 @@ components: tls: type: boolean example: false - description: >- - Use TLS (as the messages are not filtered and may contain sensitive - information, it is highly recommended to set this to true if the - remote server supports it) + description: Use TLS (as the messages are not filtered and may contain sensitive information, it is highly recommended to set this to true if the remote server supports it) format: type: string enum: @@ -8570,38 +11508,22 @@ components: - rfc3164 - custom example: rfc5424 - description: >- - Message format used by the server, this can be either rfc3164 (the - old BSD style message format), `rfc5424` (current syslog message - format) or custom + description: Message format used by the server, this can be either rfc3164 (the old BSD style message format), `rfc5424` (current syslog message format) or custom logline: type: string example: <%pri%>%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg% - description: > + description: | Conditional (required if `format` == `custom`). - - Syslog log line template for a custom format, supporting limited - rsyslog style templating (using `%tag%`). Supported tags are: - `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, - `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. - + Syslog log line template for a custom format, supporting limited rsyslog style templating (using `%tag%`). Supported tags are: `HOSTNAME`, `app-name`, `msg`, `msgid`, `pri`, `procid`, `structured-data`, `timestamp` and `timestamp:::date-rfc3339`. --- - **Datadog Integration Example for Non-Mongo clusters**: - ``` - - DD_KEY <%pri%>1 %timestamp:::date-rfc3339% %HOSTNAME%.DB_NAME - %app-name% - - - %msg% - + DD_KEY <%pri%>1 %timestamp:::date-rfc3339% %HOSTNAME%.DB_NAME %app-name% - - - %msg% ``` - - Replace `DD_KEY` with your actual Datadog API key. - - Replace `DB_NAME` with the actual name of your database cluster. - - Configure the Server: - US Region: Use `intake.logs.datadoghq.com` - EU Region: Use `tcp-intake.logs.datadoghq.eu` @@ -8610,9 +11532,7 @@ components: - EU Region: Use port `443` - Enable TLS: - Ensure the TLS checkbox is enabled. - - Note: This configuration applies to **non-Mongo clusters only**. - For **Mongo clusters**, use the `datadog_logsink` integration - instead. + - Note: This configuration applies to **non-Mongo clusters only**. For **Mongo clusters**, use the `datadog_logsink` integration instead. sd: type: string example: TOKEN tag="LiteralValue" @@ -8702,9 +11622,8 @@ components: - index_prefix datadog_logsink: type: object - description: > - Configuration for Datadog integration **applicable only to MongoDB - clusters**. + description: | + Configuration for Datadog integration **applicable only to MongoDB clusters**. properties: site: type: string @@ -8796,29 +11715,47 @@ components: description: basic authentication password for metrics HTTP endpoint opensearch_index: type: object - allOf: - - $ref: '#/components/schemas/opensearch_index_base' - - properties: - status: - type: string - enum: - - unknown - - open - - close - - none - example: open - description: The status of the OpenSearch index. - health: - type: string - enum: - - unknown - - green - - yellow - - red - - red* - example: green - description: The health of the OpenSearch index. - type: object + properties: + index_name: + type: string + description: The name of the opensearch index. + example: events + number_of_shards: + type: integer + example: 2 + description: The number of shards for the index. + number_of_replicas: + type: integer + example: 3 + description: The number of replicas for the index. + size: + type: integer + example: 208 + description: The size of the index. + created_time: + type: string + format: date-time + example: '2021-01-01T00:00:00Z' + description: The date and time the index was created. + status: + type: string + enum: + - unknown + - open + - close + - none + example: open + description: The status of the OpenSearch index. + health: + type: string + enum: + - unknown + - green + - yellow + - red + - red* + example: green + description: The health of the OpenSearch index. database_region_options: type: object properties: @@ -8849,20 +11786,42 @@ components: layouts: type: array readOnly: true - description: >- - An array of objects, each indicating the node sizes (otherwise - referred to as slugs) that are available with various numbers of - nodes in the database cluster. Each slugs denotes the node's - identifier, CPU, and RAM (in that order). + description: An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). items: - $ref: '#/components/schemas/database_layout_option' + type: object + properties: + num_nodes: + type: integer + example: 1 + sizes: + type: array + items: + type: string + example: + - db-s-1vcpu-1gb + - db-s-1vcpu-2gb + readOnly: true + description: An array of objects containing the slugs available with various node counts database_version_availabilities: type: array - description: >- - An array of objects, each indicating the version end-of-life, - end-of-availability for various database engines + description: An array of objects, each indicating the version end-of-life, end-of-availability for various database engines items: - $ref: '#/components/schemas/database_version_availability' + type: object + properties: + end_of_life: + type: string + example: '2023-11-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + end_of_availability: + type: string + example: '2023-05-09T00:00:00Z' + nullable: true + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + version: + type: string + example: '8' + description: The engine version. pgbouncer_advanced_config: type: object description: PGBouncer connection pooling settings @@ -8885,35 +11844,25 @@ components: - search_path maxItems: 32 min_pool_size: - description: >- - If current server connections are below this number, adds more. - Improves behavior when usual load comes suddenly back after period - of total inactivity. The value is effectively capped at the pool - size. + description: If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. type: integer minimum: 0 maximum: 10000 example: 1 server_lifetime: - description: >- - The pooler closes any unused server connection that has been - connected longer than this amount of seconds. + description: The pooler closes any unused server connection that has been connected longer than this amount of seconds. type: integer minimum: 60 maximum: 86400 example: 3600 server_idle_timeout: - description: >- - Drops server connections if they have been idle more than this many - seconds. If 0, timeout is disabled. + description: 'Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. ' type: integer minimum: 0 maximum: 86400 example: 600 autodb_pool_size: - description: >- - If non-zero, automatically creates a pool of that size per user when - a pool doesn't exist. + description: If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. type: integer minimum: 0 maximum: 10000 @@ -8927,17 +11876,13 @@ components: description: PGBouncer pool mode type: string autodb_max_db_connections: - description: >- - Only allows a maximum this many server connections per database - (regardless of user). If 0, allows unlimited connections. + description: Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. type: integer minimum: 0 maximum: 2147483647 example: 1 autodb_idle_timeout: - description: >- - If the automatically-created database pools have been unused this - many seconds, they are freed. If 0, timeout is disabled. + description: If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. type: integer minimum: 0 maximum: 86400 @@ -8947,11 +11892,7 @@ components: description: TimescaleDB extension configuration values properties: max_background_workers: - description: >- - The number of background workers for timescaledb operations. Set to - the sum of your number of databases and the total number of - concurrent background workers you want running at any given point in - time. + description: The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. type: integer minimum: 1 maximum: 4096 @@ -8969,9 +11910,7 @@ components: example: 1 in_sync_replicas: type: integer - description: >- - The number of nodes that are in-sync (have the latest data) for the - given partition + description: The number of nodes that are in-sync (have the latest data) for the given partition example: 3 earliest_offset: type: integer @@ -9047,9 +11986,7 @@ components: - db-s-1vcpu-1gb - db-s-1vcpu-2gb readOnly: true - description: >- - An array of objects containing the slugs available with various node - counts + description: An array of objects containing the slugs available with various node counts database_version_availability: type: object properties: @@ -9057,18 +11994,12 @@ components: type: string example: '2023-11-09T00:00:00Z' nullable: true - description: >- - A timestamp referring to the date when the particular version will - no longer be supported. If null, the version does not have an end of - life timeline. + description: A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. end_of_availability: type: string example: '2023-05-09T00:00:00Z' nullable: true - description: >- - A timestamp referring to the date when the particular version will - no longer be available for creating new clusters. If null, the - version does not have an end of availability timeline. + description: A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. version: type: string example: '8' @@ -9768,8 +12699,7 @@ components: engine: pg version: '10' connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + 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 @@ -9777,8 +12707,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + 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 @@ -9835,8 +12764,7 @@ components: version: '14' semantic_version: '14.5' connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + 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 @@ -9844,8 +12772,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@private-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + 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 @@ -9853,8 +12780,7 @@ components: password: wv78n3zpz42xezdk ssl: true standby_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: replica-backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -9862,11 +12788,9 @@ components: password: wv78n3zpz42xezdk ssl: true standby_private_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@private-replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@private-replica-backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' - host: >- - private-replica-backend-do-user-19081923-0.db.ondigitalocean.com + host: private-replica-backend-do-user-19081923-0.db.ondigitalocean.com port: 25060 user: doadmin password: wv78n3zpz42xezdk @@ -9931,8 +12855,7 @@ components: - config example: config: - sql_mode: >- - ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES sql_require_primary_key: true ca: description: A JSON object with a key of `ca`. @@ -9954,8 +12877,7 @@ components: - ca example: ca: - certificate: >- - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== online_migration: description: A JSON object. headers: @@ -9974,9 +12896,7 @@ components: status: running created_at: '2020-10-29T15:57:38Z' accepted: - description: >- - This does not indicate the success or failure of any operation, just - that the request has been accepted for processing. + description: This does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -10080,11 +13000,9 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' - host: >- - private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com + host: private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com port: 25060 user: doadmin password: wv78n3zpz42xezdk @@ -10120,8 +13038,7 @@ components: password: wv78n3zpz42xezdk ssl: true private_connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require database: '' host: private-read-nyc3-01-do-user-19081923-0.db.ondigitalocean.com port: 25060 @@ -10232,121 +13149,65 @@ components: name: app-03 role: normal password: qv78n3zes42xezdk - access_cert: >- + access_cert: |- -----BEGIN CERTIFICATE----- - MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ - CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW - MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl - bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 - q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - UlF1zblDmg2Iaw== - -----END CERTIFICATE----- - access_key: >- + access_key: |- -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 - SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 - DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X - wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w - Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F - ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX - fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l - 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm - cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt - eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF - 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x - gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh - GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ - P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj - IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 - W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ - 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt - Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx - pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG - RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 - o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E - sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW - JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo - QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ - AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg - eTuK2xNR0PIM8OI7pRpgyj1I - -----END PRIVATE KEY----- settings: acl: @@ -10423,8 +13284,7 @@ components: db: defaultdb mode: session connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/foo?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/foo?sslmode=require database: foo host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -10437,8 +13297,7 @@ components: db: defaultdb mode: transaction connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require database: backend-pool host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -10471,8 +13330,7 @@ components: db: defaultdb mode: transaction connection: - uri: >- - postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require + uri: postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25061/backend-pool?sslmode=require database: backend-pool host: backend-do-user-19081923-0.db.ondigitalocean.com port: 25061 @@ -10511,8 +13369,7 @@ components: schema: $ref: '#/components/schemas/sql_mode' example: - sql_mode: >- - ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES autoscale: description: A JSON object with autoscale configuration details. headers: @@ -10923,9 +13780,7 @@ components: tag_name: in: query name: tag_name - description: >- - Limits the results to database clusters with a specific - tag.

Requires `tag:read` scope. + description: Limits the results to database clusters with a specific tag.

Requires `tag:read` scope. required: false example: production schema: @@ -11024,28 +13879,17 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-stackQL-resources: options: id: digitalocean.databases.options @@ -11060,8 +13904,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/options/methods/databases_list_options + - $ref: '#/components/x-stackQL-resources/options/methods/databases_list_options' insert: [] update: [] delete: [] @@ -11117,8 +13960,7 @@ components: openAPIDocKey: '204' databases_install_update: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1install_update/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1install_update/put' response: mediaType: application/json openAPIDocKey: '204' @@ -11130,17 +13972,13 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/databases_get_cluster - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/databases_list_clusters + - $ref: '#/components/x-stackQL-resources/clusters/methods/databases_get_cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/databases_list_clusters' insert: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/databases_create_cluster + - $ref: '#/components/x-stackQL-resources/clusters/methods/databases_create_cluster' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/databases_destroy_cluster + - $ref: '#/components/x-stackQL-resources/clusters/methods/databases_destroy_cluster' replace: [] cluster_config: id: digitalocean.databases.cluster_config @@ -11161,12 +13999,10 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cluster_config/methods/databases_get_config + - $ref: '#/components/x-stackQL-resources/cluster_config/methods/databases_get_config' insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/cluster_config/methods/databases_patch_config + - $ref: '#/components/x-stackQL-resources/cluster_config/methods/databases_patch_config' delete: [] replace: [] ca: @@ -11195,29 +14031,25 @@ components: methods: databases_get_migration_status: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/get' response: mediaType: application/json openAPIDocKey: '200' databases_update_online_migration: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration/put' response: mediaType: application/json openAPIDocKey: '200' databases_delete_online_migration: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration~1{migration_id}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1online-migration~1{migration_id}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/online_migrations/methods/databases_get_migration_status + - $ref: '#/components/x-stackQL-resources/online_migrations/methods/databases_get_migration_status' insert: [] update: [] delete: [] @@ -11242,14 +14074,12 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/firewall_rules/methods/databases_list_firewall_rules + - $ref: '#/components/x-stackQL-resources/firewall_rules/methods/databases_list_firewall_rules' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/firewall_rules/methods/databases_update_firewall_rules + - $ref: '#/components/x-stackQL-resources/firewall_rules/methods/databases_update_firewall_rules' backups: id: digitalocean.databases.backups name: backups @@ -11264,8 +14094,7 @@ components: objectKey: $.backups sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/backups/methods/databases_list_backups + - $ref: '#/components/x-stackQL-resources/backups/methods/databases_list_backups' insert: [] update: [] delete: [] @@ -11290,39 +14119,32 @@ components: openAPIDocKey: '201' databases_get_replica: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.replica databases_destroy_replica: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}/delete' response: mediaType: application/json openAPIDocKey: '204' databases_promote_replica: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}~1promote/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1replicas~1{replica_name}~1promote/put' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/replicas/methods/databases_get_replica - - $ref: >- - #/components/x-stackQL-resources/replicas/methods/databases_list_replicas + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_get_replica' + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_list_replicas' insert: - - $ref: >- - #/components/x-stackQL-resources/replicas/methods/databases_create_replica + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_create_replica' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/replicas/methods/databases_destroy_replica + - $ref: '#/components/x-stackQL-resources/replicas/methods/databases_destroy_replica' replace: [] events_logs: id: digitalocean.databases.events_logs @@ -11338,8 +14160,7 @@ components: objectKey: $.events sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/events_logs/methods/databases_list_events_logs + - $ref: '#/components/x-stackQL-resources/events_logs/methods/databases_list_events_logs' insert: [] update: [] delete: [] @@ -11364,47 +14185,40 @@ components: openAPIDocKey: '201' databases_get_user: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.user databases_delete_user: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/delete' response: mediaType: application/json openAPIDocKey: '204' databases_update_user: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}/put' response: mediaType: application/json openAPIDocKey: '201' databases_reset_auth: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}~1reset_auth/post + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1users~1{username}~1reset_auth/post' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/users/methods/databases_get_user' - - $ref: >- - #/components/x-stackQL-resources/users/methods/databases_list_users + - $ref: '#/components/x-stackQL-resources/users/methods/databases_list_users' insert: - $ref: '#/components/x-stackQL-resources/users/methods/databases_add_user' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/users/methods/databases_delete_user + - $ref: '#/components/x-stackQL-resources/users/methods/databases_delete_user' replace: - - $ref: >- - #/components/x-stackQL-resources/users/methods/databases_update_user + - $ref: '#/components/x-stackQL-resources/users/methods/databases_update_user' dbs: id: digitalocean.databases.dbs name: dbs @@ -11425,16 +14239,14 @@ components: openAPIDocKey: '201' databases_get: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.db databases_delete: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1dbs~1{database_name}/delete' response: mediaType: application/json openAPIDocKey: '204' @@ -11468,42 +14280,34 @@ components: openAPIDocKey: '201' databases_get_connection_pool: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.pool databases_update_connection_pool: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/put' response: mediaType: application/json openAPIDocKey: '204' databases_delete_connection_pool: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1pools~1{pool_name}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/connection_pools/methods/databases_get_connection_pool - - $ref: >- - #/components/x-stackQL-resources/connection_pools/methods/databases_list_connection_pools + - $ref: '#/components/x-stackQL-resources/connection_pools/methods/databases_get_connection_pool' + - $ref: '#/components/x-stackQL-resources/connection_pools/methods/databases_list_connection_pools' insert: - - $ref: >- - #/components/x-stackQL-resources/connection_pools/methods/databases_add_connection_pool + - $ref: '#/components/x-stackQL-resources/connection_pools/methods/databases_add_connection_pool' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/connection_pools/methods/databases_delete_connection_pool + - $ref: '#/components/x-stackQL-resources/connection_pools/methods/databases_delete_connection_pool' replace: - - $ref: >- - #/components/x-stackQL-resources/connection_pools/methods/databases_update_connection_pool + - $ref: '#/components/x-stackQL-resources/connection_pools/methods/databases_update_connection_pool' eviction_policies: id: digitalocean.databases.eviction_policies name: eviction_policies @@ -11511,29 +14315,25 @@ components: methods: databases_get_eviction_policy: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.eviction_policy databases_update_eviction_policy: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1eviction_policy/put' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/eviction_policies/methods/databases_get_eviction_policy + - $ref: '#/components/x-stackQL-resources/eviction_policies/methods/databases_get_eviction_policy' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/eviction_policies/methods/databases_update_eviction_policy + - $ref: '#/components/x-stackQL-resources/eviction_policies/methods/databases_update_eviction_policy' sql_mode: id: digitalocean.databases.sql_mode name: sql_mode @@ -11553,14 +14353,12 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/sql_mode/methods/databases_get_sql_mode + - $ref: '#/components/x-stackQL-resources/sql_mode/methods/databases_get_sql_mode' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/sql_mode/methods/databases_update_sql_mode + - $ref: '#/components/x-stackQL-resources/sql_mode/methods/databases_update_sql_mode' autoscale_config: id: digitalocean.databases.autoscale_config name: autoscale_config @@ -11581,14 +14379,12 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/autoscale_config/methods/databases_get_autoscale + - $ref: '#/components/x-stackQL-resources/autoscale_config/methods/databases_get_autoscale' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/autoscale_config/methods/databases_update_autoscale + - $ref: '#/components/x-stackQL-resources/autoscale_config/methods/databases_update_autoscale' kafka_topics: id: digitalocean.databases.kafka_topics name: kafka_topics @@ -11609,42 +14405,34 @@ components: openAPIDocKey: '201' databases_get_kafka_topic: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.topic databases_update_kafka_topic: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/put' response: mediaType: application/json openAPIDocKey: '200' databases_delete_kafka_topic: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1topics~1{topic_name}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/kafka_topics/methods/databases_get_kafka_topic - - $ref: >- - #/components/x-stackQL-resources/kafka_topics/methods/databases_list_kafka_topics + - $ref: '#/components/x-stackQL-resources/kafka_topics/methods/databases_get_kafka_topic' + - $ref: '#/components/x-stackQL-resources/kafka_topics/methods/databases_list_kafka_topics' insert: - - $ref: >- - #/components/x-stackQL-resources/kafka_topics/methods/databases_create_kafka_topic + - $ref: '#/components/x-stackQL-resources/kafka_topics/methods/databases_create_kafka_topic' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/kafka_topics/methods/databases_delete_kafka_topic + - $ref: '#/components/x-stackQL-resources/kafka_topics/methods/databases_delete_kafka_topic' replace: - - $ref: >- - #/components/x-stackQL-resources/kafka_topics/methods/databases_update_kafka_topic + - $ref: '#/components/x-stackQL-resources/kafka_topics/methods/databases_update_kafka_topic' log_sinks: id: digitalocean.databases.log_sinks name: log_sinks @@ -11665,41 +14453,33 @@ components: openAPIDocKey: '201' databases_get_logsink: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/get' response: mediaType: application/json openAPIDocKey: '201' databases_update_logsink: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/put' response: mediaType: application/json openAPIDocKey: '200' databases_delete_logsink: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1logsink~1{logsink_id}/delete' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/log_sinks/methods/databases_get_logsink - - $ref: >- - #/components/x-stackQL-resources/log_sinks/methods/databases_list_logsink + - $ref: '#/components/x-stackQL-resources/log_sinks/methods/databases_get_logsink' + - $ref: '#/components/x-stackQL-resources/log_sinks/methods/databases_list_logsink' insert: - - $ref: >- - #/components/x-stackQL-resources/log_sinks/methods/databases_create_logsink + - $ref: '#/components/x-stackQL-resources/log_sinks/methods/databases_create_logsink' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/log_sinks/methods/databases_delete_logsink + - $ref: '#/components/x-stackQL-resources/log_sinks/methods/databases_delete_logsink' replace: - - $ref: >- - #/components/x-stackQL-resources/log_sinks/methods/databases_update_logsink + - $ref: '#/components/x-stackQL-resources/log_sinks/methods/databases_update_logsink' kafka_schemas: id: digitalocean.databases.kafka_schemas name: kafka_schemas @@ -11707,46 +14487,38 @@ components: methods: databases_list_kafka_schemas: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.subjects databases_create_kafka_schema: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry/post + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry/post' response: mediaType: application/json openAPIDocKey: '201' databases_get_kafka_schema: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}/get' response: mediaType: application/json openAPIDocKey: '200' databases_delete_kafka_schema: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/kafka_schemas/methods/databases_get_kafka_schema - - $ref: >- - #/components/x-stackQL-resources/kafka_schemas/methods/databases_list_kafka_schemas + - $ref: '#/components/x-stackQL-resources/kafka_schemas/methods/databases_get_kafka_schema' + - $ref: '#/components/x-stackQL-resources/kafka_schemas/methods/databases_list_kafka_schemas' insert: - - $ref: >- - #/components/x-stackQL-resources/kafka_schemas/methods/databases_create_kafka_schema + - $ref: '#/components/x-stackQL-resources/kafka_schemas/methods/databases_create_kafka_schema' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/kafka_schemas/methods/databases_delete_kafka_schema + - $ref: '#/components/x-stackQL-resources/kafka_schemas/methods/databases_delete_kafka_schema' replace: [] kafka_schema_version: id: digitalocean.databases.kafka_schema_version @@ -11755,15 +14527,13 @@ components: methods: databases_get_kafka_schema_version: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}~1versions~1{version}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1{subject_name}~1versions~1{version}/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/kafka_schema_version/methods/databases_get_kafka_schema_version + - $ref: '#/components/x-stackQL-resources/kafka_schema_version/methods/databases_get_kafka_schema_version' insert: [] update: [] delete: [] @@ -11775,28 +14545,24 @@ components: methods: databases_get_kafka_schema_config: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config/get' response: mediaType: application/json openAPIDocKey: '200' databases_update_kafka_schema_config: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config/put' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/kafka_schema_config/methods/databases_get_kafka_schema_config + - $ref: '#/components/x-stackQL-resources/kafka_schema_config/methods/databases_get_kafka_schema_config' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/kafka_schema_config/methods/databases_update_kafka_schema_config + - $ref: '#/components/x-stackQL-resources/kafka_schema_config/methods/databases_update_kafka_schema_config' kafka_schema_subject_config: id: digitalocean.databases.kafka_schema_subject_config name: kafka_schema_subject_config @@ -11804,28 +14570,24 @@ components: methods: databases_get_kafka_schema_subject_config: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config~1{subject_name}/get + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config~1{subject_name}/get' response: mediaType: application/json openAPIDocKey: '200' databases_update_kafka_schema_subject_config: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config~1{subject_name}/put + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1schema-registry~1config~1{subject_name}/put' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/kafka_schema_subject_config/methods/databases_get_kafka_schema_subject_config + - $ref: '#/components/x-stackQL-resources/kafka_schema_subject_config/methods/databases_get_kafka_schema_subject_config' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/kafka_schema_subject_config/methods/databases_update_kafka_schema_subject_config + - $ref: '#/components/x-stackQL-resources/kafka_schema_subject_config/methods/databases_update_kafka_schema_subject_config' cluster_metrics_credentials: id: digitalocean.databases.cluster_metrics_credentials name: cluster_metrics_credentials @@ -11846,14 +14608,12 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cluster_metrics_credentials/methods/databases_get_cluster_metrics_credentials + - $ref: '#/components/x-stackQL-resources/cluster_metrics_credentials/methods/databases_get_cluster_metrics_credentials' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/cluster_metrics_credentials/methods/databases_update_cluster_metrics_credentials + - $ref: '#/components/x-stackQL-resources/cluster_metrics_credentials/methods/databases_update_cluster_metrics_credentials' opensearch_indexes: id: digitalocean.databases.opensearch_indexes name: opensearch_indexes @@ -11868,20 +14628,17 @@ components: objectKey: $.indexes databases_delete_opensearch_index: operation: - $ref: >- - #/paths/~1v2~1databases~1{database_cluster_uuid}~1indexes~1{index_name}/delete + $ref: '#/paths/~1v2~1databases~1{database_cluster_uuid}~1indexes~1{index_name}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/opensearch_indexes/methods/databases_list_opensearch_indexes + - $ref: '#/components/x-stackQL-resources/opensearch_indexes/methods/databases_list_opensearch_indexes' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/opensearch_indexes/methods/databases_delete_opensearch_index + - $ref: '#/components/x-stackQL-resources/opensearch_indexes/methods/databases_delete_opensearch_index' replace: [] servers: - url: https://api.digitalocean.com diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/kubernetes.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/kubernetes.yaml index a1db180..3b69d14 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/kubernetes.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/kubernetes.yaml @@ -8,10 +8,8 @@ paths: get: operationId: kubernetes_list_clusters summary: List All Kubernetes Clusters - description: > - To list all of the Kubernetes clusters on your account, send a GET - request - + description: | + To list all of the Kubernetes clusters on your account, send a GET request to `/v2/kubernetes/clusters`. tags: - Kubernetes @@ -80,25 +78,15 @@ paths: post: operationId: kubernetes_create_cluster summary: Create a New Kubernetes Cluster - description: > + description: | To create a new Kubernetes cluster, send a POST request to - - `/v2/kubernetes/clusters`. The request must contain at least one node - pool - + `/v2/kubernetes/clusters`. The request must contain at least one node pool with at least one worker. - - The request may contain a maintenance window policy describing a time - period - - when disruptive maintenance tasks may be carried out. Omitting the - policy - + The request may contain a maintenance window policy describing a time period + when disruptive maintenance tasks may be carried out. Omitting the policy implies that a window will be chosen automatically. See - [here](https://docs.digitalocean.com/products/kubernetes/how-to/upgrade-cluster/) - for details. tags: - Kubernetes @@ -227,10 +215,8 @@ paths: get: operationId: kubernetes_get_cluster summary: Retrieve an Existing Kubernetes Cluster - description: > - To show information about an existing Kubernetes cluster, send a GET - request - + description: | + To show information about an existing Kubernetes cluster, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. tags: - Kubernetes @@ -274,16 +260,12 @@ paths: cluster, _, err := client.Kubernetes.Get(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.find(id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.find(id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python source: |- import os @@ -356,32 +338,24 @@ paths: cluster, _, err := client.Kubernetes.Update(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", updateRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - cluster = DropletKit::KubernetesCluster.new( name: 'foo', tags: ['staging', 'web-team'] ) - - client.kubernetes_clusters.update(cluster, id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.update(cluster, id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "prod-cluster-01", "tags": [ @@ -399,25 +373,18 @@ paths: "ha": True } - - resp = client.kubernetes.update_cluster(cluster_id="1fd32a", - body=req) + resp = client.kubernetes.update_cluster(cluster_id="1fd32a", body=req) security: - bearer_auth: - kubernetes:update delete: operationId: kubernetes_delete_cluster summary: Delete a Kubernetes Cluster - description: > - To delete a Kubernetes cluster and all services deployed to it, send a - DELETE - + description: | + To delete a Kubernetes cluster and all services deployed to it, send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. - - A 204 status code with no body will be returned in response to a - successful - + A 204 status code with no body will be returned in response to a successful request. tags: - Kubernetes @@ -461,16 +428,12 @@ paths: _, err := client.Kubernetes.Delete(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.delete(id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.delete(id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python source: |- import os @@ -486,11 +449,7 @@ paths: get: operationId: kubernetes_list_associatedResources summary: List Associated Resources for Cluster Deletion - description: >- - To list the associated billable resources that can be destroyed along - with a cluster, send a GET request to the - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` - endpoint. + description: To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint. tags: - Kubernetes parameters: @@ -534,17 +493,13 @@ paths: } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.kubernetes.list_associated_resources(cluster_id="da8fda8") + resp = client.kubernetes.list_associated_resources(cluster_id="da8fda8") security: - bearer_auth: - kubernetes:read @@ -552,28 +507,16 @@ paths: delete: operationId: kubernetes_destroy_associatedResourcesSelective summary: Selectively Delete a Cluster and its Associated Resources - description: > - To delete a Kubernetes cluster along with a subset of its associated - resources, - - send a DELETE request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`. - - - The JSON body of the request should include `load_balancers`, `volumes`, - or + description: | + To delete a Kubernetes cluster along with a subset of its associated resources, + send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`. + The JSON body of the request should include `load_balancers`, `volumes`, or `volume_snapshots` keys each set to an array of IDs for the associated - resources to be destroyed. - - The IDs can be found by querying the cluster's associated resources - endpoint. - - Any associated resource not included in the request will remain and - continue - + The IDs can be found by querying the cluster's associated resources endpoint. + Any associated resource not included in the request will remain and continue to accrue changes on your account. tags: - Kubernetes @@ -624,15 +567,12 @@ paths: deleteReq := &godo.KubernetesClusterDeleteSelectiveRequest{Volumes: []string{"ba49449a-7435-11ea-b89e-0a58ac14480f"}}, _, err := client.Kubernetes.DeleteSelective(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", deleteReq) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "load_balancers": [ "4de7ac8b-495b-4884-9a69-1050c6793cd6" @@ -645,10 +585,7 @@ paths: ] } - - resp = - client.kubernetes.destroy_associated_resources_selective(cluster_id="da8fda8", - body=req) + resp = client.kubernetes.destroy_associated_resources_selective(cluster_id="da8fda8", body=req) security: - bearer_auth: - kubernetes:delete @@ -656,15 +593,10 @@ paths: delete: operationId: kubernetes_destroy_associatedResourcesDangerous summary: Delete a Cluster and All of its Associated Resources (Dangerous) - description: > - To delete a Kubernetes cluster with all of its associated resources, - send a - - DELETE request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`. - - A 204 status code with no body will be returned in response to a - successful request. + description: | + To delete a Kubernetes cluster with all of its associated resources, send a + DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`. + A 204 status code with no body will be returned in response to a successful request. tags: - Kubernetes parameters: @@ -707,17 +639,13 @@ paths: _, err := client.Kubernetes.DeleteDangerous(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.kubernetes.destroy_associated_resources_dangerous(cluster_id="da8fda8") + resp = client.kubernetes.destroy_associated_resources_dangerous(cluster_id="da8fda8") security: - bearer_auth: - kubernetes:delete @@ -725,61 +653,29 @@ paths: get: operationId: kubernetes_get_kubeconfig summary: Retrieve the kubeconfig for a Kubernetes Cluster - description: > - This endpoint returns a kubeconfig file in YAML format. It can be used - to - - connect to and administer the cluster using the Kubernetes command line - tool, - - `kubectl`, or other programs supporting kubeconfig files (e.g., client - libraries). - - - The resulting kubeconfig file uses token-based authentication for - clusters - - supporting it, and certificate-based authentication otherwise. For a - list of - - supported versions and more information, see "[How to Connect to a - DigitalOcean - - Kubernetes - Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". - + description: | + This endpoint returns a kubeconfig file in YAML format. It can be used to + connect to and administer the cluster using the Kubernetes command line tool, + `kubectl`, or other programs supporting kubeconfig files (e.g., client libraries). - To retrieve a kubeconfig file for use with a Kubernetes cluster, send a - GET + The resulting kubeconfig file uses token-based authentication for clusters + supporting it, and certificate-based authentication otherwise. For a list of + supported versions and more information, see "[How to Connect to a DigitalOcean + Kubernetes Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". + To retrieve a kubeconfig file for use with a Kubernetes cluster, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig`. - - Clusters supporting token-based authentication may define an expiration - by - + Clusters supporting token-based authentication may define an expiration by passing a duration in seconds as a query parameter to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. - - If not set or 0, then the token will have a 7 day expiry. The query - parameter - + If not set or 0, then the token will have a 7 day expiry. The query parameter has no impact in certificate-based authentication. - - Kubernetes Roles granted to a user with a token-based kubeconfig are - derived from that user's - - DigitalOcean role. Predefined roles (Owner, Member, Modifier etc.) have - an automatic mapping - - to Kubernetes roles. Custom roles are not automatically mapped to any - Kubernetes roles, - - and require [additional - configuration](https://docs.digitalocean.com/products/kubernetes/how-to/set-up-custom-rolebindings/) - + Kubernetes Roles granted to a user with a token-based kubeconfig are derived from that user's + DigitalOcean role. Predefined roles (Owner, Member, Modifier etc.) have an automatic mapping + to Kubernetes roles. Custom roles are not automatically mapped to any Kubernetes roles, + and require [additional configuration](https://docs.digitalocean.com/products/kubernetes/how-to/set-up-custom-rolebindings/) by a cluster administrator. tags: - Kubernetes @@ -826,16 +722,12 @@ paths: kubeConfigFile := string(config.KubeconfigYAML) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.kubeconfig(id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.kubeconfig(id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python source: |- import os @@ -851,40 +743,22 @@ paths: get: operationId: kubernetes_get_credentials summary: Retrieve Credentials for a Kubernetes Cluster - description: > + description: | This endpoint returns a JSON object . It can be used to programmatically - construct Kubernetes clients which cannot parse kubeconfig files. - - The resulting JSON object contains token-based authentication for - clusters - - supporting it, and certificate-based authentication otherwise. For a - list of - - supported versions and more information, see "[How to Connect to a - DigitalOcean - - Kubernetes - Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". - + The resulting JSON object contains token-based authentication for clusters + supporting it, and certificate-based authentication otherwise. For a list of + supported versions and more information, see "[How to Connect to a DigitalOcean + Kubernetes Cluster](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/)". To retrieve credentials for accessing a Kubernetes cluster, send a GET - request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials`. - - Clusters supporting token-based authentication may define an expiration - by - + Clusters supporting token-based authentication may define an expiration by passing a duration in seconds as a query parameter to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials?expiry_seconds=$DURATION_IN_SECONDS`. - - If not set or 0, then the token will have a 7 day expiry. The query - parameter - + If not set or 0, then the token will have a 7 day expiry. The query parameter has no impact in certificate-based authentication. tags: - Kubernetes @@ -929,16 +803,12 @@ paths: credentials, _, err := client.Kubernetes.GetCredentials(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.credentials(id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.credentials(id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python source: |- import os @@ -954,12 +824,9 @@ paths: get: operationId: kubernetes_get_availableUpgrades summary: Retrieve Available Upgrades for an Existing Kubernetes Cluster - description: > - To determine whether a cluster can be upgraded, and the versions to - which it - + description: | + To determine whether a cluster can be upgraded, and the versions to which it can be upgraded, send a GET request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. tags: - Kubernetes @@ -1003,17 +870,13 @@ paths: upgrades, _, err := client.Kubernetes.GetUpgrades(ctx, "bd5f5959-5e1e-4205-a714-a914373942af") } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.kubernetes.get_available_upgrades(cluster_id="da8fda8") + resp = client.kubernetes.get_available_upgrades(cluster_id="da8fda8") security: - bearer_auth: - kubernetes:read @@ -1021,17 +884,12 @@ paths: post: operationId: kubernetes_upgrade_cluster summary: Upgrade a Kubernetes Cluster - description: > + description: | To immediately upgrade a Kubernetes cluster to a newer patch release of - - Kubernetes, send a POST request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`. - + Kubernetes, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`. The body of the request must specify a version attribute. - Available upgrade versions for a cluster can be fetched from - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. tags: - Kubernetes @@ -1046,9 +904,7 @@ paths: version: type: string example: 1.16.13-do.0 - description: >- - The slug identifier for the version of Kubernetes that the - cluster will be upgraded to. + description: The slug identifier for the version of Kubernetes that the cluster will be upgraded to. type: object responses: '202': @@ -1073,22 +929,17 @@ paths: - lang: Go source: "import (\n \"context\"\n \"os\"\n\n \"github.com/digitalocean/godo\"\n)\n\nfunc main() {\n token := os.Getenv(\"DIGITALOCEAN_TOKEN\")\n\n client := godo.NewFromToken(token)\n ctx := context.TODO()\n\n upgradeRequest := &godo.KubernetesClusterUpgradeRequest{\n \tVersionSlug: \"1.12.3-do.1\",\n }\n}" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "version": "1.16.13-do.0" } - - resp = client.kubernetes.upgrade_cluster(cluster_id="1fd32a", - body=req) + resp = client.kubernetes.upgrade_cluster(cluster_id="1fd32a", body=req) security: - bearer_auth: - kubernetes:update @@ -1096,10 +947,8 @@ paths: get: operationId: kubernetes_list_nodePools summary: List All Node Pools in a Kubernetes Clusters - description: > - To list all of the node pools in a Kubernetes clusters, send a GET - request to - + description: | + To list all of the node pools in a Kubernetes clusters, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`. tags: - Kubernetes @@ -1148,17 +997,12 @@ paths: nodePools, _, err := client.Kubernetes.ListNodePools(ctx, "9b729d1c-730c-42e1-b136-59326fb1b3bb", opt) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - node_pools = client.kubernetes_clusters.node_pools(id: - 'bd5f5959-5e1e-4205-a714-a914373942af') - + node_pools = client.kubernetes_clusters.node_pools(id: 'bd5f5959-5e1e-4205-a714-a914373942af') node_pools.each - lang: Python source: |- @@ -1174,13 +1018,9 @@ paths: post: operationId: kubernetes_add_nodePool summary: Add a Node Pool to a Kubernetes Cluster - description: > - To add an additional node pool to a Kubernetes clusters, send a POST - request - - to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the - following - + description: | + To add an additional node pool to a Kubernetes clusters, send a POST request + to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the following attributes. tags: - Kubernetes @@ -1248,14 +1088,11 @@ paths: nodePool, _, err := client.Kubernetes.CreateNodePool(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", createRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - node_pool = DropletKit::KubernetesNodePool.new( name: 'pool-02', size: 's-2vcpu-4gb', @@ -1264,19 +1101,14 @@ paths: labels: {service: 'web', priority: 'high'} ) - - client.kubernetes_clusters.create_node_pool(node_pool, id: - 'bd5f5959-5e1e-4205-a714-a914373942af') + client.kubernetes_clusters.create_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "size": "s-1vcpu-2gb", "count": 3, @@ -1289,9 +1121,7 @@ paths: "max_nodes": 6 } - - resp = client.kubernetes.add_node_pool(cluster_id="ba9d8da", - body=req) + resp = client.kubernetes.add_node_pool(cluster_id="ba9d8da", body=req) security: - bearer_auth: - kubernetes:update @@ -1299,12 +1129,9 @@ paths: get: operationId: kubernetes_get_nodePool summary: Retrieve a Node Pool for a Kubernetes Cluster - description: > - To show information about a specific node pool in a Kubernetes cluster, - send - - a GET request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. + description: | + To show information about a specific node pool in a Kubernetes cluster, send + a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. tags: - Kubernetes parameters: @@ -1348,44 +1175,30 @@ paths: nodePool, _, err := client.Kubernetes.GetNodePool(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", "cdda885e-7663-40c8-bc74-3a036c66545d") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.find_node_pool(id: - 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: - 'cdda885e-7663-40c8-bc74-3a036c66545d') + client.kubernetes_clusters.find_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: 'cdda885e-7663-40c8-bc74-3a036c66545d') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.kubernetes.get_node_pool(cluster_id="da8fda8", - node_pool_id="a8a8fsa") + resp = client.kubernetes.get_node_pool(cluster_id="da8fda8", node_pool_id="a8a8fsa") security: - bearer_auth: - kubernetes:read put: operationId: kubernetes_update_nodePool summary: Update a Node Pool in a Kubernetes Cluster - description: > - To update the name of a node pool, edit the tags applied to it, or - adjust its - + description: | + To update the name of a node pool, edit the tags applied to it, or adjust its number of nodes, send a PUT request to - - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID` with - the - + `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID` with the following attributes. tags: - Kubernetes @@ -1444,14 +1257,11 @@ paths: nodePool, _, err := client.Kubernetes.UpdateNodePool(ctx, "9b729d1c-730c-42e1-b136-59326fb1b3bb", "e7ed8f7c-6c1e-472f-adfb-4a9a1688b999", updateRequest) } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - node_pool = DropletKit::KubernetesNodePool.new( name: 'frontend', count: 1, @@ -1459,20 +1269,14 @@ paths: labels: {service: 'frontend', priority: 'high'} ) - - client.kubernetes_clusters.update_node_pool(node_pool, id: - 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: - '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') + client.kubernetes_clusters.update_node_pool(node_pool, id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "frontend-pool", "count": 3, @@ -1496,24 +1300,18 @@ paths: "max_nodes": 6 } - - resp = client.kubernetes.update_node_pool(cluster_id="1fd32a", - node_pool_id="392fa3a", body=req) + resp = client.kubernetes.update_node_pool(cluster_id="1fd32a", node_pool_id="392fa3a", body=req) security: - bearer_auth: - kubernetes:update delete: operationId: kubernetes_delete_nodePool summary: Delete a Node Pool in a Kubernetes Cluster - description: > + description: | To delete a node pool, send a DELETE request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. - - A 204 status code with no body will be returned in response to a - successful - + A 204 status code with no body will be returned in response to a successful request. Nodes in the pool will subsequently be drained and deleted. tags: - Kubernetes @@ -1558,29 +1356,20 @@ paths: _, err := client.Kubernetes.DeleteNodePool(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", "86c9bc8c-b2c3-4d40-8000-b0c7bee27305") } - lang: Ruby - source: >- + source: |- require 'droplet_kit' - token = ENV['DIGITALOCEAN_TOKEN'] - client = DropletKit::Client.new(access_token: token) - - client.kubernetes_clusters.delete_node_pool(id: - 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: - '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') + client.kubernetes_clusters.delete_node_pool(id: 'bd5f5959-5e1e-4205-a714-a914373942af', pool_id: '86c9bc8c-b2c3-4d40-8000-b0c7bee27305') - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.kubernetes.delete_node_pool(cluster_id="da8fda8", - node_pool_id="a8f3da") + resp = client.kubernetes.delete_node_pool(cluster_id="da8fda8", node_pool_id="a8f3da") security: - bearer_auth: - kubernetes:update @@ -1588,25 +1377,16 @@ paths: delete: operationId: kubernetes_delete_node summary: Delete a Node in a Kubernetes Cluster - description: > + description: | To delete a single node in a pool, send a DELETE request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`. - Appending the `skip_drain=1` query parameter to the request causes node - - draining to be skipped. Omitting the query parameter or setting its - value to - + draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. - - Appending the `replace=1` query parameter to the request causes the node - to - + Appending the `replace=1` query parameter to the request causes the node to be replaced by a new one after deletion. Omitting the query parameter or - setting its value to `0` deletes without replacement. tags: - Kubernetes @@ -1658,17 +1438,13 @@ paths: _, err := client.Kubernetes.RecycleNodePoolNodes(ctx, "bd5f5959-5e1e-4205-a714-a914373942af", "86c9bc8c-b2c3-4d40-8000-b0c7bee27305", recycleRequest) } - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.kubernetes.delete_node(cluster_id="da8fda8", - node_pool_id="a8f3da", node_id="fa09daf") + resp = client.kubernetes.delete_node(cluster_id="da8fda8", node_pool_id="a8f3da", node_id="fa09daf") security: - bearer_auth: - kubernetes:update @@ -1677,11 +1453,9 @@ paths: operationId: kubernetes_recycle_node_pool deprecated: true summary: Recycle a Kubernetes Node Pool - description: > + description: | The endpoint has been deprecated. Please use the DELETE - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID` - method instead. tags: - Kubernetes @@ -1721,10 +1495,8 @@ paths: get: operationId: kubernetes_get_clusterUser summary: Retrieve User Information for a Kubernetes Cluster - description: > - To show information the user associated with a Kubernetes cluster, send - a GET - + description: | + To show information the user associated with a Kubernetes cluster, send a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/user`. tags: - Kubernetes @@ -1765,10 +1537,7 @@ paths: get: operationId: kubernetes_list_options summary: List Available Regions, Node Sizes, and Versions of Kubernetes - description: >- - To list the versions of Kubernetes available for use, the regions that - support Kubernetes, and the available node sizes, send a GET request to - `/v2/kubernetes/options`. + description: To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`. tags: - Kubernetes responses: @@ -1830,28 +1599,18 @@ paths: post: operationId: kubernetes_run_clusterLint summary: Run Clusterlint Checks on a Kubernetes Cluster - description: > + description: | Clusterlint helps operators conform to Kubernetes best practices around - - resources, security and reliability to avoid common problems while - operating - + resources, security and reliability to avoid common problems while operating or upgrading the clusters. - To request a clusterlint run on your cluster, send a POST request to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. This will run all - checks present in the `doks` group by default, if a request body is not - specified. Optionally specify the below attributes. - For information about the available checks, please refer to - - [the clusterlint check - documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). + [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). tags: - Kubernetes parameters: @@ -1883,15 +1642,12 @@ paths: -d '{"include_groups": ["basic"], "include_checks": ["bare-pods"]}' \ "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "include_groups": [ "basic", @@ -1910,32 +1666,21 @@ paths: ] } - - resp = client.kubernetes.run_cluster_lint(cluster_id="1fd32a", - body=req) + resp = client.kubernetes.run_cluster_lint(cluster_id="1fd32a", body=req) security: - bearer_auth: - kubernetes:update get: operationId: kubernetes_get_clusterLintResults summary: Fetch Clusterlint Diagnostics for a Kubernetes Cluster - description: > - To request clusterlint diagnostics for your cluster, send a GET request - to - - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` - query - - parameter is provided, then the diagnostics for the specific run is - fetched. - + description: | + To request clusterlint diagnostics for your cluster, send a GET request to + `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` query + parameter is provided, then the diagnostics for the specific run is fetched. By default, the latest results are shown. - To find out how to address clusterlint feedback, please refer to - - [the clusterlint check - documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). + [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). tags: - Kubernetes parameters: @@ -1962,17 +1707,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/kubernetes/clusters/bd5f5959-5e1e-4205-a714-a914373942af/clusterlint" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.kubernetes.get_cluster_lint_results(cluster_id="da8fda8") + resp = client.kubernetes.get_cluster_lint_results(cluster_id="da8fda8") security: - bearer_auth: - kubernetes:read @@ -1980,9 +1721,7 @@ paths: post: operationId: kubernetes_add_registry summary: Add Container Registry to Kubernetes Clusters - description: >- - To integrate the container registry with Kubernetes clusters, send a - POST request to `/v2/kubernetes/registry`. + description: To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`. tags: - Kubernetes requestBody: @@ -2048,9 +1787,7 @@ paths: delete: operationId: kubernetes_remove_registry summary: Remove Container Registry from Kubernetes Clusters - description: >- - To remove the container registry from Kubernetes clusters, send a DELETE - request to `/v2/kubernetes/registry`. + description: To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`. tags: - Kubernetes requestBody: @@ -2116,13 +1853,9 @@ paths: get: operationId: kubernetes_get_status_messages summary: Fetch Status Messages for a Kubernetes Cluster - description: > - To retrieve status messages for a Kubernetes cluster, send a GET request - to - - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/status_messages`. Status - messages inform users of any issues that come up during the cluster - lifecycle. + description: | + To retrieve status messages for a Kubernetes cluster, send a GET request to + `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/status_messages`. Status messages inform users of any issues that come up during the cluster lifecycle. tags: - Kubernetes parameters: @@ -2178,9 +1911,7 @@ components: format: uuid readOnly: true example: bd5f5959-5e1e-4205-a714-a914373942af - description: >- - A unique ID that can be used to identify and reference a Kubernetes - cluster. + description: A unique ID that can be used to identify and reference a Kubernetes cluster. name: type: string example: prod-cluster-01 @@ -2188,47 +1919,31 @@ components: region: type: string example: nyc1 - description: >- - The slug identifier for the region where the Kubernetes cluster is - located. + description: The slug identifier for the region where the Kubernetes cluster is located. version: type: string example: 1.18.6-do.0 - description: >- - The slug identifier for the version of Kubernetes used for the - cluster. If set to a minor version (e.g. "1.14"), the latest version - within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the - latest published version will be used. See the - `/v2/kubernetes/options` endpoint to find all currently available - versions. + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. cluster_subnet: type: string format: cidr example: 192.168.0.0/20 - description: >- - The range of IP addresses for the overlay network of the Kubernetes - cluster in CIDR notation. + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. service_subnet: type: string format: cidr example: 192.168.16.0/24 - description: >- - The range of assignable IP addresses for services running in the - Kubernetes cluster in CIDR notation. + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. vpc_uuid: type: string format: uuid example: c33931f2-a26a-4e61-b85c-4e95a2ec431b - description: >- - A string specifying the UUID of the VPC to which the Kubernetes - cluster is assigned.

Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.

Requires `vpc:read` scope. ipv4: type: string readOnly: true example: 68.183.121.157 - description: >- - The public IPv4 address of the Kubernetes master node. This will not - be set if high availability is configured on the cluster (v1.21+) + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) endpoint: type: string readOnly: true @@ -2243,33 +1958,164 @@ components: - k8s:bd5f5959-5e1e-4205-a714-a914373942af - production - web-team - description: >- - An array of tags to apply to the Kubernetes cluster. All clusters - are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. -

Requires `tag:read` and `tag:create` scope, as well as - `tag:delete` if existing tags are getting removed. + description: An array of tags to apply to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` and `tag:create` scope, as well as `tag:delete` if existing tags are getting removed. node_pools: type: array - description: >- - An object specifying the details of the worker nodes available to - the Kubernetes cluster. + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. items: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + required: + - name + - size + - count + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. maintenance_policy: - $ref: '#/components/schemas/maintenance_policy' + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. auto_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether the cluster will be automatically - upgraded to new patch releases during its maintenance window. + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. status: type: object readOnly: true - description: >- - An object containing a `state` attribute whose value is set to a - string indicating the current status of the cluster. + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. properties: state: type: string @@ -2286,59 +2132,113 @@ components: message: type: string example: provisioning - description: >- - An optional message providing additional information about the - current cluster state. + description: An optional message providing additional information about the current cluster state. created_at: type: string format: date-time readOnly: true example: '2018-11-15T16:00:11Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the Kubernetes cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. updated_at: type: string format: date-time example: '2018-11-15T16:00:11Z' readOnly: true - description: >- - A time value given in ISO8601 combined date and time format that - represents when the Kubernetes cluster was last updated. + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. surge_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether surge upgrade is enabled/disabled - for the cluster. Surge upgrade makes cluster upgrades fast and - reliable by bringing up new nodes before destroying the outdated - nodes. + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. ha: type: boolean default: false example: true - description: >- - A boolean value indicating whether the control plane is run in a - highly available configuration in the cluster. Highly available - control planes incur less downtime. The property cannot be disabled. + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. registry_enabled: type: boolean readOnly: true example: true - description: >- - A read-only boolean value indicating if a container registry is - integrated with the cluster. + description: A read-only boolean value indicating if a container registry is integrated with the cluster. control_plane_firewall: - $ref: '#/components/schemas/control_plane_firewall' + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enabled: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 cluster_autoscaler_configuration: - $ref: '#/components/schemas/cluster_autoscaler_configuration' - routing_agent: - $ref: '#/components/schemas/routing_agent' - amd_gpu_device_plugin: - $ref: '#/components/schemas/amd_gpu_device_plugin' + type: object + nullable: true + description: An object specifying custom cluster autoscaler configuration. + properties: + scale_down_utilization_threshold: + type: number + description: Used to customize when cluster autoscaler scales down non-empty nodes by setting the node utilization threshold. + example: 0.65 + scale_down_unneeded_time: + type: string + description: Used to customize how long a node is unneeded before being scaled down. + example: 1m0s + expanders: + type: array + items: + type: string + enum: + - random + - priority + - least_waste + description: | + Customizes expanders used by cluster-autoscaler. + The autoscaler will apply each expander from the provided list to narrow down the selection of node types created to scale up, + until either a single node type is left, or the list of expanders is exhausted. + If this flag is unset, autoscaler will use its default expander `random`. + Passing an empty list (_not_ `null`) will unset any previous expander customizations. + + Available expanders: + - `random`: Randomly selects a node group to scale. + - `priority`: Selects the node group with the highest priority as per [user-provided configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) + - `least_waste`: Selects the node group that will result in the least amount of idle resources. + example: + - priority + - random + routing_agent: + type: object + nullable: true + description: An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the routing-agent component is enabled. + example: true + amd_gpu_device_plugin: + type: object + nullable: true + description: An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool. + properties: + enabled: + type: boolean + description: Indicates whether the AMD GPU Device Plugin is enabled. + example: true amd_gpu_device_metrics_exporter_plugin: - $ref: '#/components/schemas/amd_gpu_device_metrics_exporter_plugin' + type: object + nullable: true + description: An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the AMD Device Metrics Exporter is enabled. + example: true required: - name - region @@ -2360,52 +2260,133 @@ components: - k8s:bd5f5959-5e1e-4205-a714-a914373942af - production - web-team - description: >- - An array of tags applied to the Kubernetes cluster. All clusters are - automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. maintenance_policy: - $ref: '#/components/schemas/maintenance_policy' + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. auto_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether the cluster will be automatically - upgraded to new patch releases during its maintenance window. + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. surge_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether surge upgrade is enabled/disabled - for the cluster. Surge upgrade makes cluster upgrades fast and - reliable by bringing up new nodes before destroying the outdated - nodes. + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. ha: type: boolean default: false example: true - description: >- - A boolean value indicating whether the control plane is run in a - highly available configuration in the cluster. Highly available - control planes incur less downtime. The property cannot be disabled. + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. control_plane_firewall: - $ref: '#/components/schemas/control_plane_firewall' + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enabled: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 cluster_autoscaler_configuration: - $ref: '#/components/schemas/cluster_autoscaler_configuration' + type: object + nullable: true + description: An object specifying custom cluster autoscaler configuration. + properties: + scale_down_utilization_threshold: + type: number + description: Used to customize when cluster autoscaler scales down non-empty nodes by setting the node utilization threshold. + example: 0.65 + scale_down_unneeded_time: + type: string + description: Used to customize how long a node is unneeded before being scaled down. + example: 1m0s + expanders: + type: array + items: + type: string + enum: + - random + - priority + - least_waste + description: | + Customizes expanders used by cluster-autoscaler. + The autoscaler will apply each expander from the provided list to narrow down the selection of node types created to scale up, + until either a single node type is left, or the list of expanders is exhausted. + If this flag is unset, autoscaler will use its default expander `random`. + Passing an empty list (_not_ `null`) will unset any previous expander customizations. + + Available expanders: + - `random`: Randomly selects a node group to scale. + - `priority`: Selects the node group with the highest priority as per [user-provided configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) + - `least_waste`: Selects the node group that will result in the least amount of idle resources. + example: + - priority + - random routing_agent: - $ref: '#/components/schemas/routing_agent' + type: object + nullable: true + description: An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the routing-agent component is enabled. + example: true amd_gpu_device_plugin: - $ref: '#/components/schemas/amd_gpu_device_plugin' + type: object + nullable: true + description: An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool. + properties: + enabled: + type: boolean + description: Indicates whether the AMD GPU Device Plugin is enabled. + example: true amd_gpu_device_metrics_exporter_plugin: - $ref: '#/components/schemas/amd_gpu_device_metrics_exporter_plugin' + type: object + nullable: true + description: An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the AMD Device Metrics Exporter is enabled. + example: true required: - name destroy_associated_kubernetes_resources: type: object - description: >- - An object containing the IDs of resources to be destroyed along with - their associated with a Kubernetes cluster. + description: An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster. properties: load_balancers: type: array @@ -2413,43 +2394,252 @@ components: type: string example: - 4de7ac8b-495b-4884-9a69-1050c6793cd6 - description: >- - A list of IDs for associated load balancers to destroy along with - the cluster. + description: A list of IDs for associated load balancers to destroy along with the cluster. volumes: type: array items: type: string example: - ba49449a-7435-11ea-b89e-0a58ac14480f - description: >- - A list of IDs for associated volumes to destroy along with the - cluster. + description: A list of IDs for associated volumes to destroy along with the cluster. volume_snapshots: type: array items: type: string example: - edb0478d-7436-11ea-86e6-0a58ac144b91 - description: >- - A list of IDs for associated volume snapshots to destroy along with - the cluster. + description: A list of IDs for associated volume snapshots to destroy along with the cluster. kubernetes_node_pool: type: object - allOf: - - $ref: '#/components/schemas/kubernetes_node_pool_size' - - $ref: '#/components/schemas/kubernetes_node_pool_base' required: - name - size - count + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. kubernetes_node_pool_update: type: object - allOf: - - $ref: '#/components/schemas/kubernetes_node_pool_base' required: - name - count + properties: + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. clusterlint_request: type: object properties: @@ -2461,9 +2651,7 @@ components: - basic - doks - security - description: >- - An array of check groups that will be run when clusterlint executes - checks. + description: An array of check groups that will be run when clusterlint executes checks. include_checks: type: array items: @@ -2471,27 +2659,21 @@ components: example: - bare-pods - resource-requirements - description: >- - An array of checks that will be run when clusterlint executes - checks. + description: An array of checks that will be run when clusterlint executes checks. exclude_groups: type: array items: type: string example: - workload-health - description: >- - An array of check groups that will be omitted when clusterlint - executes checks. + description: An array of check groups that will be omitted when clusterlint executes checks. exclude_checks: type: array items: type: string example: - default-namespace - description: >- - An array of checks that will be run when clusterlint executes - checks. + description: An array of checks that will be run when clusterlint executes checks. cluster_registries: type: object properties: @@ -2511,9 +2693,7 @@ components: format: uuid readOnly: true example: bd5f5959-5e1e-4205-a714-a914373942af - description: >- - A unique ID that can be used to identify and reference a Kubernetes - cluster. + description: A unique ID that can be used to identify and reference a Kubernetes cluster. name: type: string example: prod-cluster-01 @@ -2521,47 +2701,31 @@ components: region: type: string example: nyc1 - description: >- - The slug identifier for the region where the Kubernetes cluster is - located. + description: The slug identifier for the region where the Kubernetes cluster is located. version: type: string example: 1.18.6-do.0 - description: >- - The slug identifier for the version of Kubernetes used for the - cluster. If set to a minor version (e.g. "1.14"), the latest version - within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the - latest published version will be used. See the - `/v2/kubernetes/options` endpoint to find all currently available - versions. + description: The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. cluster_subnet: type: string format: cidr example: 192.168.0.0/20 - description: >- - The range of IP addresses for the overlay network of the Kubernetes - cluster in CIDR notation. + description: The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. service_subnet: type: string format: cidr example: 192.168.16.0/24 - description: >- - The range of assignable IP addresses for services running in the - Kubernetes cluster in CIDR notation. + description: The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. vpc_uuid: type: string format: uuid example: c33931f2-a26a-4e61-b85c-4e95a2ec431b - description: >- - A string specifying the UUID of the VPC to which the Kubernetes - cluster is assigned.

Requires `vpc:read` scope. + description: A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.

Requires `vpc:read` scope. ipv4: type: string readOnly: true example: 68.183.121.157 - description: >- - The public IPv4 address of the Kubernetes master node. This will not - be set if high availability is configured on the cluster (v1.21+) + description: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) endpoint: type: string readOnly: true @@ -2576,32 +2740,164 @@ components: - k8s:bd5f5959-5e1e-4205-a714-a914373942af - production - web-team - description: >- - An array of tags applied to the Kubernetes cluster. All clusters are - automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. -

Requires `tag:read` scope. + description: An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. node_pools: type: array - description: >- - An object specifying the details of the worker nodes available to - the Kubernetes cluster. + description: An object specifying the details of the worker nodes available to the Kubernetes cluster. items: - $ref: '#/components/schemas/kubernetes_node_pool' + type: object + required: + - name + - size + - count + properties: + size: + type: string + example: s-1vcpu-2gb + description: The slug identifier for the type of Droplet used as workers in the node pool. + id: + type: string + format: uuid + readOnly: true + example: cdda885e-7663-40c8-bc74-3a036c66545d + description: A unique ID that can be used to identify and reference a specific node pool. + name: + type: string + example: frontend-pool + description: A human-readable name for the node pool. + count: + type: integer + example: 3 + description: The number of Droplet instances in the node pool. + tags: + type: array + items: + type: string + example: + - k8s + - k8s:bd5f5959-5e1e-4205-a714-a914373942af + - k8s-worker + - production + - web-team + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. + labels: + type: object + nullable: true + example: null + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + taints: + type: array + items: + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. + auto_scale: + type: boolean + example: true + description: A boolean value indicating whether auto-scaling is enabled for this node pool. + min_nodes: + type: integer + example: 3 + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + max_nodes: + type: integer + example: 6 + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + nodes: + type: array + readOnly: true + description: An object specifying the details of a specific worker node in a node pool. + items: + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. maintenance_policy: - $ref: '#/components/schemas/maintenance_policy' + type: object + nullable: true + description: An object specifying the maintenance window policy for the Kubernetes cluster. + properties: + start_time: + type: string + example: '12:00' + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + duration: + type: string + readOnly: true + example: 4h0m0s + description: The duration of the maintenance window policy in human-readable format. + day: + type: string + enum: + - any + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + example: any + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. auto_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether the cluster will be automatically - upgraded to new patch releases during its maintenance window. + description: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. status: type: object readOnly: true - description: >- - An object containing a `state` attribute whose value is set to a - string indicating the current status of the cluster. + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. properties: state: type: string @@ -2618,59 +2914,113 @@ components: message: type: string example: provisioning - description: >- - An optional message providing additional information about the - current cluster state. + description: An optional message providing additional information about the current cluster state. created_at: type: string format: date-time readOnly: true example: '2018-11-15T16:00:11Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the Kubernetes cluster was created. + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. updated_at: type: string format: date-time example: '2018-11-15T16:00:11Z' readOnly: true - description: >- - A time value given in ISO8601 combined date and time format that - represents when the Kubernetes cluster was last updated. + description: A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. surge_upgrade: type: boolean default: false example: true - description: >- - A boolean value indicating whether surge upgrade is enabled/disabled - for the cluster. Surge upgrade makes cluster upgrades fast and - reliable by bringing up new nodes before destroying the outdated - nodes. + description: A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. ha: type: boolean default: false example: true - description: >- - A boolean value indicating whether the control plane is run in a - highly available configuration in the cluster. Highly available - control planes incur less downtime. The property cannot be disabled. + description: A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. registry_enabled: type: boolean readOnly: true example: true - description: >- - A read-only boolean value indicating if a container registry is - integrated with the cluster. + description: A read-only boolean value indicating if a container registry is integrated with the cluster. control_plane_firewall: - $ref: '#/components/schemas/control_plane_firewall' + type: object + nullable: true + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). + properties: + enabled: + type: boolean + description: Indicates whether the control plane firewall is enabled. + example: true + allowed_addresses: + type: array + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. + items: + type: string + example: + - 1.2.3.4/32 + - 1.1.0.0/16 cluster_autoscaler_configuration: - $ref: '#/components/schemas/cluster_autoscaler_configuration' + type: object + nullable: true + description: An object specifying custom cluster autoscaler configuration. + properties: + scale_down_utilization_threshold: + type: number + description: Used to customize when cluster autoscaler scales down non-empty nodes by setting the node utilization threshold. + example: 0.65 + scale_down_unneeded_time: + type: string + description: Used to customize how long a node is unneeded before being scaled down. + example: 1m0s + expanders: + type: array + items: + type: string + enum: + - random + - priority + - least_waste + description: | + Customizes expanders used by cluster-autoscaler. + The autoscaler will apply each expander from the provided list to narrow down the selection of node types created to scale up, + until either a single node type is left, or the list of expanders is exhausted. + If this flag is unset, autoscaler will use its default expander `random`. + Passing an empty list (_not_ `null`) will unset any previous expander customizations. + + Available expanders: + - `random`: Randomly selects a node group to scale. + - `priority`: Selects the node group with the highest priority as per [user-provided configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) + - `least_waste`: Selects the node group that will result in the least amount of idle resources. + example: + - priority + - random routing_agent: - $ref: '#/components/schemas/routing_agent' + type: object + nullable: true + description: An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the routing-agent component is enabled. + example: true amd_gpu_device_plugin: - $ref: '#/components/schemas/amd_gpu_device_plugin' + type: object + nullable: true + description: An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool. + properties: + enabled: + type: boolean + description: Indicates whether the AMD GPU Device Plugin is enabled. + example: true amd_gpu_device_metrics_exporter_plugin: - $ref: '#/components/schemas/amd_gpu_device_metrics_exporter_plugin' + type: object + nullable: true + description: An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster. + properties: + enabled: + type: boolean + description: Indicates whether the AMD Device Metrics Exporter is enabled. + example: true required: - name - region @@ -2680,38 +3030,63 @@ components: type: object properties: links: - $ref: '#/components/schemas/page_links' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: type: object properties: meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total + type: object + description: Information about the response itself. + required: + - total + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - meta error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -2720,23 +3095,17 @@ components: maintenance_policy: type: object nullable: true - description: >- - An object specifying the maintenance window policy for the Kubernetes - cluster. + description: An object specifying the maintenance window policy for the Kubernetes cluster. properties: start_time: type: string example: '12:00' - description: >- - The start time in UTC of the maintenance window policy in 24-hour - clock format / HH:MM notation (e.g., `15:00`). + description: The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). duration: type: string readOnly: true example: 4h0m0s - description: >- - The duration of the maintenance window policy in human-readable - format. + description: The duration of the maintenance window policy in human-readable format. day: type: string enum: @@ -2749,15 +3118,11 @@ components: - saturday - sunday example: any - description: >- - The day of the maintenance window policy. May be one of `monday` - through `sunday`, or `any` to indicate an arbitrary week day. + description: The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. control_plane_firewall: type: object nullable: true - description: >- - An object specifying the control plane firewall for the Kubernetes - cluster. Control plane firewall is in early availability (invite only). + description: An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). properties: enabled: type: boolean @@ -2765,9 +3130,7 @@ components: example: true allowed_addresses: type: array - description: >- - An array of public addresses (IPv4 or CIDR) allowed to access the - control plane. + description: An array of public addresses (IPv4 or CIDR) allowed to access the control plane. items: type: string example: @@ -2780,15 +3143,11 @@ components: properties: scale_down_utilization_threshold: type: number - description: >- - Used to customize when cluster autoscaler scales down non-empty - nodes by setting the node utilization threshold. + description: Used to customize when cluster autoscaler scales down non-empty nodes by setting the node utilization threshold. example: 0.65 scale_down_unneeded_time: type: string - description: >- - Used to customize how long a node is unneeded before being scaled - down. + description: Used to customize how long a node is unneeded before being scaled down. example: 1m0s expanders: type: array @@ -2798,41 +3157,24 @@ components: - random - priority - least_waste - description: > + description: | Customizes expanders used by cluster-autoscaler. - - The autoscaler will apply each expander from the provided list to - narrow down the selection of node types created to scale up, - - until either a single node type is left, or the list of expanders is - exhausted. - - If this flag is unset, autoscaler will use its default expander - `random`. - - Passing an empty list (_not_ `null`) will unset any previous - expander customizations. - + The autoscaler will apply each expander from the provided list to narrow down the selection of node types created to scale up, + until either a single node type is left, or the list of expanders is exhausted. + If this flag is unset, autoscaler will use its default expander `random`. + Passing an empty list (_not_ `null`) will unset any previous expander customizations. Available expanders: - - `random`: Randomly selects a node group to scale. - - - `priority`: Selects the node group with the highest priority as - per [user-provided - configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) - - - `least_waste`: Selects the node group that will result in the - least amount of idle resources. + - `priority`: Selects the node group with the highest priority as per [user-provided configuration](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/#configuring-priority-expander) + - `least_waste`: Selects the node group that will result in the least amount of idle resources. example: - priority - random routing_agent: type: object nullable: true - description: >- - An object specifying whether the routing-agent component should be - enabled for the Kubernetes cluster. + description: An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster. properties: enabled: type: boolean @@ -2841,10 +3183,7 @@ components: amd_gpu_device_plugin: type: object nullable: true - description: >- - An object specifying whether the AMD GPU Device Plugin should be enabled - in the Kubernetes cluster. It's enabled by default for clusters with an - AMD GPU node pool. + description: An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool. properties: enabled: type: boolean @@ -2853,9 +3192,7 @@ components: amd_gpu_device_metrics_exporter_plugin: type: object nullable: true - description: >- - An object specifying whether the AMD Device Metrics Exporter should be - enabled in the Kubernetes cluster. + description: An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster. properties: enabled: type: boolean @@ -2863,40 +3200,59 @@ components: example: true associated_kubernetes_resources: type: object - description: >- - An object containing the IDs of resources associated with a Kubernetes - cluster. + description: An object containing the IDs of resources associated with a Kubernetes cluster. properties: load_balancers: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 example: - id: 4de7ac8b-495b-4884-9a69-1050c6793cd6 name: lb-001 - description: >- - A list of names and IDs for associated load balancers that can be - destroyed along with the cluster. + description: A list of names and IDs for associated load balancers that can be destroyed along with the cluster. volumes: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 example: - id: ba49449a-7435-11ea-b89e-0a58ac14480f name: volume-001 - description: >- - A list of names and IDs for associated volumes that can be destroyed - along with the cluster. + description: A list of names and IDs for associated volumes that can be destroyed along with the cluster. volume_snapshots: type: array items: - $ref: '#/components/schemas/associated_kubernetes_resource' + type: object + properties: + id: + type: string + description: The ID of a resource associated with a Kubernetes cluster. + example: edb0478d-7436-11ea-86e6-0a58ac144b91 + name: + type: string + description: The name of a resource associated with a Kubernetes cluster. + example: volume-001 example: - id: edb0478d-7436-11ea-86e6-0a58ac144b91 name: snapshot-001 - description: >- - A list of names and IDs for associated volume snapshots that can be - destroyed along with the cluster. + description: A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. credentials: type: object properties: @@ -2908,82 +3264,56 @@ components: certificate_authority_data: type: string format: byte - example: >- - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - description: >- - A base64 encoding of bytes representing the certificate authority - data for accessing the cluster. + example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + description: A base64 encoding of bytes representing the certificate authority data for accessing the cluster. client_certificate_data: type: string format: byte deprecated: true nullable: true example: null - description: > + description: | A base64 encoding of bytes representing the x509 client - - certificate data for access the cluster. This is only returned for - clusters - + certificate data for access the cluster. This is only returned for clusters without support for token-based authentication. - Newly created Kubernetes clusters do not return credentials using - certificate-based authentication. For additional information, - - [see - here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). client_key_data: type: string format: byte deprecated: true nullable: true example: null - description: > + description: | A base64 encoding of bytes representing the x509 client key - - data for access the cluster. This is only returned for clusters - without - + data for access the cluster. This is only returned for clusters without support for token-based authentication. - Newly created Kubernetes clusters do not return credentials using - certificate-based authentication. For additional information, - - [see - here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). token: type: string example: $DIGITALOCEAN_TOKEN - description: >- - An access token used to authenticate with the cluster. This is only - returned for clusters with support for token-based authentication. + description: An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. expires_at: type: string format: date-time example: '2019-11-09T11:50:28.889080521Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the access token expires. + description: A time value given in ISO8601 combined date and time format that represents when the access token expires. kubernetes_version: type: object properties: slug: type: string example: 1.16.13-do.0 - description: >- - The slug identifier for an available version of Kubernetes for use - when creating or updating a cluster. The string contains both the - upstream version of Kubernetes as well as the DigitalOcean revision. + description: The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. kubernetes_version: type: string example: 1.16.13 - description: >- - The upstream version string for the version of Kubernetes provided - by a given slug. + description: The upstream version string for the version of Kubernetes provided by a given slug. supported_features: type: array items: @@ -2992,18 +3322,14 @@ components: - cluster-autoscaler - docr-integration - token-authentication - description: >- - The features available with the version of Kubernetes provided by a - given slug. + description: The features available with the version of Kubernetes provided by a given slug. kubernetes_node_pool_size: type: object properties: size: type: string example: s-1vcpu-2gb - description: >- - The slug identifier for the type of Droplet used as workers in the - node pool. + description: The slug identifier for the type of Droplet used as workers in the node pool. kubernetes_node_pool_base: type: object properties: @@ -3012,9 +3338,7 @@ components: format: uuid readOnly: true example: cdda885e-7663-40c8-bc74-3a036c66545d - description: >- - A unique ID that can be used to identify and reference a specific - node pool. + description: A unique ID that can be used to identify and reference a specific node pool. name: type: string example: frontend-pool @@ -3033,55 +3357,89 @@ components: - k8s-worker - production - web-team - description: >- - An array containing the tags applied to the node pool. All node - pools are automatically tagged `k8s`, `k8s-worker`, and - `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. + description: An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope. labels: type: object nullable: true example: null - description: >- - An object of key/value mappings specifying labels to apply to all - nodes in a pool. Labels will automatically be applied to all - existing nodes and any subsequent nodes added to the pool. Note that - when a label is removed, it is not deleted from the nodes in the - pool. + description: An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. taints: type: array items: - $ref: '#/components/schemas/kubernetes_node_pool_taint' - description: >- - An array of taints to apply to all nodes in a pool. Taints will - automatically be applied to all existing nodes and any subsequent - nodes added to the pool. When a taint is removed, it is deleted from - all nodes in the pool. + type: object + properties: + key: + type: string + example: priority + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + value: + type: string + example: high + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + effect: + type: string + enum: + - NoSchedule + - PreferNoSchedule + - NoExecute + example: NoSchedule + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. auto_scale: type: boolean example: true - description: >- - A boolean value indicating whether auto-scaling is enabled for this - node pool. + description: A boolean value indicating whether auto-scaling is enabled for this node pool. min_nodes: type: integer example: 3 - description: >- - The minimum number of nodes that this node pool can be auto-scaled - to. The value will be `0` if `auto_scale` is set to `false`. + description: The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. max_nodes: type: integer example: 6 - description: >- - The maximum number of nodes that this node pool can be auto-scaled - to. The value will be `0` if `auto_scale` is set to `false`. + description: The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. nodes: type: array readOnly: true - description: >- - An object specifying the details of a specific worker node in a node - pool. + description: An object specifying the details of a specific worker node in a node pool. items: - $ref: '#/components/schemas/node' + type: object + properties: + id: + type: string + format: uuid + example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + description: A unique ID that can be used to identify and reference the node. + name: + type: string + example: adoring-newton-3niq + description: An automatically generated, human-readable name for the node. + status: + type: object + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. + properties: + state: + type: string + enum: + - provisioning + - running + - draining + - deleting + example: provisioning + description: A string indicating the current status of the node. + droplet_id: + type: string + example: '205545370' + description: The ID of the Droplet used for the worker node. + created_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was created. + updated_at: + type: string + format: date-time + example: '2018-11-15T16:00:11Z' + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. user: type: object properties: @@ -3109,42 +3467,70 @@ components: regions: type: array items: - $ref: '#/components/schemas/kubernetes_region' + type: object + properties: + name: + type: string + example: New York 3 + description: A DigitalOcean region where Kubernetes is available. + slug: + type: string + example: nyc3 + description: The identifier for a region for use when creating a new cluster. versions: type: array items: - $ref: '#/components/schemas/kubernetes_version' + type: object + properties: + slug: + type: string + example: 1.16.13-do.0 + description: The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. + kubernetes_version: + type: string + example: 1.16.13 + description: The upstream version string for the version of Kubernetes provided by a given slug. + supported_features: + type: array + items: + type: string + example: + - cluster-autoscaler + - docr-integration + - token-authentication + description: The features available with the version of Kubernetes provided by a given slug. sizes: type: array items: - $ref: '#/components/schemas/kubernetes_size' + type: object + properties: + name: + type: string + example: s-1vcpu-2gb + description: A Droplet size available for use in a Kubernetes node pool. + slug: + type: string + example: s-1vcpu-2gb + description: The identifier for a size for use when creating a new cluster. clusterlint_results: type: object properties: run_id: type: string example: 50c2f44c-011d-493e-aee5-361a4a0d1844 - description: >- - Id of the clusterlint run that can be used later to fetch the - diagnostics. + description: Id of the clusterlint run that can be used later to fetch the diagnostics. requested_at: type: string format: date-time example: '2019-10-30T05:34:07Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the schedule clusterlint run request was made. + description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. completed_at: type: string format: date-time example: '2019-10-30T05:34:11Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the schedule clusterlint run request was completed. + description: A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. diagnostics: - description: >- - An array of diagnostics reporting potential problems for the given - cluster. + description: An array of diagnostics reporting potential problems for the given cluster. type: array items: type: object @@ -3163,9 +3549,7 @@ components: description: Feedback about the object for users to fix. object: type: object - description: >- - Metadata about the Kubernetes API object the diagnostic is - reported on. + description: Metadata about the Kubernetes API object the diagnostic is reported on. properties: name: type: string @@ -3185,25 +3569,39 @@ components: message: type: string readOnly: true - example: >- - Resource provisioning may be delayed while our team resolves an - incident + example: Resource provisioning may be delayed while our team resolves an incident description: Status information about the cluster which impacts it's lifecycle. timestamp: type: string format: date-time readOnly: true example: '2018-11-15T16:00:11Z' - description: >- - A timestamp in ISO8601 format that represents when the status - message was emitted. + description: A timestamp in ISO8601 format that represents when the status message was emitted. page_links: type: object properties: pages: anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 - {} example: pages: @@ -3234,19 +3632,11 @@ components: key: type: string example: priority - description: >- - An arbitrary string. The `key` and `value` fields of the `taint` - object form a key-value pair. For example, if the value of the `key` - field is "special" and the value of the `value` field is "gpu", the - key value pair would be `special=gpu`. + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. value: type: string example: high - description: >- - An arbitrary string. The `key` and `value` fields of the `taint` - object form a key-value pair. For example, if the value of the `key` - field is "special" and the value of the `value` field is "gpu", the - key value pair would be `special=gpu`. + description: An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. effect: type: string enum: @@ -3254,9 +3644,7 @@ components: - PreferNoSchedule - NoExecute example: NoSchedule - description: >- - How the node reacts to pods that it won't tolerate. Available effect - values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + description: How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. node: type: object properties: @@ -3271,9 +3659,7 @@ components: description: An automatically generated, human-readable name for the node. status: type: object - description: >- - An object containing a `state` attribute whose value is set to a - string indicating the current status of the node. + description: An object containing a `state` attribute whose value is set to a string indicating the current status of the node. properties: state: type: string @@ -3292,16 +3678,12 @@ components: type: string format: date-time example: '2018-11-15T16:00:11Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the node was created. + description: A time value given in ISO8601 combined date and time format that represents when the node was created. updated_at: type: string format: date-time example: '2018-11-15T16:00:11Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the node was last updated. + description: A time value given in ISO8601 combined date and time format that represents when the node was last updated. kubernetes_region: type: object properties: @@ -3325,13 +3707,27 @@ components: example: s-1vcpu-2gb description: The identifier for a size for use when creating a new cluster. forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' + type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' + type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 link_to_last_page: type: object properties: @@ -3362,12 +3758,9 @@ components: example: https://api.digitalocean.com/v2/images?page=1 responses: all_clusters: - description: > - The response will be a JSON object with a key called - `kubernetes_clusters`. - + description: | + 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. headers: ratelimit-limit: @@ -3456,23 +3849,14 @@ components: id: example_error message: some error message cluster_create: - description: > - The response will be a JSON object with a key called - `kubernetes_cluster`. The - + description: | + The response will be a JSON object with a key called `kubernetes_cluster`. The value of this will be an object containing the standard attributes of a - Kubernetes cluster. - - The IP address and cluster API server endpoint will not be available - until the - + The IP address and cluster API server endpoint will not be available until the cluster has finished provisioning. The initial value of the cluster's - - `status.state` attribute will be `provisioning`. When the cluster is - ready, - + `status.state` attribute will be `provisioning`. When the cluster is ready, this will transition to `running`. headers: ratelimit-limit: @@ -3494,12 +3878,9 @@ components: Kubernetes Cluster with Multiple Node Pools Response: $ref: '#/components/examples/kubernetes_clusters_multi_pool_response' existing_cluster: - description: > - The response will be a JSON object with a key called - `kubernetes_cluster`. The - + description: | + The response will be a JSON object with a key called `kubernetes_cluster`. The value of this will be an object containing the standard attributes of a - Kubernetes cluster. headers: ratelimit-limit: @@ -3535,12 +3916,9 @@ components: id: not_found message: The resource you requested could not be found. updated_cluster: - description: > - The response will be a JSON object with a key called - `kubernetes_cluster`. The - + description: | + The response will be a JSON object with a key called `kubernetes_cluster`. The value of this will be an object containing the standard attributes of a - Kubernetes cluster. headers: ratelimit-limit: @@ -3569,10 +3947,7 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' associated_kubernetes_resources_list: - description: >- - The response will be a JSON object containing `load_balancers`, - `volumes`, and `volume_snapshots` keys. Each will be set to an array of - objects containing the standard attributes for associated resources. + description: The response will be a JSON object containing `load_balancers`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing the standard attributes for associated resources. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3628,18 +4003,12 @@ components: schema: $ref: '#/components/schemas/credentials' available_upgrades: - description: > + description: | The response will be a JSON object with a key called - - `available_upgrade_versions`. The value of this will be an array of - objects, - + `available_upgrade_versions`. The value of this will be an array of objects, representing the upgrade versions currently available for this cluster. - - If the cluster is up-to-date (i.e. there are no upgrades currently - available) - + If the cluster is up-to-date (i.e. there are no upgrades currently available) `available_upgrade_versions` will be `null`. headers: ratelimit-limit: @@ -3659,9 +4028,7 @@ components: items: $ref: '#/components/schemas/kubernetes_version' accepted: - description: >- - This does not indicate the success or failure of any operation, just - that the request has been accepted for processing. + description: This does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3670,13 +4037,9 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' all_node_pools: - description: > - The response will be a JSON object with a key called `node_pools`. This - will - - be set to an array of objects, each of which will contain the standard - node - + description: | + The response will be a JSON object with a key called `node_pools`. This will + be set to an array of objects, each of which will contain the standard node pool attributes. headers: ratelimit-limit: @@ -3764,12 +4127,9 @@ components: created_at: '2018-11-15T16:00:11Z' updated_at: '2018-11-15T16:00:11Z' node_pool_create: - description: > - The response will be a JSON object with a key called `node_pool`. The - value of - - this will be an object containing the standard attributes of a node - pool. + description: | + The response will be a JSON object with a key called `node_pool`. The value of + this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3825,12 +4185,9 @@ components: updated_at: '2018-11-15T16:00:11Z' type: object existing_node_pool: - description: > - The response will be a JSON object with a key called `node_pool`. The - value - - of this will be an object containing the standard attributes of a node - pool. + description: | + The response will be a JSON object with a key called `node_pool`. The value + of this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3890,12 +4247,9 @@ components: updated_at: '2018-11-15T16:00:11Z' type: object node_pool_update: - description: > - The response will be a JSON object with a key called `node_pool`. The - value of - - this will be an object containing the standard attributes of a node - pool. + description: | + The response will be a JSON object with a key called `node_pool`. The value of + this will be an object containing the standard attributes of a node pool. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -3952,10 +4306,8 @@ components: updated_at: '2018-11-15T16:00:11Z' type: object cluster_user: - description: > - The response will be a JSON object with a key called - `kubernetes_cluster_user` - + description: | + The response will be a JSON object with a key called `kubernetes_cluster_user` containing the username and in-cluster groups that it belongs to. headers: ratelimit-limit: @@ -3969,13 +4321,9 @@ components: schema: $ref: '#/components/schemas/user' all_options: - description: > - The response will be a JSON object with a key called `options` which - contains - - `regions`, `versions`, and `sizes` objects listing the available options - and - + description: | + The response will be a JSON object with a key called `options` which contains + `regions`, `versions`, and `sizes` objects listing the available options and the matching slugs for use when creating a new cluster. headers: ratelimit-limit: @@ -3992,9 +4340,7 @@ components: All Kubernetes Options: $ref: '#/components/examples/kubernetes_options' clusterlint_run: - description: >- - The response is a JSON object with a key called `run_id` that you can - later use to fetch the run results. + description: The response is a JSON object with a key called `run_id` that you can later use to fetch the run results. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4009,18 +4355,12 @@ components: run_id: type: string example: 50c2f44c-011d-493e-aee5-361a4a0d1844 - description: >- - ID of the clusterlint run that can be used later to fetch the - diagnostics. + description: ID of the clusterlint run that can be used later to fetch the diagnostics. type: object clusterlint_results: - description: > - The response is a JSON object which contains the diagnostics on - Kubernetes - - objects in the cluster. Each diagnostic will contain some metadata - information - + description: | + The response is a JSON object which contains the diagnostics on Kubernetes + objects in the cluster. Each diagnostic will contain some metadata information about the object and feedback for users to act upon. headers: ratelimit-limit: @@ -4034,10 +4374,8 @@ components: schema: $ref: '#/components/schemas/clusterlint_results' status_messages: - description: > - The response is a JSON object which contains status messages for a - Kubernetes cluster. Each message object contains a timestamp and an - indication of what issue the cluster is experiencing at a given time. + description: | + The response is a JSON object which contains status messages for a Kubernetes cluster. Each message object contains a timestamp and an indication of what issue the cluster is experiencing at a given time. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4090,9 +4428,7 @@ components: in: query name: expiry_seconds required: false - description: >- - The duration in seconds that the returned Kubernetes credentials will be - valid. If not set or 0, the credentials will have a 7 day expiry. + description: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. schema: type: integer minimum: 0 @@ -4111,9 +4447,7 @@ components: kubernetes_node_id: in: path name: node_id - description: >- - A unique ID that can be used to reference a node in a Kubernetes node - pool. + description: A unique ID that can be used to reference a node in a Kubernetes node pool. required: true schema: type: string @@ -4124,11 +4458,7 @@ components: in: query name: skip_drain required: false - description: >- - Specifies whether or not to drain workloads from a node before it is - deleted. Setting it to `1` causes node draining to be skipped. Omitting - the query parameter or setting its value to `0` carries out draining - prior to deletion. + description: Specifies whether or not to drain workloads from a node before it is deleted. Setting it to `1` causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. schema: type: integer minimum: 0 @@ -4139,11 +4469,7 @@ components: in: query name: replace required: false - description: >- - Specifies whether or not to replace a node after it has been deleted. - Setting it to `1` causes the node to be replaced by a new one after - deletion. Omitting the query parameter or setting its value to `0` - deletes without replacement. + description: Specifies whether or not to replace a node after it has been deleted. Setting it to `1` causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement. schema: type: integer minimum: 0 @@ -4163,9 +4489,7 @@ components: in: query name: since required: false - description: >- - A timestamp used to return status messages emitted since the specified - time. The timestamp should be in ISO8601 format. + description: A timestamp used to return status messages emitted since the specified time. The timestamp should be in ISO8601 format. schema: type: string format: date-time @@ -4181,12 +4505,9 @@ components: count: 3 name: worker-pool kubernetes_clusters_multi_pool_request: - description: > - This example request creates a Kubernetes cluster with two node pools. - It - + description: | + This example request creates a Kubernetes cluster with two node pools. It also demonstrates setting tags, labels, auto scaling, and a maintenance - policy. value: name: prod-cluster-01 @@ -4224,8 +4545,7 @@ components: 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 + endpoint: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com tags: - production - web-team @@ -4879,28 +5199,17 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-stackQL-resources: clusters: id: digitalocean.kubernetes.clusters @@ -4965,20 +5274,15 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/kubernetes_get_cluster - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/kubernetes_list_clusters + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_get_cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_list_clusters' insert: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/kubernetes_create_cluster + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_create_cluster' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/kubernetes_delete_cluster + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_delete_cluster' replace: - - $ref: >- - #/components/x-stackQL-resources/clusters/methods/kubernetes_update_cluster + - $ref: '#/components/x-stackQL-resources/clusters/methods/kubernetes_update_cluster' associated_resources: id: digitalocean.kubernetes.associated_resources name: associated_resources @@ -4986,34 +5290,29 @@ components: methods: kubernetes_list_associated_resources: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources/get + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources/get' response: mediaType: application/json openAPIDocKey: '200' kubernetes_destroy_associated_resources_selective: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1selective/delete + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1selective/delete' response: mediaType: application/json openAPIDocKey: '204' kubernetes_destroy_associated_resources_dangerous: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1dangerous/delete + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1destroy_with_associated_resources~1dangerous/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/associated_resources/methods/kubernetes_list_associated_resources + - $ref: '#/components/x-stackQL-resources/associated_resources/methods/kubernetes_list_associated_resources' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/associated_resources/methods/kubernetes_destroy_associated_resources_selective + - $ref: '#/components/x-stackQL-resources/associated_resources/methods/kubernetes_destroy_associated_resources_selective' replace: [] credentials: id: digitalocean.kubernetes.credentials @@ -5028,8 +5327,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/credentials/methods/kubernetes_get_credentials + - $ref: '#/components/x-stackQL-resources/credentials/methods/kubernetes_get_credentials' insert: [] update: [] delete: [] @@ -5048,8 +5346,7 @@ components: objectKey: $.available_upgrade_versions sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/available_upgrades/methods/kubernetes_get_available_upgrades + - $ref: '#/components/x-stackQL-resources/available_upgrades/methods/kubernetes_get_available_upgrades' insert: [] update: [] delete: [] @@ -5074,49 +5371,40 @@ components: openAPIDocKey: '201' kubernetes_get_node_pool: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/get + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.node_pool kubernetes_update_node_pool: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/put + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/put' response: mediaType: application/json openAPIDocKey: '202' kubernetes_delete_node_pool: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/delete + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}/delete' response: mediaType: application/json openAPIDocKey: '204' kubernetes_recycle_node_pool: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1recycle/post + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1recycle/post' response: mediaType: application/json openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/node_pools/methods/kubernetes_get_node_pool - - $ref: >- - #/components/x-stackQL-resources/node_pools/methods/kubernetes_list_node_pools + - $ref: '#/components/x-stackQL-resources/node_pools/methods/kubernetes_get_node_pool' + - $ref: '#/components/x-stackQL-resources/node_pools/methods/kubernetes_list_node_pools' insert: - - $ref: >- - #/components/x-stackQL-resources/node_pools/methods/kubernetes_add_node_pool + - $ref: '#/components/x-stackQL-resources/node_pools/methods/kubernetes_add_node_pool' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/node_pools/methods/kubernetes_delete_node_pool + - $ref: '#/components/x-stackQL-resources/node_pools/methods/kubernetes_delete_node_pool' replace: - - $ref: >- - #/components/x-stackQL-resources/node_pools/methods/kubernetes_update_node_pool + - $ref: '#/components/x-stackQL-resources/node_pools/methods/kubernetes_update_node_pool' nodes: id: digitalocean.kubernetes.nodes name: nodes @@ -5124,8 +5412,7 @@ components: methods: kubernetes_delete_node: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1nodes~1{node_id}/delete + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1node_pools~1{node_pool_id}~1nodes~1{node_id}/delete' response: mediaType: application/json openAPIDocKey: '202' @@ -5134,8 +5421,7 @@ components: insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/nodes/methods/kubernetes_delete_node + - $ref: '#/components/x-stackQL-resources/nodes/methods/kubernetes_delete_node' replace: [] cluster_user: id: digitalocean.kubernetes.cluster_user @@ -5151,8 +5437,7 @@ components: objectKey: $.kubernetes_cluster_user sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cluster_user/methods/kubernetes_get_cluster_user + - $ref: '#/components/x-stackQL-resources/cluster_user/methods/kubernetes_get_cluster_user' insert: [] update: [] delete: [] @@ -5171,8 +5456,7 @@ components: objectKey: $.options sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/options/methods/kubernetes_list_options + - $ref: '#/components/x-stackQL-resources/options/methods/kubernetes_list_options' insert: [] update: [] delete: [] @@ -5196,8 +5480,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lint_checks/methods/kubernetes_get_cluster_lint_results + - $ref: '#/components/x-stackQL-resources/lint_checks/methods/kubernetes_get_cluster_lint_results' insert: [] update: [] delete: [] @@ -5209,16 +5492,14 @@ components: methods: kubernetes_get_status_messages: operation: - $ref: >- - #/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1status_messages/get + $ref: '#/paths/~1v2~1kubernetes~1clusters~1{cluster_id}~1status_messages/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.messages sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/status_messages/methods/kubernetes_get_status_messages + - $ref: '#/components/x-stackQL-resources/status_messages/methods/kubernetes_get_status_messages' insert: [] update: [] delete: [] diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/monitoring.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/monitoring.yaml index 21974f1..1895f13 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/monitoring.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/monitoring.yaml @@ -8,9 +8,7 @@ paths: get: operationId: monitoring_list_alertPolicy summary: List Alert Policies - description: >- - Returns all alert policies that are configured for the given account. To - List all alert policies, send a GET request to `/v2/monitoring/alerts`. + description: Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. tags: - Monitoring parameters: @@ -63,131 +61,47 @@ paths: default: $ref: '#/components/responses/unexpected_error' requestBody: - description: > - The `type` field dictates what type of entity that the alert policy - applies to and hence what type of entity is passed in the `entities` - array. If both the `tags` array and `entities` array are empty the - alert policy applies to all entities of the relevant type that are - owned by the user account. Otherwise the following table shows the - valid entity types for each type of alert policy: - + description: | + The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: Type | Description | Valid Entity Type - -----|-------------|-------------------- - - `v1/insights/droplet/memory_utilization_percent` | alert on the - percent of memory utilization | Droplet ID - - `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O - in MBps | Droplet ID - - `v1/insights/droplet/load_5` | alert on the 5 minute load average | - Droplet ID - - `v1/insights/droplet/load_15` | alert on the 15 minute load average | - Droplet ID - - `v1/insights/droplet/disk_utilization_percent` | alert on the percent - of disk utilization | Droplet ID - - `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | - Droplet ID - - `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O - in MBps | Droplet ID - - `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of - public outbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of - public inbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate - of private outbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of - private inbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/load_1` | alert on the 1 minute load average | - Droplet ID - - `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent - of CPU utilization|load balancer ID - - `v1/insights/lbaas/connection_utilization_percent`|alert on the - percent of connection utilization|load balancer ID - - `v1/insights/lbaas/droplet_health`|alert on Droplet health status - changes|load balancer ID - - `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert - on the percent of TLS connections per second utilization (requires at - least one HTTPS forwarding rule)|load balancer ID - - `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert - on the percent increase of 5xx level http errors over 5m|load balancer - ID - - `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert - on the percent increase of 4xx level http errors over 5m|load balancer - ID - - `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the - count of 5xx level http errors over 5m|load balancer ID - - `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the - count of 4xx level http errors over 5m|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time`|alert on high - average http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high - 50th percentile http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high - 95th percentile http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high - 99th percentile http response time|load balancer ID - - `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average - across the database cluster | database cluster UUID - - `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent - memory utilization average across the database cluster | database - cluster UUID - - `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk - utilization average across the database cluster | database cluster - UUID - - `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average - across the database cluster | database cluster UUID - - `v1/droplet/autoscale_alerts/current_instances` | alert on current - pool size | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_instances` | alert on target pool - size | autoscale pool ID - - `v1/droplet/autoscale_alerts/current_cpu_utilization` | alert on - current average CPU utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_cpu_utilization` | alert on target - average CPU utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/current_memory_utilization` | alert on - current average memory utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_memory_utilization` | alert on - target average memory utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/scale_up` | alert on scale up event | - autoscale pool ID - - `v1/droplet/autoscale_alerts/scale_down` | alert on scale down event | - autoscale pool ID + `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization (requires at least one HTTPS forwarding rule)|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + `v1/droplet/autoscale_alerts/current_instances` | alert on current pool size | autoscale pool ID + `v1/droplet/autoscale_alerts/target_instances` | alert on target pool size | autoscale pool ID + `v1/droplet/autoscale_alerts/current_cpu_utilization` | alert on current average CPU utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/target_cpu_utilization` | alert on target average CPU utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/current_memory_utilization` | alert on current average memory utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/target_memory_utilization` | alert on target average memory utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/scale_up` | alert on scale up event | autoscale pool ID + `v1/droplet/autoscale_alerts/scale_down` | alert on scale down event | autoscale pool ID required: true content: application/json: @@ -195,9 +109,8 @@ paths: $ref: '#/components/schemas/alert_policy_request' x-codeSamples: - lang: cURL - source: >- - curl -X POST - \ + source: |- + curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/alerts" \ @@ -243,9 +156,7 @@ paths: get: operationId: monitoring_get_alertPolicy summary: Retrieve an Existing Alert Policy - description: >- - To retrieve a given alert policy, send a GET request to - `/v2/monitoring/alerts/{alert_uuid}` + description: To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` tags: - Monitoring responses: @@ -284,9 +195,7 @@ paths: put: operationId: monitoring_update_alertPolicy summary: Update an Alert Policy - description: >- - To update en existing policy, send a PUT request to - `v2/monitoring/alerts/{alert_uuid}`. + description: To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`. tags: - Monitoring responses: @@ -305,131 +214,47 @@ paths: parameters: - $ref: '#/components/parameters/alert_uuid' requestBody: - description: > - The `type` field dictates what type of entity that the alert policy - applies to and hence what type of entity is passed in the `entities` - array. If both the `tags` array and `entities` array are empty the - alert policy applies to all entities of the relevant type that are - owned by the user account. Otherwise the following table shows the - valid entity types for each type of alert policy: - + description: | + The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: Type | Description | Valid Entity Type - -----|-------------|-------------------- - - `v1/insights/droplet/memory_utilization_percent` | alert on the - percent of memory utilization | Droplet ID - - `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O - in MBps | Droplet ID - - `v1/insights/droplet/load_5` | alert on the 5 minute load average | - Droplet ID - - `v1/insights/droplet/load_15` | alert on the 15 minute load average | - Droplet ID - - `v1/insights/droplet/disk_utilization_percent` | alert on the percent - of disk utilization | Droplet ID - - `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | - Droplet ID - - `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O - in MBps | Droplet ID - - `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of - public outbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of - public inbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate - of private outbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of - private inbound bandwidth in Mbps | Droplet ID - - `v1/insights/droplet/load_1` | alert on the 1 minute load average | - Droplet ID - - `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent - of CPU utilization|load balancer ID - - `v1/insights/lbaas/connection_utilization_percent`|alert on the - percent of connection utilization|load balancer ID - - `v1/insights/lbaas/droplet_health`|alert on Droplet health status - changes|load balancer ID - - `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert - on the percent of TLS connections per second utilization (requires at - least one HTTPS forwarding rule)|load balancer ID - - `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert - on the percent increase of 5xx level http errors over 5m|load balancer - ID - - `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert - on the percent increase of 4xx level http errors over 5m|load balancer - ID - - `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the - count of 5xx level http errors over 5m|load balancer ID - - `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the - count of 4xx level http errors over 5m|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time`|alert on high - average http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high - 50th percentile http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high - 95th percentile http response time|load balancer ID - - `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high - 99th percentile http response time|load balancer ID - - `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average - across the database cluster | database cluster UUID - - `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent - memory utilization average across the database cluster | database - cluster UUID - - `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk - utilization average across the database cluster | database cluster - UUID - - `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average - across the database cluster | database cluster UUID - - `v1/droplet/autoscale_alerts/current_instances` | alert on current - pool size | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_instances` | alert on target pool - size | autoscale pool ID - - `v1/droplet/autoscale_alerts/current_cpu_utilization` | alert on - current average CPU utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_cpu_utilization` | alert on target - average CPU utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/current_memory_utilization` | alert on - current average memory utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/target_memory_utilization` | alert on - target average memory utilization | autoscale pool ID - - `v1/droplet/autoscale_alerts/scale_up` | alert on scale up event | - autoscale pool ID - - `v1/droplet/autoscale_alerts/scale_down` | alert on scale down event | - autoscale pool ID + `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization (requires at least one HTTPS forwarding rule)|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + `v1/droplet/autoscale_alerts/current_instances` | alert on current pool size | autoscale pool ID + `v1/droplet/autoscale_alerts/target_instances` | alert on target pool size | autoscale pool ID + `v1/droplet/autoscale_alerts/current_cpu_utilization` | alert on current average CPU utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/target_cpu_utilization` | alert on target average CPU utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/current_memory_utilization` | alert on current average memory utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/target_memory_utilization` | alert on target average memory utilization | autoscale pool ID + `v1/droplet/autoscale_alerts/scale_up` | alert on scale up event | autoscale pool ID + `v1/droplet/autoscale_alerts/scale_down` | alert on scale down event | autoscale pool ID required: true content: application/json: @@ -444,15 +269,12 @@ paths: "https://api.digitalocean.com/v2/monitoring/alerts/78b3da62-27e5-49ba-ac70-5db0b5935c64" \ --data '{"alerts":{"email":["alerts@example.com"]},"compare":"GreaterThan","description":"CPU Alert","enabled":true,"entities":["12345678"],"tags":["droplet_tag"],"type":"v1/insights/droplet/cpu","value":80,"window":"5m"}' - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "alerts": { "email": [ @@ -479,18 +301,14 @@ paths: "window": "5m" } - - resp = client.monitoring.update_alert_policy(alert_uuid="fda9da", - body=req) + resp = client.monitoring.update_alert_policy(alert_uuid="fda9da", body=req) security: - bearer_auth: - monitoring:update delete: operationId: monitoring_delete_alertPolicy summary: Delete an Alert Policy - description: >- - To delete an alert policy, send a DELETE request to - `/v2/monitoring/alerts/{alert_uuid}` + description: To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}` tags: - Monitoring responses: @@ -530,13 +348,8 @@ paths: get: operationId: monitoring_get_dropletBandwidthMetrics summary: Get Droplet Bandwidth Metrics - description: >- - To retrieve bandwidth metrics for a given Droplet, send a GET request to - `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query - parameter to specify if the results should be for the `private` or - `public` interface. Use the `direction` query parameter to specify if - the results should be for `inbound` or `outbound` traffic. - + description: |- + To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic. The metrics in the response body are in megabits per second (Mbps). tags: - Monitoring @@ -565,19 +378,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/bandwidth?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_bandwidth_metrics(alert_uuid="dfa8da", - host_id="17209102", interface="private", direction="inbound", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_bandwidth_metrics(alert_uuid="dfa8da", host_id="17209102", interface="private", direction="inbound", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -585,9 +392,7 @@ paths: get: operationId: monitoring_get_DropletCpuMetrics summary: Get Droplet CPU Metrics - description: >- - To retrieve CPU metrics for a given droplet, send a GET request to - `/v2/monitoring/metrics/droplet/cpu`. + description: To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`. tags: - Monitoring responses: @@ -613,17 +418,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/cpu?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.monitoring.get_droplet_cpu_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_cpu_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -631,9 +432,7 @@ paths: get: operationId: monitoring_get_dropletFilesystemFreeMetrics summary: Get Droplet Filesystem Free Metrics - description: >- - To retrieve filesystem free metrics for a given droplet, send a GET - request to `/v2/monitoring/metrics/droplet/filesystem_free`. + description: To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`. tags: - Monitoring responses: @@ -659,18 +458,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_free?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_filesystem_free_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_filesystem_free_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -678,9 +472,7 @@ paths: get: operationId: monitoring_get_dropletFilesystemSizeMetrics summary: Get Droplet Filesystem Size Metrics - description: >- - To retrieve filesystem size metrics for a given droplet, send a GET - request to `/v2/monitoring/metrics/droplet/filesystem_size`. + description: To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`. tags: - Monitoring responses: @@ -706,18 +498,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/filesystem_size?host_id=222651441&interface=public&direction=outbound&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_filesystem_size_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_filesystem_size_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -725,9 +512,7 @@ paths: get: operationId: monitoring_get_dropletLoad1Metrics summary: Get Droplet Load1 Metrics - description: >- - To retrieve 1 minute load average metrics for a given droplet, send a - GET request to `/v2/monitoring/metrics/droplet/load_1`. + description: To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`. tags: - Monitoring responses: @@ -753,18 +538,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_1?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_load1_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_load1_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -772,9 +552,7 @@ paths: get: operationId: monitoring_get_dropletLoad5Metrics summary: Get Droplet Load5 Metrics - description: >- - To retrieve 5 minute load average metrics for a given droplet, send a - GET request to `/v2/monitoring/metrics/droplet/load_5`. + description: To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`. tags: - Monitoring responses: @@ -800,18 +578,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_5?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_load5_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_load5_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -819,9 +592,7 @@ paths: get: operationId: monitoring_get_dropletLoad15Metrics summary: Get Droplet Load15 Metrics - description: >- - To retrieve 15 minute load average metrics for a given droplet, send a - GET request to `/v2/monitoring/metrics/droplet/load_15`. + description: To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`. tags: - Monitoring responses: @@ -847,18 +618,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/load_15?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_load15_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_load15_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -866,9 +632,7 @@ paths: get: operationId: monitoring_get_dropletMemoryCachedMetrics summary: Get Droplet Cached Memory Metrics - description: >- - To retrieve cached memory metrics for a given droplet, send a GET - request to `/v2/monitoring/metrics/droplet/memory_cached`. + description: To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`. tags: - Monitoring responses: @@ -894,18 +658,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_cached?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_memory_cached_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_memory_cached_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -913,9 +672,7 @@ paths: get: operationId: monitoring_get_dropletMemoryFreeMetrics summary: Get Droplet Free Memory Metrics - description: >- - To retrieve free memory metrics for a given droplet, send a GET request - to `/v2/monitoring/metrics/droplet/memory_free`. + description: To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`. tags: - Monitoring responses: @@ -941,18 +698,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_free?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_memory_free_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_memory_free_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -960,9 +712,7 @@ paths: get: operationId: monitoring_get_dropletMemoryTotalMetrics summary: Get Droplet Total Memory Metrics - description: >- - To retrieve total memory metrics for a given droplet, send a GET request - to `/v2/monitoring/metrics/droplet/memory_total`. + description: To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`. tags: - Monitoring responses: @@ -988,18 +738,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_total?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_memory_total_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_memory_total_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -1007,9 +752,7 @@ paths: get: operationId: monitoring_get_dropletMemoryAvailableMetrics summary: Get Droplet Available Memory Metrics - description: >- - To retrieve available memory metrics for a given droplet, send a GET - request to `/v2/monitoring/metrics/droplet/memory_available`. + description: To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`. tags: - Monitoring responses: @@ -1035,18 +778,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/monitoring/metrics/droplet/memory_available?host_id=222651441&start=1636051668&end=1636051668" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = - client.monitoring.get_droplet_memory_available_metrics(host_id="17209102", - start="1620683817", end="1620705417") + resp = client.monitoring.get_droplet_memory_available_metrics(host_id="17209102", start="1620683817", end="1620705417") security: - bearer_auth: - monitoring:read @@ -1054,9 +792,7 @@ paths: get: operationId: monitoring_get_appMemoryPercentageMetrics summary: Get App Memory Percentage Metrics - description: >- - To retrieve memory percentage metrics for a given app, send a GET - request to `/v2/monitoring/metrics/apps/memory_percentage`. + description: To retrieve memory percentage metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/memory_percentage`. tags: - Monitoring responses: @@ -1089,9 +825,7 @@ paths: get: operationId: monitoring_get_appCPUPercentageMetrics summary: Get App CPU Percentage Metrics - description: >- - To retrieve cpu percentage metrics for a given app, send a GET request - to `/v2/monitoring/metrics/apps/cpu_percentage`. + description: To retrieve cpu percentage metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/cpu_percentage`. tags: - Monitoring responses: @@ -1124,9 +858,7 @@ paths: get: operationId: monitoring_get_appRestartCountMetrics.yml summary: Get App Restart Count Metrics - description: >- - To retrieve restart count metrics for a given app, send a GET request to - `/v2/monitoring/metrics/apps/restart_count`. + description: To retrieve restart count metrics for a given app, send a GET request to `/v2/monitoring/metrics/apps/restart_count`. tags: - Monitoring responses: @@ -1159,10 +891,7 @@ paths: get: operationId: monitoring_get_lb_frontend_connections_current summary: Get Load Balancer Frontend Total Current Active Connections Metrics - description: >- - To retrieve frontend total current active connections for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_connections_current`. + description: To retrieve frontend total current active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_current`. tags: - Monitoring responses: @@ -1194,10 +923,7 @@ paths: get: operationId: monitoring_get_lb_frontend_connections_limit summary: Get Load Balancer Frontend Max Connections Limit Metrics - description: >- - To retrieve frontend max connections limit for a given load balancer, - send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_connections_limit`. + description: To retrieve frontend max connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_connections_limit`. tags: - Monitoring responses: @@ -1229,10 +955,7 @@ paths: get: operationId: monitoring_get_lb_frontend_cpu_utilization summary: Get Load Balancer Frontend Average Percentage CPU Utilization Metrics - description: >- - To retrieve frontend average percentage CPU utilization for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization`. + description: To retrieve frontend average percentage CPU utilization for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization`. tags: - Monitoring responses: @@ -1264,11 +987,7 @@ paths: get: operationId: monitoring_get_lb_frontend_firewall_dropped_bytes summary: Get Load Balancer Frontend Firewall Dropped Bytes Metrics - description: >- - To retrieve firewall dropped bytes for a given load balancer, send a GET - request to - `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes`. - This is currently only supported for network load balancers. + description: To retrieve firewall dropped bytes for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes`. This is currently only supported for network load balancers. tags: - Monitoring responses: @@ -1300,11 +1019,7 @@ paths: get: operationId: monitoring_get_lb_frontend_firewall_dropped_packets summary: Get Load Balancer Frontend Firewall Dropped Packets Metrics - description: >- - To retrieve firewall dropped packets per second for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets`. - This is currently only supported for network load balancers. + description: To retrieve firewall dropped packets per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets`. This is currently only supported for network load balancers. tags: - Monitoring responses: @@ -1336,10 +1051,7 @@ paths: get: operationId: monitoring_get_lb_frontend_http_responses summary: Get Load Balancer Frontend HTTP Rate Of Response Code Metrics - description: >- - To retrieve frontend HTTP rate of response code for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_http_responses`. + description: To retrieve frontend HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_responses`. tags: - Monitoring responses: @@ -1371,10 +1083,7 @@ paths: get: operationId: monitoring_get_lb_frontend_http_requests_per_second summary: Get Load Balancer Frontend HTTP Requests Metrics - description: >- - To retrieve frontend HTTP requests per second for a given load balancer, - send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second`. + description: To retrieve frontend HTTP requests per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second`. tags: - Monitoring responses: @@ -1406,10 +1115,7 @@ paths: get: operationId: monitoring_get_lb_frontend_network_throughput_http summary: Get Load Balancer Frontend HTTP Throughput Metrics - description: >- - To retrieve frontend HTTP throughput in bytes per second for a given - load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http`. + description: To retrieve frontend HTTP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http`. tags: - Monitoring responses: @@ -1441,10 +1147,7 @@ paths: get: operationId: monitoring_get_lb_frontend_network_throughput_udp summary: Get Load Balancer Frontend UDP Throughput Metrics - description: >- - To retrieve frontend UDP throughput in bytes per second for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp`. + description: To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp`. tags: - Monitoring responses: @@ -1476,10 +1179,7 @@ paths: get: operationId: monitoring_get_lb_frontend_network_throughput_tcp summary: Get Load Balancer Frontend TCP Throughput Metrics - description: >- - To retrieve frontend TCP throughput in bytes per second for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp`. + description: To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp`. tags: - Monitoring responses: @@ -1511,10 +1211,7 @@ paths: get: operationId: monitoring_get_lb_frontend_nlb_tcp_network_throughput summary: Get Network Load Balancer Frontend TCP Throughput Metrics - description: >- - To retrieve frontend TCP throughput in bytes per second for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput`. + description: To retrieve frontend TCP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput`. tags: - Monitoring responses: @@ -1546,10 +1243,7 @@ paths: get: operationId: monitoring_get_lb_frontend_nlb_udp_network_throughput summary: Get Network Load Balancer Frontend UDP Throughput Metrics - description: >- - To retrieve frontend UDP throughput in bytes per second for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput`. + description: To retrieve frontend UDP throughput in bytes per second for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput`. tags: - Monitoring responses: @@ -1581,10 +1275,7 @@ paths: get: operationId: monitoring_get_lb_frontend_tls_connections_current summary: Get Load Balancer Frontend Current TLS Connections Rate Metrics - description: >- - To retrieve frontend current TLS connections rate for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current`. + description: To retrieve frontend current TLS connections rate for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current`. tags: - Monitoring responses: @@ -1616,10 +1307,7 @@ paths: get: operationId: monitoring_get_lb_frontend_tls_connections_limit summary: Get Load Balancer Frontend Max TLS Connections Limit Metrics - description: >- - To retrieve frontend max TLS connections limit for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit`. + description: To retrieve frontend max TLS connections limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit`. tags: - Monitoring responses: @@ -1650,13 +1338,8 @@ paths: /v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit: get: operationId: monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit - summary: >- - Get Load Balancer Frontend Closed TLS Connections For Exceeded Rate - Limit Metrics - description: >- - To retrieve frontend closed TLS connections for exceeded rate limit for - a given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit`. + summary: Get Load Balancer Frontend Closed TLS Connections For Exceeded Rate Limit Metrics + description: To retrieve frontend closed TLS connections for exceeded rate limit for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit`. tags: - Monitoring responses: @@ -1688,10 +1371,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_session_duration_avg summary: Get Load Balancer Droplets Average HTTP Session Duration Metrics - description: >- - To retrieve Droplets average HTTP session duration in seconds for a - given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg`. + description: To retrieve Droplets average HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg`. tags: - Monitoring responses: @@ -1723,10 +1403,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_session_duration_50p summary: Get Load Balancer Droplets 50th Percentile HTTP Session Duration Metrics - description: >- - To retrieve Droplets 50th percentile HTTP session duration in seconds - for a given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p`. + description: To retrieve Droplets 50th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p`. tags: - Monitoring responses: @@ -1758,10 +1435,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_session_duration_95p summary: Get Load Balancer Droplets 95th Percentile HTTP Session Duration Metrics - description: >- - To retrieve Droplets 95th percentile HTTP session duration in seconds - for a given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p`. + description: To retrieve Droplets 95th percentile HTTP session duration in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p`. tags: - Monitoring responses: @@ -1793,10 +1467,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_response_time_avg summary: Get Load Balancer Droplets Average HTTP Response Time Metrics - description: >- - To retrieve Droplets average HTTP response time in seconds for a given - load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg`. + description: To retrieve Droplets average HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg`. tags: - Monitoring responses: @@ -1828,10 +1499,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_response_time_50p summary: Get Load Balancer Droplets 50th Percentile HTTP Response Time Metrics - description: >- - To retrieve Droplets 50th percentile HTTP response time in seconds for a - given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p`. + description: To retrieve Droplets 50th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p`. tags: - Monitoring responses: @@ -1863,10 +1531,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_response_time_95p summary: Get Load Balancer Droplets 95th Percentile HTTP Response Time Metrics - description: >- - To retrieve Droplets 95th percentile HTTP response time in seconds for a - given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p`. + description: To retrieve Droplets 95th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p`. tags: - Monitoring responses: @@ -1898,10 +1563,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_response_time_99p summary: Get Load Balancer Droplets 99th Percentile HTTP Response Time Metrics - description: >- - To retrieve Droplets 99th percentile HTTP response time in seconds for a - given load balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p`. + description: To retrieve Droplets 99th percentile HTTP response time in seconds for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p`. tags: - Monitoring responses: @@ -1933,9 +1595,7 @@ paths: get: operationId: monitoring_get_lb_droplets_queue_size summary: Get Load Balancer Droplets Queue Size Metrics - description: >- - To retrieve Droplets queue size for a given load balancer, send a GET - request to `/v2/monitoring/metrics/load_balancer/droplets_queue_size`. + description: To retrieve Droplets queue size for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_queue_size`. tags: - Monitoring responses: @@ -1967,10 +1627,7 @@ paths: get: operationId: monitoring_get_lb_droplets_http_responses summary: Get Load Balancer Droplets HTTP Rate Of Response Code Metrics - description: >- - To retrieve Droplets HTTP rate of response code for a given load - balancer, send a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_http_responses`. + description: To retrieve Droplets HTTP rate of response code for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_http_responses`. tags: - Monitoring responses: @@ -2002,10 +1659,7 @@ paths: get: operationId: monitoring_get_lb_droplets_connections summary: Get Load Balancer Droplets Active Connections Metrics - description: >- - To retrieve Droplets active connections for a given load balancer, send - a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_connections`. + description: To retrieve Droplets active connections for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_connections`. tags: - Monitoring responses: @@ -2037,10 +1691,7 @@ paths: get: operationId: monitoring_get_lb_droplets_health_checks summary: Get Load Balancer Droplets Health Check Status Metrics - description: >- - To retrieve Droplets health check status for a given load balancer, send - a GET request to - `/v2/monitoring/metrics/load_balancer/droplets_health_checks`. + description: To retrieve Droplets health check status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_health_checks`. tags: - Monitoring responses: @@ -2072,9 +1723,7 @@ paths: get: operationId: monitoring_get_lb_droplets_downtime summary: Get Load Balancer Droplets Downtime Status Metrics - description: >- - To retrieve Droplets downtime status for a given load balancer, send a - GET request to `/v2/monitoring/metrics/load_balancer/droplets_downtime`. + description: To retrieve Droplets downtime status for a given load balancer, send a GET request to `/v2/monitoring/metrics/load_balancer/droplets_downtime`. tags: - Monitoring responses: @@ -2106,10 +1755,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_current_instances summary: Get Droplet Autoscale Pool Current Size - description: >- - To retrieve the current size for a given Droplet Autoscale Pool, send a - GET request to - `/v2/monitoring/metrics/droplet_autoscale/current_instances`. + description: To retrieve the current size for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/current_instances`. tags: - Monitoring responses: @@ -2141,10 +1787,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_target_instances summary: Get Droplet Autoscale Pool Target Size - description: >- - To retrieve the target size for a given Droplet Autoscale Pool, send a - GET request to - `/v2/monitoring/metrics/droplet_autoscale/target_instances`. + description: To retrieve the target size for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/target_instances`. tags: - Monitoring responses: @@ -2176,10 +1819,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_current_cpu_utilization.yml summary: Get Droplet Autoscale Pool Current Average CPU utilization - description: >- - To retrieve the current average CPU utilization for a given Droplet - Autoscale Pool, send a GET request to - `/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization`. + description: To retrieve the current average CPU utilization for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization`. tags: - Monitoring responses: @@ -2211,10 +1851,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_target_cpu_utilization summary: Get Droplet Autoscale Pool Target Average CPU utilization - description: >- - To retrieve the target average CPU utilization for a given Droplet - Autoscale Pool, send a GET request to - `/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization`. + description: To retrieve the target average CPU utilization for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization`. tags: - Monitoring responses: @@ -2246,10 +1883,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_current_memory_utilization summary: Get Droplet Autoscale Pool Current Average Memory utilization - description: >- - To retrieve the current average memory utilization for a given Droplet - Autoscale Pool, send a GET request to - `/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization`. + description: To retrieve the current average memory utilization for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization`. tags: - Monitoring responses: @@ -2281,10 +1915,7 @@ paths: get: operationId: monitoring_get_droplet_autoscale_target_memory_utilization summary: Get Droplet Autoscale Pool Target Average Memory utilization - description: >- - To retrieve the target average memory utilization for a given Droplet - Autoscale Pool, send a GET request to - `/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization`. + description: To retrieve the target average memory utilization for a given Droplet Autoscale Pool, send a GET request to `/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization`. tags: - Monitoring responses: @@ -2316,9 +1947,7 @@ paths: post: operationId: monitoring_create_destination summary: Create Logging Destination - description: >- - To create a new destination, send a POST request to - `/v2/monitoring/sinks/destinations`. + description: To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. tags: - Monitoring requestBody: @@ -2333,8 +1962,7 @@ paths: name: managed_opensearch_cluster type: opensearch_dbaas config: - endpoint: >- - db-opensearch-nyc3-123456-do-user-123456-0.g.db.ondigitalocean.com + endpoint: db-opensearch-nyc3-123456-do-user-123456-0.g.db.ondigitalocean.com cluster_uuid: 85148069-7e35-4999-80bd-6fa1637ca385 cluster_name: managed_dbaas_cluster index_name: logs @@ -2377,9 +2005,7 @@ paths: get: operationId: monitoring_list_destinations summary: List Logging Destinations - description: >- - To list all logging destinations, send a GET request to - `/v2/monitoring/sinks/destinations`. + description: To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. tags: - Monitoring responses: @@ -2409,9 +2035,7 @@ paths: get: operationId: monitoring_get_destination summary: Get Logging Destination - description: >- - To get the details of a destination, send a GET request to - `/v2/monitoring/sinks/destinations/${destination_uuid}`. + description: To get the details of a destination, send a GET request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. tags: - Monitoring parameters: @@ -2442,9 +2066,7 @@ paths: post: operationId: monitoring_update_destination summary: Update Logging Destination - description: >- - To update the details of a destination, send a PATCH request to - `/v2/monitoring/sinks/destinations/${destination_uuid}`. + description: To update the details of a destination, send a PATCH request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. tags: - Monitoring parameters: @@ -2482,9 +2104,7 @@ paths: delete: operationId: monitoring_delete_destination summary: Delete Logging Destination - description: >- - To delete a destination and all associated sinks, send a DELETE request - to `/v2/monitoring/sinks/destinations/${destination_uuid}`. + description: To delete a destination and all associated sinks, send a DELETE request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. tags: - Monitoring parameters: @@ -2516,12 +2136,9 @@ paths: post: operationId: monitoring_create_sink summary: Create Sink - description: > - To create a new sink, send a POST request to `/v2/monitoring/sinks`. - Forwards logs from the - - resources identified in `resources` to the specified pre-existing - destination. + description: | + To create a new sink, send a POST request to `/v2/monitoring/sinks`. Forwards logs from the + resources identified in `resources` to the specified pre-existing destination. tags: - Monitoring responses: @@ -2599,9 +2216,7 @@ paths: get: operationId: monitoring_get_sink summary: Get Sink - description: >- - To get the details of a sink (resources and destination), send a GET - request to `/v2/monitoring/sinks/${sink_uuid}`. + description: To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. tags: - Monitoring parameters: @@ -2632,9 +2247,7 @@ paths: delete: operationId: monitoring_delete_sink summary: Delete Sink - description: >- - To delete a sink, send a DELETE request to - `/v2/monitoring/sinks/${sink_uuid}`. + description: To delete a sink, send a DELETE request to `/v2/monitoring/sinks/${sink_uuid}`. tags: - Monitoring parameters: @@ -2666,9 +2279,7 @@ paths: get: operationId: uptime_list_checks summary: List All Checks - description: >- - To list all of the Uptime checks on your account, send a GET request to - `/v2/uptime/checks`. + description: To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. tags: - Uptime parameters: @@ -2708,10 +2319,8 @@ paths: post: operationId: uptime_create_check summary: Create a New Check - description: > - To create an Uptime check, send a POST request to `/v2/uptime/checks` - specifying the attributes - + description: | + To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes in the table below in the JSON body. tags: - Uptime @@ -2775,9 +2384,7 @@ paths: get: operationId: uptime_get_check summary: Retrieve an Existing Check - description: >- - To show information about an existing check, send a GET request to - `/v2/uptime/checks/$CHECK_ID`. + description: To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. tags: - Uptime parameters: @@ -2816,9 +2423,8 @@ paths: put: operationId: uptime_update_check summary: Update a Check - description: > - To update the settings of an Uptime check, send a PUT request to - `/v2/uptime/checks/$CHECK_ID`. + description: | + To update the settings of an Uptime check, send a PUT request to `/v2/uptime/checks/$CHECK_ID`. tags: - Uptime parameters: @@ -2877,14 +2483,11 @@ paths: delete: operationId: uptime_delete_check summary: Delete a Check - description: > - To delete an Uptime check, send a DELETE request to - `/v2/uptime/checks/$CHECK_ID`. A 204 status - + description: | + To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status code with no body will be returned in response to a successful request. - Deleting a check will also delete alerts associated with the check. tags: - Uptime @@ -2925,9 +2528,7 @@ paths: get: operationId: uptime_get_checkState summary: Retrieve Check State - description: >- - To show information about an existing check's state, send a GET request - to `/v2/uptime/checks/$CHECK_ID/state`. + description: To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`. tags: - Uptime parameters: @@ -2967,9 +2568,7 @@ paths: get: operationId: uptime_list_alerts summary: List All Alerts - description: >- - To list all of the alerts for an Uptime check, send a GET request to - `/v2/uptime/checks/$CHECK_ID/alerts`. + description: To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. tags: - Uptime parameters: @@ -3010,10 +2609,8 @@ paths: post: operationId: uptime_create_alert summary: Create a New Alert - description: > - To create an Uptime alert, send a POST request to - `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes - + description: | + To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes in the table below in the JSON body. tags: - Uptime @@ -3021,24 +2618,14 @@ paths: - $ref: '#/components/parameters/check_id' requestBody: required: true - description: > - The ''type'' field dictates the type of alert, and hence what type of - value to pass into the threshold property. - + description: | + The ''type'' field dictates the type of alert, and hence what type of value to pass into the threshold property. Type | Description | Threshold Value - -----|-------------|-------------------- - `latency` | alerts on the response latency | milliseconds - - `down` | alerts on a target registering as down in any region | N/A - (Not required) - - `down_global` | alerts on a target registering as down globally | N/A - (Not required) - - `ssl_expiry` | alerts on a SSL certificate expiring within $threshold - days | days + `down` | alerts on a target registering as down in any region | N/A (Not required) + `down_global` | alerts on a target registering as down globally | N/A (Not required) + `ssl_expiry` | alerts on a SSL certificate expiring within $threshold days | days content: application/json: schema: @@ -3106,9 +2693,7 @@ paths: get: operationId: uptime_get_alert summary: Retrieve an Existing Alert - description: >- - To show information about an existing alert, send a GET request to - `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. + description: To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. tags: - Uptime parameters: @@ -3135,26 +2720,21 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.uptime.alert_get(check_id="4de7ac8b", - alert_id="da9da9") + resp = client.uptime.alert_get(check_id="4de7ac8b", alert_id="da9da9") security: - bearer_auth: - uptime:read put: operationId: uptime_update_alert summary: Update an Alert - description: > - To update the settings of an Uptime alert, send a PUT request to - `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. + description: | + To update the settings of an Uptime alert, send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. tags: - Uptime parameters: @@ -3195,15 +2775,12 @@ paths: -d '{"name":"Landing page down globally","type":"down_global","notifications":{"email":["bob@example.com"],"slack":[{"channel":"Production Alerts","url":"https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"}]},"period":"2m"}' \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - req = { "name": "Landing page degraded performance", "type": "latency", @@ -3223,19 +2800,15 @@ paths: "period": "2m" } - - resp = client.uptime.alert_update(check_id="4de7ac8b", - alert_id="da9da9", body=req) + resp = client.uptime.alert_update(check_id="4de7ac8b", alert_id="da9da9", body=req) security: - bearer_auth: - uptime:update delete: operationId: uptime_delete_alert summary: Delete an Alert - description: > - To delete an Uptime alert, send a DELETE request to - `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status - + description: | + To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status code with no body will be returned in response to a successful request. tags: - Uptime @@ -3263,17 +2836,13 @@ paths: -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ "https://api.digitalocean.com/v2/uptime/checks/{check_id}/alerts/{alert_id}" - lang: Python - source: >- + source: |- import os - from pydo import Client - client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN")) - - resp = client.uptime.alert_delete(check_id="4de7ac8b", - alert_id="da9da9") + resp = client.uptime.alert_delete(check_id="4de7ac8b", alert_id="da9da9") security: - bearer_auth: - uptime:delete @@ -3294,7 +2863,35 @@ components: - enabled properties: alerts: - $ref: '#/components/schemas/alerts' + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ compare: type: string example: GreaterThan @@ -3386,13 +2983,45 @@ components: enum: - opensearch_dbaas - opensearch_ext - description: > - The destination type. `opensearch_dbaas` for a DigitalOcean managed - OpenSearch - + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch cluster or `opensearch_ext` for an externally managed one. config: - $ref: '#/components/schemas/opensearch_config_request' + type: object + required: + - endpoint + properties: + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: Number of days to retain logs in an OpenSearch cluster. + example: 14 + default: 14 sink_resource: type: object required: @@ -3402,9 +3031,7 @@ components: type: string pattern: ^do:kubernetes:.* example: do:kubernetes:f453aa14-646e-4cf8-8c62-75a19fb24ec2 - description: >- - The uniform resource name (URN) for the resource in the format - do:resource_type:resource_id. + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. name: type: string description: resource name @@ -3441,9 +3068,7 @@ components: example: - us_east - eu_west - description: >- - An array containing the selected regions to perform healthchecks - from. + description: An array containing the selected regions to perform healthchecks from. enabled: type: boolean example: true @@ -3451,9 +3076,82 @@ components: description: A boolean value indicating whether the check is enabled/disabled. alert: type: object - allOf: - - $ref: '#/components/schemas/alert_base' - - $ref: '#/components/schemas/alert_updatable' + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the alert. + name: + type: string + example: Landing page degraded performance + description: A human-friendly display name. + type: + type: string + example: latency + enum: + - latency + - down + - down_global + - ssl_expiry + description: The type of alert. + threshold: + type: integer + example: 300 + description: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. + comparison: + type: string + example: greater_than + description: The comparison operator used against the alert's threshold. + enum: + - greater_than + - less_than + notifications: + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + period: + type: string + example: 2m + description: Period of time the threshold must be exceeded to trigger the alert. + enum: + - 2m + - 3m + - 5m + - 10m + - 15m + - 30m + - 1h alert_updatable: type: object properties: @@ -3473,9 +3171,7 @@ components: threshold: type: integer example: 300 - description: >- - The threshold at which the alert will enter a trigger state. The - specific threshold is dependent on the alert type. + description: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. comparison: type: string example: greater_than @@ -3484,7 +3180,38 @@ components: - greater_than - less_than notifications: - $ref: '#/components/schemas/notification' + type: object + description: The notification settings for a trigger alert. + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. + example: + - bob@example.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + format: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + format: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ period: type: string example: 2m @@ -3505,43 +3232,189 @@ components: policies: type: array items: - $ref: '#/components/schemas/alert_policy' + type: object + required: + - uuid + - type + - description + - compare + - value + - window + - entities + - tags + - alerts + - enabled + properties: + alerts: + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + compare: + type: string + example: GreaterThan + enum: + - GreaterThan + - LessThan + description: + type: string + example: CPU Alert + enabled: + type: boolean + example: true + entities: + type: array + items: + type: string + example: + - '192018292' + tags: + type: array + items: + type: string + example: + - droplet_tag + type: + type: string + enum: + - v1/insights/droplet/load_1 + - v1/insights/droplet/load_5 + - v1/insights/droplet/load_15 + - v1/insights/droplet/memory_utilization_percent + - v1/insights/droplet/disk_utilization_percent + - v1/insights/droplet/cpu + - v1/insights/droplet/disk_read + - v1/insights/droplet/disk_write + - v1/insights/droplet/public_outbound_bandwidth + - v1/insights/droplet/public_inbound_bandwidth + - v1/insights/droplet/private_outbound_bandwidth + - v1/insights/droplet/private_inbound_bandwidth + - v1/insights/lbaas/avg_cpu_utilization_percent + - v1/insights/lbaas/connection_utilization_percent + - v1/insights/lbaas/droplet_health + - v1/insights/lbaas/tls_connections_per_second_utilization_percent + - v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx + - v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx + - v1/insights/lbaas/increase_in_http_error_rate_count_5xx + - v1/insights/lbaas/increase_in_http_error_rate_count_4xx + - v1/insights/lbaas/high_http_request_response_time + - v1/insights/lbaas/high_http_request_response_time_50p + - v1/insights/lbaas/high_http_request_response_time_95p + - v1/insights/lbaas/high_http_request_response_time_99p + - v1/dbaas/alerts/load_15_alerts + - v1/dbaas/alerts/memory_utilization_alerts + - v1/dbaas/alerts/disk_utilization_alerts + - v1/dbaas/alerts/cpu_alerts + - v1/droplet/autoscale_alerts/current_instances + - v1/droplet/autoscale_alerts/target_instances + - v1/droplet/autoscale_alerts/current_cpu_utilization + - v1/droplet/autoscale_alerts/target_cpu_utilization + - v1/droplet/autoscale_alerts/current_memory_utilization + - v1/droplet/autoscale_alerts/target_memory_utilization + - v1/droplet/autoscale_alerts/scale_up + - v1/droplet/autoscale_alerts/scale_down + example: v1/insights/droplet/cpu + uuid: + type: string + example: 78b3da62-27e5-49ba-ac70-5db0b5935c64 + value: + type: number + format: float + example: 80 + window: + type: string + enum: + - 5m + - 10m + - 30m + - 1h + example: 5m pagination: type: object properties: links: - $ref: '#/components/schemas/page_links' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: type: object properties: meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total + type: object + description: Information about the response itself. + required: + - total + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - meta error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -3562,7 +3435,35 @@ components: - enabled properties: alerts: - $ref: '#/components/schemas/alerts' + type: object + required: + - slack + - email + properties: + email: + description: An email to notify on an alert trigger. + example: + - bob@exmaple.com + type: array + items: + type: string + slack: + type: array + description: Slack integration details. + items: + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ compare: type: string example: GreaterThan @@ -3659,7 +3560,19 @@ components: type: array description: Slack integration details. items: - $ref: '#/components/schemas/slack_details' + type: object + required: + - url + - channel + properties: + channel: + type: string + example: Production Alerts + description: Slack channel to notify of an alert trigger. + url: + type: string + description: Slack Webhook URL. + example: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ metrics: type: object required: @@ -3667,7 +3580,46 @@ components: - data properties: data: - $ref: '#/components/schemas/metrics_data' + type: object + required: + - resultType + - result + properties: + result: + type: array + description: Result of query. + items: + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string + resultType: + type: string + enum: + - matrix + example: matrix status: type: string example: success @@ -3681,9 +3633,7 @@ components: properties: credentials: type: object - description: >- - Credentials for an OpenSearch cluster user. Optional if - `cluster_uuid` is passed. + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. properties: username: type: string @@ -3728,46 +3678,225 @@ components: enum: - opensearch_dbaas - opensearch_ext - description: > - The destination type. `opensearch_dbaas` for a DigitalOcean managed - OpenSearch - + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch cluster or `opensearch_ext` for an externally managed one. example: opensearch_dbaas config: - $ref: '#/components/schemas/opensearch_config_omit_credentials' + type: object + description: OpenSearch destination configuration with `credentials` omitted. + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: Number of days to retain logs in OpenSearch. + example: 14 + default: 14 urn: type: string - pattern: >- - ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* example: do:droplet:13457723 - description: >- - The uniform resource name (URN) for the resource in the format - do:resource_type:resource_id. + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. sinks_response: type: object required: - urn properties: destination: - $ref: '#/components/schemas/destination' + type: object + required: + - config + properties: + id: + type: string + description: A unique identifier for a destination. + example: 01f30bfa-319a-4769-ba95-9d43971fb514 + name: + type: string + description: destination name + example: managed_opensearch_cluster + type: + type: string + enum: + - opensearch_dbaas + - opensearch_ext + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch + cluster or `opensearch_ext` for an externally managed one. + example: opensearch_dbaas + config: + type: object + required: + - endpoint + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: 'Number of days to retain logs in OpenSearch (default: 14)' + example: 14 resources: type: array description: List of resources identified by their URNs. items: - $ref: '#/components/schemas/sink_resource' + type: object + required: + - urn + properties: + urn: + type: string + pattern: ^do:kubernetes:.* + example: do:kubernetes:f453aa14-646e-4cf8-8c62-75a19fb24ec2 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + name: + type: string + description: resource name + example: managed_kubernetes_cluster check: type: object - allOf: - - $ref: '#/components/schemas/check_base' - - $ref: '#/components/schemas/check_updatable' + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the check. + name: + type: string + example: Landing page check + description: A human-friendly display name. + type: + type: string + example: https + enum: + - ping + - http + - https + description: The type of health check to perform. + target: + type: string + format: url + example: https://www.landingpage.com + description: The endpoint to perform healthchecks on. + regions: + type: array + items: + type: string + enum: + - us_east + - us_west + - eu_west + - se_asia + example: + - us_east + - eu_west + description: An array containing the selected regions to perform healthchecks from. + enabled: + type: boolean + example: true + default: true + description: A boolean value indicating whether the check is enabled/disabled. state: type: object properties: regions: - $ref: '#/components/schemas/regional_state' + type: object + description: A map of region to regional state + properties: + us_east: + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 + eu_west: + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 previous_outage: - $ref: '#/components/schemas/previous_outage' + type: object + properties: + region: + type: string + example: us_east + started_at: + type: string + example: '2022-03-17T18:04:55Z' + ended_at: + type: string + example: '2022-03-17T18:06:55Z' + duration_seconds: + type: integer + example: 120 alert_base: type: object properties: @@ -3785,9 +3914,7 @@ components: - email properties: email: - description: >- - An email to notify on an alert trigger. The Email has to be one that - is verified on that DigitalOcean account. + description: An email to notify on an alert trigger. The Email has to be one that is verified on that DigitalOcean account. example: - bob@example.com type: array @@ -3817,8 +3944,26 @@ components: properties: pages: anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 - {} example: pages: @@ -3856,7 +4001,32 @@ components: type: array description: Result of query. items: - $ref: '#/components/schemas/metrics_result' + type: object + required: + - metric + - values + properties: + metric: + type: object + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. + additionalProperties: + type: string + example: + host_id: '19201920' + values: + type: array + description: An array of values for the metric. + example: + - - 1435781430 + - '1' + - - 1435781445 + - '1' + items: + type: array + items: + oneOf: + - type: integer + - type: string resultType: type: string enum: @@ -3909,14 +4079,49 @@ components: enum: - opensearch_dbaas - opensearch_ext - description: > - The destination type. `opensearch_dbaas` for a DigitalOcean managed - OpenSearch - + description: | + The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch cluster or `opensearch_ext` for an externally managed one. example: opensearch_dbaas config: - $ref: '#/components/schemas/opensearch_config' + type: object + required: + - endpoint + properties: + id: + type: string + description: A unique identifier for a configuration. + example: 41078d41-165c-4cff-9f0a-19536e3e3d49 + credentials: + type: object + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. + properties: + username: + type: string + example: username + password: + type: string + example: password + endpoint: + type: string + example: example.com + description: host of the OpenSearch cluster + cluster_uuid: + type: string + example: 85148069-7e35-4999-80bd-6fa1637ca385 + description: A unique identifier for a managed OpenSearch cluster. + cluster_name: + type: string + example: managed_dbaas_cluster + description: Name of a managed OpenSearch cluster. + index_name: + type: string + description: OpenSearch index to send logs to. + example: logs + retention_days: + type: integer + description: 'Number of days to retain logs in OpenSearch (default: 14)' + example: 14 check_base: type: object properties: @@ -3931,9 +4136,37 @@ components: description: A map of region to regional state properties: us_east: - $ref: '#/components/schemas/region_state' + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 eu_west: - $ref: '#/components/schemas/region_state' + type: object + properties: + status: + type: string + example: UP + enum: + - DOWN + - UP + - CHECKING + status_changed_at: + type: string + example: '2022-03-17T22:28:51Z' + thirty_day_uptime_percentage: + type: number + example: 97.99 previous_outage: type: object properties: @@ -3950,13 +4183,27 @@ components: type: integer example: 120 forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' + type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' + type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 metrics_result: type: object required: @@ -3965,12 +4212,7 @@ components: properties: metric: type: object - description: >- - An object containing the metric's labels. These labels are key/value - pairs that vary depending on the metric being queried. For example, - load balancer metrics contain a `lb_id` label, while Droplet metrics - contain a `host_id` label, and App Platform metrics contain a - `app_component` label. + description: An object containing the metric's labels. These labels are key/value pairs that vary depending on the metric being queried. For example, load balancer metrics contain a `lb_id` label, while Droplet metrics contain a `host_id` label, and App Platform metrics contain a `app_component` label. additionalProperties: type: string example: @@ -4000,9 +4242,7 @@ components: example: 41078d41-165c-4cff-9f0a-19536e3e3d49 credentials: type: object - description: >- - Credentials for an OpenSearch cluster user. Optional if - `cluster_uuid` is passed. + description: Credentials for an OpenSearch cluster user. Optional if `cluster_uuid` is passed. properties: username: type: string @@ -4098,8 +4338,7 @@ components: - bob@example.com slack: - channel: Production Alerts - url: >- - https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" + url: https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ" compare: GreaterThan description: CPU Alert enabled: true @@ -4112,14 +4351,10 @@ components: value: 80 window: 5m links: - first: >- - https//api.digitalocean.com/v2/monitoring/alerts?page=1&per_page=10 - prev: >- - https//api.digitalocean.com/v2/monitoring/alerts?page=2&per_page=10 - next: >- - https//api.digitalocean.com/v2/monitoring/alerts?page=4&per_page=10 - last: >- - https//api.digitalocean.com/v2/monitoring/alerts?page=5&per_page=10 + first: https//api.digitalocean.com/v2/monitoring/alerts?page=1&per_page=10 + prev: https//api.digitalocean.com/v2/monitoring/alerts?page=2&per_page=10 + next: https//api.digitalocean.com/v2/monitoring/alerts?page=4&per_page=10 + last: https//api.digitalocean.com/v2/monitoring/alerts?page=5&per_page=10 meta: total: 50 unauthorized: @@ -4228,9 +4463,7 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' droplet_bandwidth_metric_response: - description: >- - The response will be a JSON object with a key called `data` and - `status`. + description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4252,9 +4485,7 @@ components: Outbound Public Bandwidth: $ref: '#/components/examples/outbound_public_droplet_bandwidth' droplet_cpu_metric_response: - description: >- - The response will be a JSON object with a key called `data` and - `status`. + description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4270,9 +4501,7 @@ components: CPU: $ref: '#/components/examples/droplet_cpu' droplet_filesystem_metric_response: - description: >- - The response will be a JSON object with a key called `data` and - `status`. + description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4288,9 +4517,7 @@ components: Filesystem: $ref: '#/components/examples/droplet_filesystem' metric_response: - description: >- - The response will be a JSON object with a key called `data` and - `status`. + description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4303,9 +4530,7 @@ components: schema: $ref: '#/components/schemas/metrics' app_metric_response: - description: >- - The response will be a JSON object with a key called `data` and - `status`. + description: The response will be a JSON object with a key called `data` and `status`. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4355,9 +4580,7 @@ components: $ref: '#/components/schemas/destination_omit_credentials' type: object accepted: - description: >- - This does not indicate the success or failure of any operation, just - that the request has been accepted for processing. + description: This does not indicate the success or failure of any operation, just that the request has been accepted for processing. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4401,10 +4624,7 @@ components: $ref: '#/components/schemas/sinks_response' type: object all_checks: - description: >- - The response will be a JSON object with a key called `checks`. This will - be set to an array of objects, each of which will contain the standard - attributes associated with an uptime check + description: The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4425,10 +4645,7 @@ components: - $ref: '#/components/schemas/pagination' - $ref: '#/components/schemas/meta' existing_check: - description: >- - The response will be a JSON object with a key called `check`. The value - of this will be an object that contains the standard attributes - associated with an uptime check. + description: The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4444,10 +4661,7 @@ components: check: $ref: '#/components/schemas/check' existing_check_state: - description: >- - The response will be a JSON object with a key called `state`. The value - of this will be an object that contains the standard attributes - associated with an uptime check's state. + description: The response will be a JSON object with a key called `state`. The value of this will be an object that contains the standard attributes associated with an uptime check's state. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4463,10 +4677,7 @@ components: state: $ref: '#/components/schemas/state' all_alerts: - description: >- - The response will be a JSON object with a key called `alerts`. This will - be set to an array of objects, each of which will contain the standard - attributes associated with an uptime alert. + description: The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4487,10 +4698,7 @@ components: - $ref: '#/components/schemas/pagination' - $ref: '#/components/schemas/meta' existing_alert: - description: >- - The response will be a JSON object with a key called `alert`. The value - of this will be an object that contains the standard attributes - associated with an uptime alert. + description: The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -4859,28 +5067,17 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-stackQL-resources: alert_policies: id: digitalocean.monitoring.alert_policies @@ -4920,20 +5117,15 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/alert_policies/methods/monitoring_get_alert_policy - - $ref: >- - #/components/x-stackQL-resources/alert_policies/methods/monitoring_list_alert_policy + - $ref: '#/components/x-stackQL-resources/alert_policies/methods/monitoring_get_alert_policy' + - $ref: '#/components/x-stackQL-resources/alert_policies/methods/monitoring_list_alert_policy' insert: - - $ref: >- - #/components/x-stackQL-resources/alert_policies/methods/monitoring_create_alert_policy + - $ref: '#/components/x-stackQL-resources/alert_policies/methods/monitoring_create_alert_policy' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/alert_policies/methods/monitoring_delete_alert_policy + - $ref: '#/components/x-stackQL-resources/alert_policies/methods/monitoring_delete_alert_policy' replace: - - $ref: >- - #/components/x-stackQL-resources/alert_policies/methods/monitoring_update_alert_policy + - $ref: '#/components/x-stackQL-resources/alert_policies/methods/monitoring_update_alert_policy' droplet_bandwidth_metrics: id: digitalocean.monitoring.droplet_bandwidth_metrics name: droplet_bandwidth_metrics @@ -4947,8 +5139,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_bandwidth_metrics/methods/monitoring_get_droplet_bandwidth_metrics + - $ref: '#/components/x-stackQL-resources/droplet_bandwidth_metrics/methods/monitoring_get_droplet_bandwidth_metrics' insert: [] update: [] delete: [] @@ -4966,8 +5157,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_cpu_metrics/methods/monitoring_get_droplet_cpu_metrics + - $ref: '#/components/x-stackQL-resources/droplet_cpu_metrics/methods/monitoring_get_droplet_cpu_metrics' insert: [] update: [] delete: [] @@ -4985,8 +5175,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_filesystem_free_metrics/methods/monitoring_get_droplet_filesystem_free_metrics + - $ref: '#/components/x-stackQL-resources/droplet_filesystem_free_metrics/methods/monitoring_get_droplet_filesystem_free_metrics' insert: [] update: [] delete: [] @@ -5004,8 +5193,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_filesystem_size_metrics/methods/monitoring_get_droplet_filesystem_size_metrics + - $ref: '#/components/x-stackQL-resources/droplet_filesystem_size_metrics/methods/monitoring_get_droplet_filesystem_size_metrics' insert: [] update: [] delete: [] @@ -5023,8 +5211,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_load1_metrics/methods/monitoring_get_droplet_load1_metrics + - $ref: '#/components/x-stackQL-resources/droplet_load1_metrics/methods/monitoring_get_droplet_load1_metrics' insert: [] update: [] delete: [] @@ -5042,8 +5229,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_load5_metrics/methods/monitoring_get_droplet_load5_metrics + - $ref: '#/components/x-stackQL-resources/droplet_load5_metrics/methods/monitoring_get_droplet_load5_metrics' insert: [] update: [] delete: [] @@ -5061,8 +5247,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_load15_metrics/methods/monitoring_get_droplet_load15_metrics + - $ref: '#/components/x-stackQL-resources/droplet_load15_metrics/methods/monitoring_get_droplet_load15_metrics' insert: [] update: [] delete: [] @@ -5080,8 +5265,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_memory_cached_metrics/methods/monitoring_get_droplet_memory_cached_metrics + - $ref: '#/components/x-stackQL-resources/droplet_memory_cached_metrics/methods/monitoring_get_droplet_memory_cached_metrics' insert: [] update: [] delete: [] @@ -5099,8 +5283,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_memory_free_metrics/methods/monitoring_get_droplet_memory_free_metrics + - $ref: '#/components/x-stackQL-resources/droplet_memory_free_metrics/methods/monitoring_get_droplet_memory_free_metrics' insert: [] update: [] delete: [] @@ -5118,8 +5301,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_memory_total_metrics/methods/monitoring_get_droplet_memory_total_metrics + - $ref: '#/components/x-stackQL-resources/droplet_memory_total_metrics/methods/monitoring_get_droplet_memory_total_metrics' insert: [] update: [] delete: [] @@ -5137,8 +5319,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_memory_available_metrics/methods/monitoring_get_droplet_memory_available_metrics + - $ref: '#/components/x-stackQL-resources/droplet_memory_available_metrics/methods/monitoring_get_droplet_memory_available_metrics' insert: [] update: [] delete: [] @@ -5156,8 +5337,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/app_memory_percentage_metrics/methods/monitoring_get_app_memory_percentage_metrics + - $ref: '#/components/x-stackQL-resources/app_memory_percentage_metrics/methods/monitoring_get_app_memory_percentage_metrics' insert: [] update: [] delete: [] @@ -5175,8 +5355,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/app_cpu_percentage_metrics/methods/monitoring_get_app_cpupercentage_metrics + - $ref: '#/components/x-stackQL-resources/app_cpu_percentage_metrics/methods/monitoring_get_app_cpupercentage_metrics' insert: [] update: [] delete: [] @@ -5194,8 +5373,7 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/app_restart_count_metrics/methods/monitoring_get_app_restart_count_metrics + - $ref: '#/components/x-stackQL-resources/app_restart_count_metrics/methods/monitoring_get_app_restart_count_metrics' insert: [] update: [] delete: [] @@ -5207,15 +5385,13 @@ components: methods: monitoring_get_lb_frontend_connections_current: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_current/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_current/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_connections_current/methods/monitoring_get_lb_frontend_connections_current + - $ref: '#/components/x-stackQL-resources/lb_frontend_connections_current/methods/monitoring_get_lb_frontend_connections_current' insert: [] update: [] delete: [] @@ -5227,15 +5403,13 @@ components: methods: monitoring_get_lb_frontend_connections_limit: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_limit/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_connections_limit/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_connections_limit/methods/monitoring_get_lb_frontend_connections_limit + - $ref: '#/components/x-stackQL-resources/lb_frontend_connections_limit/methods/monitoring_get_lb_frontend_connections_limit' insert: [] update: [] delete: [] @@ -5247,15 +5421,13 @@ components: methods: monitoring_get_lb_frontend_cpu_utilization: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_cpu_utilization/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_cpu_utilization/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_cpu_utilization/methods/monitoring_get_lb_frontend_cpu_utilization + - $ref: '#/components/x-stackQL-resources/lb_frontend_cpu_utilization/methods/monitoring_get_lb_frontend_cpu_utilization' insert: [] update: [] delete: [] @@ -5267,15 +5439,13 @@ components: methods: monitoring_get_lb_frontend_firewall_dropped_bytes: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_bytes/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_bytes/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_firewall_dropped_bytes/methods/monitoring_get_lb_frontend_firewall_dropped_bytes + - $ref: '#/components/x-stackQL-resources/lb_frontend_firewall_dropped_bytes/methods/monitoring_get_lb_frontend_firewall_dropped_bytes' insert: [] update: [] delete: [] @@ -5287,15 +5457,13 @@ components: methods: monitoring_get_lb_frontend_firewall_dropped_packets: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_packets/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_firewall_dropped_packets/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_firewall_dropped_packets/methods/monitoring_get_lb_frontend_firewall_dropped_packets + - $ref: '#/components/x-stackQL-resources/lb_frontend_firewall_dropped_packets/methods/monitoring_get_lb_frontend_firewall_dropped_packets' insert: [] update: [] delete: [] @@ -5307,15 +5475,13 @@ components: methods: monitoring_get_lb_frontend_http_responses: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_responses/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_responses/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_http_responses/methods/monitoring_get_lb_frontend_http_responses + - $ref: '#/components/x-stackQL-resources/lb_frontend_http_responses/methods/monitoring_get_lb_frontend_http_responses' insert: [] update: [] delete: [] @@ -5327,15 +5493,13 @@ components: methods: monitoring_get_lb_frontend_http_requests_per_second: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_requests_per_second/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_http_requests_per_second/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_http_requests_per_second/methods/monitoring_get_lb_frontend_http_requests_per_second + - $ref: '#/components/x-stackQL-resources/lb_frontend_http_requests_per_second/methods/monitoring_get_lb_frontend_http_requests_per_second' insert: [] update: [] delete: [] @@ -5347,15 +5511,13 @@ components: methods: monitoring_get_lb_frontend_network_throughput_http: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_http/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_http/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_network_throughput_http/methods/monitoring_get_lb_frontend_network_throughput_http + - $ref: '#/components/x-stackQL-resources/lb_frontend_network_throughput_http/methods/monitoring_get_lb_frontend_network_throughput_http' insert: [] update: [] delete: [] @@ -5367,15 +5529,13 @@ components: methods: monitoring_get_lb_frontend_network_throughput_udp: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_udp/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_udp/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_network_throughput_udp/methods/monitoring_get_lb_frontend_network_throughput_udp + - $ref: '#/components/x-stackQL-resources/lb_frontend_network_throughput_udp/methods/monitoring_get_lb_frontend_network_throughput_udp' insert: [] update: [] delete: [] @@ -5387,15 +5547,13 @@ components: methods: monitoring_get_lb_frontend_network_throughput_tcp: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_tcp/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_network_throughput_tcp/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_network_throughput_tcp/methods/monitoring_get_lb_frontend_network_throughput_tcp + - $ref: '#/components/x-stackQL-resources/lb_frontend_network_throughput_tcp/methods/monitoring_get_lb_frontend_network_throughput_tcp' insert: [] update: [] delete: [] @@ -5407,15 +5565,13 @@ components: methods: monitoring_get_lb_frontend_nlb_tcp_network_throughput: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_tcp_network_throughput/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_tcp_network_throughput/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_nlb_tcp_network_throughput/methods/monitoring_get_lb_frontend_nlb_tcp_network_throughput + - $ref: '#/components/x-stackQL-resources/lb_frontend_nlb_tcp_network_throughput/methods/monitoring_get_lb_frontend_nlb_tcp_network_throughput' insert: [] update: [] delete: [] @@ -5427,15 +5583,13 @@ components: methods: monitoring_get_lb_frontend_nlb_udp_network_throughput: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_udp_network_throughput/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_nlb_udp_network_throughput/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_nlb_udp_network_throughput/methods/monitoring_get_lb_frontend_nlb_udp_network_throughput + - $ref: '#/components/x-stackQL-resources/lb_frontend_nlb_udp_network_throughput/methods/monitoring_get_lb_frontend_nlb_udp_network_throughput' insert: [] update: [] delete: [] @@ -5447,15 +5601,13 @@ components: methods: monitoring_get_lb_frontend_tls_connections_current: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_current/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_current/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_tls_connections_current/methods/monitoring_get_lb_frontend_tls_connections_current + - $ref: '#/components/x-stackQL-resources/lb_frontend_tls_connections_current/methods/monitoring_get_lb_frontend_tls_connections_current' insert: [] update: [] delete: [] @@ -5467,15 +5619,13 @@ components: methods: monitoring_get_lb_frontend_tls_connections_limit: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_limit/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_limit/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_tls_connections_limit/methods/monitoring_get_lb_frontend_tls_connections_limit + - $ref: '#/components/x-stackQL-resources/lb_frontend_tls_connections_limit/methods/monitoring_get_lb_frontend_tls_connections_limit' insert: [] update: [] delete: [] @@ -5487,15 +5637,13 @@ components: methods: monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_exceeding_rate_limit/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1frontend_tls_connections_exceeding_rate_limit/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_frontend_tls_connections_exceeding_rate_limit/methods/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit + - $ref: '#/components/x-stackQL-resources/lb_frontend_tls_connections_exceeding_rate_limit/methods/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit' insert: [] update: [] delete: [] @@ -5507,15 +5655,13 @@ components: methods: monitoring_get_lb_droplets_http_session_duration_avg: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_avg/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_avg/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_session_duration_avg/methods/monitoring_get_lb_droplets_http_session_duration_avg + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_session_duration_avg/methods/monitoring_get_lb_droplets_http_session_duration_avg' insert: [] update: [] delete: [] @@ -5527,15 +5673,13 @@ components: methods: monitoring_get_lb_droplets_http_session_duration_50p: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_50p/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_50p/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_session_duration_50p/methods/monitoring_get_lb_droplets_http_session_duration_50p + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_session_duration_50p/methods/monitoring_get_lb_droplets_http_session_duration_50p' insert: [] update: [] delete: [] @@ -5547,15 +5691,13 @@ components: methods: monitoring_get_lb_droplets_http_session_duration_95p: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_95p/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_session_duration_95p/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_session_duration_95p/methods/monitoring_get_lb_droplets_http_session_duration_95p + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_session_duration_95p/methods/monitoring_get_lb_droplets_http_session_duration_95p' insert: [] update: [] delete: [] @@ -5567,15 +5709,13 @@ components: methods: monitoring_get_lb_droplets_http_response_time_avg: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_avg/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_avg/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_response_time_avg/methods/monitoring_get_lb_droplets_http_response_time_avg + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_response_time_avg/methods/monitoring_get_lb_droplets_http_response_time_avg' insert: [] update: [] delete: [] @@ -5587,15 +5727,13 @@ components: methods: monitoring_get_lb_droplets_http_response_time_50p: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_50p/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_50p/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_response_time_50p/methods/monitoring_get_lb_droplets_http_response_time_50p + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_response_time_50p/methods/monitoring_get_lb_droplets_http_response_time_50p' insert: [] update: [] delete: [] @@ -5607,15 +5745,13 @@ components: methods: monitoring_get_lb_droplets_http_response_time_95p: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_95p/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_95p/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_response_time_95p/methods/monitoring_get_lb_droplets_http_response_time_95p + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_response_time_95p/methods/monitoring_get_lb_droplets_http_response_time_95p' insert: [] update: [] delete: [] @@ -5627,15 +5763,13 @@ components: methods: monitoring_get_lb_droplets_http_response_time_99p: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_99p/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_response_time_99p/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_response_time_99p/methods/monitoring_get_lb_droplets_http_response_time_99p + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_response_time_99p/methods/monitoring_get_lb_droplets_http_response_time_99p' insert: [] update: [] delete: [] @@ -5647,15 +5781,13 @@ components: methods: monitoring_get_lb_droplets_queue_size: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_queue_size/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_queue_size/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_queue_size/methods/monitoring_get_lb_droplets_queue_size + - $ref: '#/components/x-stackQL-resources/lb_droplets_queue_size/methods/monitoring_get_lb_droplets_queue_size' insert: [] update: [] delete: [] @@ -5667,15 +5799,13 @@ components: methods: monitoring_get_lb_droplets_http_responses: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_responses/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_http_responses/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_http_responses/methods/monitoring_get_lb_droplets_http_responses + - $ref: '#/components/x-stackQL-resources/lb_droplets_http_responses/methods/monitoring_get_lb_droplets_http_responses' insert: [] update: [] delete: [] @@ -5687,15 +5817,13 @@ components: methods: monitoring_get_lb_droplets_connections: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_connections/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_connections/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_connections/methods/monitoring_get_lb_droplets_connections + - $ref: '#/components/x-stackQL-resources/lb_droplets_connections/methods/monitoring_get_lb_droplets_connections' insert: [] update: [] delete: [] @@ -5707,15 +5835,13 @@ components: methods: monitoring_get_lb_droplets_health_checks: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_health_checks/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_health_checks/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_health_checks/methods/monitoring_get_lb_droplets_health_checks + - $ref: '#/components/x-stackQL-resources/lb_droplets_health_checks/methods/monitoring_get_lb_droplets_health_checks' insert: [] update: [] delete: [] @@ -5727,15 +5853,13 @@ components: methods: monitoring_get_lb_droplets_downtime: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_downtime/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1load_balancer~1droplets_downtime/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lb_droplets_downtime/methods/monitoring_get_lb_droplets_downtime + - $ref: '#/components/x-stackQL-resources/lb_droplets_downtime/methods/monitoring_get_lb_droplets_downtime' insert: [] update: [] delete: [] @@ -5747,15 +5871,13 @@ components: methods: monitoring_get_droplet_autoscale_current_instances: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_instances/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_instances/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_current_instances/methods/monitoring_get_droplet_autoscale_current_instances + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_current_instances/methods/monitoring_get_droplet_autoscale_current_instances' insert: [] update: [] delete: [] @@ -5767,15 +5889,13 @@ components: methods: monitoring_get_droplet_autoscale_target_instances: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_instances/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_instances/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_target_instances/methods/monitoring_get_droplet_autoscale_target_instances + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_target_instances/methods/monitoring_get_droplet_autoscale_target_instances' insert: [] update: [] delete: [] @@ -5787,15 +5907,13 @@ components: methods: monitoring_get_droplet_autoscale_current_cpu_utilization: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_cpu_utilization/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_cpu_utilization/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_current_cpu_utilization/methods/monitoring_get_droplet_autoscale_current_cpu_utilization + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_current_cpu_utilization/methods/monitoring_get_droplet_autoscale_current_cpu_utilization' insert: [] update: [] delete: [] @@ -5807,15 +5925,13 @@ components: methods: monitoring_get_droplet_autoscale_target_cpu_utilization: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_cpu_utilization/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_cpu_utilization/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_target_cpu_utilization/methods/monitoring_get_droplet_autoscale_target_cpu_utilization + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_target_cpu_utilization/methods/monitoring_get_droplet_autoscale_target_cpu_utilization' insert: [] update: [] delete: [] @@ -5827,15 +5943,13 @@ components: methods: monitoring_get_droplet_autoscale_current_memory_utilization: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_memory_utilization/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1current_memory_utilization/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_current_memory_utilization/methods/monitoring_get_droplet_autoscale_current_memory_utilization + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_current_memory_utilization/methods/monitoring_get_droplet_autoscale_current_memory_utilization' insert: [] update: [] delete: [] @@ -5847,15 +5961,13 @@ components: methods: monitoring_get_droplet_autoscale_target_memory_utilization: operation: - $ref: >- - #/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_memory_utilization/get + $ref: '#/paths/~1v2~1monitoring~1metrics~1droplet_autoscale~1target_memory_utilization/get' response: mediaType: application/json openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/droplet_autoscale_target_memory_utilization/methods/monitoring_get_droplet_autoscale_target_memory_utilization + - $ref: '#/components/x-stackQL-resources/droplet_autoscale_target_memory_utilization/methods/monitoring_get_droplet_autoscale_target_memory_utilization' insert: [] update: [] delete: [] @@ -5880,41 +5992,33 @@ components: objectKey: $.destinations monitoring_get_destination: operation: - $ref: >- - #/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/get + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.destination monitoring_update_destination: operation: - $ref: >- - #/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/post + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/post' response: mediaType: application/json openAPIDocKey: '204' monitoring_delete_destination: operation: - $ref: >- - #/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/delete + $ref: '#/paths/~1v2~1monitoring~1sinks~1destinations~1{destination_uuid}/delete' response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/destinations/methods/monitoring_get_destination - - $ref: >- - #/components/x-stackQL-resources/destinations/methods/monitoring_list_destinations + - $ref: '#/components/x-stackQL-resources/destinations/methods/monitoring_get_destination' + - $ref: '#/components/x-stackQL-resources/destinations/methods/monitoring_list_destinations' insert: - - $ref: >- - #/components/x-stackQL-resources/destinations/methods/monitoring_update_destination - - $ref: >- - #/components/x-stackQL-resources/destinations/methods/monitoring_create_destination + - $ref: '#/components/x-stackQL-resources/destinations/methods/monitoring_update_destination' + - $ref: '#/components/x-stackQL-resources/destinations/methods/monitoring_create_destination' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/destinations/methods/monitoring_delete_destination + - $ref: '#/components/x-stackQL-resources/destinations/methods/monitoring_delete_destination' replace: [] sinks: id: digitalocean.monitoring.sinks @@ -5950,15 +6054,12 @@ components: sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_get_sink' - - $ref: >- - #/components/x-stackQL-resources/sinks/methods/monitoring_list_sinks + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_list_sinks' insert: - - $ref: >- - #/components/x-stackQL-resources/sinks/methods/monitoring_create_sink + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_create_sink' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/sinks/methods/monitoring_delete_sink + - $ref: '#/components/x-stackQL-resources/sinks/methods/monitoring_delete_sink' replace: [] checks: id: digitalocean.monitoring.checks @@ -6002,15 +6103,12 @@ components: - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_get_check' - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_list_checks' insert: - - $ref: >- - #/components/x-stackQL-resources/checks/methods/uptime_create_check + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_create_check' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/checks/methods/uptime_delete_check + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_delete_check' replace: - - $ref: >- - #/components/x-stackQL-resources/checks/methods/uptime_update_check + - $ref: '#/components/x-stackQL-resources/checks/methods/uptime_update_check' check_states: id: digitalocean.monitoring.check_states name: check_states @@ -6025,8 +6123,7 @@ components: objectKey: $.state sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/check_states/methods/uptime_get_check_state + - $ref: '#/components/x-stackQL-resources/check_states/methods/uptime_get_check_state' insert: [] update: [] delete: [] @@ -6064,8 +6161,7 @@ components: openAPIDocKey: '200' uptime_delete_alert: operation: - $ref: >- - #/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/delete + $ref: '#/paths/~1v2~1uptime~1checks~1{check_id}~1alerts~1{alert_id}/delete' response: mediaType: application/json openAPIDocKey: '204' @@ -6074,14 +6170,11 @@ components: - $ref: '#/components/x-stackQL-resources/alerts/methods/uptime_get_alert' - $ref: '#/components/x-stackQL-resources/alerts/methods/uptime_list_alerts' insert: - - $ref: >- - #/components/x-stackQL-resources/alerts/methods/uptime_create_alert + - $ref: '#/components/x-stackQL-resources/alerts/methods/uptime_create_alert' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/alerts/methods/uptime_delete_alert + - $ref: '#/components/x-stackQL-resources/alerts/methods/uptime_delete_alert' replace: - - $ref: >- - #/components/x-stackQL-resources/alerts/methods/uptime_update_alert + - $ref: '#/components/x-stackQL-resources/alerts/methods/uptime_update_alert' servers: - url: https://api.digitalocean.com diff --git a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/vpcs.yaml b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/vpcs.yaml index b1d7bf1..e749c95 100644 --- a/provider-dev/openapi/src/digitalocean/v00.00.00000/services/vpcs.yaml +++ b/provider-dev/openapi/src/digitalocean/v00.00.00000/services/vpcs.yaml @@ -8,9 +8,7 @@ paths: get: operationId: vpcs_list summary: List All VPCs - description: >- - To list all of the VPCs on your account, send a GET request to - `/v2/vpcs`. + description: To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. tags: - VPCs parameters: @@ -72,19 +70,12 @@ paths: post: operationId: vpcs_create summary: Create a New VPC - description: > - To create a VPC, send a POST request to `/v2/vpcs` specifying the - attributes - + description: | + To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes in the table below in the JSON body. - - **Note:** If you do not currently have a VPC network in a specific - datacenter - - region, the first one that you create will be set as the default for - that - + **Note:** If you do not currently have a VPC network in a specific datacenter + region, the first one that you create will be set as the default for that region. The default VPC for a region cannot be changed or deleted. tags: - VPCs @@ -164,9 +155,7 @@ paths: get: operationId: vpcs_get summary: Retrieve an Existing VPC - description: >- - To show information about an existing VPC, send a GET request to - `/v2/vpcs/$VPC_ID`. + description: To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. tags: - VPCs parameters: @@ -222,9 +211,8 @@ paths: put: operationId: vpcs_update summary: Update a VPC - description: > - To update information about a VPC, send a PUT request to - `/v2/vpcs/$VPC_ID`. + description: | + To update information about a VPC, send a PUT request to `/v2/vpcs/$VPC_ID`. tags: - VPCs parameters: @@ -377,21 +365,13 @@ paths: delete: operationId: vpcs_delete summary: Delete a VPC - description: > - To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 - status - + description: | + To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status code with no body will be returned in response to a successful request. - - The default VPC for a region can not be deleted. Additionally, a VPC can - only - - be deleted if it does not contain any member resources. Attempting to - delete - + The default VPC for a region can not be deleted. Additionally, a VPC can only + be deleted if it does not contain any member resources. Attempting to delete a region's default VPC or a VPC that still has members will result in a - 403 Forbidden error response. tags: - VPCs @@ -449,25 +429,15 @@ paths: get: operationId: vpcs_list_members summary: List the Member Resources of a VPC - description: > - To list all of the resources that are members of a VPC, send a GET - request to - + description: | + To list all of the resources that are members of a VPC, send a GET request to `/v2/vpcs/$VPC_ID/members`. - To only list resources of a specific type that are members of the VPC, + included a `resource_type` query parameter. For example, to only list Droplets + in the VPC, send a GET request to `/v2/vpcs/$VPC_ID/members?resource_type=droplet`. - included a `resource_type` query parameter. For example, to only list - Droplets - - in the VPC, send a GET request to - `/v2/vpcs/$VPC_ID/members?resource_type=droplet`. - - - Only resources that you are authorized to see will be returned (e.g. to - see Droplets, - + Only resources that you are authorized to see will be returned (e.g. to see Droplets, you must have `droplet:read`). tags: - VPCs @@ -564,9 +534,7 @@ paths: type: string pattern: ^[a-zA-Z0-9\-\.]+$ example: nyc1-blr1-peering - description: >- - The name of the VPC peering. Must be unique and may only - contain alphanumeric characters, dashes, and periods. + description: The name of the VPC peering. Must be unique and may only contain alphanumeric characters, dashes, and periods. vpc_id: type: string format: uuid @@ -603,13 +571,9 @@ paths: patch: operationId: vpcs_patch_peerings summary: Update a VPC Peering - description: > - To update the name of a VPC peering in a particular VPC, send a PATCH - request - - to `/v2/vpcs/$VPC_ID/peerings/$VPC_PEERING_ID` with the new `name` in - the - + description: | + To update the name of a VPC peering in a particular VPC, send a PATCH request + to `/v2/vpcs/$VPC_ID/peerings/$VPC_PEERING_ID` with the new `name` in the request body. tags: - VPCs @@ -654,9 +618,7 @@ paths: get: operationId: vpcPeerings_list summary: List All VPC Peerings - description: >- - To list all of the VPC peerings on your account, send a GET request to - `/v2/vpc_peerings`. + description: To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. tags: - VPC Peerings parameters: @@ -689,15 +651,10 @@ paths: post: operationId: vpcPeerings_create summary: Create a New VPC Peering - description: > + description: | To create a new VPC Peering, send a POST request to `/v2/vpc_peerings` - - specifying a name and a list of two VPC IDs to peer. The response code, - 202 - - Accepted, does not indicate the success or failure of the operation, - just - + specifying a name and a list of two VPC IDs to peer. The response code, 202 + Accepted, does not indicate the success or failure of the operation, just that the request has been accepted for processing. tags: - VPC Peerings @@ -739,9 +696,8 @@ paths: get: operationId: vpcPeerings_get summary: Retrieve an Existing VPC Peering - description: > - To show information about an existing VPC Peering, send a GET request to - `/v2/vpc_peerings/$VPC_PEERING_ID`. + description: | + To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`. tags: - VPC Peerings parameters: @@ -772,10 +728,8 @@ paths: patch: operationId: vpcPeerings_patch summary: Update a VPC peering - description: > - To update the name of a VPC peering, send a PATCH request to - `/v2/vpc_peerings/$VPC_PEERING_ID` with the new `name` in the request - body. + description: | + To update the name of a VPC peering, send a PATCH request to `/v2/vpc_peerings/$VPC_PEERING_ID` with the new `name` in the request body. tags: - VPC Peerings parameters: @@ -817,9 +771,8 @@ paths: delete: operationId: vpcPeerings_delete summary: Delete a VPC peering - description: > - To delete a VPC peering, send a DELETE request to - `/v2/vpc_peerings/$VPC_PEERING_ID`. + description: | + To delete a VPC peering, send a DELETE request to `/v2/vpc_peerings/$VPC_PEERING_ID`. tags: - VPC Peerings parameters: @@ -856,16 +809,12 @@ components: type: string pattern: ^[a-zA-Z0-9\-\.]+$ example: env.prod-vpc - description: >- - The name of the VPC. Must be unique and may only contain - alphanumeric characters, dashes, and periods. + description: The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. description: type: string maxLength: 255 example: VPC for production environment - description: >- - A free-form text field for describing the VPC's purpose. It may be a - maximum of 255 characters. + description: A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. vpc_create: type: object properties: @@ -876,28 +825,14 @@ components: ip_range: type: string example: 10.10.10.0/24 - description: >- - The range of IP addresses in the VPC in CIDR notation. Network - ranges cannot overlap with other networks in the same account and - must be in range of private addresses as defined in RFC1918. It may - not be smaller than `/28` nor larger than `/16`. If no IP range is - specified, a `/20` network range is generated that won't conflict - with other VPC networks in your account. + description: The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. vpc_default: type: object properties: default: type: boolean example: true - description: >- - A boolean value indicating whether or not the VPC is the default - network for the region. All applicable resources are placed into the - default VPC network unless otherwise specified during their - creation. The `default` field cannot be unset from `true`. If you - want to set a new default VPC network, update the `default` field of - another VPC network in the same region. The previous network's - `default` field will be set to `false` when a new default VPC has - been defined. + description: A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. vpc_peering_updatable: type: object properties: @@ -905,9 +840,7 @@ components: type: string pattern: ^[a-zA-Z0-9\-]+$ example: nyc1-blr1-peering - description: >- - The name of the VPC peering. Must be unique within the team and may - only contain alphanumeric characters and dashes. + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. vpc_peering_create: type: object properties: @@ -924,47 +857,107 @@ components: description: An array of the two peered VPCs IDs. vpc: type: object - allOf: - - $ref: '#/components/schemas/vpc_updatable' - - $ref: '#/components/schemas/vpc_create' - - $ref: '#/components/schemas/vpc_default' - - $ref: '#/components/schemas/vpc_base' + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-\.]+$ + example: env.prod-vpc + description: The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. + description: + type: string + maxLength: 255 + example: VPC for production environment + description: A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. + region: + type: string + example: nyc1 + description: The slug identifier for the region where the VPC will be created. + ip_range: + type: string + example: 10.10.10.0/24 + description: The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. + default: + type: boolean + example: true + description: A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC. + urn: + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. pagination: type: object properties: links: - $ref: '#/components/schemas/page_links' + type: object + properties: + pages: + anyOf: + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + - {} + example: + pages: + first: https://api.digitalocean.com/v2/account/keys?page=1 + prev: https://api.digitalocean.com/v2/account/keys?page=2 meta: type: object properties: meta: - allOf: - - $ref: '#/components/schemas/meta_properties' - - required: - - total + type: object + description: Information about the response itself. + required: + - total + properties: + total: + description: Number of objects returned by the request. + type: integer + example: 1 required: - meta error: type: object properties: id: - description: >- - A short identifier corresponding to the HTTP status code returned. - For example, the ID for a response returning a 404 status code - would be "not_found." + description: A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." type: string example: not_found message: - description: >- - A message providing additional information about the error, - including details to help resolve it when possible. + description: A message providing additional information about the error, including details to help resolve it when possible. type: string example: The resource you were accessing could not be found. request_id: - description: >- - Optionally, some endpoints may include a request ID that should be - provided when reporting bugs or opening support tickets to help - identify the issue. + description: Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. type: string example: 4d9d8375-3c56-4925-a3e7-eb137fed17e9 required: @@ -978,24 +971,57 @@ components: example: nyc1-load-balancer-01 description: The name of the resource. urn: - $ref: '#/components/schemas/urn' + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. created_at: type: string example: '2020-03-13T19:30:48Z' - description: >- - A time value given in ISO8601 combined date and time format that - represents when the resource was created. + description: A time value given in ISO8601 combined date and time format that represents when the resource was created. vpc_peering: type: object - allOf: - - $ref: '#/components/schemas/vpc_peering_base' - - $ref: '#/components/schemas/vpc_peering_create' - - $ref: '#/components/schemas/vpc_peering_updatable' + properties: + id: + type: string + format: uuid + readOnly: true + example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + description: A unique ID that can be used to identify and reference the VPC peering. + created_at: + type: string + format: date-time + readOnly: true + example: '2020-03-13T19:20:47.442049222Z' + description: A time value given in ISO8601 combined date and time format. + status: + type: string + enum: + - PROVISIONING + - ACTIVE + - DELETING + readOnly: true + example: ACTIVE + description: The current status of the VPC peering. + vpc_ids: + type: array + items: + type: string + format: uuid + minItems: 2 + maxItems: 2 + example: + - c140286f-e6ce-4131-8b7b-df4590ce8d6a + - 994a2735-dc84-11e8-80bc-3cfdfea9fba1 + description: An array of the two peered VPCs IDs. + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + example: nyc1-blr1-peering + description: The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. region_slug: type: string - description: >- - The slug identifier for the region where the resource will initially be - available. + description: The slug identifier for the region where the resource will initially be available. enum: - ams1 - ams2 @@ -1023,7 +1049,10 @@ components: example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 description: A unique ID that can be used to identify and reference the VPC. urn: - $ref: '#/components/schemas/urn' + type: string + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + example: do:droplet:13457723 + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. created_at: type: string format: date-time @@ -1035,8 +1064,26 @@ components: properties: pages: anyOf: - - $ref: '#/components/schemas/forward_links' - - $ref: '#/components/schemas/backward_links' + - type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + - type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 - {} example: pages: @@ -1052,12 +1099,9 @@ components: example: 1 urn: type: string - pattern: >- - ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* + pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.* example: do:droplet:13457723 - description: >- - The uniform resource name (URN) for the resource in the format - do:resource_type:resource_id. + description: The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. vpc_peering_base: type: object properties: @@ -1066,9 +1110,7 @@ components: format: uuid readOnly: true example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - description: >- - A unique ID that can be used to identify and reference the VPC - peering. + description: A unique ID that can be used to identify and reference the VPC peering. created_at: type: string format: date-time @@ -1085,13 +1127,27 @@ components: example: ACTIVE description: The current status of the VPC peering. forward_links: - allOf: - - $ref: '#/components/schemas/link_to_last_page' - - $ref: '#/components/schemas/link_to_next_page' + type: object + properties: + last: + description: URI of the last page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 + next: + description: URI of the next page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=2 backward_links: - allOf: - - $ref: '#/components/schemas/link_to_first_page' - - $ref: '#/components/schemas/link_to_prev_page' + type: object + properties: + first: + description: URI of the first page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 + prev: + description: URI of the previous page of the results. + type: string + example: https://api.digitalocean.com/v2/images?page=1 link_to_last_page: type: object properties: @@ -1122,10 +1178,7 @@ components: example: https://api.digitalocean.com/v2/images?page=1 responses: all_vpcs: - description: >- - The response will be a JSON object with a key called `vpcs`. This will - be set to an array of objects, each of which will contain the standard - attributes associated with a VPC. + description: The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1255,10 +1308,7 @@ components: id: example_error message: some error message existing_vpc: - description: >- - The response will be a JSON object with a key called `vpc`. The value of - this will be an object that contains the standard attributes associated - with a VPC. + description: The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1283,19 +1333,12 @@ components: ratelimit-reset: $ref: '#/components/headers/ratelimit-reset' vpc_members: - description: > - The response will be a JSON object with a key called members. This will - be set - - to an array of objects, each of which will contain the standard - attributes - + description: | + The response will be a JSON object with a key called members. This will be set + to an array of objects, each of which will contain the standard attributes associated with a VPC member. - - Only resources that you are authorized to see will be returned (e.g. to - see Droplets, - + Only resources that you are authorized to see will be returned (e.g. to see Droplets, you must have `droplet:read`). headers: ratelimit-limit: @@ -1334,10 +1377,7 @@ components: meta: total: 4 vpc_peerings: - description: >- - The response will be a JSON object with a key called `peerings`. This - will be set to an array of objects, each of which will contain the - standard attributes associated with a VPC peering. + description: The response will be a JSON object with a key called `peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1377,9 +1417,7 @@ components: meta: total: 2 vpc_peering: - description: >- - The response will be a JSON object with a key called `peering`, - containing the standard attributes associated with a VPC peering. + description: The response will be a JSON object with a key called `peering`, containing the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1404,10 +1442,7 @@ components: created_at: '2024-01-09T20:44:32Z' status: PROVISIONING all_vpc_peerings: - description: >- - The response will be a JSON object with a key called `vpc_peerings`. - This will be set to an array of objects, each of which will contain the - standard attributes associated with a VPC peering. + description: The response will be a JSON object with a key called `vpc_peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1447,10 +1482,7 @@ components: meta: total: 2 provisioning_vpc_peering: - description: >- - The response will be a JSON object with a key called `vpc_peering`. The - value of this will be an object that contains the standard attributes - associated with a VPC peering. + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1475,10 +1507,7 @@ components: created_at: '2024-01-09T20:44:32Z' status: PROVISIONING active_vpc_peering: - description: >- - The response will be a JSON object with a key called `vpc_peering`. The - value of this will be an object that contains the standard attributes - associated with a VPC peering. + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1503,10 +1532,7 @@ components: created_at: '2024-01-09T20:44:32Z' status: ACTIVE deleting_vpc_peering: - description: >- - The response will be a JSON object with a key called `vpc_peering`. The - value of this will be an object that contains the standard attributes - associated with a VPC peering. + description: The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. headers: ratelimit-limit: $ref: '#/components/headers/ratelimit-limit' @@ -1591,28 +1617,17 @@ components: schema: type: integer example: 5000 - description: >- - The default limit on number of requests that can be made per hour and - per minute. Current rate limits are 5000 requests per hour and 250 - requests per minute. + description: The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. ratelimit-remaining: schema: type: integer example: 4816 - description: >- - The number of requests in your hourly quota that remain before you hit - your request limit. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. ratelimit-reset: schema: type: integer example: 1444931833 - description: >- - The time when the oldest request will expire. The value is given in Unix - epoch time. See - https://developers.digitalocean.com/documentation/v2/#rate-limit for - information about how requests expire. + description: The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. x-stackQL-resources: vpcs: id: digitalocean.vpcs.vpcs @@ -1714,14 +1729,11 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/peerings/methods/vpcs_list_peerings + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_list_peerings' insert: - - $ref: >- - #/components/x-stackQL-resources/peerings/methods/vpcs_create_peerings + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_create_peerings' update: - - $ref: >- - #/components/x-stackQL-resources/peerings/methods/vpcs_patch_peerings + - $ref: '#/components/x-stackQL-resources/peerings/methods/vpcs_patch_peerings' delete: [] replace: [] vpc_peerings: @@ -1763,19 +1775,14 @@ components: openAPIDocKey: '202' sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_get - - $ref: >- - #/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_list + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_get' + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_list' insert: - - $ref: >- - #/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_create + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_create' update: - - $ref: >- - #/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_patch + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_patch' delete: - - $ref: >- - #/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_delete + - $ref: '#/components/x-stackQL-resources/vpc_peerings/methods/vpc_peerings_delete' replace: [] servers: - url: https://api.digitalocean.com diff --git a/provider-dev/scripts/fix_broken_links.sh b/provider-dev/scripts/fix_broken_links.sh new file mode 100644 index 0000000..b171e35 --- /dev/null +++ b/provider-dev/scripts/fix_broken_links.sh @@ -0,0 +1,2 @@ +# fix relative broken links in generated markdown files +sed -i 's|(#tag/Domain-Records)|https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/|g' "provider-dev/openapi/src/digitalocean/v00.00.00000/services/compute.yaml" diff --git a/provider-dev/scripts/flatten_allOf.cjs b/provider-dev/scripts/flatten_allOf.cjs new file mode 100644 index 0000000..cfda5a6 --- /dev/null +++ b/provider-dev/scripts/flatten_allOf.cjs @@ -0,0 +1,92 @@ +#!/usr/bin/env node +const fs = require('fs'); +const path = require('path'); +const yaml = require('js-yaml'); +const SwaggerParser = require('@apidevtools/swagger-parser'); +const deno_openapi_dereferencer = require('@stackql/deno-openapi-dereferencer'); + +// List of files to process +const filesToProcess = [ + 'compute.yaml', + 'container_registry.yaml', + 'databases.yaml', + 'kubernetes.yaml', + 'monitoring.yaml', + 'vpcs.yaml' +]; + +async function processFile(filename) { + try { + // Define the file path + const yamlFilePath = path.resolve( + __dirname, + '../openapi/src/digitalocean/v00.00.00000/services', + filename + ); + + // Read and parse the original file + const originalContent = fs.readFileSync(yamlFilePath, 'utf8'); + const api = yaml.load(originalContent); + + // Create a copy of the original API object + const apiCopy = JSON.parse(JSON.stringify(api)); + + // Dereference the API + const dereferencedAPI = await SwaggerParser.dereference(api); + + // Only flatten allOf in components/schemas + if (dereferencedAPI.components && dereferencedAPI.components.schemas) { + // Extract the schemas section + const schemasSection = dereferencedAPI.components.schemas; + + // Flatten allOf in the schemas section + const flattenedSchemas = await deno_openapi_dereferencer.flattenAllOf({ + components: { schemas: schemasSection } + }); + + // Replace only the components/schemas section in the original API + apiCopy.components.schemas = flattenedSchemas.components.schemas; + } + + // Convert back to YAML and save to the original file + const newYaml = yaml.dump(apiCopy, { + lineWidth: -1, // Preserve line breaks + noRefs: true // Don't use YAML references + }); + + fs.writeFileSync(yamlFilePath, newYaml, 'utf8'); + console.log(`Successfully flattened allOf constructs in components/schemas for ${yamlFilePath}`); + return true; + } catch (error) { + console.error(`Error processing ${filename}:`, error); + return false; + } +} + +async function processAllFiles() { + console.log(`Processing ${filesToProcess.length} files...`); + + let successCount = 0; + let failureCount = 0; + + for (const filename of filesToProcess) { + console.log(`Processing ${filename}...`); + const success = await processFile(filename); + + if (success) { + successCount++; + } else { + failureCount++; + } + } + + console.log(`\nProcessing complete.`); + console.log(`Successfully processed: ${successCount} files`); + if (failureCount > 0) { + console.log(`Failed to process: ${failureCount} files`); + process.exit(1); + } +} + +// Run the function +processAllFiles(); \ No newline at end of file diff --git a/provider-dev/source/container_registries.yaml b/provider-dev/source/container_registry.yaml similarity index 99% rename from provider-dev/source/container_registries.yaml rename to provider-dev/source/container_registry.yaml index 37fb1ed..dd3a5ba 100644 --- a/provider-dev/source/container_registries.yaml +++ b/provider-dev/source/container_registry.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - title: registry API + title: container_registry API description: digitalocean API version: '2.0' paths: diff --git a/website/docs/index.md b/website/docs/index.md index 59d31cc..a3349cb 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -75,7 +75,7 @@ stackql.exe shell --auth=$Auth apps
billing
compute
-container_registries
+container_registry
databases
genai
kubernetes
diff --git a/website/docs/services/account/account/index.md b/website/docs/services/account/account/index.md index a72d28e..6a819ee 100644 --- a/website/docs/services/account/account/index.md +++ b/website/docs/services/account/account/index.md @@ -50,6 +50,51 @@ A JSON object keyed on account with an excerpt of the current user account data. + + + string + The display name for the current user. (example: Sammy the Shark) + + + + integer + The total number of Droplets current user or team may have active at one time.

Requires `droplet:read` scope. + + + + string + The email address used by the current user to register for DigitalOcean. (example: sammy@digitalocean.com) + + + + boolean + If true, the user has verified their account via email. False otherwise. + + + + integer + The total number of Floating IPs the current user or team may have.

Requires `reserved_ip:read` scope. + + + + string + This value is one of "active", "warning" or "locked". (default: active, example: active) + + + + string + A human-readable message giving more details about the status of the account. (example: ) + + + + object + When authorized in a team context, includes information about the current team. + + + + string + The unique universal identifier for the current user. (example: b6fr89dbf6d9156cace5f3c78dc9851d957381ef) + @@ -110,7 +155,15 @@ To show information about the current user account, send a GET request to `/v2/a ```sql SELECT -* +name, +droplet_limit, +email, +email_verified, +floating_ip_limit, +status, +status_message, +team, +uuid FROM digitalocean.account.account; ``` diff --git a/website/docs/services/account/actions/index.md b/website/docs/services/account/actions/index.md index 366b444..53a23a9 100644 --- a/website/docs/services/account/actions/index.md +++ b/website/docs/services/account/actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an actions resource. The following fields are returned by `SELECT` queries: - + -The results will be returned as a JSON object with an actions key. This will be set to an array filled with action objects containing the standard action attributes +The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. @@ -51,12 +51,57 @@ The results will be returned as a JSON object with an actions key. This will be + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
- + -The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. +The results will be returned as a JSON object with an actions key. This will be set to an array filled with action objects containing the standard action attributes @@ -67,6 +112,51 @@ The result will be a JSON object with an action key. This will be set to an act + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + + action_id - per_page, page - This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. + To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. - + - action_id - To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. + per_page, page + This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. @@ -138,33 +228,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. +To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.account.actions -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE action_id = '{{ action_id }}' -- required; ``` - + -To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. +This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.account.actions -WHERE action_id = '{{ action_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` diff --git a/website/docs/services/apps/alerts/index.md b/website/docs/services/apps/alerts/index.md index 8c413f8..239eac6 100644 --- a/website/docs/services/apps/alerts/index.md +++ b/website/docs/services/apps/alerts/index.md @@ -50,6 +50,41 @@ A JSON object with a `alerts` key. This is list of object `alerts`. + + + string + (title: The ID of the alert, example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf) + + + + string + (title: Name of component the alert belongs to, example: backend) + + + + array + (title: Emails for alerts to go to) + + + + string + (default: UNKNOWN, example: ACTIVE) + + + + object + + + + + array + (title: Slack Webhooks to send alerts to) + + + + object + +
@@ -115,7 +150,13 @@ List alerts associated to the app and any components. This includes configuratio ```sql SELECT -* +id, +component_name, +emails, +phase, +progress, +slack_webhooks, +spec FROM digitalocean.apps.alerts WHERE app_id = '{{ app_id }}' -- required; ``` diff --git a/website/docs/services/apps/apps/index.md b/website/docs/services/apps/apps/index.md index 1dc2d5b..7750d7b 100644 --- a/website/docs/services/apps/apps/index.md +++ b/website/docs/services/apps/apps/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an apps resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a `apps` key. This is list of object `apps`. +A JSON with key `app` @@ -51,12 +51,112 @@ A JSON object with a `apps` key. This is list of object `apps`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (title: The ID of the application, example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf)
stringRequires `project:read` scope. (example: 88b72d1a-b78a-4d9f-9090-b53c4399073f, title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure.)
object (title: An app deployment)
string (date-time) (title: The creation time of the app, example: 2020-11-19T20:27:18Z)
array (title: The dedicated egress IP addresses associated with the app.)
string (title: The default hostname on which the app is accessible, example: digitalocean.com)
array (title: Contains all domains for the app)
object (title: An app deployment)
string (date-time) (title: The creation time of the last deployment, example: 2020-11-19T20:27:18Z)
string (title: The live domain of the app, example: live_domain)
string (title: The live URL of the app, example: google.com)
string (title: The live URL base of the app, the URL excluding the path, example: digitalocean.com)
string (title: The ID of the account to which the application belongs, example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf)
objectThe most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. (title: An app deployment)
objectThe deployment that the app is pinned to. (title: An app deployment)
object (title: Geographical information about an app origin)
objectThe desired configuration of an application. (title: AppSpec)
string (title: The current pricing tier slug of the app, example: basic)
string (date-time) (title: Time of the app's last configuration update, example: 2020-12-01T00:42:16Z)
object
- + -A JSON with key `app` +A JSON object with a `apps` key. This is list of object `apps`. @@ -67,6 +167,106 @@ A JSON with key `app` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (title: The ID of the application, example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf)
stringRequires `project:read` scope. (example: 88b72d1a-b78a-4d9f-9090-b53c4399073f, title: The ID of the project the app is assigned to. This will be empty if there is a lookup failure.)
object (title: An app deployment)
string (date-time) (title: The creation time of the app, example: 2020-11-19T20:27:18Z)
array (title: The dedicated egress IP addresses associated with the app.)
string (title: The default hostname on which the app is accessible, example: digitalocean.com)
array (title: Contains all domains for the app)
object (title: An app deployment)
string (date-time) (title: The creation time of the last deployment, example: 2020-11-19T20:27:18Z)
string (title: The live domain of the app, example: live_domain)
string (title: The live URL of the app, example: google.com)
string (title: The live URL base of the app, the URL excluding the path, example: digitalocean.com)
string (title: The ID of the account to which the application belongs, example: 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf)
objectThe most recent pending deployment. For CreateApp and UpdateApp transactions this is guaranteed to reflect the associated deployment. (title: An app deployment)
objectThe deployment that the app is pinned to. (title: An app deployment)
object (title: Geographical information about an app origin)
objectThe desired configuration of an application. (title: AppSpec)
string (title: The current pricing tier slug of the app, example: basic)
string (date-time) (title: Time of the app's last configuration update, example: 2020-12-01T00:42:16Z)
object
@@ -87,13 +287,6 @@ The following methods are available for this resource: - - - - - page, per_page, with_projects - List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. - @@ -101,6 +294,13 @@ The following methods are available for this resource: name Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. + + + + + page, per_page, with_projects + List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. + @@ -210,35 +410,73 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. +Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. ```sql SELECT -* +id, +project_id, +active_deployment, +created_at, +dedicated_ips, +default_ingress, +domains, +in_progress_deployment, +last_deployment_created_at, +live_domain, +live_url, +live_url_base, +owner_uuid, +pending_deployment, +pinned_deployment, +region, +spec, +tier_slug, +updated_at, +vpc FROM digitalocean.apps.apps -WHERE page = '{{ page }}' -AND per_page = '{{ per_page }}' -AND with_projects = '{{ with_projects }}'; +WHERE id = '{{ id }}' -- required +AND name = '{{ name }}'; ``` - + -Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. +List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. ```sql SELECT -* +id, +project_id, +active_deployment, +created_at, +dedicated_ips, +default_ingress, +domains, +in_progress_deployment, +last_deployment_created_at, +live_domain, +live_url, +live_url_base, +owner_uuid, +pending_deployment, +pinned_deployment, +region, +spec, +tier_slug, +updated_at, +vpc FROM digitalocean.apps.apps -WHERE id = '{{ id }}' -- required -AND name = '{{ name }}'; +WHERE page = '{{ page }}' +AND per_page = '{{ per_page }}' +AND with_projects = '{{ with_projects }}'; ``` @@ -269,6 +507,8 @@ SELECT '{{ project_id }}', '{{ Accept }}', '{{ Content-Type }}' +RETURNING +app ; ```
@@ -319,7 +559,9 @@ data__spec = '{{ spec }}', data__update_all_source_versions = {{ update_all_source_versions }} WHERE id = '{{ id }}' --required -AND data__spec = '{{ spec }}' --required; +AND data__spec = '{{ spec }}' --required +RETURNING +app; ```
diff --git a/website/docs/services/apps/daily_bandwidth_metrics/index.md b/website/docs/services/apps/daily_bandwidth_metrics/index.md index abf0779..e7854b6 100644 --- a/website/docs/services/apps/daily_bandwidth_metrics/index.md +++ b/website/docs/services/apps/daily_bandwidth_metrics/index.md @@ -50,6 +50,16 @@ A JSON object with a `app_bandwidth_usage` key + + + array + A list of bandwidth usage details by app. + + + + string (date-time) + The date for the metrics data. (example: 2023-01-17T00:00:00Z) +
@@ -127,7 +137,8 @@ Retrieve daily bandwidth usage metrics for a single app. ```sql SELECT -* +app_bandwidth_usage, +date FROM digitalocean.apps.daily_bandwidth_metrics WHERE app_id = '{{ app_id }}' -- required AND date = '{{ date }}'; @@ -157,6 +168,9 @@ data__date SELECT '{{ app_ids }}' --required, '{{ date }}' +RETURNING +app_bandwidth_usage, +date ; ``` diff --git a/website/docs/services/apps/deployment_logs/index.md b/website/docs/services/apps/deployment_logs/index.md index 76a6448..01be5f5 100644 --- a/website/docs/services/apps/deployment_logs/index.md +++ b/website/docs/services/apps/deployment_logs/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a deployment_logs resource The following fields are returned by `SELECT` queries: - + A JSON object with urls that point to archived logs @@ -53,10 +53,20 @@ A JSON object with urls that point to archived logs + + + array + (title: A list of URLs to archived log files) + + + + string + A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. (example: ws://logs/build) + - + A JSON object with urls that point to archived logs @@ -69,6 +79,16 @@ A JSON object with urls that point to archived logs + + + array + (title: A list of URLs to archived log files) + + + + string + A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. (example: ws://logs/build) + @@ -85,6 +105,16 @@ A JSON object with urls that point to archived logs + + + array + (title: A list of URLs to archived log files) + + + + string + A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. (example: ws://logs/build) + @@ -101,6 +131,16 @@ A JSON object with urls that point to archived logs + + + array + (title: A list of URLs to archived log files) + + + + string + A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. (example: ws://logs/build) + @@ -122,18 +162,18 @@ The following methods are available for this resource: - + - app_id, component_name, type + app_id, deployment_id, component_name, type follow, pod_connection_timeout - Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. + Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. - + - app_id, deployment_id, component_name, type + app_id, component_name, type follow, pod_connection_timeout - Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. + Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. @@ -201,39 +241,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. +Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. ```sql SELECT -* +historic_urls, +live_url FROM digitalocean.apps.deployment_logs WHERE app_id = '{{ app_id }}' -- required +AND deployment_id = '{{ deployment_id }}' -- required AND component_name = '{{ component_name }}' -- required AND type = '{{ type }}' -- required AND follow = '{{ follow }}' AND pod_connection_timeout = '{{ pod_connection_timeout }}'; ``` - + -Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. +Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. ```sql SELECT -* +historic_urls, +live_url FROM digitalocean.apps.deployment_logs WHERE app_id = '{{ app_id }}' -- required -AND deployment_id = '{{ deployment_id }}' -- required AND component_name = '{{ component_name }}' -- required AND type = '{{ type }}' -- required AND follow = '{{ follow }}' @@ -246,7 +288,8 @@ Retrieve the logs of a past, in-progress, or active deployment. If a component n ```sql SELECT -* +historic_urls, +live_url FROM digitalocean.apps.deployment_logs WHERE app_id = '{{ app_id }}' -- required AND deployment_id = '{{ deployment_id }}' -- required @@ -261,7 +304,8 @@ Retrieve the logs of the active deployment if one exists. The response will incl ```sql SELECT -* +historic_urls, +live_url FROM digitalocean.apps.deployment_logs WHERE app_id = '{{ app_id }}' -- required AND type = '{{ type }}' -- required diff --git a/website/docs/services/apps/deployment_url/index.md b/website/docs/services/apps/deployment_url/index.md index 556e91b..ebfb57c 100644 --- a/website/docs/services/apps/deployment_url/index.md +++ b/website/docs/services/apps/deployment_url/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists a deployment_url resource. The following fields are returned by `SELECT` queries: - + A JSON object with a websocket URL that allows sending/receiving console input and output. @@ -51,10 +51,15 @@ A JSON object with a websocket URL that allows sending/receiving console input a + + + string + A websocket URL that allows sending/receiving console input and receiving console output. (example: wss://exec/?token=xxx) + - + A JSON object with a websocket URL that allows sending/receiving console input and output. @@ -67,6 +72,11 @@ A JSON object with a websocket URL that allows sending/receiving console input a + + + string + A websocket URL that allows sending/receiving console input and receiving console output. (example: wss://exec/?token=xxx) + @@ -88,18 +98,18 @@ The following methods are available for this resource: - + - app_id, component_name + app_id, deployment_id, component_name instance_name - Returns a websocket URL that allows sending/receiving console input and output to a component of the active deployment if one exists. + Returns a websocket URL that allows sending/receiving console input and output to a component of the specified deployment if one exists. Optionally, the instance_name parameter can be provided to retrieve the exec URL for a specific instance. Note that instances are ephemeral; therefore, we recommended to avoid making persistent changes or such scripting around them. - + - app_id, deployment_id, component_name + app_id, component_name instance_name - Returns a websocket URL that allows sending/receiving console input and output to a component of the specified deployment if one exists. Optionally, the instance_name parameter can be provided to retrieve the exec URL for a specific instance. Note that instances are ephemeral; therefore, we recommended to avoid making persistent changes or such scripting around them. + Returns a websocket URL that allows sending/receiving console input and output to a component of the active deployment if one exists. @@ -143,35 +153,35 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -Returns a websocket URL that allows sending/receiving console input and output to a component of the active deployment if one exists. +Returns a websocket URL that allows sending/receiving console input and output to a component of the specified deployment if one exists. Optionally, the instance_name parameter can be provided to retrieve the exec URL for a specific instance. Note that instances are ephemeral; therefore, we recommended to avoid making persistent changes or such scripting around them. ```sql SELECT -* +url FROM digitalocean.apps.deployment_url WHERE app_id = '{{ app_id }}' -- required +AND deployment_id = '{{ deployment_id }}' -- required AND component_name = '{{ component_name }}' -- required AND instance_name = '{{ instance_name }}'; ``` - + -Returns a websocket URL that allows sending/receiving console input and output to a component of the specified deployment if one exists. Optionally, the instance_name parameter can be provided to retrieve the exec URL for a specific instance. Note that instances are ephemeral; therefore, we recommended to avoid making persistent changes or such scripting around them. +Returns a websocket URL that allows sending/receiving console input and output to a component of the active deployment if one exists. ```sql SELECT -* +url FROM digitalocean.apps.deployment_url WHERE app_id = '{{ app_id }}' -- required -AND deployment_id = '{{ deployment_id }}' -- required AND component_name = '{{ component_name }}' -- required AND instance_name = '{{ instance_name }}'; ``` diff --git a/website/docs/services/apps/deployments/index.md b/website/docs/services/apps/deployments/index.md index 9fad5ee..239b439 100644 --- a/website/docs/services/apps/deployments/index.md +++ b/website/docs/services/apps/deployments/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a deployments resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a `deployments` key. This will be a list of all app deployments +A JSON of the requested deployment @@ -51,12 +51,87 @@ A JSON object with a `deployments` key. This will be a list of all app deploymen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (title: The ID of the deployment, example: b6bdf840-2854-4f87-a36c-5f231c617c84)
string (title: What caused this deployment to be created, example: commit 9a4df0b pushed to github/digitalocean/sample-golang)
string (title: The ID of a previous deployment that this deployment was cloned from, example: 3aa4d20e-5527-4c00-b496-601fbd22520a)
string (date-time) (title: The creation time of the deployment, example: 2020-07-28T18:00:00Z)
array (title: Functions components that are part of this deployment)
array (title: Job components that are part of this deployment)
string (default: UNKNOWN, example: ACTIVE)
string (date-time) (title: When the deployment phase was last updated, example: 0001-01-01T00:00:00Z)
object
array (title: Service components that are part of this deployment)
objectThe desired configuration of an application. (title: AppSpec)
array (title: Static Site components that are part of this deployment)
string (title: The current pricing tier slug of the deployment, example: basic)
string (date-time) (title: When the deployment was last updated, example: 2020-07-28T18:00:00Z)
array (title: Worker components that are part of this deployment)
- + -A JSON of the requested deployment +A JSON object with a `deployments` key. This will be a list of all app deployments @@ -67,6 +142,81 @@ A JSON of the requested deployment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (title: The ID of the deployment, example: b6bdf840-2854-4f87-a36c-5f231c617c84)
string (title: What caused this deployment to be created, example: commit 9a4df0b pushed to github/digitalocean/sample-golang)
string (title: The ID of a previous deployment that this deployment was cloned from, example: 3aa4d20e-5527-4c00-b496-601fbd22520a)
string (date-time) (title: The creation time of the deployment, example: 2020-07-28T18:00:00Z)
array (title: Functions components that are part of this deployment)
array (title: Job components that are part of this deployment)
string (default: UNKNOWN, example: ACTIVE)
string (date-time) (title: When the deployment phase was last updated, example: 0001-01-01T00:00:00Z)
object
array (title: Service components that are part of this deployment)
objectThe desired configuration of an application. (title: AppSpec)
array (title: Static Site components that are part of this deployment)
string (title: The current pricing tier slug of the deployment, example: basic)
string (date-time) (title: When the deployment was last updated, example: 2020-07-28T18:00:00Z)
array (title: Worker components that are part of this deployment)
@@ -87,13 +237,6 @@ The following methods are available for this resource: - - - - app_id - page, per_page, deployment_types - List all deployments of an app. - @@ -101,6 +244,13 @@ The following methods are available for this resource: Retrieve information about an app deployment. + + + + app_id + page, per_page, deployment_types + List all deployments of an app. + @@ -162,36 +312,64 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -List all deployments of an app. +Retrieve information about an app deployment. ```sql SELECT -* +id, +cause, +cloned_from, +created_at, +functions, +jobs, +phase, +phase_last_updated_at, +progress, +services, +spec, +static_sites, +tier_slug, +updated_at, +workers FROM digitalocean.apps.deployments WHERE app_id = '{{ app_id }}' -- required -AND page = '{{ page }}' -AND per_page = '{{ per_page }}' -AND deployment_types = '{{ deployment_types }}'; +AND deployment_id = '{{ deployment_id }}' -- required; ``` - + -Retrieve information about an app deployment. +List all deployments of an app. ```sql SELECT -* +id, +cause, +cloned_from, +created_at, +functions, +jobs, +phase, +phase_last_updated_at, +progress, +services, +spec, +static_sites, +tier_slug, +updated_at, +workers FROM digitalocean.apps.deployments WHERE app_id = '{{ app_id }}' -- required -AND deployment_id = '{{ deployment_id }}' -- required; +AND page = '{{ page }}' +AND per_page = '{{ per_page }}' +AND deployment_types = '{{ deployment_types }}'; ``` @@ -218,6 +396,8 @@ app_id SELECT {{ force_build }}, '{{ app_id }}' +RETURNING +deployment ; ```
diff --git a/website/docs/services/apps/health/index.md b/website/docs/services/apps/health/index.md index 1087567..0fee2e5 100644 --- a/website/docs/services/apps/health/index.md +++ b/website/docs/services/apps/health/index.md @@ -50,6 +50,16 @@ A JSON with key `app_health` + + + array + + + + + array + +
@@ -115,7 +125,8 @@ Retrieve information like health status, cpu and memory utilization of app compo ```sql SELECT -* +components, +functions_components FROM digitalocean.apps.health WHERE app_id = '{{ app_id }}' -- required; ``` diff --git a/website/docs/services/apps/instance_sizes/index.md b/website/docs/services/apps/instance_sizes/index.md index 9660257..e381b1b 100644 --- a/website/docs/services/apps/instance_sizes/index.md +++ b/website/docs/services/apps/instance_sizes/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an instance_sizes resource The following fields are returned by `SELECT` queries: - + -A JSON with key `instance_sizes` +A JSON with key `instance_size` @@ -51,12 +51,82 @@ A JSON with key `instance_sizes` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (title: A human-readable name of the instance size, example: name)
string (int64) (title: The bandwidth allowance in GiB for the instance size, example: 1)
string (default: UNSPECIFIED, title: - SHARED: Shared vCPU cores
- DEDICATED: Dedicated vCPU cores, example: SHARED)
string (int64) (title: The number of allotted vCPU cores, example: 3)
boolean (title: Indicates if the instance size is intended for deprecation)
string (int64) (title: The allotted memory in bytes, example: 1048)
boolean (title: Indicates if the instance size can enable autoscaling)
boolean (title: Indicates if the instance size allows more than one instance)
string (title: The slug of the instance size, example: apps-s-1vcpu-1gb)
string (title: The slug of the corresponding downgradable instance size on the lower tier, example: basic)
string (title: The slug of the tier to which this instance size belongs, example: basic)
string (title: The slug of the corresponding upgradable instance size on the higher tier, example: basic)
string (title: The cost of this instance size in USD per month, example: 23)
string (title: The cost of this instance size in USD per second, example: 0.00000001232)
- + -A JSON with key `instance_size` +A JSON with key `instance_sizes` @@ -67,6 +137,16 @@ A JSON with key `instance_size` + + + + + + + + + +
number (float)
array
@@ -88,18 +168,18 @@ The following methods are available for this resource: - + + slug - - List all instance sizes for `service`, `worker`, and `job` components. + Retrieve information about a specific instance size for `service`, `worker`, and `job` components. - + - slug - Retrieve information about a specific instance size for `service`, `worker`, and `job` components. + + List all instance sizes for `service`, `worker`, and `job` components. @@ -128,31 +208,45 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -List all instance sizes for `service`, `worker`, and `job` components. +Retrieve information about a specific instance size for `service`, `worker`, and `job` components. ```sql SELECT -* -FROM digitalocean.apps.instance_sizes; +name, +bandwidth_allowance_gib, +cpu_type, +cpus, +deprecation_intent, +memory_bytes, +scalable, +single_instance_only, +slug, +tier_downgrade_to, +tier_slug, +tier_upgrade_to, +usd_per_month, +usd_per_second +FROM digitalocean.apps.instance_sizes +WHERE slug = '{{ slug }}' -- required; ``` - + -Retrieve information about a specific instance size for `service`, `worker`, and `job` components. +List all instance sizes for `service`, `worker`, and `job` components. ```sql SELECT -* -FROM digitalocean.apps.instance_sizes -WHERE slug = '{{ slug }}' -- required; +discount_percent, +instance_sizes +FROM digitalocean.apps.instance_sizes; ``` diff --git a/website/docs/services/apps/instances/index.md b/website/docs/services/apps/instances/index.md index f8b99fc..17a8045 100644 --- a/website/docs/services/apps/instances/index.md +++ b/website/docs/services/apps/instances/index.md @@ -50,6 +50,26 @@ A JSON with key `instances` + + + string + Name of the component, from the app spec. (example: sample-golang) + + + + string + Name of the instance, which is a unique identifier for the instance. (example: sample-golang-76b84c7fb8-6p8kq) + + + + string + Supported compute component by DigitalOcean App Platform. (example: SERVICE) + + + + string + Readable identifier, an alias of the instance name, reference for mapping insights to instance names. (example: sample-golang-0) +
@@ -115,7 +135,10 @@ Retrieve the list of running instances for a given application, including instan ```sql SELECT -* +component_name, +instance_name, +component_type, +instance_alias FROM digitalocean.apps.instances WHERE app_id = '{{ app_id }}' -- required; ``` diff --git a/website/docs/services/apps/regions/index.md b/website/docs/services/apps/regions/index.md index 2a602e8..442e859 100644 --- a/website/docs/services/apps/regions/index.md +++ b/website/docs/services/apps/regions/index.md @@ -50,6 +50,46 @@ A JSON object with key `regions` + + + string + (title: The continent that this region is in, example: europe) + + + + array + (title: Data centers that are in this region) + + + + boolean + Whether or not the region is presented as the default. + + + + boolean + (title: Whether or not the region is open for new apps) + + + + string + (title: The flag of this region, example: ams) + + + + string + (title: A human-readable name of the region, example: ams) + + + + string + (title: Reason that this region is not available, example: to crowded) + + + + string + (title: The slug form of the region name, example: basic) +
@@ -110,7 +150,14 @@ List all regions supported by App Platform. ```sql SELECT -* +continent, +data_centers, +default, +disabled, +flag, +label, +reason, +slug FROM digitalocean.apps.regions; ```
diff --git a/website/docs/services/apps/rollbacks/index.md b/website/docs/services/apps/rollbacks/index.md index f606dde..11777c2 100644 --- a/website/docs/services/apps/rollbacks/index.md +++ b/website/docs/services/apps/rollbacks/index.md @@ -124,6 +124,8 @@ SELECT '{{ deployment_id }}', {{ skip_pin }}, '{{ app_id }}' +RETURNING +deployment ; ```
diff --git a/website/docs/services/billing/balances/index.md b/website/docs/services/billing/balances/index.md index 92d96fe..30e4cc3 100644 --- a/website/docs/services/billing/balances/index.md +++ b/website/docs/services/billing/balances/index.md @@ -50,6 +50,26 @@ The response will be a JSON object that contains the following attributes + + + string + Current balance of the customer's most recent billing activity. Does not reflect `month_to_date_usage`. (example: 12.23) + + + + string (date-time) + The time at which balances were most recently generated. (example: 2019-07-09T15:01:12Z) + + + + string + Balance as of the `generated_at` time. This value includes the `account_balance` and `month_to_date_usage`. (example: 23.44) + + + + string + Amount used in the current billing period as of the `generated_at` time. (example: 11.21) +
@@ -110,7 +130,10 @@ To retrieve the balances on a customer's account, send a GET request to `/v2/cus ```sql SELECT -* +account_balance, +generated_at, +month_to_date_balance, +month_to_date_usage FROM digitalocean.billing.balances; ```
diff --git a/website/docs/services/billing/billing_history/index.md b/website/docs/services/billing/billing_history/index.md index 869b2e8..44593de 100644 --- a/website/docs/services/billing/billing_history/index.md +++ b/website/docs/services/billing/billing_history/index.md @@ -50,6 +50,36 @@ The response will be a JSON object that contains the following attributes + + + string + ID of the invoice associated with the billing history entry, if applicable. (example: 123) + + + + string + Amount of the billing history entry. (example: 12.34) + + + + string (date-time) + Time the billing history entry occurred. (example: 2018-06-01T08:44:38Z) + + + + string + Description of the billing history entry. (example: Invoice for May 2018) + + + + string + UUID of the invoice associated with the billing history entry, if applicable. (example: example-uuid) + + + + string + Type of billing history entry. (example: Invoice) +
@@ -110,7 +140,12 @@ To retrieve a list of all billing history entries, send a GET request to `/v2/cu ```sql SELECT -* +invoice_id, +amount, +date, +description, +invoice_uuid, +type FROM digitalocean.billing.billing_history; ```
diff --git a/website/docs/services/billing/invoice_summary/index.md b/website/docs/services/billing/invoice_summary/index.md index a4b767e..0b600ea 100644 --- a/website/docs/services/billing/invoice_summary/index.md +++ b/website/docs/services/billing/invoice_summary/index.md @@ -50,6 +50,66 @@ To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/i + + + string + ID of the invoice (example: 123456789) + + + + string + Name of the DigitalOcean customer being invoiced. (example: Sammy Shark) + + + + string + Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. (example: 27.13) + + + + string + Billing period of usage for which the invoice is issued, in `YYYY-MM` format. (example: 2020-01) + + + + object + A summary of the credits and adjustments contributing to the invoice. + + + + string + UUID of the invoice (example: 22737513-0ea7-4206-8ceb-98a575af7681) + + + + object + A summary of the overages contributing to the invoice. + + + + object + A summary of the product usage charges contributing to the invoice. This will include an amount, and grouped aggregates by resource type under the `items` key. + + + + object + A summary of the taxes contributing to the invoice. + + + + object + The billing address of the customer being invoiced. + + + + string + Company of the DigitalOcean customer being invoiced, if set. (example: DigitalOcean) + + + + string + Email of the DigitalOcean customer being invoiced. (example: sammy@digitalocean.com) +
@@ -115,7 +175,18 @@ To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/in ```sql SELECT -* +invoice_id, +user_name, +amount, +billing_period, +credits_and_adjustments, +invoice_uuid, +overages, +product_charges, +taxes, +user_billing_address, +user_company, +user_email FROM digitalocean.billing.invoice_summary WHERE invoice_uuid = '{{ invoice_uuid }}' -- required; ``` diff --git a/website/docs/services/billing/invoices/index.md b/website/docs/services/billing/invoices/index.md index 6798e80..be169b7 100644 --- a/website/docs/services/billing/invoices/index.md +++ b/website/docs/services/billing/invoices/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an invoices resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object contains that contains a list of invoices under the `invoices` key, and the invoice preview under the `invoice_preview` key.
Each element contains the invoice summary attributes. +The response will be a JSON object with a key called `invoice_items`. This will be set to an array of invoice item objects. All resources will be shown on invoices, regardless of permissions. @@ -51,12 +51,67 @@ The response will be a JSON object contains that contains a list of invoices und + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringID of the resource billing in the invoice item if available. (example: 2353624)
stringName of the DigitalOcean Project this resource belongs to. (example: web)
stringBilled amount of this invoice item. Billed in USD. (example: 12.34)
stringDescription of the invoice item. (example: a56e086a317d8410c8b4cfd1f4dc9f82)
stringDuration of time this invoice item was used and subsequently billed. (example: 744)
stringUnit of time for duration. (example: Hours)
stringTime the invoice item stopped being billed for usage. (example: 2020-02-01T00:00:00Z)
stringDescription of the invoice item when it is a grouped set of usage, such as DOKS or databases. (example: my-doks-cluster)
stringName of the product being billed in the invoice item. (example: Kubernetes Clusters)
stringUUID of the resource billing in the invoice item if available. (example: 711157cb-37c8-4817-b371-44fa3504a39c)
stringTime the invoice item began to be billed for usage. (example: 2020-01-01T00:00:00Z)
- + -The response will be a JSON object with a key called `invoice_items`. This will be set to an array of invoice item objects. All resources will be shown on invoices, regardless of permissions. +The response will be a JSON object contains that contains a list of invoices under the `invoices` key, and the invoice preview under the `invoice_preview` key.
Each element contains the invoice summary attributes. @@ -67,6 +122,26 @@ The response will be a JSON object with a key called `invoice_items`. This will + + + + + + + + + + + + + + + + + + + +
objectThe invoice preview.
array
object
objectInformation about the response itself.
@@ -88,18 +163,18 @@ The following methods are available for this resource: - + - + invoice_uuid per_page, page - To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. + To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. - + - invoice_uuid + per_page, page - To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. + To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. @@ -152,34 +227,47 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. +To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. ```sql SELECT -* +resource_id, +project_name, +amount, +description, +duration, +duration_unit, +end_time, +group_description, +product, +resource_uuid, +start_time FROM digitalocean.billing.invoices -WHERE per_page = '{{ per_page }}' +WHERE invoice_uuid = '{{ invoice_uuid }}' -- required +AND per_page = '{{ per_page }}' AND page = '{{ page }}'; ``` - + -To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. +To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. ```sql SELECT -* +invoice_preview, +invoices, +links, +meta FROM digitalocean.billing.invoices -WHERE invoice_uuid = '{{ invoice_uuid }}' -- required -AND per_page = '{{ per_page }}' +WHERE per_page = '{{ per_page }}' AND page = '{{ page }}'; ``` diff --git a/website/docs/services/compute/cdn_endpoints/index.md b/website/docs/services/compute/cdn_endpoints/index.md index 63bbfe4..8d3e686 100644 --- a/website/docs/services/compute/cdn_endpoints/index.md +++ b/website/docs/services/compute/cdn_endpoints/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a cdn_endpoints resource. The following fields are returned by `SELECT` queries: - + -The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes. +The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes. @@ -51,12 +51,47 @@ The result will be a JSON object with an `endpoints` key. This will be set to an + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a CDN endpoint. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
string (uuid)The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. (example: 2018-03-21T16:02:37Z)
string (hostname)The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. (example: static.example.com)
string (hostname)The fully qualified domain name (FQDN) from which the CDN-backed content is served. (example: static-images.nyc3.cdn.digitaloceanspaces.com)
string (hostname)The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. (example: static-images.nyc3.digitaloceanspaces.com)
integerThe amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.
- + -The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes. +The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes. @@ -67,6 +102,41 @@ The response will be a JSON object with an `endpoint` key. This will be set to a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a CDN endpoint. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
string (uuid)The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. (example: 2018-03-21T16:02:37Z)
string (hostname)The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. (example: static.example.com)
string (hostname)The fully qualified domain name (FQDN) from which the CDN-backed content is served. (example: static-images.nyc3.cdn.digitaloceanspaces.com)
string (hostname)The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. (example: static-images.nyc3.digitaloceanspaces.com)
integerThe amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded.
@@ -88,18 +158,18 @@ The following methods are available for this resource: - + + cdn_id - per_page, page - To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. + To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. - + - cdn_id - To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. + per_page, page + To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. @@ -166,33 +236,45 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. +To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. ```sql SELECT -* +id, +certificate_id, +created_at, +custom_domain, +endpoint, +origin, +ttl FROM digitalocean.compute.cdn_endpoints -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE cdn_id = '{{ cdn_id }}' -- required; ``` - + -To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. +To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. ```sql SELECT -* +id, +certificate_id, +created_at, +custom_domain, +endpoint, +origin, +ttl FROM digitalocean.compute.cdn_endpoints -WHERE cdn_id = '{{ cdn_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -223,6 +305,8 @@ SELECT {{ ttl }}, '{{ certificate_id }}', '{{ custom_domain }}' +RETURNING +endpoint ; ```
@@ -278,7 +362,9 @@ data__ttl = {{ ttl }}, data__certificate_id = '{{ certificate_id }}', data__custom_domain = '{{ custom_domain }}' WHERE -cdn_id = '{{ cdn_id }}' --required; +cdn_id = '{{ cdn_id }}' --required +RETURNING +endpoint; ```
diff --git a/website/docs/services/compute/certificates/index.md b/website/docs/services/compute/certificates/index.md index bb8d816..a1c0c3c 100644 --- a/website/docs/services/compute/certificates/index.md +++ b/website/docs/services/compute/certificates/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a certificates resource. The following fields are returned by `SELECT` queries: - + -The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes. +The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes. @@ -51,12 +51,52 @@ The result will be a JSON object with a `certificates` key. This will be set to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a certificate. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
stringA unique human-readable name referring to a certificate. (example: web-cert-01)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the certificate was created. (example: 2017-02-08T16:02:37Z)
arrayAn array of fully qualified domain names (FQDNs) for which the certificate was issued.
string (date-time)A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. (example: 2017-02-22T00:23:00Z)
stringA unique identifier generated from the SHA-1 fingerprint of the certificate. (example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7)
stringA string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. (example: verified)
stringA string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. (example: lets_encrypt)
- + -The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes. +The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes. @@ -67,6 +107,46 @@ The response will be a JSON object with a `certificate` key. This will be set to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a certificate. (example: 892071a0-bb95-49bc-8021-3afd67a210bf)
stringA unique human-readable name referring to a certificate. (example: web-cert-01)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the certificate was created. (example: 2017-02-08T16:02:37Z)
arrayAn array of fully qualified domain names (FQDNs) for which the certificate was issued.
string (date-time)A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. (example: 2017-02-22T00:23:00Z)
stringA unique identifier generated from the SHA-1 fingerprint of the certificate. (example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7)
stringA string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. (example: verified)
stringA string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. (example: lets_encrypt)
@@ -88,18 +168,18 @@ The following methods are available for this resource: - + + certificate_id - per_page, page, name - To list all of the certificates available on your account, send a GET request to `/v2/certificates`. + To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. - + - certificate_id - To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. + per_page, page, name + To list all of the certificates available on your account, send a GET request to `/v2/certificates`. @@ -157,34 +237,48 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the certificates available on your account, send a GET request to `/v2/certificates`. +To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. ```sql SELECT -* +id, +name, +created_at, +dns_names, +not_after, +sha1_fingerprint, +state, +type FROM digitalocean.compute.certificates -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}' -AND name = '{{ name }}'; +WHERE certificate_id = '{{ certificate_id }}' -- required; ``` - + -To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. +To list all of the certificates available on your account, send a GET request to `/v2/certificates`. ```sql SELECT -* +id, +name, +created_at, +dns_names, +not_after, +sha1_fingerprint, +state, +type FROM digitalocean.compute.certificates -WHERE certificate_id = '{{ certificate_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}' +AND name = '{{ name }}'; ``` @@ -209,6 +303,8 @@ INSERT INTO digitalocean.compute.certificates ( ) SELECT +RETURNING +certificate ; ```
diff --git a/website/docs/services/compute/domain_records/index.md b/website/docs/services/compute/domain_records/index.md index df91171..c49a35f 100644 --- a/website/docs/services/compute/domain_records/index.md +++ b/website/docs/services/compute/domain_records/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a domain_records resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes. +The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes. @@ -51,12 +51,62 @@ The response will be a JSON object with a key called `domain_records`. The value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique identifier for each domain record.
stringThe host name, alias, or service being defined by the record. (example: @)
stringVariable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. (example: ns1.digitalocean.com)
integerAn unsigned integer between 0-255 used for CAA records.
integerThe port for SRV records.
integerThe priority for SRV and MX records.
stringThe parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef"
integerThis value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.
stringThe type of the DNS record. For example: A, CNAME, TXT, ... (example: NS)
integerThe weight for SRV records.
- + -The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes. +The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes. @@ -67,6 +117,56 @@ The response will be a JSON object with a key called `domain_record`. The value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique identifier for each domain record.
stringThe host name, alias, or service being defined by the record. (example: @)
stringVariable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. (example: ns1.digitalocean.com)
integerAn unsigned integer between 0-255 used for CAA records.
integerThe port for SRV records.
integerThe priority for SRV and MX records.
stringThe parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef"
integerThis value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.
stringThe type of the DNS record. For example: A, CNAME, TXT, ... (example: NS)
integerThe weight for SRV records.
@@ -87,13 +187,6 @@ The following methods are available for this resource: - - - - domain_name - name, type, per_page, page - To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`.
The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together.

- @@ -101,26 +194,33 @@ The following methods are available for this resource: To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. + + + + domain_name + name, type, per_page, page + To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`.
The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together.

+ domain_name - To create a new record to a domain, send a POST request to
`/v2/domains/$DOMAIN_NAME/records`.

The request must include all of the required fields for the domain record type
being added.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective required attributes.
+ To create a new record to a domain, send a POST request to
`/v2/domains/$DOMAIN_NAME/records`.

The request must include all of the required fields for the domain record type
being added.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective required attributes.
domain_name, domain_record_id, data__type - To update an existing record, send a PATCH request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective attributes.
+ To update an existing record, send a PATCH request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective attributes.
domain_name, domain_record_id, data__type - To update an existing record, send a PUT request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective attributes.
+ To update an existing record, send a PUT request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective attributes.
@@ -181,37 +281,55 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`.
The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together.

+To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. ```sql SELECT -* +id, +name, +data, +flags, +port, +priority, +tag, +ttl, +type, +weight FROM digitalocean.compute.domain_records WHERE domain_name = '{{ domain_name }}' -- required -AND name = '{{ name }}' -AND type = '{{ type }}' -AND per_page = '{{ per_page }}' -AND page = '{{ page }}'; +AND domain_record_id = '{{ domain_record_id }}' -- required; ```
- + -To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. +To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`.
The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together.

```sql SELECT -* +id, +name, +data, +flags, +port, +priority, +tag, +ttl, +type, +weight FROM digitalocean.compute.domain_records WHERE domain_name = '{{ domain_name }}' -- required -AND domain_record_id = '{{ domain_record_id }}' -- required; +AND name = '{{ name }}' +AND type = '{{ type }}' +AND per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -228,7 +346,7 @@ AND domain_record_id = '{{ domain_record_id }}' -- required; > -To create a new record to a domain, send a POST request to
`/v2/domains/$DOMAIN_NAME/records`.

The request must include all of the required fields for the domain record type
being added.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective required attributes.
+To create a new record to a domain, send a POST request to
`/v2/domains/$DOMAIN_NAME/records`.

The request must include all of the required fields for the domain record type
being added.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective required attributes.
```sql INSERT INTO digitalocean.compute.domain_records ( @@ -236,6 +354,8 @@ domain_name ) SELECT '{{ domain_name }}' +RETURNING +domain_record ; ```
@@ -263,7 +383,7 @@ SELECT > -To update an existing record, send a PATCH request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective attributes.
+To update an existing record, send a PATCH request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective attributes.
```sql UPDATE digitalocean.compute.domain_records @@ -280,7 +400,9 @@ data__tag = '{{ tag }}' WHERE domain_name = '{{ domain_name }}' --required AND domain_record_id = '{{ domain_record_id }}' --required -AND data__type = '{{ type }}' --required; +AND data__type = '{{ type }}' --required +RETURNING +domain_record; ```
@@ -296,7 +418,7 @@ AND data__type = '{{ type }}' --required; > -To update an existing record, send a PUT request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table](#tag/Domain-Records) for details regarding record
types and their respective attributes.
+To update an existing record, send a PUT request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for
the record type can be set to a new value for the record.

See the [attribute table]https://docs.digitalocean.com/products/networking/dns/how-to/manage-records/ for details regarding record
types and their respective attributes.
```sql REPLACE digitalocean.compute.domain_records @@ -313,7 +435,9 @@ data__tag = '{{ tag }}' WHERE domain_name = '{{ domain_name }}' --required AND domain_record_id = '{{ domain_record_id }}' --required -AND data__type = '{{ type }}' --required; +AND data__type = '{{ type }}' --required +RETURNING +domain_record; ```
diff --git a/website/docs/services/compute/domains/index.md b/website/docs/services/compute/domains/index.md index c67f942..fe6eb1f 100644 --- a/website/docs/services/compute/domains/index.md +++ b/website/docs/services/compute/domains/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a domains resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes. +The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain. @@ -51,12 +51,32 @@ The response will be a JSON object with a key called `domains`. The value of thi + + + + + + + + + + + + + + + + + + + +
stringThe name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. (example: example.com)
stringThis optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. (example: 192.0.2.1)
integerThis value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.
stringThis attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. (example: $ORIGIN example.com.
$TTL 1800
example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800
example.com. 1800 IN NS ns1.digitalocean.com.
example.com. 1800 IN NS ns2.digitalocean.com.
example.com. 1800 IN NS ns3.digitalocean.com.
example.com. 1800 IN A 1.2.3.4
)
- + -The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain. +The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes. @@ -67,6 +87,26 @@ The response will be a JSON object with a key called `domain`. The value of this + + + + + + + + + + + + + + + + + + + +
stringThe name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. (example: example.com)
stringThis optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. (example: 192.0.2.1)
integerThis value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested.
stringThis attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. (example: $ORIGIN example.com.
$TTL 1800
example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800
example.com. 1800 IN NS ns1.digitalocean.com.
example.com. 1800 IN NS ns2.digitalocean.com.
example.com. 1800 IN NS ns3.digitalocean.com.
example.com. 1800 IN A 1.2.3.4
)
@@ -88,18 +128,18 @@ The following methods are available for this resource: - + + domain_name - per_page, page - To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. + To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. - + - domain_name - To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. + per_page, page + To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. @@ -152,33 +192,39 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. +To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. ```sql SELECT -* +name, +ip_address, +ttl, +zone_file FROM digitalocean.compute.domains -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE domain_name = '{{ domain_name }}' -- required; ``` - + -To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. +To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. ```sql SELECT -* +name, +ip_address, +ttl, +zone_file FROM digitalocean.compute.domains -WHERE domain_name = '{{ domain_name }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -205,6 +251,8 @@ data__ip_address SELECT '{{ name }}', '{{ ip_address }}' +RETURNING +domain ; ```
diff --git a/website/docs/services/compute/droplet_actions/index.md b/website/docs/services/compute/droplet_actions/index.md index 9651b4e..6c3892c 100644 --- a/website/docs/services/compute/droplet_actions/index.md +++ b/website/docs/services/compute/droplet_actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a droplet_actions resource The following fields are returned by `SELECT` queries: - + -A JSON object with an `actions` key. +The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. @@ -51,12 +51,57 @@ A JSON object with an `actions` key. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
- + -The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. +A JSON object with an `actions` key. @@ -67,6 +112,51 @@ The result will be a JSON object with an action key. This will be set to an act + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -87,13 +177,6 @@ The following methods are available for this resource: - - - - droplet_id - per_page, page - To retrieve a list of all actions that have been executed for a Droplet, send
a GET request to `/v2/droplets/$DROPLET_ID/actions`.

The results will be returned as a JSON object with an `actions` key. This will
be set to an array filled with `action` objects containing the standard
`action` attributes.
- @@ -101,6 +184,13 @@ The following methods are available for this resource: To retrieve a Droplet action, send a GET request to
`/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`.

The response will be a JSON object with a key called `action`. The value will
be a Droplet action object.
+ + + + droplet_id + per_page, page + To retrieve a list of all actions that have been executed for a Droplet, send
a GET request to `/v2/droplets/$DROPLET_ID/actions`.

The results will be returned as a JSON object with an `actions` key. This will
be set to an array filled with `action` objects containing the standard
`action` attributes.
+ @@ -154,7 +244,7 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# string - Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`.<br>Requires `tag:read` scope. (example: env:prod) + Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`.
Requires `tag:read` scope. (example: env:prod) @@ -162,35 +252,51 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve a list of all actions that have been executed for a Droplet, send
a GET request to `/v2/droplets/$DROPLET_ID/actions`.

The results will be returned as a JSON object with an `actions` key. This will
be set to an array filled with `action` objects containing the standard
`action` attributes.
+To retrieve a Droplet action, send a GET request to
`/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`.

The response will be a JSON object with a key called `action`. The value will
be a Droplet action object.
```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.droplet_actions WHERE droplet_id = '{{ droplet_id }}' -- required -AND per_page = '{{ per_page }}' -AND page = '{{ page }}'; +AND action_id = '{{ action_id }}' -- required; ```
- + -To retrieve a Droplet action, send a GET request to
`/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`.

The response will be a JSON object with a key called `action`. The value will
be a Droplet action object.
+To retrieve a list of all actions that have been executed for a Droplet, send
a GET request to `/v2/droplets/$DROPLET_ID/actions`.

The results will be returned as a JSON object with an `actions` key. This will
be set to an array filled with `action` objects containing the standard
`action` attributes.
```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.droplet_actions WHERE droplet_id = '{{ droplet_id }}' -- required -AND action_id = '{{ action_id }}' -- required; +AND per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
diff --git a/website/docs/services/compute/droplet_autoscale_pool_history/index.md b/website/docs/services/compute/droplet_autoscale_pool_history/index.md index 5e542bc..193ef17 100644 --- a/website/docs/services/compute/droplet_autoscale_pool_history/index.md +++ b/website/docs/services/compute/droplet_autoscale_pool_history/index.md @@ -50,6 +50,41 @@ A JSON object with a key of `history`. + + + string + The unique identifier of the history event. (example: 01936530-4471-7b86-9634-32d8fcfecbc6) + + + + string (date-time) + The creation time of the history event in ISO8601 combined date and time format. (example: 2020-07-28T18:00:00Z) + + + + integer + The current number of Droplets in the autoscale pool. + + + + integer + The target number of Droplets for the autoscale pool after the scaling event. + + + + string + The reason for the scaling event. (example: CONFIGURATION_CHANGE) + + + + string + The status of the scaling event. (example: success) + + + + string (date-time) + The last updated time of the history event in ISO8601 combined date and time format. (example: 2020-07-28T18:00:00Z) +
@@ -125,7 +160,13 @@ To list all of the scaling history events of an autoscale pool, send a GET reque ```sql SELECT -* +history_event_id, +created_at, +current_instance_count, +desired_instance_count, +reason, +status, +updated_at FROM digitalocean.compute.droplet_autoscale_pool_history WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND per_page = '{{ per_page }}' diff --git a/website/docs/services/compute/droplet_autoscale_pool_members/index.md b/website/docs/services/compute/droplet_autoscale_pool_members/index.md index 5dccf56..0700b83 100644 --- a/website/docs/services/compute/droplet_autoscale_pool_members/index.md +++ b/website/docs/services/compute/droplet_autoscale_pool_members/index.md @@ -50,6 +50,36 @@ A JSON object with a key of `droplets`. + + + integer + The unique identifier of the Droplet. + + + + string (date-time) + The creation time of the Droplet in ISO8601 combined date and time format. (example: 2020-07-28T18:00:00Z) + + + + object + + + + + string + The health status of the Droplet. (example: active) + + + + string + The power status of the Droplet. (example: active) + + + + string (date-time) + The last updated time of the Droplet in ISO8601 combined date and time format. (example: 2020-07-28T18:00:00Z) +
@@ -125,7 +155,12 @@ To list the Droplets in an autoscale pool, send a GET request to `/v2/droplets/a ```sql SELECT -* +droplet_id, +created_at, +current_utilization, +health_status, +status, +updated_at FROM digitalocean.compute.droplet_autoscale_pool_members WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND per_page = '{{ per_page }}' diff --git a/website/docs/services/compute/droplet_autoscale_pools/index.md b/website/docs/services/compute/droplet_autoscale_pools/index.md index 886bc06..129bc26 100644 --- a/website/docs/services/compute/droplet_autoscale_pools/index.md +++ b/website/docs/services/compute/droplet_autoscale_pools/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a droplet_autoscale_pools The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `autoscale_pools`. +The response will be a JSON object with a key called `autoscale_pool`. This will be
set to a JSON object that contains the standard autoscale pool attributes.
@@ -51,12 +51,57 @@ A JSON object with a key of `autoscale_pools`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique identifier for each autoscale pool instance. This is automatically generated upon autoscale pool creation. (example: 0d3db13e-a604-4944-9827-7ec2642d32ac)
stringThe human-readable name set for the autoscale pool. (example: my-autoscale-pool)
integerThe number of active Droplets in the autoscale pool.
objectThe scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration).
string (date-time)A time value given in ISO8601 combined date and time format that represents when the autoscale pool was created. (title: The creation time of the autoscale pool, example: 2020-07-28T18:00:00Z)
object
object
stringThe current status of the autoscale pool. (example: active)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the autoscale pool was last updated. (title: When the autoscale pool was last updated, example: 2020-07-28T18:00:00Z)
- + -The response will be a JSON object with a key called `autoscale_pool`. This will be
set to a JSON object that contains the standard autoscale pool attributes.
+A JSON object with a key of `autoscale_pools`. @@ -67,6 +112,51 @@ The response will be a JSON object with a key called `autoscale_pool`. This will + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique identifier for each autoscale pool instance. This is automatically generated upon autoscale pool creation. (example: 0d3db13e-a604-4944-9827-7ec2642d32ac)
stringThe human-readable name set for the autoscale pool. (example: my-autoscale-pool)
integerThe number of active Droplets in the autoscale pool.
objectThe scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration).
string (date-time)A time value given in ISO8601 combined date and time format that represents when the autoscale pool was created. (title: The creation time of the autoscale pool, example: 2020-07-28T18:00:00Z)
object
object
stringThe current status of the autoscale pool. (example: active)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the autoscale pool was last updated. (title: When the autoscale pool was last updated, example: 2020-07-28T18:00:00Z)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + + autoscale_pool_id - per_page, page, name - To list all autoscale pools in your team, send a GET request to `/v2/droplets/autoscale`.
The response body will be a JSON object with a key of `autoscale_pools` containing an array of autoscale pool objects.
These each contain the standard autoscale pool attributes.
+ To show information about an individual autoscale pool, send a GET request to
`/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`.
- + - autoscale_pool_id - To show information about an individual autoscale pool, send a GET request to
`/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`.
+ per_page, page, name + To list all autoscale pools in your team, send a GET request to `/v2/droplets/autoscale`.
The response body will be a JSON object with a key of `autoscale_pools` containing an array of autoscale pool objects.
These each contain the standard autoscale pool attributes.
@@ -176,34 +266,50 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all autoscale pools in your team, send a GET request to `/v2/droplets/autoscale`.
The response body will be a JSON object with a key of `autoscale_pools` containing an array of autoscale pool objects.
These each contain the standard autoscale pool attributes.
+To show information about an individual autoscale pool, send a GET request to
`/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`.
```sql SELECT -* +id, +name, +active_resources_count, +config, +created_at, +current_utilization, +droplet_template, +status, +updated_at FROM digitalocean.compute.droplet_autoscale_pools -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}' -AND name = '{{ name }}'; +WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required; ```
- + -To show information about an individual autoscale pool, send a GET request to
`/v2/droplets/autoscale/$AUTOSCALE_POOL_ID`.
+To list all autoscale pools in your team, send a GET request to `/v2/droplets/autoscale`.
The response body will be a JSON object with a key of `autoscale_pools` containing an array of autoscale pool objects.
These each contain the standard autoscale pool attributes.
```sql SELECT -* +id, +name, +active_resources_count, +config, +created_at, +current_utilization, +droplet_template, +status, +updated_at FROM digitalocean.compute.droplet_autoscale_pools -WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}' +AND name = '{{ name }}'; ```
@@ -232,6 +338,8 @@ SELECT '{{ name }}' --required, '{{ config }}' --required, '{{ droplet_template }}' --required +RETURNING +autoscale_pool ; ```
@@ -280,7 +388,9 @@ WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' --required AND data__name = '{{ name }}' --required AND data__config = '{{ config }}' --required -AND data__droplet_template = '{{ droplet_template }}' --required; +AND data__droplet_template = '{{ droplet_template }}' --required +RETURNING +autoscale_pool; ```
diff --git a/website/docs/services/compute/droplet_backup_policies/index.md b/website/docs/services/compute/droplet_backup_policies/index.md index a95417f..38f4604 100644 --- a/website/docs/services/compute/droplet_backup_policies/index.md +++ b/website/docs/services/compute/droplet_backup_policies/index.md @@ -51,6 +51,26 @@ The response will be a JSON object with a key called `policy`. This will be
+ + + integer + The unique identifier for the Droplet. + + + + boolean + A boolean value indicating whether backups are enabled for the Droplet. + + + + object + An object specifying the backup policy for the Droplet. + + + + object + An object containing keys with the start and end times of the window during which the backup will occur. +
@@ -150,7 +170,10 @@ To show information about an individual Droplet's backup policy, send a GET
+ + + integer + The unique identifier for the snapshot or backup. + + + + string + A human-readable name for the snapshot. (example: web-01-1595954862243) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z) + + + + integer + The minimum size in GB required for a volume or Droplet to use this snapshot. + + + + array + An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + + + + number (float) + The billable size of the snapshot in gigabytes. + + + + string + Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. (example: snapshot) +
@@ -125,7 +160,13 @@ To retrieve any backups associated with a Droplet, send a GET request to
`/ ```sql SELECT -* +id, +name, +created_at, +min_disk_size, +regions, +size_gigabytes, +type FROM digitalocean.compute.droplet_backups WHERE droplet_id = '{{ droplet_id }}' -- required AND per_page = '{{ per_page }}' diff --git a/website/docs/services/compute/droplet_kernels/index.md b/website/docs/services/compute/droplet_kernels/index.md index da0fbac..77f413f 100644 --- a/website/docs/services/compute/droplet_kernels/index.md +++ b/website/docs/services/compute/droplet_kernels/index.md @@ -50,6 +50,21 @@ A JSON object that has a key called `kernels`. + + + integer + A unique number used to identify and reference a specific kernel. + + + + string + The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. (example: DigitalOcean GrubLoader v0.2 (20160714)) + + + + string + A standard kernel version string representing the version, patch, and release information. (example: 2016.07.13-DigitalOcean_loader_Ubuntu) +
@@ -125,7 +140,9 @@ To retrieve a list of all kernels available to a Droplet, send a GET request
+ + + integer + The unique identifier for the snapshot or backup. + + + + string + A human-readable name for the snapshot. (example: web-01-1595954862243) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z) + + + + integer + The minimum size in GB required for a volume or Droplet to use this snapshot. + + + + array + An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + + + + number (float) + The billable size of the snapshot in gigabytes. + + + + string + Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. (example: snapshot) +
@@ -125,7 +160,13 @@ To retrieve the snapshots that have been created from a Droplet, send a GET
+ + + string + The name of the Droplet backup plan. (example: daily) + + + + array + The day of the week the backup will occur. + + + + array + An array of integers representing the hours of the day that a backup can start. + + + + integer + The number of days that a backup will be kept. + + + + integer + The number of hours that a backup window is open. +
@@ -110,7 +135,11 @@ To retrieve a list of all supported Droplet backup policies, send a GET
req ```sql SELECT -* +name, +possible_days, +possible_window_starts, +retention_period_days, +window_length_hours FROM digitalocean.compute.droplet_supported_backup_policies; ```
diff --git a/website/docs/services/compute/droplets/index.md b/website/docs/services/compute/droplets/index.md index fed637a..d55a0a2 100644 --- a/website/docs/services/compute/droplets/index.md +++ b/website/docs/services/compute/droplets/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a droplets resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `droplets`. +The response will be a JSON object with a key called `droplet`. This will be
set to a JSON object that contains the standard Droplet attributes.
@@ -51,12 +51,127 @@ A JSON object with a key of `droplets`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.
stringThe human-readable name set for the Droplet instance. (example: example.com)
arrayAn array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Droplet was created. (example: 2020-07-21T18:37:44Z)
integerThe size of the Droplet's disk in gigabytes.
arrayAn array of objects containing information about the disks available to the Droplet.
arrayAn array of features enabled on this Droplet.
objectAn object containing information about the GPU capabilities of Droplets created with this size.
objectThe Droplet's image.
Requires `image:read` scope.
object**Note**: All Droplets created after March 2017 use internal kernels by default. These Droplets will have this attribute set to `null`. The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) for Droplets with externally managed kernels. This will initially be set to the kernel of the base image when the Droplet is created.
booleanA boolean value indicating whether the Droplet has been locked, preventing actions by users.
integerMemory of the Droplet in megabytes.
objectThe details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.
objectThe details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.
object
object
stringThe unique slug identifier for the size of this Droplet. (example: s-1vcpu-1gb)
arrayAn array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope.
stringA status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". (example: active)
arrayAn array of Tags the Droplet has been tagged with.
Requires `tag:read` scope.
integerThe number of virtual CPUs.
arrayA flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope.
stringA string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. (example: 760e09ef-dc84-11e8-981e-3cfdfeaae000)
- + -The response will be a JSON object with a key called `droplet`. This will be
set to a JSON object that contains the standard Droplet attributes.
+A JSON object with a key of `droplets`. @@ -67,6 +182,121 @@ The response will be a JSON object with a key called `droplet`. This will be
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.
stringThe human-readable name set for the Droplet instance. (example: example.com)
arrayAn array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Droplet was created. (example: 2020-07-21T18:37:44Z)
integerThe size of the Droplet's disk in gigabytes.
arrayAn array of objects containing information about the disks available to the Droplet.
arrayAn array of features enabled on this Droplet.
objectAn object containing information about the GPU capabilities of Droplets created with this size.
objectThe Droplet's image.
Requires `image:read` scope.
object**Note**: All Droplets created after March 2017 use internal kernels by default. These Droplets will have this attribute set to `null`. The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) for Droplets with externally managed kernels. This will initially be set to the kernel of the base image when the Droplet is created.
booleanA boolean value indicating whether the Droplet has been locked, preventing actions by users.
integerMemory of the Droplet in megabytes.
objectThe details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.
objectThe details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.
object
object
stringThe unique slug identifier for the size of this Droplet. (example: s-1vcpu-1gb)
arrayAn array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope.
stringA status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". (example: active)
arrayAn array of Tags the Droplet has been tagged with.
Requires `tag:read` scope.
integerThe number of virtual CPUs.
arrayA flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope.
stringA string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. (example: 760e09ef-dc84-11e8-981e-3cfdfeaae000)
@@ -88,18 +318,18 @@ The following methods are available for this resource: - + + droplet_id - per_page, page, tag_name, name, type - To list all Droplets in your account, send a GET request to `/v2/droplets`.

The response body will be a JSON object with a key of `droplets`. This will be
set to an array containing objects each representing a Droplet. These will
contain the standard Droplet attributes.

### Filtering Results by Tag

It's possible to request filtered results by including certain query parameters.
To only list Droplets assigned to a specific tag, include the `tag_name` query
parameter set to the name of the tag in your GET request. For example,
`/v2/droplets?tag_name=$TAG_NAME`.

### GPU Droplets

By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`.
+ To show information about an individual Droplet, send a GET request to
`/v2/droplets/$DROPLET_ID`.
- + - droplet_id - To show information about an individual Droplet, send a GET request to
`/v2/droplets/$DROPLET_ID`.
+ per_page, page, tag_name, name, type + To list all Droplets in your account, send a GET request to `/v2/droplets`.

The response body will be a JSON object with a key of `droplets`. This will be
set to an array containing objects each representing a Droplet. These will
contain the standard Droplet attributes.

### Filtering Results by Tag

It's possible to request filtered results by including certain query parameters.
To only list Droplets assigned to a specific tag, include the `tag_name` query
parameter set to the name of the tag in your GET request. For example,
`/v2/droplets?tag_name=$TAG_NAME`.

### GPU Droplets

By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`.
@@ -109,18 +339,18 @@ The following methods are available for this resource: To create a new Droplet, send a POST request to `/v2/droplets` setting the
required attributes.

A Droplet will be created using the provided information. The response body
will contain a JSON object with a key called `droplet`. The value will be an
object containing the standard attributes for your new Droplet. The response
code, 202 Accepted, does not indicate the success or failure of the operation,
just that the request has been accepted for processing. The `actions` returned
as part of the response's `links` object can be used to check the status
of the Droplet create event.

### Create Multiple Droplets

Creating multiple Droplets is very similar to creating a single Droplet.
Instead of sending `name` as a string, send `names` as an array of strings. A
Droplet will be created for each name you send using the associated
information. Up to ten Droplets may be created this way at a time.

Rather than returning a single Droplet, the response body will contain a JSON
array with a key called `droplets`. This will be set to an array of JSON
objects, each of which will contain the standard Droplet attributes. The
response code, 202 Accepted, does not indicate the success or failure of any
operation, just that the request has been accepted for processing. The array
of `actions` returned as part of the response's `links` object can be used to
check the status of each individual Droplet create event.
- + - tag_name + droplet_id - To delete **all** Droplets assigned to a specific tag, include the `tag_name`
query parameter set to the name of the tag in your DELETE request. For
example, `/v2/droplets?tag_name=$TAG_NAME`.

This endpoint requires `tag:read` scope.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
+ To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
- + - droplet_id + tag_name - To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
+ To delete **all** Droplets assigned to a specific tag, include the `tag_name`
query parameter set to the name of the tag in your DELETE request. For
example, `/v2/droplets?tag_name=$TAG_NAME`.

This endpoint requires `tag:read` scope.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
@@ -166,7 +396,7 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# string - Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`.<br>Requires `tag:read` scope. (example: env:prod) + Used to filter Droplets by a specific tag. Can not be combined with `name` or `type`.
Requires `tag:read` scope. (example: env:prod) @@ -179,36 +409,80 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all Droplets in your account, send a GET request to `/v2/droplets`.

The response body will be a JSON object with a key of `droplets`. This will be
set to an array containing objects each representing a Droplet. These will
contain the standard Droplet attributes.

### Filtering Results by Tag

It's possible to request filtered results by including certain query parameters.
To only list Droplets assigned to a specific tag, include the `tag_name` query
parameter set to the name of the tag in your GET request. For example,
`/v2/droplets?tag_name=$TAG_NAME`.

### GPU Droplets

By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`.
+To show information about an individual Droplet, send a GET request to
`/v2/droplets/$DROPLET_ID`.
```sql SELECT -* +id, +name, +backup_ids, +created_at, +disk, +disk_info, +features, +gpu_info, +image, +kernel, +locked, +memory, +networks, +next_backup_window, +region, +size, +size_slug, +snapshot_ids, +status, +tags, +vcpus, +volume_ids, +vpc_uuid FROM digitalocean.compute.droplets -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}' -AND tag_name = '{{ tag_name }}' -AND name = '{{ name }}' -AND type = '{{ type }}'; +WHERE droplet_id = '{{ droplet_id }}' -- required; ```
- + -To show information about an individual Droplet, send a GET request to
`/v2/droplets/$DROPLET_ID`.
+To list all Droplets in your account, send a GET request to `/v2/droplets`.

The response body will be a JSON object with a key of `droplets`. This will be
set to an array containing objects each representing a Droplet. These will
contain the standard Droplet attributes.

### Filtering Results by Tag

It's possible to request filtered results by including certain query parameters.
To only list Droplets assigned to a specific tag, include the `tag_name` query
parameter set to the name of the tag in your GET request. For example,
`/v2/droplets?tag_name=$TAG_NAME`.

### GPU Droplets

By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
the `type` query parameter to `gpus`. For example, `/v2/droplets?type=gpus`.
```sql SELECT -* +id, +name, +backup_ids, +created_at, +disk, +disk_info, +features, +gpu_info, +image, +kernel, +locked, +memory, +networks, +next_backup_window, +region, +size, +size_slug, +snapshot_ids, +status, +tags, +vcpus, +volume_ids, +vpc_uuid FROM digitalocean.compute.droplets -WHERE droplet_id = '{{ droplet_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}' +AND tag_name = '{{ tag_name }}' +AND name = '{{ name }}' +AND type = '{{ type }}'; ```
@@ -250,28 +524,28 @@ SELECT ## `DELETE` examples - + -To delete **all** Droplets assigned to a specific tag, include the `tag_name`
query parameter set to the name of the tag in your DELETE request. For
example, `/v2/droplets?tag_name=$TAG_NAME`.

This endpoint requires `tag:read` scope.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
+To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
```sql DELETE FROM digitalocean.compute.droplets -WHERE tag_name = '{{ tag_name }}' --required; +WHERE droplet_id = '{{ droplet_id }}' --required; ```
- + -To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
+To delete **all** Droplets assigned to a specific tag, include the `tag_name`
query parameter set to the name of the tag in your DELETE request. For
example, `/v2/droplets?tag_name=$TAG_NAME`.

This endpoint requires `tag:read` scope.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
```sql DELETE FROM digitalocean.compute.droplets -WHERE droplet_id = '{{ droplet_id }}' --required; +WHERE tag_name = '{{ tag_name }}' --required; ```
diff --git a/website/docs/services/compute/droplets_associated_resources/index.md b/website/docs/services/compute/droplets_associated_resources/index.md index 1113798..76220d8 100644 --- a/website/docs/services/compute/droplets_associated_resources/index.md +++ b/website/docs/services/compute/droplets_associated_resources/index.md @@ -50,6 +50,31 @@ A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys. + + + array + Floating IPs that are associated with this Droplet.
Requires `reserved_ip:read` scope. + + + + array + Reserved IPs that are associated with this Droplet.
Requires `reserved_ip:read` scope. + + + + array + Snapshots that are associated with this Droplet.
Requires `image:read` scope. + + + + array + Volume Snapshots that are associated with this Droplet.
Requires `block_storage_snapshot:read` scope. + + + + array + Volumes that are associated with this Droplet.
Requires `block_storage:read` scope. +
@@ -148,7 +173,11 @@ To list the associated billable resources that can be destroyed along with a
+ + + string + A unique ID that can be used to identify and reference a firewall. (example: bb4b2611-3d72-467b-8602-280330ecd65c) + + + + string + A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). (pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$, example: firewall) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the firewall was created. (example: 2020-05-23T21:24:00Z) + + + + array + An array containing the IDs of the Droplets assigned to the firewall.

Requires `droplet:read` scope. + + + + array + + + + + array + + + + + array + An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + + + + string + A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". (example: waiting) + + + + array + A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes. +
@@ -125,7 +170,15 @@ To retrieve a list of all firewalls available to a Droplet, send a GET request + + + integer + A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + + + + string + The human-readable name set for the Droplet instance. (example: example.com) + + + + array + An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires `image:read` scope. + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the Droplet was created. (example: 2020-07-21T18:37:44Z) + + + + integer + The size of the Droplet's disk in gigabytes. + + + + array + An array of objects containing information about the disks available to the Droplet. + + + + array + An array of features enabled on this Droplet. + + + + object + An object containing information about the GPU capabilities of Droplets created with this size. + + + + object + The Droplet's image.
Requires `image:read` scope. + + + + object + **Note**: All Droplets created after March 2017 use internal kernels by default. These Droplets will have this attribute set to `null`. The current [kernel](https://docs.digitalocean.com/products/droplets/how-to/kernel/) for Droplets with externally managed kernels. This will initially be set to the kernel of the base image when the Droplet is created. + + + + boolean + A boolean value indicating whether the Droplet has been locked, preventing actions by users. + + + + integer + Memory of the Droplet in megabytes. + + + + object + The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. + + + + object + The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. + + + + object + + + + + object + + + + + string + The unique slug identifier for the size of this Droplet. (example: s-1vcpu-1gb) + + + + array + An array of snapshot IDs of any snapshots created from the Droplet instance.
Requires `image:read` scope. + + + + string + A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". (example: active) + + + + array + An array of Tags the Droplet has been tagged with.
Requires `tag:read` scope. + + + + integer + The number of virtual CPUs. + + + + array + A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires `block_storage:read` scope. + + + + string + A string specifying the UUID of the VPC to which the Droplet is assigned.
Requires `vpc:read` scope. (example: 760e09ef-dc84-11e8-981e-3cfdfeaae000) + @@ -115,7 +230,29 @@ To retrieve a list of any "neighbors" (i.e. Droplets that are co-located on
firewalls resource. The following fields are returned by `SELECT` queries: - + -To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.<br><br>Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `<resource>:read` permissions for requested firewall. +The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes.

Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `:read` permissions for requested firewall. @@ -51,12 +51,57 @@ To list all of the firewalls available on your account, send a GET request to `/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique ID that can be used to identify and reference a firewall. (example: bb4b2611-3d72-467b-8602-280330ecd65c)
stringA human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). (pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$, example: firewall)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the firewall was created. (example: 2020-05-23T21:24:00Z)
arrayAn array containing the IDs of the Droplets assigned to the firewall.

Requires `droplet:read` scope.
array
array
arrayAn array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.
stringA status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". (example: waiting)
arrayA flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes.
- + -The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes.<br><br>Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `<resource>:read` permissions for requested firewall. +To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.

Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `:read` permissions for requested firewall. @@ -67,6 +112,51 @@ The response will be a JSON object with a firewall key. This will be set to an o + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique ID that can be used to identify and reference a firewall. (example: bb4b2611-3d72-467b-8602-280330ecd65c)
stringA human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). (pattern: ^[a-zA-Z0-9][a-zA-Z0-9\.-]+$, example: firewall)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the firewall was created. (example: 2020-05-23T21:24:00Z)
arrayAn array containing the IDs of the Droplets assigned to the firewall.

Requires `droplet:read` scope.
array
array
arrayAn array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.
stringA status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". (example: waiting)
arrayA flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires `tag:create` and `tag:read` scopes.
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + + firewall_id - per_page, page - To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. + To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. - + - firewall_id - To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. + per_page, page + To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. @@ -113,7 +203,7 @@ The following methods are available for this resource: firewall_id, data__name - To update the configuration of an existing firewall, send a PUT request to
`/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation
of the firewall including existing attributes. **Note that any attributes that
are not provided will be reset to their default values.**
<br><br>You must have read access (e.g. `droplet:read`) to all resources attached
to the firewall to successfully update the firewall.
+ To update the configuration of an existing firewall, send a PUT request to
`/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation
of the firewall including existing attributes. **Note that any attributes that
are not provided will be reset to their default values.**


You must have read access (e.g. `droplet:read`) to all resources attached
to the firewall to successfully update the firewall.
@@ -173,33 +263,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. +To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. ```sql SELECT -* +id, +name, +created_at, +droplet_ids, +inbound_rules, +outbound_rules, +pending_changes, +status, +tags FROM digitalocean.compute.firewalls -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE firewall_id = '{{ firewall_id }}' -- required; ``` - + -To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. +To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. ```sql SELECT -* +id, +name, +created_at, +droplet_ids, +inbound_rules, +outbound_rules, +pending_changes, +status, +tags FROM digitalocean.compute.firewalls -WHERE firewall_id = '{{ firewall_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -232,6 +338,8 @@ SELECT '{{ tags }}', '{{ inbound_rules }}', '{{ outbound_rules }}' +RETURNING +firewall ; ```
@@ -275,7 +383,7 @@ SELECT > -To update the configuration of an existing firewall, send a PUT request to
`/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation
of the firewall including existing attributes. **Note that any attributes that
are not provided will be reset to their default values.**
<br><br>You must have read access (e.g. `droplet:read`) to all resources attached
to the firewall to successfully update the firewall.
+To update the configuration of an existing firewall, send a PUT request to
`/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation
of the firewall including existing attributes. **Note that any attributes that
are not provided will be reset to their default values.**


You must have read access (e.g. `droplet:read`) to all resources attached
to the firewall to successfully update the firewall.
```sql REPLACE digitalocean.compute.firewalls @@ -287,7 +395,9 @@ data__inbound_rules = '{{ inbound_rules }}', data__outbound_rules = '{{ outbound_rules }}' WHERE firewall_id = '{{ firewall_id }}' --required -AND data__name = '{{ name }}' --required; +AND data__name = '{{ name }}' --required +RETURNING +firewall; ```
diff --git a/website/docs/services/compute/image_actions/index.md b/website/docs/services/compute/image_actions/index.md index 7f685f3..633c028 100644 --- a/website/docs/services/compute/image_actions/index.md +++ b/website/docs/services/compute/image_actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an image_actions resource. The following fields are returned by `SELECT` queries: - + -The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes. +The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes. @@ -51,12 +51,57 @@ The results will be returned as a JSON object with an `actions` key. This will b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
- + -The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes. +The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes. @@ -67,6 +112,51 @@ The response will be an object with a key called `action`. The value of this wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + - image_id + image_id, action_id - To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. + To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. - + - image_id, action_id + image_id - To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. + To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. @@ -140,33 +230,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. +To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.image_actions -WHERE image_id = '{{ image_id }}' -- required; +WHERE image_id = '{{ image_id }}' -- required +AND action_id = '{{ action_id }}' -- required; ``` - + -To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. +To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.image_actions -WHERE image_id = '{{ image_id }}' -- required -AND action_id = '{{ action_id }}' -- required; +WHERE image_id = '{{ image_id }}' -- required; ``` diff --git a/website/docs/services/compute/images/index.md b/website/docs/services/compute/images/index.md index a8d9ac4..30477bd 100644 --- a/website/docs/services/compute/images/index.md +++ b/website/docs/services/compute/images/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an images resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes. +The response will be a JSON object with a key called `image`. The value of this will be an image object containing the standard image attributes. @@ -51,12 +51,82 @@ The response will be a JSON object with a key called `images`. This will be set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique number that can be used to identify and reference a specific image.
stringThe display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. (example: Nifty New Snapshot)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the image was created. (example: 2020-05-04T22:23:02Z)
stringAn optional free-form text field to describe an image. (example: )
stringThe name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. (example: Ubuntu)
stringA string containing information about errors that may occur when importing a custom image. (example: )
integerThe minimum disk size in GB required for a Droplet to use this image.
booleanThis is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.
arrayThis attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.
number (float)The size of the image in gigabytes.
stringA uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. (example: nifty1)
stringA status string indicating the state of a custom image. This may be `NEW`, `available`, `pending`, `deleted`, or `retired`. (example: NEW)
arrayA flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope.
stringDescribes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). (example: snapshot)
- + -The response will be a JSON object with a key called `image`. The value of this will be an image object containing the standard image attributes. +The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes. @@ -67,6 +137,76 @@ The response will be a JSON object with a key called `image`. The value of this + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique number that can be used to identify and reference a specific image.
stringThe display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. (example: Nifty New Snapshot)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the image was created. (example: 2020-05-04T22:23:02Z)
stringAn optional free-form text field to describe an image. (example: )
stringThe name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. (example: Ubuntu)
stringA string containing information about errors that may occur when importing a custom image. (example: )
integerThe minimum disk size in GB required for a Droplet to use this image.
booleanThis is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.
arrayThis attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.
number (float)The size of the image in gigabytes.
stringA uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. (example: nifty1)
stringA status string indicating the state of a custom image. This may be `NEW`, `available`, `pending`, `deleted`, or `retired`. (example: NEW)
arrayA flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags.

Requires `tag:create` scope.
stringDescribes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). (example: snapshot)
@@ -88,18 +228,18 @@ The following methods are available for this resource: - + + image_id - type, private, tag_name, per_page, page - To list all of the images available on your account, send a GET request to /v2/images.

## Filtering Results
-----

It's possible to request filtered results by including certain query parameters.

**Image Type**

Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter.

> Important: The `type` query parameter does not directly relate to the `type` attribute.

To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`.

To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`.

**User Images**

To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`.

**Tags**

To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`.
+ To retrieve information about an image, send a `GET` request to
`/v2/images/$IDENTIFIER`.
- + - image_id - To retrieve information about an image, send a `GET` request to
`/v2/images/$IDENTIFIER`.
+ type, private, tag_name, per_page, page + To list all of the images available on your account, send a GET request to /v2/images.

## Filtering Results
-----

It's possible to request filtered results by including certain query parameters.

**Image Type**

Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter.

> Important: The `type` query parameter does not directly relate to the `type` attribute.

To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`.

To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`.

**User Images**

To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`.

**Tags**

To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`.
@@ -174,36 +314,62 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the images available on your account, send a GET request to /v2/images.

## Filtering Results
-----

It's possible to request filtered results by including certain query parameters.

**Image Type**

Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter.

> Important: The `type` query parameter does not directly relate to the `type` attribute.

To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`.

To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`.

**User Images**

To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`.

**Tags**

To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`.
+To retrieve information about an image, send a `GET` request to
`/v2/images/$IDENTIFIER`.
```sql SELECT -* +id, +name, +created_at, +description, +distribution, +error_message, +min_disk_size, +public, +regions, +size_gigabytes, +slug, +status, +tags, +type FROM digitalocean.compute.images -WHERE type = '{{ type }}' -AND private = '{{ private }}' -AND tag_name = '{{ tag_name }}' -AND per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE image_id = '{{ image_id }}' -- required; ```
- + -To retrieve information about an image, send a `GET` request to
`/v2/images/$IDENTIFIER`.
+To list all of the images available on your account, send a GET request to /v2/images.

## Filtering Results
-----

It's possible to request filtered results by including certain query parameters.

**Image Type**

Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter.

> Important: The `type` query parameter does not directly relate to the `type` attribute.

To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`.

To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`.

**User Images**

To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`.

**Tags**

To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`.
```sql SELECT -* +id, +name, +created_at, +description, +distribution, +error_message, +min_disk_size, +public, +regions, +size_gigabytes, +slug, +status, +tags, +type FROM digitalocean.compute.images -WHERE image_id = '{{ image_id }}' -- required; +WHERE type = '{{ type }}' +AND private = '{{ private }}' +AND tag_name = '{{ tag_name }}' +AND per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -238,6 +404,8 @@ SELECT '{{ url }}' --required, '{{ region }}' --required, '{{ tags }}' +RETURNING +image ; ```
@@ -303,7 +471,9 @@ data__name = '{{ name }}', data__distribution = '{{ distribution }}', data__description = '{{ description }}' WHERE -image_id = '{{ image_id }}' --required; +image_id = '{{ image_id }}' --required +RETURNING +image; ```
diff --git a/website/docs/services/compute/load_balancers/index.md b/website/docs/services/compute/load_balancers/index.md index b6ecd18..f342765 100644 --- a/website/docs/services/compute/load_balancers/index.md +++ b/website/docs/services/compute/load_balancers/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a load_balancers resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes. +The response will be a JSON object with a key called `load_balancer`. The
value of this will be an object that contains the standard attributes
associated with a load balancer
@@ -51,12 +51,162 @@ A JSON object with a key of `load_balancers`. This will be set to an array of ob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a load balancer. (example: 4de7ac8b-495b-4884-9a69-1050c6793cd6)
stringA human-readable name for a load balancer instance. (example: example-lb-01)
stringThe ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. (example: 4de7ac8b-495b-4884-9a69-1050c6793cd6)
stringThis field has been deprecated. You can no longer specify an algorithm for load balancers. (example: round_robin, default: round_robin)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the load balancer was created. (example: 2017-02-01T22:22:58Z)
booleanA boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.
arrayAn array of objects specifying the domain configurations for a Global load balancer.
arrayAn array containing the IDs of the Droplets assigned to the load balancer.
booleanA boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.
booleanA boolean value indicating whether PROXY Protocol is in use.
objectAn object specifying allow and deny rules to control traffic to the load balancer.
arrayAn array of objects specifying the forwarding rules for a load balancer.
objectAn object specifying forwarding configurations for a Global load balancer.
objectAn object specifying health check settings for the load balancer.
integerAn integer value which configures the idle timeout for HTTP requests to the target droplets.
stringAn attribute containing the public-facing IP address of the load balancer. (pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$, example: 104.131.186.241)
stringAn attribute containing the public-facing IPv6 address of the load balancer. (example: 2604:a880:800:14::85f5:c000)
stringA string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. (example: EXTERNAL, default: EXTERNAL)
stringA string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. (example: IPV4, default: IPV4)
booleanA boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.
objectThe region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.
stringThis field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. * `lb-small` = 1 node * `lb-medium` = 3 nodes * `lb-large` = 6 nodes You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. (default: lb-small, example: lb-small)
integerHow many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.
stringA status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. (example: new)
objectAn object specifying sticky sessions settings for the load balancer.
stringThe name of a Droplet tag corresponding to Droplets assigned to the load balancer. (example: prod:web)
arrayAn array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer.
stringA string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. (example: STRONG, default: DEFAULT)
stringA string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. (example: REGIONAL, default: REGIONAL)
string (uuid)A string specifying the UUID of the VPC to which the load balancer is assigned. (example: c33931f2-a26a-4e61-b85c-4e95a2ec431b)
- + -The response will be a JSON object with a key called `load_balancer`. The
value of this will be an object that contains the standard attributes
associated with a load balancer
+A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes. @@ -67,6 +217,156 @@ The response will be a JSON object with a key called `load_balancer`. The
v + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a load balancer. (example: 4de7ac8b-495b-4884-9a69-1050c6793cd6)
stringA human-readable name for a load balancer instance. (example: example-lb-01)
stringThe ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. (example: 4de7ac8b-495b-4884-9a69-1050c6793cd6)
stringThis field has been deprecated. You can no longer specify an algorithm for load balancers. (example: round_robin, default: round_robin)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the load balancer was created. (example: 2017-02-01T22:22:58Z)
booleanA boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.
arrayAn array of objects specifying the domain configurations for a Global load balancer.
arrayAn array containing the IDs of the Droplets assigned to the load balancer.
booleanA boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.
booleanA boolean value indicating whether PROXY Protocol is in use.
objectAn object specifying allow and deny rules to control traffic to the load balancer.
arrayAn array of objects specifying the forwarding rules for a load balancer.
objectAn object specifying forwarding configurations for a Global load balancer.
objectAn object specifying health check settings for the load balancer.
integerAn integer value which configures the idle timeout for HTTP requests to the target droplets.
stringAn attribute containing the public-facing IP address of the load balancer. (pattern: ^$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$, example: 104.131.186.241)
stringAn attribute containing the public-facing IPv6 address of the load balancer. (example: 2604:a880:800:14::85f5:c000)
stringA string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. (example: EXTERNAL, default: EXTERNAL)
stringA string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. (example: IPV4, default: IPV4)
booleanA boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.
objectThe region where the load balancer instance is located. When setting a region, the value should be the slug identifier for the region. When you query a load balancer, an entire region object will be returned.
stringThis field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. * `lb-small` = 1 node * `lb-medium` = 3 nodes * `lb-large` = 6 nodes You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. (default: lb-small, example: lb-small)
integerHow many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions.
stringA status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. (example: new)
objectAn object specifying sticky sessions settings for the load balancer.
stringThe name of a Droplet tag corresponding to Droplets assigned to the load balancer. (example: prod:web)
arrayAn array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer.
stringA string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. (example: STRONG, default: DEFAULT)
stringA string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. (example: REGIONAL, default: REGIONAL)
string (uuid)A string specifying the UUID of the VPC to which the load balancer is assigned. (example: c33931f2-a26a-4e61-b85c-4e95a2ec431b)
@@ -88,18 +388,18 @@ The following methods are available for this resource: - + + lb_id - per_page, page - To list all of the load balancer instances on your account, send a GET request
to `/v2/load_balancers`.
+ To show information about a load balancer instance, send a GET request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.
- + - lb_id - To show information about a load balancer instance, send a GET request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.
+ per_page, page + To list all of the load balancer instances on your account, send a GET request
to `/v2/load_balancers`.
@@ -194,33 +494,91 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the load balancer instances on your account, send a GET request
to `/v2/load_balancers`.
+To show information about a load balancer instance, send a GET request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.
```sql SELECT -* +id, +name, +project_id, +algorithm, +created_at, +disable_lets_encrypt_dns_records, +domains, +droplet_ids, +enable_backend_keepalive, +enable_proxy_protocol, +firewall, +forwarding_rules, +glb_settings, +health_check, +http_idle_timeout_seconds, +ip, +ipv6, +network, +network_stack, +redirect_http_to_https, +region, +size, +size_unit, +status, +sticky_sessions, +tag, +target_load_balancer_ids, +tls_cipher_policy, +type, +vpc_uuid FROM digitalocean.compute.load_balancers -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE lb_id = '{{ lb_id }}' -- required; ```
- + -To show information about a load balancer instance, send a GET request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.
+To list all of the load balancer instances on your account, send a GET request
to `/v2/load_balancers`.
```sql SELECT -* +id, +name, +project_id, +algorithm, +created_at, +disable_lets_encrypt_dns_records, +domains, +droplet_ids, +enable_backend_keepalive, +enable_proxy_protocol, +firewall, +forwarding_rules, +glb_settings, +health_check, +http_idle_timeout_seconds, +ip, +ipv6, +network, +network_stack, +redirect_http_to_https, +region, +size, +size_unit, +status, +sticky_sessions, +tag, +target_load_balancer_ids, +tls_cipher_policy, +type, +vpc_uuid FROM digitalocean.compute.load_balancers -WHERE lb_id = '{{ lb_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -245,6 +603,8 @@ INSERT INTO digitalocean.compute.load_balancers ( ) SELECT +RETURNING +load_balancer ; ```
@@ -276,7 +636,9 @@ REPLACE digitalocean.compute.load_balancers SET -- No updatable properties WHERE -lb_id = '{{ lb_id }}' --required; +lb_id = '{{ lb_id }}' --required +RETURNING +load_balancer; ```
diff --git a/website/docs/services/compute/regions/index.md b/website/docs/services/compute/regions/index.md index 3431741..5315ae0 100644 --- a/website/docs/services/compute/regions/index.md +++ b/website/docs/services/compute/regions/index.md @@ -50,6 +50,31 @@ A JSON object with a key set to `regions`. The value is an array of `region` obj + + + string + The display name of the region. This will be a full name that is used in the control panel and other interfaces. (example: New York 3) + + + + boolean + This is a boolean value that represents whether new Droplets can be created in this region. + + + + array + This attribute is set to an array which contains features available in this region + + + + array + This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view. + + + + string + A human-readable string that is used as a unique identifier for each region. (example: nyc3) +
@@ -120,7 +145,11 @@ To list all of the regions that are available, send a GET request to `/v2/region ```sql SELECT -* +name, +available, +features, +sizes, +slug FROM digitalocean.compute.regions WHERE per_page = '{{ per_page }}' AND page = '{{ page }}'; diff --git a/website/docs/services/compute/reserved_ip_actions/index.md b/website/docs/services/compute/reserved_ip_actions/index.md index e0e198d..da893de 100644 --- a/website/docs/services/compute/reserved_ip_actions/index.md +++ b/website/docs/services/compute/reserved_ip_actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a reserved_ip_actions reso The following fields are returned by `SELECT` queries: - + -The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes. +The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. @@ -51,12 +51,17 @@ The results will be returned as a JSON object with an `actions` key. This will b + + + + +
object
- + -The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. +The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes. @@ -67,6 +72,51 @@ The response will be an object with a key called `action`. The value of this wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -88,18 +138,18 @@ The following methods are available for this resource: - + - reserved_ip + reserved_ip, action_id - To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. + To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. - + - reserved_ip, action_id + reserved_ip - To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. + To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. @@ -140,33 +190,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. +To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. ```sql SELECT -* +action FROM digitalocean.compute.reserved_ip_actions -WHERE reserved_ip = '{{ reserved_ip }}' -- required; +WHERE reserved_ip = '{{ reserved_ip }}' -- required +AND action_id = '{{ action_id }}' -- required; ``` - + -To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. +To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.reserved_ip_actions -WHERE reserved_ip = '{{ reserved_ip }}' -- required -AND action_id = '{{ action_id }}' -- required; +WHERE reserved_ip = '{{ reserved_ip }}' -- required; ``` diff --git a/website/docs/services/compute/reserved_ips/index.md b/website/docs/services/compute/reserved_ips/index.md index 5ee8b94..e83700f 100644 --- a/website/docs/services/compute/reserved_ips/index.md +++ b/website/docs/services/compute/reserved_ips/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a reserved_ips resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes +The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. @@ -51,12 +51,37 @@ The response will be a JSON object with a key called `reserved_ips`. This will b + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The UUID of the project to which the reserved IP currently belongs.

Requires `project:read` scope. (example: 746c6152-2fa2-11ed-92d3-27aaa54e4988)
The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.

Requires `droplet:read` scope.
string (ipv4)The public IP address of the reserved IP. It also serves as its identifier. (example: 45.55.96.47)
booleanA boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted.
objectThe region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.
- + -The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. +The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes @@ -67,6 +92,31 @@ The response will be a JSON object with a key called `reserved_ip`. The value of + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The UUID of the project to which the reserved IP currently belongs.

Requires `project:read` scope. (example: 746c6152-2fa2-11ed-92d3-27aaa54e4988)
The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.

Requires `droplet:read` scope.
string (ipv4)The public IP address of the reserved IP. It also serves as its identifier. (example: 45.55.96.47)
booleanA boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted.
objectThe region that the reserved IP is reserved to. When you query a reserved IP, the entire region object will be returned.
@@ -88,18 +138,18 @@ The following methods are available for this resource: - + + reserved_ip - per_page, page - To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. + To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. - + - reserved_ip - To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. + per_page, page + To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. @@ -152,33 +202,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. +To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. ```sql SELECT -* +project_id, +droplet, +ip, +locked, +region FROM digitalocean.compute.reserved_ips -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE reserved_ip = '{{ reserved_ip }}' -- required; ``` - + -To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. +To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. ```sql SELECT -* +project_id, +droplet, +ip, +locked, +region FROM digitalocean.compute.reserved_ips -WHERE reserved_ip = '{{ reserved_ip }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -203,6 +261,9 @@ INSERT INTO digitalocean.compute.reserved_ips ( ) SELECT +RETURNING +links, +reserved_ip ; ```
diff --git a/website/docs/services/compute/reserved_ipv6/index.md b/website/docs/services/compute/reserved_ipv6/index.md index 9db5b36..34c5107 100644 --- a/website/docs/services/compute/reserved_ipv6/index.md +++ b/website/docs/services/compute/reserved_ipv6/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a reserved_ipv6 resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `reserved_ipv6s`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes +The response will be a JSON object with key `reserved_ipv6`. The value of this will be an object that contains the standard attributes associated with a reserved IPv6. @@ -51,12 +51,32 @@ The response will be a JSON object with a key called `reserved_ipv6s`. This will + + + + + + + + + + + + + + + + + + + +
string (ipv6)The public IP address of the reserved IPv6. It also serves as its identifier. (example: 2409:40d0:f7:1017:74b4:3a96:105e:4c6e)
stringThe region that the reserved IPv6 is reserved to. When you query a reserved IPv6,the region_slug will be returned. (example: nyc3)
string (date-time)The date and time when the reserved IPv6 was reserved. (example: 2024-11-20T11:08:30Z)
- + -The response will be a JSON object with key `reserved_ipv6`. The value of this will be an object that contains the standard attributes associated with a reserved IPv6. +The response will be a JSON object with a key called `reserved_ipv6s`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes @@ -67,6 +87,21 @@ The response will be a JSON object with key `reserved_ipv6`. The value of this w + + + + + + + + + + + + + + +
object
objectInformation about the response itself.
array
@@ -88,18 +123,18 @@ The following methods are available for this resource: - + + reserved_ipv6 - per_page, page - To list all of the reserved IPv6s available on your account, send a GET request to `/v2/reserved_ipv6`. + To show information about a reserved IPv6, send a GET request to `/v2/reserved_ipv6/$RESERVED_IPV6`. - + - reserved_ipv6 - To show information about a reserved IPv6, send a GET request to `/v2/reserved_ipv6/$RESERVED_IPV6`. + per_page, page + To list all of the reserved IPv6s available on your account, send a GET request to `/v2/reserved_ipv6`. @@ -159,33 +194,38 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the reserved IPv6s available on your account, send a GET request to `/v2/reserved_ipv6`. +To show information about a reserved IPv6, send a GET request to `/v2/reserved_ipv6/$RESERVED_IPV6`. ```sql SELECT -* +droplet, +ip, +region_slug, +reserved_at FROM digitalocean.compute.reserved_ipv6 -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE reserved_ipv6 = '{{ reserved_ipv6 }}' -- required; ``` - + -To show information about a reserved IPv6, send a GET request to `/v2/reserved_ipv6/$RESERVED_IPV6`. +To list all of the reserved IPv6s available on your account, send a GET request to `/v2/reserved_ipv6`. ```sql SELECT -* +links, +meta, +reserved_ipv6s FROM digitalocean.compute.reserved_ipv6 -WHERE reserved_ipv6 = '{{ reserved_ipv6 }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -210,6 +250,8 @@ data__region_slug ) SELECT '{{ region_slug }}' --required +RETURNING +reserved_ipv6 ; ```
diff --git a/website/docs/services/compute/sizes/index.md b/website/docs/services/compute/sizes/index.md index 25e2d39..a23ab00 100644 --- a/website/docs/services/compute/sizes/index.md +++ b/website/docs/services/compute/sizes/index.md @@ -50,6 +50,66 @@ A JSON object with a key called `sizes`. The value of this will be an array of ` + + + boolean + This is a boolean value that represents whether new Droplets can be created with this size. + + + + string + A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized. (example: Basic) + + + + integer + The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + + + + array + An array of objects containing information about the disks available to Droplets created with this size. + + + + object + An object containing information about the GPU capabilities of Droplets created with this size. + + + + integer + The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + + + + number (float) + This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + + + + number (float) + This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + + + + array + An array containing the region slugs where this size is available for Droplet creates. + + + + string + A human-readable string that is used to uniquely identify each size. (example: s-1vcpu-1gb) + + + + number (float) + The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + + + + integer + The number of CPUs allocated to Droplets of this size. +
@@ -120,7 +180,18 @@ To list all of available Droplet sizes, send a GET request to `/v2/sizes`.
```sql SELECT -* +available, +description, +disk, +disk_info, +gpu_info, +memory, +price_hourly, +price_monthly, +regions, +slug, +transfer, +vcpus FROM digitalocean.compute.sizes WHERE per_page = '{{ per_page }}' AND page = '{{ page }}'; diff --git a/website/docs/services/compute/snapshots/index.md b/website/docs/services/compute/snapshots/index.md index f4f963f..f057da7 100644 --- a/website/docs/services/compute/snapshots/index.md +++ b/website/docs/services/compute/snapshots/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a snapshots resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `snapshots`. +A JSON object with a key called `snapshot`.
@@ -51,12 +51,57 @@ A JSON object with a key of `snapshots`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the snapshot. (example: 6372321)
stringA human-readable name for the snapshot. (example: web-01-1595954862243)
stringThe unique identifier for the resource that the snapshot originated from. (example: 200776916)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z)
integerThe minimum size in GB required for a volume or Droplet to use this snapshot.
arrayAn array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.
stringThe type of resource that the snapshot originated from. (example: droplet)
number (float)The billable size of the snapshot in gigabytes.
arrayAn array of Tags the snapshot has been tagged with.

Requires `tag:read` scope.
- + -A JSON object with a key called `snapshot`.
+A JSON object with a key of `snapshots`. @@ -67,6 +112,51 @@ A JSON object with a key called `snapshot`.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the snapshot. (example: 6372321)
stringA human-readable name for the snapshot. (example: web-01-1595954862243)
stringThe unique identifier for the resource that the snapshot originated from. (example: 200776916)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z)
integerThe minimum size in GB required for a volume or Droplet to use this snapshot.
arrayAn array of the regions that the snapshot is available in. The regions are represented by their identifying slug values.
stringThe type of resource that the snapshot originated from. (example: droplet)
number (float)The billable size of the snapshot in gigabytes.
arrayAn array of Tags the snapshot has been tagged with.

Requires `tag:read` scope.
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + + snapshot_id - per_page, page, resource_type - To list all of the snapshots available on your account, send a GET request to
`/v2/snapshots`.

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

### Filtering Results by Resource Type

It's possible to request filtered results by including certain query parameters.

#### List Droplet Snapshots

To retrieve only snapshots based on Droplets, include the `resource_type`
query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`.

#### List Volume Snapshots

To retrieve only snapshots based on volumes, include the `resource_type`
query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`.
+ To retrieve information about a snapshot, send a GET request to
`/v2/snapshots/$SNAPSHOT_ID`.

The response will be a JSON object with a key called `snapshot`. The value of
this will be an snapshot object containing the standard snapshot attributes.
- + - snapshot_id - To retrieve information about a snapshot, send a GET request to
`/v2/snapshots/$SNAPSHOT_ID`.

The response will be a JSON object with a key called `snapshot`. The value of
this will be an snapshot object containing the standard snapshot attributes.
+ per_page, page, resource_type + To list all of the snapshots available on your account, send a GET request to
`/v2/snapshots`.

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

### Filtering Results by Resource Type

It's possible to request filtered results by including certain query parameters.

#### List Droplet Snapshots

To retrieve only snapshots based on Droplets, include the `resource_type`
query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`.

#### List Volume Snapshots

To retrieve only snapshots based on volumes, include the `resource_type`
query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`.
@@ -150,34 +240,50 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the snapshots available on your account, send a GET request to
`/v2/snapshots`.

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

### Filtering Results by Resource Type

It's possible to request filtered results by including certain query parameters.

#### List Droplet Snapshots

To retrieve only snapshots based on Droplets, include the `resource_type`
query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`.

#### List Volume Snapshots

To retrieve only snapshots based on volumes, include the `resource_type`
query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`.
+To retrieve information about a snapshot, send a GET request to
`/v2/snapshots/$SNAPSHOT_ID`.

The response will be a JSON object with a key called `snapshot`. The value of
this will be an snapshot object containing the standard snapshot attributes.
```sql SELECT -* +id, +name, +resource_id, +created_at, +min_disk_size, +regions, +resource_type, +size_gigabytes, +tags FROM digitalocean.compute.snapshots -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}' -AND resource_type = '{{ resource_type }}'; +WHERE snapshot_id = '{{ snapshot_id }}' -- required; ```
- + -To retrieve information about a snapshot, send a GET request to
`/v2/snapshots/$SNAPSHOT_ID`.

The response will be a JSON object with a key called `snapshot`. The value of
this will be an snapshot object containing the standard snapshot attributes.
+To list all of the snapshots available on your account, send a GET request to
`/v2/snapshots`.

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

### Filtering Results by Resource Type

It's possible to request filtered results by including certain query parameters.

#### List Droplet Snapshots

To retrieve only snapshots based on Droplets, include the `resource_type`
query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`.

#### List Volume Snapshots

To retrieve only snapshots based on volumes, include the `resource_type`
query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`.
```sql SELECT -* +id, +name, +resource_id, +created_at, +min_disk_size, +regions, +resource_type, +size_gigabytes, +tags FROM digitalocean.compute.snapshots -WHERE snapshot_id = '{{ snapshot_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}' +AND resource_type = '{{ resource_type }}'; ```
diff --git a/website/docs/services/compute/ssh_keys/index.md b/website/docs/services/compute/ssh_keys/index.md index 5b921ce..d3550fb 100644 --- a/website/docs/services/compute/ssh_keys/index.md +++ b/website/docs/services/compute/ssh_keys/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a ssh_keys resource. The following fields are returned by `SELECT` queries: - + -A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes. +A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes. @@ -51,12 +51,32 @@ A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` + + + + + + + + + + + + + + + + + + + +
integerA unique identification number for this key. Can be used to embed a specific SSH key into a Droplet.
stringA human-readable display name for this key, used to easily identify the SSH keys when they are displayed. (example: My SSH Public Key)
stringA unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. (example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa)
stringThe entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. (example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example)
- + -A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes. +A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes. @@ -67,6 +87,26 @@ A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object co + + + + + + + + + + + + + + + + + + + +
integerA unique identification number for this key. Can be used to embed a specific SSH key into a Droplet.
stringA human-readable display name for this key, used to easily identify the SSH keys when they are displayed. (example: My SSH Public Key)
stringA unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. (example: 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa)
stringThe entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. (example: ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example)
@@ -88,18 +128,18 @@ The following methods are available for this resource: - + + ssh_key_identifier - per_page, page - To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. + To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.
The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. - + - ssh_key_identifier - To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.
The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. + per_page, page + To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. @@ -159,33 +199,39 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. +To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.
The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. ```sql SELECT -* +id, +name, +fingerprint, +public_key FROM digitalocean.compute.ssh_keys -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE ssh_key_identifier = '{{ ssh_key_identifier }}' -- required; ```
- + -To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.
The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. +To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. ```sql SELECT -* +id, +name, +fingerprint, +public_key FROM digitalocean.compute.ssh_keys -WHERE ssh_key_identifier = '{{ ssh_key_identifier }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -212,6 +258,8 @@ data__name SELECT '{{ public_key }}' --required, '{{ name }}' --required +RETURNING +ssh_key ; ```
@@ -253,7 +301,9 @@ REPLACE digitalocean.compute.ssh_keys SET data__name = '{{ name }}' WHERE -ssh_key_identifier = '{{ ssh_key_identifier }}' --required; +ssh_key_identifier = '{{ ssh_key_identifier }}' --required +RETURNING +ssh_key; ```
diff --git a/website/docs/services/compute/tags/index.md b/website/docs/services/compute/tags/index.md index f30fae1..20bb90e 100644 --- a/website/docs/services/compute/tags/index.md +++ b/website/docs/services/compute/tags/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a tags resource. The following fields are returned by `SELECT` queries: - + -To list all of your tags, you can send a `GET` request to `/v2/tags`. +The response will be a JSON object with a key called `tag`.
The value of this will be a tag object containing the standard tag attributes.

Tagged resources will only include resources that you are authorized to see.
@@ -51,12 +51,22 @@ To list all of your tags, you can send a `GET` request to `/v2/tags`. + + + + + + + + + +
stringThe name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". (pattern: ^[a-zA-Z0-9_\-\:]+$, example: extra-awesome)
objectTagged Resource Statistics include metadata regarding the resource type that has been tagged.
- + -The response will be a JSON object with a key called `tag`.
The value of this will be a tag object containing the standard tag attributes.

Tagged resources will only include resources that you are authorized to see.
+To list all of your tags, you can send a `GET` request to `/v2/tags`. @@ -67,6 +77,16 @@ The response will be a JSON object with a key called `tag`.
The value of t + + + + + + + + + +
stringThe name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". (pattern: ^[a-zA-Z0-9_\-\:]+$, example: extra-awesome)
objectTagged Resource Statistics include metadata regarding the resource type that has been tagged.
@@ -88,18 +108,18 @@ The following methods are available for this resource: - + + tag_id - per_page, page - To list all of your tags, you can send a GET request to `/v2/tags`.

This endpoint will only return tagged resources that you are authorized to see
(e.g. Droplets will only be returned if you have `droplet:read`).
+ To retrieve an individual tag, you can send a `GET` request to
`/v2/tags/$TAG_NAME`.

This endpoint will only return tagged resources that you are authorized to see.
For example, to see tagged Droplets, include the `droplet:read` scope.
- + - tag_id - To retrieve an individual tag, you can send a `GET` request to
`/v2/tags/$TAG_NAME`.

This endpoint will only return tagged resources that you are authorized to see.
For example, to see tagged Droplets, include the `droplet:read` scope.
+ per_page, page + To list all of your tags, you can send a GET request to `/v2/tags`.

This endpoint will only return tagged resources that you are authorized to see
(e.g. Droplets will only be returned if you have `droplet:read`).
@@ -120,14 +140,14 @@ The following methods are available for this resource: tag_id, resources - Resources can be tagged by sending a POST request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only tagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to tag a resource, you must have both `tag:create` and `<resource type>:update` scopes. For example,
to tag a Droplet, you must have `tag:create` and `droplet:update`.
+ Resources can be tagged by sending a POST request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only tagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to tag a resource, you must have both `tag:create` and `:update` scopes. For example,
to tag a Droplet, you must have `tag:create` and `droplet:update`.
tag_id, resources - Resources can be untagged by sending a DELETE request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only untagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to untag a resource, you must have both `tag:delete` and `<resource type>:update` scopes. For example,
to untag a Droplet, you must have `tag:delete` and `droplet:update`.
+ Resources can be untagged by sending a DELETE request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only untagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to untag a resource, you must have both `tag:delete` and `:update` scopes. For example,
to untag a Droplet, you must have `tag:delete` and `droplet:update`.
@@ -166,33 +186,35 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of your tags, you can send a GET request to `/v2/tags`.

This endpoint will only return tagged resources that you are authorized to see
(e.g. Droplets will only be returned if you have `droplet:read`).
+To retrieve an individual tag, you can send a `GET` request to
`/v2/tags/$TAG_NAME`.

This endpoint will only return tagged resources that you are authorized to see.
For example, to see tagged Droplets, include the `droplet:read` scope.
```sql SELECT -* +name, +resources FROM digitalocean.compute.tags -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE tag_id = '{{ tag_id }}' -- required; ```
- + -To retrieve an individual tag, you can send a `GET` request to
`/v2/tags/$TAG_NAME`.

This endpoint will only return tagged resources that you are authorized to see.
For example, to see tagged Droplets, include the `droplet:read` scope.
+To list all of your tags, you can send a GET request to `/v2/tags`.

This endpoint will only return tagged resources that you are authorized to see
(e.g. Droplets will only be returned if you have `droplet:read`).
```sql SELECT -* +name, +resources FROM digitalocean.compute.tags -WHERE tag_id = '{{ tag_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -217,6 +239,8 @@ data__name ) SELECT '{{ name }}' +RETURNING +tag ; ```
@@ -274,7 +298,7 @@ WHERE tag_id = '{{ tag_id }}' --required; > -Resources can be tagged by sending a POST request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only tagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to tag a resource, you must have both `tag:create` and `<resource type>:update` scopes. For example,
to tag a Droplet, you must have `tag:create` and `droplet:update`.
+Resources can be tagged by sending a POST request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only tagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to tag a resource, you must have both `tag:create` and `:update` scopes. For example,
to tag a Droplet, you must have `tag:create` and `droplet:update`.
```sql EXEC digitalocean.compute.tags.tags_assign_resources @@ -287,7 +311,7 @@ EXEC digitalocean.compute.tags.tags_assign_resources
-Resources can be untagged by sending a DELETE request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only untagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to untag a resource, you must have both `tag:delete` and `<resource type>:update` scopes. For example,
to untag a Droplet, you must have `tag:delete` and `droplet:update`.
+Resources can be untagged by sending a DELETE request to
`/v2/tags/$TAG_NAME/resources` with an array of json objects containing
`resource_id` and `resource_type` attributes.

Currently only untagging of Droplets, Databases, Images, Volumes, and Volume
Snapshots is supported. `resource_type` is expected to be the string `droplet`,
`database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected
to be the ID of the resource as a string.

In order to untag a resource, you must have both `tag:delete` and `:update` scopes. For example,
to untag a Droplet, you must have `tag:delete` and `droplet:update`.
```sql EXEC digitalocean.compute.tags.tags_unassign_resources diff --git a/website/docs/services/compute/volume_actions/index.md b/website/docs/services/compute/volume_actions/index.md index 6dc7d19..2e80721 100644 --- a/website/docs/services/compute/volume_actions/index.md +++ b/website/docs/services/compute/volume_actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a volume_actions resource. The following fields are returned by `SELECT` queries: - + -The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes. +The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes @@ -51,12 +51,57 @@ The response will be an object with a key called `action`. The value of this wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
- + -The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes +The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes. @@ -67,6 +112,51 @@ The response will be an object with a key called `action`. The value of this wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + - volume_id + volume_id, action_id per_page, page - To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`.

+ To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.

- + - volume_id, action_id + volume_id per_page, page - To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.

+ To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`.

@@ -150,35 +240,51 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`.

+To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.

```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.volume_actions WHERE volume_id = '{{ volume_id }}' -- required +AND action_id = '{{ action_id }}' -- required AND per_page = '{{ per_page }}' AND page = '{{ page }}'; ```
- + -To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.

+To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`.

```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.compute.volume_actions WHERE volume_id = '{{ volume_id }}' -- required -AND action_id = '{{ action_id }}' -- required AND per_page = '{{ per_page }}' AND page = '{{ page }}'; ``` diff --git a/website/docs/services/compute/volume_snapshots/index.md b/website/docs/services/compute/volume_snapshots/index.md index b1d020e..330cf4c 100644 --- a/website/docs/services/compute/volume_snapshots/index.md +++ b/website/docs/services/compute/volume_snapshots/index.md @@ -51,6 +51,51 @@ You will get back a JSON object that has a `snapshot` key. This will contain the + + + string + The unique identifier for the snapshot. (example: 6372321) + + + + string + A human-readable name for the snapshot. (example: web-01-1595954862243) + + + + string + The unique identifier for the resource that the snapshot originated from. (example: 200776916) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z) + + + + integer + The minimum size in GB required for a volume or Droplet to use this snapshot. + + + + array + An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + + + + string + The type of resource that the snapshot originated from. (example: droplet) + + + + number (float) + The billable size of the snapshot in gigabytes. + + + + array + An array of Tags the snapshot has been tagged with.

Requires `tag:read` scope. +
@@ -67,6 +112,51 @@ You will get back a JSON object that has a `snapshots` key. This will be set to + + + string + The unique identifier for the snapshot. (example: 6372321) + + + + string + A human-readable name for the snapshot. (example: web-01-1595954862243) + + + + string + The unique identifier for the resource that the snapshot originated from. (example: 200776916) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the snapshot was created. (example: 2020-07-28T16:47:44Z) + + + + integer + The minimum size in GB required for a volume or Droplet to use this snapshot. + + + + array + An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + + + + string + The type of resource that the snapshot originated from. (example: droplet) + + + + number (float) + The billable size of the snapshot in gigabytes. + + + + array + An array of Tags the snapshot has been tagged with.

Requires `tag:read` scope. +
@@ -169,7 +259,15 @@ To retrieve the details of a snapshot that has been created from a volume, send ```sql SELECT -* +id, +name, +resource_id, +created_at, +min_disk_size, +regions, +resource_type, +size_gigabytes, +tags FROM digitalocean.compute.volume_snapshots WHERE snapshot_id = '{{ snapshot_id }}' -- required; ``` @@ -180,7 +278,15 @@ To retrieve the snapshots that have been created from a volume, send a GET reque ```sql SELECT -* +id, +name, +resource_id, +created_at, +min_disk_size, +regions, +resource_type, +size_gigabytes, +tags FROM digitalocean.compute.volume_snapshots WHERE volume_id = '{{ volume_id }}' -- required AND per_page = '{{ per_page }}' @@ -213,6 +319,8 @@ SELECT '{{ name }}' --required, '{{ tags }}', '{{ volume_id }}' +RETURNING +snapshot ; ```
diff --git a/website/docs/services/compute/volumes/index.md b/website/docs/services/compute/volumes/index.md index b3526c7..69f6f4d 100644 --- a/website/docs/services/compute/volumes/index.md +++ b/website/docs/services/compute/volumes/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a volumes resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes. +The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume. @@ -51,12 +51,62 @@ The response will be a JSON object with a key called `volumes`. This will be set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the block storage volume. (example: 506f78a4-e098-11e5-ad9f-000f53306ae1)
stringA human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. (example: example)
stringA time value given in ISO8601 combined date and time format that represents when the block storage volume was created. (example: 2020-03-02T17:00:49Z)
stringAn optional free-form text field to describe a block storage volume. (example: Block store for examples)
arrayAn array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.
stringThe label currently applied to the filesystem. (example: example)
stringThe type of filesystem currently in-use on the volume. (example: ext4)
objectThe region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.
integerThe size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot.
arrayA flat array of tag names as strings applied to the resource.

Requires `tag:read` scope.
- + -The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume. +The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes. @@ -67,6 +117,56 @@ The response will be a JSON object with a key called `volume`. The value will be + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the block storage volume. (example: 506f78a4-e098-11e5-ad9f-000f53306ae1)
stringA human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. (example: example)
stringA time value given in ISO8601 combined date and time format that represents when the block storage volume was created. (example: 2020-03-02T17:00:49Z)
stringAn optional free-form text field to describe a block storage volume. (example: Block store for examples)
arrayAn array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet.
stringThe label currently applied to the filesystem. (example: example)
stringThe type of filesystem currently in-use on the volume. (example: ext4)
objectThe region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned.
integerThe size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot.
arrayA flat array of tag names as strings applied to the resource.

Requires `tag:read` scope.
@@ -88,18 +188,18 @@ The following methods are available for this resource: - + + volume_id - name, region, per_page, page - To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`.
## Filtering Results
### By Region
The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1`
### By Name
It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`.
**Note:** You can only create one volume per region with the same name.
### By Name and Region
It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.


+ To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`.

- + - volume_id - To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`.

+ name, region, per_page, page + To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`.
## Filtering Results
### By Region
The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1`
### By Name
It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`.
**Note:** You can only create one volume per region with the same name.
### By Name and Region
It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.


@@ -109,18 +209,18 @@ The following methods are available for this resource: To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. - + + volume_id - name, region - Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

+ To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

- + - volume_id - To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

+ name, region + Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

@@ -176,35 +276,53 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`.
## Filtering Results
### By Region
The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1`
### By Name
It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`.
**Note:** You can only create one volume per region with the same name.
### By Name and Region
It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.


+To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`.

```sql SELECT -* +id, +name, +created_at, +description, +droplet_ids, +filesystem_label, +filesystem_type, +region, +size_gigabytes, +tags FROM digitalocean.compute.volumes -WHERE name = '{{ name }}' -AND region = '{{ region }}' -AND per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE volume_id = '{{ volume_id }}' -- required; ```
- + -To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`.

+To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`.
## Filtering Results
### By Region
The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1`
### By Name
It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`.
**Note:** You can only create one volume per region with the same name.
### By Name and Region
It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.


```sql SELECT -* +id, +name, +created_at, +description, +droplet_ids, +filesystem_label, +filesystem_type, +region, +size_gigabytes, +tags FROM digitalocean.compute.volumes -WHERE volume_id = '{{ volume_id }}' -- required; +WHERE name = '{{ name }}' +AND region = '{{ region }}' +AND per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -229,6 +347,8 @@ INSERT INTO digitalocean.compute.volumes ( ) SELECT +RETURNING +volume ; ```
@@ -246,29 +366,29 @@ SELECT ## `DELETE` examples - + -Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

+To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

```sql DELETE FROM digitalocean.compute.volumes -WHERE name = '{{ name }}' -AND region = '{{ region }}'; +WHERE volume_id = '{{ volume_id }}' --required; ```
- + -To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

+Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`.
No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

```sql DELETE FROM digitalocean.compute.volumes -WHERE volume_id = '{{ volume_id }}' --required; +WHERE name = '{{ name }}' +AND region = '{{ region }}'; ```
diff --git a/website/docs/services/compute/vpc_nat_gateways/index.md b/website/docs/services/compute/vpc_nat_gateways/index.md index 35fe98a..c6607f8 100644 --- a/website/docs/services/compute/vpc_nat_gateways/index.md +++ b/website/docs/services/compute/vpc_nat_gateways/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a vpc_nat_gateways resourc The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `vpc_nat_gateways`. +The response will be a JSON object with a key called `vpc_nat_gateway`. This will be
set to a JSON object that contains the standard VPC NAT gateway attributes.
@@ -51,12 +51,77 @@ A JSON object with a key of `vpc_nat_gateways`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the VPC NAT gateway. This is automatically generated upon creation. (example: 70e1b58d-cdec-4e95-b3ee-2d4d95feff51)
stringThe human-readable name of the VPC NAT gateway. (example: my-vpc-nat-gateway)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was created. (title: The creation time of the VPC NAT gateway., example: 2020-07-28T18:00:00Z)
objectAn object containing egress information for the VPC NAT gateway.
integerThe ICMP timeout in seconds for the VPC NAT gateway.
stringThe region in which the VPC NAT gateway is created. (example: tor1)
integerThe size of the VPC NAT gateway.
stringThe current state of the VPC NAT gateway. (example: ACTIVE)
integerThe TCP timeout in seconds for the VPC NAT gateway.
stringThe type of the VPC NAT gateway. (example: PUBLIC)
integerThe UDP timeout in seconds for the VPC NAT gateway.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was last updated. (title: The last update time of the VPC NAT gateway., example: 2020-07-28T18:00:00Z)
arrayAn array of VPCs associated with the VPC NAT gateway.
- + -The response will be a JSON object with a key called `vpc_nat_gateway`. This will be
set to a JSON object that contains the standard VPC NAT gateway attributes.
+A JSON object with a key of `vpc_nat_gateways`. @@ -67,6 +132,71 @@ The response will be a JSON object with a key called `vpc_nat_gateway`. This wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe unique identifier for the VPC NAT gateway. This is automatically generated upon creation. (example: 70e1b58d-cdec-4e95-b3ee-2d4d95feff51)
stringThe human-readable name of the VPC NAT gateway. (example: my-vpc-nat-gateway)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was created. (title: The creation time of the VPC NAT gateway., example: 2020-07-28T18:00:00Z)
objectAn object containing egress information for the VPC NAT gateway.
integerThe ICMP timeout in seconds for the VPC NAT gateway.
stringThe region in which the VPC NAT gateway is created. (example: tor1)
integerThe size of the VPC NAT gateway.
stringThe current state of the VPC NAT gateway. (example: ACTIVE)
integerThe TCP timeout in seconds for the VPC NAT gateway.
stringThe type of the VPC NAT gateway. (example: PUBLIC)
integerThe UDP timeout in seconds for the VPC NAT gateway.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the VPC NAT gateway was last updated. (title: The last update time of the VPC NAT gateway., example: 2020-07-28T18:00:00Z)
arrayAn array of VPCs associated with the VPC NAT gateway.
@@ -88,18 +218,18 @@ The following methods are available for this resource: - + + id - per_page, page, state, region, type, name - To list all VPC NAT gateways in your team, send a GET request to `/v2/vpc_nat_gateways`.
The response body will be a JSON object with a key of `vpc_nat_gateways` containing an array of VPC NAT gateway objects.
These each contain the standard VPC NAT gateway attributes.
+ To show information about an individual VPC NAT gateway, send a GET request to
`/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.
- + - id - To show information about an individual VPC NAT gateway, send a GET request to
`/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.
+ per_page, page, state, region, type, name + To list all VPC NAT gateways in your team, send a GET request to `/v2/vpc_nat_gateways`.
The response body will be a JSON object with a key of `vpc_nat_gateways` containing an array of VPC NAT gateway objects.
These each contain the standard VPC NAT gateway attributes.
@@ -179,19 +309,54 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples + + +To show information about an individual VPC NAT gateway, send a GET request to
`/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.
+ +```sql +SELECT +id, +name, +created_at, +egresses, +icmp_timeout_seconds, +region, +size, +state, +tcp_timeout_seconds, +type, +udp_timeout_seconds, +updated_at, +vpcs +FROM digitalocean.compute.vpc_nat_gateways +WHERE id = '{{ id }}' -- required; +``` +
To list all VPC NAT gateways in your team, send a GET request to `/v2/vpc_nat_gateways`.
The response body will be a JSON object with a key of `vpc_nat_gateways` containing an array of VPC NAT gateway objects.
These each contain the standard VPC NAT gateway attributes.
```sql SELECT -* +id, +name, +created_at, +egresses, +icmp_timeout_seconds, +region, +size, +state, +tcp_timeout_seconds, +type, +udp_timeout_seconds, +updated_at, +vpcs FROM digitalocean.compute.vpc_nat_gateways WHERE per_page = '{{ per_page }}' AND page = '{{ page }}' @@ -201,17 +366,6 @@ AND type = '{{ type }}' AND name = '{{ name }}'; ```
- - -To show information about an individual VPC NAT gateway, send a GET request to
`/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.
- -```sql -SELECT -* -FROM digitalocean.compute.vpc_nat_gateways -WHERE id = '{{ id }}' -- required; -``` -
@@ -248,6 +402,8 @@ SELECT {{ udp_timeout_seconds }}, {{ icmp_timeout_seconds }}, {{ tcp_timeout_seconds }} +RETURNING +vpc_nat_gateway ; ```
@@ -327,7 +483,9 @@ data__tcp_timeout_seconds = {{ tcp_timeout_seconds }} WHERE id = '{{ id }}' --required AND data__name = '{{ name }}' --required -AND data__size = '{{ size }}' --required; +AND data__size = '{{ size }}' --required +RETURNING +vpc_nat_gateway; ```
diff --git a/website/docs/services/container_registries/index.md b/website/docs/services/container_registries/index.md deleted file mode 100644 index 3889a37..0000000 --- a/website/docs/services/container_registries/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: container_registries -hide_title: false -hide_table_of_contents: false -keywords: - - container_registries - - digitalocean - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage digitalocean resources using SQL -custom_edit_url: null -image: /img/stackql-digitalocean-provider-featured-image.png ---- - -container_registries service documentation. - -:::info[Service Summary] - -total resources: __9__ - -::: - -## Resources - \ No newline at end of file diff --git a/website/docs/services/container_registries/active_garbage_collection/index.md b/website/docs/services/container_registry/active_garbage_collection/index.md similarity index 68% rename from website/docs/services/container_registries/active_garbage_collection/index.md rename to website/docs/services/container_registry/active_garbage_collection/index.md index 944ce4f..3e0ff2b 100644 --- a/website/docs/services/container_registries/active_garbage_collection/index.md +++ b/website/docs/services/container_registry/active_garbage_collection/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - active_garbage_collection - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists an active_garbage_collection Nameactive_garbage_collection TypeResource -Id +Id ## Fields @@ -50,6 +50,41 @@ The response will be a JSON object with a key of `garbage_collection`. This will + + + string + The name of the container registry. (example: example) + + + + integer + The number of blobs deleted as a result of this garbage collection. + + + + string (date-time) + The time the garbage collection was created. (example: 2020-10-30T21:03:24Z) + + + + integer + The number of bytes freed as a result of this garbage collection. + + + + string + The current status of this garbage collection. (example: requested) + + + + string (date-time) + The time the garbage collection was last updated. (example: 2020-10-30T21:03:44Z) + + + + string + A string specifying the UUID of the garbage collection. (example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8) +
@@ -115,8 +150,14 @@ To get information about the currently-active garbage collection for a registry, ```sql SELECT -* -FROM digitalocean.container_registries.active_garbage_collection +registry_name, +blobs_deleted, +created_at, +freed_bytes, +status, +updated_at, +uuid +FROM digitalocean.container_registry.active_garbage_collection WHERE registry_name = '{{ registry_name }}' -- required; ```
diff --git a/website/docs/services/container_registries/docker_credentials/index.md b/website/docs/services/container_registry/docker_credentials/index.md similarity index 96% rename from website/docs/services/container_registries/docker_credentials/index.md rename to website/docs/services/container_registry/docker_credentials/index.md index dfc0daa..abc1b9f 100644 --- a/website/docs/services/container_registries/docker_credentials/index.md +++ b/website/docs/services/container_registry/docker_credentials/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - docker_credentials - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a docker_credentials resou - +
Namedocker_credentials
TypeResource
Id
Id
## Fields @@ -50,6 +50,11 @@ A Docker `config.json` file for the container registry. + + + object + +
@@ -132,8 +137,8 @@ In order to access your container registry with the Docker client or from a
@@ -153,7 +158,7 @@ WHERE registry_name = '{{ registry_name }}' -- required; In order to access your container registry with the Docker client or from a
Kubernetes cluster, you will need to configure authentication. The necessary
JSON configuration can be retrieved by sending a GET request to
`/v2/registry/docker-credentials`.

The response will be in the format of a Docker `config.json` file. To use the
config in your Kubernetes cluster, create a Secret with:

kubectl create secret generic docr \
--from-file=.dockerconfigjson=config.json \
--type=kubernetes.io/dockerconfigjson

By default, the returned credentials have read-only access to your registry
and cannot be used to push images. This is appropriate for most Kubernetes
clusters. To retrieve read/write credentials, suitable for use with the Docker
client or in a CI system, read_write may be provided as query parameter. For
example: `/v2/registry/docker-credentials?read_write=true`

By default, the returned credentials will not expire. To retrieve credentials
with an expiry set, expiry_seconds may be provided as a query parameter. For
example: `/v2/registry/docker-credentials?expiry_seconds=3600` will return
credentials that expire after one hour.
```sql -EXEC digitalocean.container_registries.docker_credentials.registry_get_docker_credentials_legacy +EXEC digitalocean.container_registry.docker_credentials.registry_get_docker_credentials_legacy @expiry_seconds='{{ expiry_seconds }}', @read_write={{ read_write }}; ``` diff --git a/website/docs/services/container_registries/garbage_collections/index.md b/website/docs/services/container_registry/garbage_collections/index.md similarity index 88% rename from website/docs/services/container_registries/garbage_collections/index.md rename to website/docs/services/container_registry/garbage_collections/index.md index f697c39..0914d20 100644 --- a/website/docs/services/container_registries/garbage_collections/index.md +++ b/website/docs/services/container_registry/garbage_collections/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - garbage_collections - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a garbage_collections reso - +
Namegarbage_collections
TypeResource
Id
Id
## Fields @@ -50,6 +50,41 @@ The response will be a JSON object with a key of `garbage_collections`. This wil + + + string + The name of the container registry. (example: example) + + + + integer + The number of blobs deleted as a result of this garbage collection. + + + + string (date-time) + The time the garbage collection was created. (example: 2020-10-30T21:03:24Z) + + + + integer + The number of bytes freed as a result of this garbage collection. + + + + string + The current status of this garbage collection. (example: requested) + + + + string (date-time) + The time the garbage collection was last updated. (example: 2020-10-30T21:03:44Z) + + + + string + A string specifying the UUID of the garbage collection. (example: eff0feee-49c7-4e8f-ba5c-a320c109c8a8) +
@@ -172,8 +207,14 @@ To get information about past garbage collections for a registry, send a GET req ```sql SELECT -* -FROM digitalocean.container_registries.garbage_collections +registry_name, +blobs_deleted, +created_at, +freed_bytes, +status, +updated_at, +uuid +FROM digitalocean.container_registry.garbage_collections WHERE registry_name = '{{ registry_name }}' -- required AND per_page = '{{ per_page }}' AND page = '{{ page }}'; @@ -195,12 +236,14 @@ AND page = '{{ page }}'; To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. It is similar to PUT `/v2/registries/$REGISTRY_NAME/garbage-collection/$GC_UUID` and exists for backward compatibility. ```sql -REPLACE digitalocean.container_registries.garbage_collections +REPLACE digitalocean.container_registry.garbage_collections SET data__cancel = {{ cancel }} WHERE registry_name = '{{ registry_name }}' --required -AND garbage_collection_uuid = '{{ garbage_collection_uuid }}' --required; +AND garbage_collection_uuid = '{{ garbage_collection_uuid }}' --required +RETURNING +garbage_collection; ```
@@ -223,7 +266,7 @@ AND garbage_collection_uuid = '{{ garbage_collection_uuid }}' --required; Garbage collection enables users to clear out unreferenced blobs (layer &
manifest data) after deleting one or more manifests from a repository. If
there are no unreferenced blobs resulting from the deletion of one or more
manifests, garbage collection is effectively a noop.
[See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/)
about how and why you should clean up your container registry periodically.

To request a garbage collection run on your registry, send a POST request to
`/v2/registries/$REGISTRY_NAME/garbage-collection`. This will initiate the
following sequence of events on your registry.

* Set the registry to read-only mode, meaning no further write-scoped
JWTs will be issued to registry clients. Existing write-scoped JWTs will
continue to work until they expire which can take up to 15 minutes.
* Wait until all existing write-scoped JWTs have expired.
* Scan all registry manifests to determine which blobs are unreferenced.
* Delete all unreferenced blobs from the registry.
* Record the number of blobs deleted and bytes freed, mark the garbage
collection status as `success`.
* Remove the read-only mode restriction from the registry, meaning write-scoped
JWTs will once again be issued to registry clients.
```sql -EXEC digitalocean.container_registries.garbage_collections.registries_run_garbage_collection +EXEC digitalocean.container_registry.garbage_collections.registries_run_garbage_collection @registry_name='{{ registry_name }}' --required; ```
@@ -232,7 +275,7 @@ EXEC digitalocean.container_registries.garbage_collections.registries_run_garbag Garbage collection enables users to clear out unreferenced blobs (layer &
manifest data) after deleting one or more manifests from a repository. If
there are no unreferenced blobs resulting from the deletion of one or more
manifests, garbage collection is effectively a noop.
[See here for more information](https://docs.digitalocean.com/products/container-registry/how-to/clean-up-container-registry/)
about how and why you should clean up your container registry periodically.

To request a garbage collection run on your registry, send a POST request to
`/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the
following sequence of events on your registry.

* Set the registry to read-only mode, meaning no further write-scoped
JWTs will be issued to registry clients. Existing write-scoped JWTs will
continue to work until they expire which can take up to 15 minutes.
* Wait until all existing write-scoped JWTs have expired.
* Scan all registry manifests to determine which blobs are unreferenced.
* Delete all unreferenced blobs from the registry.
* Record the number of blobs deleted and bytes freed, mark the garbage
collection status as `success`.
* Remove the read-only mode restriction from the registry, meaning write-scoped
JWTs will once again be issued to registry clients.
```sql -EXEC digitalocean.container_registries.garbage_collections.registry_run_garbage_collection_legacy +EXEC digitalocean.container_registry.garbage_collections.registry_run_garbage_collection_legacy @registry_name='{{ registry_name }}' --required @@json= '{ @@ -245,7 +288,7 @@ EXEC digitalocean.container_registries.garbage_collections.registry_run_garbage_ To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. ```sql -EXEC digitalocean.container_registries.garbage_collections.registry_get_garbage_collection_legacy +EXEC digitalocean.container_registry.garbage_collections.registry_get_garbage_collection_legacy @registry_name='{{ registry_name }}' --required; ```
@@ -254,7 +297,7 @@ EXEC digitalocean.container_registries.garbage_collections.registry_get_garbage_ To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. ```sql -EXEC digitalocean.container_registries.garbage_collections.registry_list_garbage_collections_legacy +EXEC digitalocean.container_registry.garbage_collections.registry_list_garbage_collections_legacy @registry_name='{{ registry_name }}' --required, @per_page='{{ per_page }}', @page='{{ page }}'; @@ -265,7 +308,7 @@ EXEC digitalocean.container_registries.garbage_collections.registry_list_garbage To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. ```sql -EXEC digitalocean.container_registries.garbage_collections.registry_update_garbage_collection_legacy +EXEC digitalocean.container_registry.garbage_collections.registry_update_garbage_collection_legacy @registry_name='{{ registry_name }}' --required, @garbage_collection_uuid='{{ garbage_collection_uuid }}' --required @@json= diff --git a/website/docs/services/container_registry/index.md b/website/docs/services/container_registry/index.md new file mode 100644 index 0000000..4d6a0ab --- /dev/null +++ b/website/docs/services/container_registry/index.md @@ -0,0 +1,40 @@ +--- +title: container_registry +hide_title: false +hide_table_of_contents: false +keywords: + - container_registry + - digitalocean + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage digitalocean resources using SQL +custom_edit_url: null +image: /img/stackql-digitalocean-provider-featured-image.png +--- + +container_registry service documentation. + +:::info[Service Summary] + +total resources: __9__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/container_registries/options/index.md b/website/docs/services/container_registry/options/index.md similarity index 92% rename from website/docs/services/container_registries/options/index.md rename to website/docs/services/container_registry/options/index.md index 3c0c558..d7089c6 100644 --- a/website/docs/services/container_registries/options/index.md +++ b/website/docs/services/container_registry/options/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - options - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists an options resource. - +
Nameoptions
TypeResource
Id
Id
## Fields @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `options` which contains a + + + array + + + + + array + +
@@ -117,8 +127,9 @@ This endpoint serves to provide additional information as to which option values ```sql SELECT -* -FROM digitalocean.container_registries.options; +available_regions, +subscription_tiers +FROM digitalocean.container_registry.options; ```
@@ -137,7 +148,7 @@ FROM digitalocean.container_registries.options; This endpoint serves to provide additional information as to which option values are available when creating a container registry.
There are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included.
There are multiple regions available for container registry and controls where your data is stored.
To list the available options, send a GET request to `/v2/registry/options`. ```sql -EXEC digitalocean.container_registries.options.registry_get_options_legacy +EXEC digitalocean.container_registry.options.registry_get_options_legacy ; ```
diff --git a/website/docs/services/container_registries/registries/index.md b/website/docs/services/container_registry/registries/index.md similarity index 83% rename from website/docs/services/container_registries/registries/index.md rename to website/docs/services/container_registry/registries/index.md index ecd9df9..6d511c8 100644 --- a/website/docs/services/container_registries/registries/index.md +++ b/website/docs/services/container_registry/registries/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - registries - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a registries resource. - +
Nameregistries
TypeResource
Id
Id
## Fields @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists a registries resource. The following fields are returned by `SELECT` queries: - + The response will be a JSON object with the key `registry` containing information about your registry. @@ -51,10 +51,35 @@ The response will be a JSON object with the key `registry` containing informatio + + + string + A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. (pattern: ^[a-z0-9-]{1,63}$, example: example) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the registry was created. (example: 2020-03-21T16:02:37Z) + + + + string + Slug of the region where registry data is stored (example: fra1) + + + + integer + The amount of storage used in the registry in bytes. + + + + string (date-time) + The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. (example: 2020-11-04T21:39:49.530562231Z) + - + The response will be a JSON object with the key `registry` containing information about your registry. @@ -88,18 +113,18 @@ The following methods are available for this resource: - + + registry_name - - To get information about any container registry in your account, send a GET request to `/v2/registries/`. + To get information about any container registry in your account, send a GET request to `/v2/registries/{registry_name}`. - + - registry_name - To get information about any container registry in your account, send a GET request to `/v2/registries/{registry_name}`. + + To get information about any container registry in your account, send a GET request to `/v2/registries/`. @@ -177,31 +202,35 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To get information about any container registry in your account, send a GET request to `/v2/registries/`. +To get information about any container registry in your account, send a GET request to `/v2/registries/{registry_name}`. ```sql SELECT -* -FROM digitalocean.container_registries.registries; +name, +created_at, +region, +storage_usage_bytes, +storage_usage_bytes_updated_at +FROM digitalocean.container_registry.registries +WHERE registry_name = '{{ registry_name }}' -- required; ``` - + -To get information about any container registry in your account, send a GET request to `/v2/registries/{registry_name}`. +To get information about any container registry in your account, send a GET request to `/v2/registries/`. ```sql SELECT * -FROM digitalocean.container_registries.registries -WHERE registry_name = '{{ registry_name }}' -- required; +FROM digitalocean.container_registry.registries; ``` @@ -221,7 +250,7 @@ WHERE registry_name = '{{ registry_name }}' -- required; To create your container registry, send a POST request to `/v2/registries`.

The `name` becomes part of the URL for images stored in the registry. For
example, if your registry is called `example`, an image in it will have the
URL `registry.digitalocean.com/example/image:tag`.
```sql -INSERT INTO digitalocean.container_registries.registries ( +INSERT INTO digitalocean.container_registry.registries ( data__name, data__subscription_tier_slug, data__region @@ -230,6 +259,8 @@ SELECT '{{ name }}' --required, '{{ subscription_tier_slug }}', '{{ region }}' +RETURNING +registry ; ```
@@ -274,7 +305,7 @@ SELECT To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registries/{registry_name}`. ```sql -DELETE FROM digitalocean.container_registries.registries +DELETE FROM digitalocean.container_registry.registries WHERE registry_name = '{{ registry_name }}' --required; ```
@@ -298,7 +329,7 @@ WHERE registry_name = '{{ registry_name }}' --required; To validate that a container registry name is available for use, send a POST
request to `/v2/registries/validate-name`.

If the name is both formatted correctly and available, the response code will
be 204 and contain no body. If the name is already in use, the response will
be a 409 Conflict.

It is similar to `/v2/registry/validate-name` and exists for backward compatibility.
```sql -EXEC digitalocean.container_registries.registries.registries_validate_name +EXEC digitalocean.container_registry.registries.registries_validate_name @@json= '{ "name": "{{ name }}" @@ -310,7 +341,7 @@ EXEC digitalocean.container_registries.registries.registries_validate_name To get information about your container registry, send a GET request to `/v2/registry`.
This operation is not compatible with multiple registries in a DO account. You should use `/v2/registries/{registry_name}` instead. ```sql -EXEC digitalocean.container_registries.registries.registry_get_legacy +EXEC digitalocean.container_registry.registries.registry_get_legacy ; ```
@@ -319,7 +350,7 @@ EXEC digitalocean.container_registries.registries.registry_get_legacy To create your container registry, send a POST request to `/v2/registry`.

The `name` becomes part of the URL for images stored in the registry. For
example, if your registry is called `example`, an image in it will have the
URL `registry.digitalocean.com/example/image:tag`.
```sql -EXEC digitalocean.container_registries.registries.registry_create_legacy +EXEC digitalocean.container_registry.registries.registry_create_legacy @@json= '{ "name": "{{ name }}", @@ -333,7 +364,7 @@ EXEC digitalocean.container_registries.registries.registry_create_legacy To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`.
This operation is not compatible with multiple registries in a DO account. You should use `/v2/registries/{registry_name}` instead. ```sql -EXEC digitalocean.container_registries.registries.registry_delete_legacy +EXEC digitalocean.container_registry.registries.registry_delete_legacy ; ``` @@ -342,7 +373,7 @@ EXEC digitalocean.container_registries.registries.registry_delete_legacy To validate that a container registry name is available for use, send a POST
request to `/v2/registry/validate-name`.

If the name is both formatted correctly and available, the response code will
be 204 and contain no body. If the name is already in use, the response will
be a 409 Conflict.
```sql -EXEC digitalocean.container_registries.registries.registry_validate_name_legacy +EXEC digitalocean.container_registry.registries.registry_validate_name_legacy @@json= '{ "name": "{{ name }}" diff --git a/website/docs/services/container_registries/repositories/index.md b/website/docs/services/container_registry/repositories/index.md similarity index 87% rename from website/docs/services/container_registries/repositories/index.md rename to website/docs/services/container_registry/repositories/index.md index b7aada8..60a6c1f 100644 --- a/website/docs/services/container_registries/repositories/index.md +++ b/website/docs/services/container_registry/repositories/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - repositories - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a repositories resource. - +
Namerepositories
TypeResource
Id
Id
## Fields @@ -50,6 +50,31 @@ The response body will be a JSON object with a key of `repositories`. This will + + + string + The name of the repository. (example: repo-1) + + + + string + The name of the container registry. (example: example) + + + + object + + + + + integer + The number of manifests in the repository. + + + + integer + The number of tags in the repository. + @@ -156,8 +181,12 @@ To list all repositories in your container registry, send a GET request to `/v2/ ```sql SELECT -* -FROM digitalocean.container_registries.repositories +name, +registry_name, +latest_manifest, +manifest_count, +tag_count +FROM digitalocean.container_registry.repositories WHERE registry_name = '{{ registry_name }}' -- required AND per_page = '{{ per_page }}' AND page = '{{ page }}' @@ -180,7 +209,7 @@ AND page_token = '{{ page_token }}'; To delete a container repository including all of its tags, send a DELETE request to
`/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
```sql -DELETE FROM digitalocean.container_registries.repositories +DELETE FROM digitalocean.container_registry.repositories WHERE registry_name = '{{ registry_name }}' --required AND repository_name = '{{ repository_name }}' --required; ``` @@ -202,7 +231,7 @@ AND repository_name = '{{ repository_name }}' --required; This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint.

To list all repositories in your container registry, send a GET
request to `/v2/registry/$REGISTRY_NAME/repositories`.
```sql -EXEC digitalocean.container_registries.repositories.registry_list_repositories_legacy +EXEC digitalocean.container_registry.repositories.registry_list_repositories_legacy @registry_name='{{ registry_name }}' --required, @per_page='{{ per_page }}', @page='{{ page }}'; @@ -213,7 +242,7 @@ EXEC digitalocean.container_registries.repositories.registry_list_repositories_l To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. ```sql -EXEC digitalocean.container_registries.repositories.registry_list_repositories_v2_legacy +EXEC digitalocean.container_registry.repositories.registry_list_repositories_v2_legacy @registry_name='{{ registry_name }}' --required, @per_page='{{ per_page }}', @page='{{ page }}', diff --git a/website/docs/services/container_registries/repository_manifests/index.md b/website/docs/services/container_registry/repository_manifests/index.md similarity index 86% rename from website/docs/services/container_registries/repository_manifests/index.md rename to website/docs/services/container_registry/repository_manifests/index.md index 3b48f33..8accc4a 100644 --- a/website/docs/services/container_registries/repository_manifests/index.md +++ b/website/docs/services/container_registry/repository_manifests/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - repository_manifests - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a repository_manifests res - +
Namerepository_manifests
TypeResource
Id
Id
## Fields @@ -50,6 +50,46 @@ The response body will be a JSON object with a key of `manifests`. This will be + + + string + The name of the container registry. (example: example) + + + + array + All blobs associated with this manifest + + + + integer + The compressed size of the manifest in bytes. + + + + string + The manifest digest (example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221) + + + + string + The name of the repository. (example: repo-1) + + + + integer + The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). + + + + array + All tags associated with this manifest + + + + string (date-time) + The time the manifest was last updated. (example: 2020-04-09T23:54:25Z) + @@ -156,8 +196,15 @@ To list all manifests in your container registry repository, send a GET
req ```sql SELECT -* -FROM digitalocean.container_registries.repository_manifests +registry_name, +blobs, +compressed_size_bytes, +digest, +repository, +size_bytes, +tags, +updated_at +FROM digitalocean.container_registry.repository_manifests WHERE registry_name = '{{ registry_name }}' -- required AND repository_name = '{{ repository_name }}' -- required AND per_page = '{{ per_page }}' @@ -180,7 +227,7 @@ AND page = '{{ page }}'; To delete a container repository manifest by digest in one of your registries, send a DELETE request to
`/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to delete
`registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be
`/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.

It is similar to DELETE `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST` and exists for backward compatibility.
```sql -DELETE FROM digitalocean.container_registries.repository_manifests +DELETE FROM digitalocean.container_registry.repository_manifests WHERE registry_name = '{{ registry_name }}' --required AND repository_name = '{{ repository_name }}' --required AND manifest_digest = '{{ manifest_digest }}' --required; @@ -203,7 +250,7 @@ AND manifest_digest = '{{ manifest_digest }}' --required; To list all manifests in your container registry repository, send a GET
request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to list manifests for
`registry.digitalocean.com/example/my/repo`, the path would be
`/v2/registry/example/repositories/my%2Frepo/digests`.
```sql -EXEC digitalocean.container_registries.repository_manifests.registry_list_repository_manifests_legacy +EXEC digitalocean.container_registry.repository_manifests.registry_list_repository_manifests_legacy @registry_name='{{ registry_name }}' --required, @repository_name='{{ repository_name }}' --required, @per_page='{{ per_page }}', @@ -215,7 +262,7 @@ EXEC digitalocean.container_registries.repository_manifests.registry_list_reposi To delete a container repository manifest by digest, send a DELETE request to
`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to delete
`registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be
`/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
```sql -EXEC digitalocean.container_registries.repository_manifests.registry_delete_repository_manifest_legacy +EXEC digitalocean.container_registry.repository_manifests.registry_delete_repository_manifest_legacy @registry_name='{{ registry_name }}' --required, @repository_name='{{ repository_name }}' --required, @manifest_digest='{{ manifest_digest }}' --required; diff --git a/website/docs/services/container_registries/repository_tags/index.md b/website/docs/services/container_registry/repository_tags/index.md similarity index 86% rename from website/docs/services/container_registries/repository_tags/index.md rename to website/docs/services/container_registry/repository_tags/index.md index 5191263..4c03058 100644 --- a/website/docs/services/container_registries/repository_tags/index.md +++ b/website/docs/services/container_registry/repository_tags/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - repository_tags - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a repository_tags resource - +
Namerepository_tags
TypeResource
Id
Id
## Fields @@ -50,6 +50,41 @@ The response body will be a JSON object with a key of `tags`. This will be set t + + + string + The name of the container registry. (example: example) + + + + integer + The compressed size of the tag in bytes. + + + + string + The digest of the manifest associated with the tag. (example: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221) + + + + string + The name of the repository. (example: repo-1) + + + + integer + The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). + + + + string + The name of the tag. (example: latest) + + + + string (date-time) + The time the tag was last updated. (example: 2020-04-09T23:54:25Z) + @@ -156,8 +191,14 @@ To list all tags in one of your container registry's repository, send a GET
`/v2/registries/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to delete
`registry.digitalocean.com/example/my/repo:mytag`, the path would be
`/v2/registry/example/repositories/my%2Frepo/tags/mytag`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully. It is similar to DELETE `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG` and exists for backward compatibility.
```sql -DELETE FROM digitalocean.container_registries.repository_tags +DELETE FROM digitalocean.container_registry.repository_tags WHERE registry_name = '{{ registry_name }}' --required AND repository_name = '{{ repository_name }}' --required AND repository_tag = '{{ repository_tag }}' --required; @@ -203,7 +244,7 @@ AND repository_tag = '{{ repository_tag }}' --required; To list all tags in your container registry repository, send a GET
request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to list tags for
`registry.digitalocean.com/example/my/repo`, the path would be
`/v2/registry/example/repositories/my%2Frepo/tags`.
```sql -EXEC digitalocean.container_registries.repository_tags.registry_list_repository_tags_legacy +EXEC digitalocean.container_registry.repository_tags.registry_list_repository_tags_legacy @registry_name='{{ registry_name }}' --required, @repository_name='{{ repository_name }}' --required, @per_page='{{ per_page }}', @@ -215,7 +256,7 @@ EXEC digitalocean.container_registries.repository_tags.registry_list_repository_ To delete a container repository tag, send a DELETE request to
`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`.

Note that if your repository name contains `/` characters, it must be
URL-encoded in the request URL. For example, to delete
`registry.digitalocean.com/example/my/repo:mytag`, the path would be
`/v2/registry/example/repositories/my%2Frepo/tags/mytag`.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
```sql -EXEC digitalocean.container_registries.repository_tags.registry_delete_repository_tag_legacy +EXEC digitalocean.container_registry.repository_tags.registry_delete_repository_tag_legacy @registry_name='{{ registry_name }}' --required, @repository_name='{{ repository_name }}' --required, @repository_tag='{{ repository_tag }}' --required; diff --git a/website/docs/services/container_registries/subscriptions/index.md b/website/docs/services/container_registry/subscriptions/index.md similarity index 86% rename from website/docs/services/container_registries/subscriptions/index.md rename to website/docs/services/container_registry/subscriptions/index.md index 770f59d..ad87e17 100644 --- a/website/docs/services/container_registries/subscriptions/index.md +++ b/website/docs/services/container_registry/subscriptions/index.md @@ -4,7 +4,7 @@ hide_title: false hide_table_of_contents: false keywords: - subscriptions - - container_registries + - container_registry - digitalocean - infrastructure-as-code - configuration-as-data @@ -24,7 +24,7 @@ Creates, updates, deletes, gets or lists a subscriptions resource. - +
Namesubscriptions
TypeResource
Id
Id
## Fields @@ -50,6 +50,21 @@ The response will be a JSON object with a key called `subscription` containing i + + + string (date-time) + The time at which the subscription was created. (example: 2020-01-23T21:19:12Z) + + + + object + + + + + string (date-time) + The time at which the subscription was last updated. (example: 2020-11-05T15:53:24Z) + @@ -131,8 +146,10 @@ A subscription is automatically created when you configure your container regist ```sql SELECT -* -FROM digitalocean.container_registries.subscriptions; +created_at, +tier, +updated_at +FROM digitalocean.container_registry.subscriptions; ```
@@ -152,11 +169,13 @@ FROM digitalocean.container_registries.subscriptions; After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registries/subscription`. It is similar to POST `/v2/registry/subscription` and exists for backward compatibility. ```sql -INSERT INTO digitalocean.container_registries.subscriptions ( +INSERT INTO digitalocean.container_registry.subscriptions ( data__tier_slug ) SELECT '{{ tier_slug }}' +RETURNING +subscription ; ``` @@ -191,7 +210,7 @@ SELECT A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. ```sql -EXEC digitalocean.container_registries.subscriptions.registry_get_subscription_legacy +EXEC digitalocean.container_registry.subscriptions.registry_get_subscription_legacy ; ``` @@ -200,7 +219,7 @@ EXEC digitalocean.container_registries.subscriptions.registry_get_subscription_l After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. ```sql -EXEC digitalocean.container_registries.subscriptions.registry_update_subscription_legacy +EXEC digitalocean.container_registry.subscriptions.registry_update_subscription_legacy @@json= '{ "tier_slug": "{{ tier_slug }}" diff --git a/website/docs/services/databases/autoscale_config/index.md b/website/docs/services/databases/autoscale_config/index.md index 3419017..01fb264 100644 --- a/website/docs/services/databases/autoscale_config/index.md +++ b/website/docs/services/databases/autoscale_config/index.md @@ -50,6 +50,11 @@ A JSON object with autoscale configuration details. + + + object + Configuration for database cluster storage autoscaling + @@ -122,7 +127,7 @@ To retrieve the autoscale configuration for an existing database cluster, send a ```sql SELECT -* +storage FROM digitalocean.databases.autoscale_config WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/backups/index.md b/website/docs/services/databases/backups/index.md index 201fe94..194cea5 100644 --- a/website/docs/services/databases/backups/index.md +++ b/website/docs/services/databases/backups/index.md @@ -50,6 +50,16 @@ A JSON object with a key of `database_backups`. + + + string (date-time) + A time value given in ISO8601 combined date and time format at which the backup was created. (example: 2019-01-31T19:25:22Z) + + + + number + The size of the database backup in GBs. + @@ -115,7 +125,8 @@ To list all of the available backups of a PostgreSQL or MySQL database cluster, ```sql SELECT -* +created_at, +size_gigabytes FROM digitalocean.databases.backups WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/ca/index.md b/website/docs/services/databases/ca/index.md index 4b64df8..fa1cd4a 100644 --- a/website/docs/services/databases/ca/index.md +++ b/website/docs/services/databases/ca/index.md @@ -50,6 +50,11 @@ A JSON object with a key of `ca`. + + + string + base64 encoding of the certificate used to secure database connections (example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==) + @@ -115,7 +120,7 @@ To retrieve the public certificate used to secure the connection to the database ```sql SELECT -* +certificate FROM digitalocean.databases.ca WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/cluster_config/index.md b/website/docs/services/databases/cluster_config/index.md index f4352f6..ed7ec2c 100644 --- a/website/docs/services/databases/cluster_config/index.md +++ b/website/docs/services/databases/cluster_config/index.md @@ -50,6 +50,11 @@ A JSON object with a key of `config`. + + + + + @@ -122,7 +127,7 @@ Shows configuration parameters for an existing database cluster by sending a GET ```sql SELECT -* +config FROM digitalocean.databases.cluster_config WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/cluster_metrics_credentials/index.md b/website/docs/services/databases/cluster_metrics_credentials/index.md index be4996f..9da3fac 100644 --- a/website/docs/services/databases/cluster_metrics_credentials/index.md +++ b/website/docs/services/databases/cluster_metrics_credentials/index.md @@ -50,6 +50,11 @@ A JSON object with a key of `credentials`. + + + object + + @@ -117,7 +122,7 @@ To show the credentials for all database clusters' metrics endpoints, send a GET ```sql SELECT -* +credentials FROM digitalocean.databases.cluster_metrics_credentials; ``` diff --git a/website/docs/services/databases/clusters/index.md b/website/docs/services/databases/clusters/index.md index af700fb..49adfe4 100644 --- a/website/docs/services/databases/clusters/index.md +++ b/website/docs/services/databases/clusters/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a clusters resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `databases`. +A JSON object with a key of `database`. @@ -51,12 +51,147 @@ A JSON object with a key of `databases`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a database cluster. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
stringA unique, human-readable name referring to a database cluster. (example: backend)
string (uuid)The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.

Requires `project:read` scope. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
object
string (date-time)A time value given in ISO8601 combined date and time format that represents when the database cluster was created. (example: 2019-01-11T18:37:36Z)
arrayAn array of strings containing the names of databases created in the database cluster.
stringA slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" for OpenSearch, and "valkey" for Valkey. (example: mysql)
object
arrayPublic hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s).
integerThe number of nodes in the database cluster.
object
stringA string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. (pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}, example: d455e75d-4858-4eec-8c95-da2f0a5f93a7)
stringThe slug identifier for the region where the database cluster is located. (example: nyc3)
array
objectThe connection details for Schema Registry.
stringA string representing the semantic version of the database engine in use for the cluster. (example: 8.0.28)
stringThe slug identifier representing the size of the nodes in the database cluster. (example: db-s-2vcpu-4gb)
object
object
stringA string representing the current status of the database cluster. (example: creating)
integerAdditional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage.
arrayAn array of tags that have been applied to the database cluster.

Requires `tag:read` scope.
objectThe connection details for OpenSearch dashboard.
array
stringA string representing the version of the database engine in use for the cluster. (example: 8)
stringA timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. (example: 2023-05-09T00:00:00Z)
stringA timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. (example: 2023-11-09T00:00:00Z)
- + -A JSON object with a key of `database`. +A JSON object with a key of `databases`. @@ -67,6 +202,141 @@ A JSON object with a key of `database`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a database cluster. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
stringA unique, human-readable name referring to a database cluster. (example: backend)
string (uuid)The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.

Requires `project:read` scope. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
object
string (date-time)A time value given in ISO8601 combined date and time format that represents when the database cluster was created. (example: 2019-01-11T18:37:36Z)
arrayAn array of strings containing the names of databases created in the database cluster.
stringA slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" for OpenSearch, and "valkey" for Valkey. (example: mysql)
object
arrayPublic hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s).
integerThe number of nodes in the database cluster.
object
stringA string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. (pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}, example: d455e75d-4858-4eec-8c95-da2f0a5f93a7)
stringThe slug identifier for the region where the database cluster is located. (example: nyc3)
array
objectThe connection details for Schema Registry.
stringA string representing the semantic version of the database engine in use for the cluster. (example: 8.0.28)
stringThe slug identifier representing the size of the nodes in the database cluster. (example: db-s-2vcpu-4gb)
object
object
stringA string representing the current status of the database cluster. (example: creating)
integerAdditional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage.
arrayAn array of tags that have been applied to the database cluster.

Requires `tag:read` scope.
objectThe connection details for OpenSearch dashboard.
array
stringA string representing the version of the database engine in use for the cluster. (example: 8)
stringA timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. (example: 2023-05-09T00:00:00Z)
stringA timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. (example: 2023-11-09T00:00:00Z)
@@ -88,18 +358,18 @@ The following methods are available for this resource: - + + database_cluster_uuid - tag_name - 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. + To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`.

The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster 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 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. - + - database_cluster_uuid - To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`.

The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster 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 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. + tag_name + 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. @@ -174,7 +444,7 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# string - Limits the results to database clusters with a specific tag.<br><br>Requires `tag:read` scope. (example: production) + Limits the results to database clusters with a specific tag.

Requires `tag:read` scope. (example: production) @@ -182,32 +452,84 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -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. +To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`.

The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster 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 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. ```sql SELECT -* +id, +name, +project_id, +connection, +created_at, +db_names, +engine, +maintenance_window, +metrics_endpoints, +num_nodes, +private_connection, +private_network_uuid, +region, +rules, +schema_registry_connection, +semantic_version, +size, +standby_connection, +standby_private_connection, +status, +storage_size_mib, +tags, +ui_connection, +users, +version, +version_end_of_availability, +version_end_of_life FROM digitalocean.databases.clusters -WHERE tag_name = '{{ tag_name }}'; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
- + -To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`.

The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster 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 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. +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. ```sql SELECT -* +id, +name, +project_id, +connection, +created_at, +db_names, +engine, +maintenance_window, +metrics_endpoints, +num_nodes, +private_connection, +private_network_uuid, +region, +rules, +schema_registry_connection, +semantic_version, +size, +standby_connection, +standby_private_connection, +status, +storage_size_mib, +tags, +ui_connection, +users, +version, +version_end_of_availability, +version_end_of_life FROM digitalocean.databases.clusters -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE tag_name = '{{ tag_name }}'; ```
@@ -256,6 +578,8 @@ SELECT {{ storage_size_mib }}, '{{ autoscale }}', '{{ backup_restore }}' +RETURNING +database ; ```
diff --git a/website/docs/services/databases/connection_pools/index.md b/website/docs/services/databases/connection_pools/index.md index 766b6fe..00ed447 100644 --- a/website/docs/services/databases/connection_pools/index.md +++ b/website/docs/services/databases/connection_pools/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a connection_pools resourc The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `pools`. +A JSON object with a key of `pool`. @@ -51,12 +51,57 @@ A JSON object with a key of `pools`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique name for the connection pool. Must be between 3 and 60 characters. (example: backend-pool)
object
stringThe database for use with the connection pool. (example: defaultdb)
stringThe PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. (example: transaction)
object
integer (int32)The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.
object
object
stringThe name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. (example: doadmin)
- + -A JSON object with a key of `pool`. +A JSON object with a key of `pools`. @@ -67,6 +112,51 @@ A JSON object with a key of `pool`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringA unique name for the connection pool. Must be between 3 and 60 characters. (example: backend-pool)
object
stringThe database for use with the connection pool. (example: defaultdb)
stringThe PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. (example: transaction)
object
integer (int32)The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster.
object
object
stringThe name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. (example: doadmin)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, pool_name - To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`.
The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. + To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.
The response will be a JSON object with a `pool` key. - + - database_cluster_uuid, pool_name + database_cluster_uuid - To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.
The response will be a JSON object with a `pool` key. + To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`.
The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. @@ -154,33 +244,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`.
The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. +To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.
The response will be a JSON object with a `pool` key. ```sql SELECT -* +name, +connection, +db, +mode, +private_connection, +size, +standby_connection, +standby_private_connection, +user FROM digitalocean.databases.connection_pools -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND pool_name = '{{ pool_name }}' -- required; ```
- + -To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`.
The response will be a JSON object with a `pool` key. +To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`.
The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. ```sql SELECT -* +name, +connection, +db, +mode, +private_connection, +size, +standby_connection, +standby_private_connection, +user FROM digitalocean.databases.connection_pools -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND pool_name = '{{ pool_name }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -215,6 +321,8 @@ SELECT '{{ db }}' --required, '{{ user }}', '{{ database_cluster_uuid }}' +RETURNING +pool ; ```
diff --git a/website/docs/services/databases/dbs/index.md b/website/docs/services/databases/dbs/index.md index fadd73a..2a69d02 100644 --- a/website/docs/services/databases/dbs/index.md +++ b/website/docs/services/databases/dbs/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a dbs resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `databases`. +A JSON object with a key of `db`. @@ -51,12 +51,17 @@ A JSON object with a key of `databases`. + + + + +
stringThe name of the database. (example: alpha)
- + -A JSON object with a key of `db`. +A JSON object with a key of `databases`. @@ -67,6 +72,11 @@ A JSON object with a key of `db`. + + + + +
stringThe name of the database. (example: alpha)
@@ -88,18 +98,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, database_name - To list all of the databases in a clusters, send a GET request to
`/v2/databases/$DATABASE_ID/dbs`.

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

Note: Database management is not supported for Caching or Valkey clusters.
+ To show information about an existing database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.

Note: Database management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `db` key. This will be set to an object
containing the standard database attributes.
- + - database_cluster_uuid, database_name + database_cluster_uuid - To show information about an existing database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.

Note: Database management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `db` key. This will be set to an object
containing the standard database attributes.
+ To list all of the databases in a clusters, send a GET request to
`/v2/databases/$DATABASE_ID/dbs`.

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

Note: Database management is not supported for Caching or Valkey clusters.
@@ -147,33 +157,33 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the databases in a clusters, send a GET request to
`/v2/databases/$DATABASE_ID/dbs`.

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

Note: Database management is not supported for Caching or Valkey clusters.
+To show information about an existing database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.

Note: Database management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `db` key. This will be set to an object
containing the standard database attributes.
```sql SELECT -* +name FROM digitalocean.databases.dbs -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND database_name = '{{ database_name }}' -- required; ```
- + -To show information about an existing database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/dbs/$DB_NAME`.

Note: Database management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `db` key. This will be set to an object
containing the standard database attributes.
+To list all of the databases in a clusters, send a GET request to
`/v2/databases/$DATABASE_ID/dbs`.

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

Note: Database management is not supported for Caching or Valkey clusters.
```sql SELECT -* +name FROM digitalocean.databases.dbs -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND database_name = '{{ database_name }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -200,6 +210,8 @@ database_cluster_uuid SELECT '{{ name }}' --required, '{{ database_cluster_uuid }}' +RETURNING +db ; ```
diff --git a/website/docs/services/databases/events_logs/index.md b/website/docs/services/databases/events_logs/index.md index d310a29..0f733a4 100644 --- a/website/docs/services/databases/events_logs/index.md +++ b/website/docs/services/databases/events_logs/index.md @@ -50,6 +50,26 @@ A JSON object with a key of `events`. + + + string + ID of the particular event. (example: pe8u2huh) + + + + string + The name of cluster. (example: sample_cluster) + + + + string + The time of the generation of a event. (example: 2020-10-29T15:57:38Z) + + + + string + Type of the event. (example: cluster_create) +
@@ -115,7 +135,10 @@ To list all of the cluster events, send a GET request to
`/v2/databases/$DA ```sql SELECT -* +id, +cluster_name, +create_time, +event_type FROM digitalocean.databases.events_logs WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/firewall_rules/index.md b/website/docs/services/databases/firewall_rules/index.md index 7f859e1..ea2df5d 100644 --- a/website/docs/services/databases/firewall_rules/index.md +++ b/website/docs/services/databases/firewall_rules/index.md @@ -50,6 +50,31 @@ A JSON object with a key of `rules`. + + + string + A unique ID for the database cluster to which the rule is applied. (pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}, example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. (example: 2019-01-11T18:37:36Z) + + + + string + The type of resource that the firewall rule allows to access the database cluster. (example: droplet) + + + + string + A unique ID for the firewall rule itself. (pattern: ^$|[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}, example: 79f26d28-ea8a-41f2-8ad8-8cfcdd020095) + + + + string + The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. (example: ff2a6c52-5a44-4b63-b99c-0e98e7a63d61) +
@@ -122,7 +147,11 @@ To list all of a database cluster's firewall rules (known as "trusted sources" i ```sql SELECT -* +cluster_uuid, +created_at, +type, +uuid, +value FROM digitalocean.databases.firewall_rules WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/kafka_schema_config/index.md b/website/docs/services/databases/kafka_schema_config/index.md index 41a1b32..8976680 100644 --- a/website/docs/services/databases/kafka_schema_config/index.md +++ b/website/docs/services/databases/kafka_schema_config/index.md @@ -50,6 +50,11 @@ A JSON object with a key of `compatibility_level`. + + + string + The compatibility level of the schema registry. +
@@ -122,7 +127,7 @@ To retrieve the Schema Registry configuration for a Kafka cluster, send a GET re ```sql SELECT -* +compatibility_level FROM digitalocean.databases.kafka_schema_config WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` @@ -148,7 +153,9 @@ SET data__compatibility_level = '{{ compatibility_level }}' WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' --required -AND data__compatibility_level = '{{ compatibility_level }}' --required; +AND data__compatibility_level = '{{ compatibility_level }}' --required +RETURNING +compatibility_level; ```
diff --git a/website/docs/services/databases/kafka_schema_subject_config/index.md b/website/docs/services/databases/kafka_schema_subject_config/index.md index 67947a4..d170bd8 100644 --- a/website/docs/services/databases/kafka_schema_subject_config/index.md +++ b/website/docs/services/databases/kafka_schema_subject_config/index.md @@ -50,6 +50,16 @@ A JSON object with a key of `compatibility_level`. + + + string + The name of the schema subject. + + + + string + The compatibility level of the schema registry. + @@ -127,7 +137,8 @@ To retrieve the Schema Registry configuration for a Subject of a Kafka cluster, ```sql SELECT -* +subject_name, +compatibility_level FROM digitalocean.databases.kafka_schema_subject_config WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required AND subject_name = '{{ subject_name }}' -- required; @@ -155,7 +166,10 @@ data__compatibility_level = '{{ compatibility_level }}' WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' --required AND subject_name = '{{ subject_name }}' --required -AND data__compatibility_level = '{{ compatibility_level }}' --required; +AND data__compatibility_level = '{{ compatibility_level }}' --required +RETURNING +subject_name, +compatibility_level; ```
diff --git a/website/docs/services/databases/kafka_schema_version/index.md b/website/docs/services/databases/kafka_schema_version/index.md index e5467f1..26b4371 100644 --- a/website/docs/services/databases/kafka_schema_version/index.md +++ b/website/docs/services/databases/kafka_schema_version/index.md @@ -50,6 +50,31 @@ A JSON object. + + + integer + The id for schema. + + + + string + The name of the schema subject. (example: customer-schema) + + + + string + The schema definition in the specified format. (example: {
"type": "record",
"name": "Customer",
"fields": [
{"name": "id", "type": "int"},
{"name": "name", "type": "string"}
]
} ) + + + + string + The type of the schema. (example: AVRO) + + + + string + The version of the schema. (example: 1) + @@ -125,7 +150,11 @@ To get a specific schema by subject name for a Kafka cluster, send a GET request ```sql SELECT -* +schema_id, +subject_name, +schema, +schema_type, +version FROM digitalocean.databases.kafka_schema_version WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required AND subject_name = '{{ subject_name }}' -- required diff --git a/website/docs/services/databases/kafka_schemas/index.md b/website/docs/services/databases/kafka_schemas/index.md index ed3a16b..d76f6ed 100644 --- a/website/docs/services/databases/kafka_schemas/index.md +++ b/website/docs/services/databases/kafka_schemas/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a kafka_schemas resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `subjects`. +A JSON object. @@ -51,12 +51,37 @@ A JSON object with a key of `subjects`. + + + + + + + + + + + + + + + + + + + + + + + + +
integerThe id for schema.
stringThe name of the schema subject. (example: customer-schema)
stringThe schema definition in the specified format. (example: {
"type": "record",
"name": "Customer",
"fields": [
{"name": "id", "type": "int"},
{"name": "name", "type": "string"}
]
} )
stringThe type of the schema. (example: AVRO)
stringThe version of the schema. (example: 1)
- + -A JSON object. +A JSON object with a key of `subjects`. @@ -67,6 +92,26 @@ A JSON object. + + + + + + + + + + + + + + + + + + + +
integerThe id for schema.
stringThe name of the schema subject. (example: customer-schema)
stringThe schema definition in the specified format. (example: {
"type": "record",
"name": "Customer",
"fields": [
{"name": "id", "type": "int"},
{"name": "name", "type": "string"}
]
} )
stringThe type of the schema. (example: AVRO)
@@ -88,18 +133,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, subject_name - To list all schemas for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry`.
+ To get a specific schema by subject name for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`.
- + - database_cluster_uuid, subject_name + database_cluster_uuid - To get a specific schema by subject name for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`.
+ To list all schemas for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry`.
@@ -147,33 +192,40 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all schemas for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry`.
+To get a specific schema by subject name for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`.
```sql SELECT -* +schema_id, +subject_name, +schema, +schema_type, +version FROM digitalocean.databases.kafka_schemas -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND subject_name = '{{ subject_name }}' -- required; ```
- + -To get a specific schema by subject name for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry/$SUBJECT_NAME`.
+To list all schemas for a Kafka cluster, send a GET request to
`/v2/databases/$DATABASE_ID/schema-registry`.
```sql SELECT -* +schema_id, +subject_name, +schema, +schema_type FROM digitalocean.databases.kafka_schemas -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND subject_name = '{{ subject_name }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -204,6 +256,11 @@ SELECT '{{ schema_type }}' --required, '{{ schema }}' --required, '{{ database_cluster_uuid }}' +RETURNING +schema_id, +subject_name, +schema, +schema_type ; ```
diff --git a/website/docs/services/databases/kafka_topics/index.md b/website/docs/services/databases/kafka_topics/index.md index e1a1e7f..071a373 100644 --- a/website/docs/services/databases/kafka_topics/index.md +++ b/website/docs/services/databases/kafka_topics/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a kafka_topics resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `topics`. +A JSON object with a key of `topic`. @@ -51,12 +51,37 @@ A JSON object with a key of `topics`. + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe name of the Kafka topic. (example: events)
object
array
integerThe number of nodes to replicate data across the cluster.
stringThe state of the Kafka topic. (example: active)
- + -A JSON object with a key of `topic`. +A JSON object with a key of `topics`. @@ -67,6 +92,26 @@ A JSON object with a key of `topic`. + + + + + + + + + + + + + + + + + + + +
stringThe name of the Kafka topic. (example: events)
integerThe number of partitions available for the topic. On update, this value can only be increased.
integerThe number of nodes to replicate data across the cluster.
stringThe state of the Kafka topic. (example: active)
@@ -88,18 +133,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, topic_name - To list all of a Kafka cluster's topics, send a GET request to
`/v2/databases/$DATABASE_ID/topics`.

The result will be a JSON object with a `topics` key.
+ To retrieve a given topic by name from the set of a Kafka cluster's topics,
send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`.

The result will be a JSON object with a `topic` key.
- + - database_cluster_uuid, topic_name + database_cluster_uuid - To retrieve a given topic by name from the set of a Kafka cluster's topics,
send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`.

The result will be a JSON object with a `topic` key.
+ To list all of a Kafka cluster's topics, send a GET request to
`/v2/databases/$DATABASE_ID/topics`.

The result will be a JSON object with a `topics` key.
@@ -154,33 +199,40 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of a Kafka cluster's topics, send a GET request to
`/v2/databases/$DATABASE_ID/topics`.

The result will be a JSON object with a `topics` key.
+To retrieve a given topic by name from the set of a Kafka cluster's topics,
send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`.

The result will be a JSON object with a `topic` key.
```sql SELECT -* +name, +config, +partitions, +replication_factor, +state FROM digitalocean.databases.kafka_topics -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND topic_name = '{{ topic_name }}' -- required; ```
- + -To retrieve a given topic by name from the set of a Kafka cluster's topics,
send a GET request to `/v2/databases/$DATABASE_ID/topics/$TOPIC_NAME`.

The result will be a JSON object with a `topic` key.
+To list all of a Kafka cluster's topics, send a GET request to
`/v2/databases/$DATABASE_ID/topics`.

The result will be a JSON object with a `topics` key.
```sql SELECT -* +name, +partition_count, +replication_factor, +state FROM digitalocean.databases.kafka_topics -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND topic_name = '{{ topic_name }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -213,6 +265,8 @@ SELECT {{ partition_count }}, '{{ config }}', '{{ database_cluster_uuid }}' +RETURNING +topic ; ```
@@ -267,7 +321,9 @@ data__partition_count = {{ partition_count }}, data__config = '{{ config }}' WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' --required -AND topic_name = '{{ topic_name }}' --required; +AND topic_name = '{{ topic_name }}' --required +RETURNING +topic; ```
diff --git a/website/docs/services/databases/log_sinks/index.md b/website/docs/services/databases/log_sinks/index.md index 577e62b..9ddba52 100644 --- a/website/docs/services/databases/log_sinks/index.md +++ b/website/docs/services/databases/log_sinks/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a log_sinks resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `sinks`. +A JSON object with a key of `sink`. @@ -51,12 +51,17 @@ A JSON object with a key of `sinks`. + + + + +
object
- + -A JSON object with a key of `sink`. +A JSON object with a key of `sinks`. @@ -67,6 +72,26 @@ A JSON object with a key of `sink`. + + + + + + + + + + + + + + + + + + + +
stringA unique identifier for Logsink (example: dfcc9f57d86bf58e321c2c6c31c7a971be244ac7)
stringThe name of the Logsink (example: prod-logsink)
string (example: rsyslog)
@@ -88,18 +113,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, logsink_id - To list logsinks for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink`.
+ To get a logsink for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`.
- + - database_cluster_uuid, logsink_id + database_cluster_uuid - To get a logsink for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`.
+ To list logsinks for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink`.
@@ -154,33 +179,36 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list logsinks for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink`.
+To get a logsink for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`.
```sql SELECT -* +sink FROM digitalocean.databases.log_sinks -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND logsink_id = '{{ logsink_id }}' -- required; ```
- + -To get a logsink for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink/$LOGSINK_ID`.
+To list logsinks for a database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/logsink`.
```sql SELECT -* +sink_id, +sink_name, +config, +sink_type FROM digitalocean.databases.log_sinks -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND logsink_id = '{{ logsink_id }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -211,6 +239,8 @@ SELECT '{{ sink_type }}' --required, '{{ config }}' --required, '{{ database_cluster_uuid }}' +RETURNING +sink ; ```
diff --git a/website/docs/services/databases/online_migrations/index.md b/website/docs/services/databases/online_migrations/index.md index 788bc82..c1121f4 100644 --- a/website/docs/services/databases/online_migrations/index.md +++ b/website/docs/services/databases/online_migrations/index.md @@ -50,6 +50,21 @@ A JSON object. + + + string + The ID of the most recent migration. (example: 77b28fc8-19ff-11eb-8c9c-c68e24557488) + + + + string + The time the migration was initiated, in ISO 8601 format. (example: 2020-10-29T15:57:38Z) + + + + string + The current status of the migration. (example: running) +
@@ -134,7 +149,9 @@ To retrieve the status of the most recent online migration, send a GET request t ```sql SELECT -* +id, +created_at, +status FROM digitalocean.databases.online_migrations WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/opensearch_indexes/index.md b/website/docs/services/databases/opensearch_indexes/index.md index 0b31020..1434dbe 100644 --- a/website/docs/services/databases/opensearch_indexes/index.md +++ b/website/docs/services/databases/opensearch_indexes/index.md @@ -32,12 +32,12 @@ Creates, updates, deletes, gets or lists an opensearch_indexes reso The following fields are returned by `SELECT` queries: - + A JSON object with a key of `indexes`. @@ -50,6 +50,41 @@ A JSON object with a key of `indexes`. + + + string + The name of the opensearch index. (example: events) + + + + string (date-time) + The date and time the index was created. (example: 2021-01-01T00:00:00Z) + + + + string + The health of the OpenSearch index. (example: green) + + + + integer + The number of replicas for the index. + + + + integer + The number of shards for the index. + + + + integer + The size of the index. + + + + string + The status of the OpenSearch index. (example: open) + @@ -71,7 +106,7 @@ The following methods are available for this resource: - + database_cluster_uuid @@ -116,18 +151,24 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + To list all of a OpenSearch cluster's indexes, send a GET request to
`/v2/databases/$DATABASE_ID/indexes`.

The result will be a JSON object with a `indexes` key.
```sql SELECT -* +index_name, +created_time, +health, +number_of_replicas, +number_of_shards, +size, +status FROM digitalocean.databases.opensearch_indexes WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/options/index.md b/website/docs/services/databases/options/index.md index d73bb6f..ad779fb 100644 --- a/website/docs/services/databases/options/index.md +++ b/website/docs/services/databases/options/index.md @@ -50,6 +50,16 @@ A JSON string with a key of `options`. + + + object + + + + + object + +
@@ -110,7 +120,8 @@ To list all of the options available for the offered database engines, send a GE ```sql SELECT -* +options, +version_availability FROM digitalocean.databases.options; ```
diff --git a/website/docs/services/databases/replicas/index.md b/website/docs/services/databases/replicas/index.md index e704e35..04ee6ae 100644 --- a/website/docs/services/databases/replicas/index.md +++ b/website/docs/services/databases/replicas/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a replicas resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `replicas`. +A JSON object with a key of `replica`. @@ -51,12 +51,67 @@ A JSON object with a key of `replicas`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a database replica. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
stringThe name to give the read-only replicating (example: read-nyc3-01)
object
string (date-time)A time value given in ISO8601 combined date and time format that represents when the database cluster was created. (example: 2019-01-11T18:37:36Z)
object
stringA string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. (example: 9423cbad-9211-442f-820b-ef6915e99b5f)
stringA slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. (example: nyc3)
stringA slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. (example: db-s-2vcpu-4gb)
stringA string representing the current status of the database cluster. (example: creating)
integerAdditional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage.
arrayA flat array of tag names as strings applied to the read-only replica.

Requires `tag:read` scope.
- + -A JSON object with a key of `replica`. +A JSON object with a key of `replicas`. @@ -67,6 +122,61 @@ A JSON object with a key of `replica`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a database replica. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
stringThe name to give the read-only replicating (example: read-nyc3-01)
object
string (date-time)A time value given in ISO8601 combined date and time format that represents when the database cluster was created. (example: 2019-01-11T18:37:36Z)
object
stringA string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.

Requires `vpc:read` scope. (example: 9423cbad-9211-442f-820b-ef6915e99b5f)
stringA slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. (example: nyc3)
stringA slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. (example: db-s-2vcpu-4gb)
stringA string representing the current status of the database cluster. (example: creating)
integerAdditional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage.
arrayA flat array of tag names as strings applied to the read-only replica.

Requires `tag:read` scope.
@@ -88,18 +198,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, replica_name - To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. + To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. - + - database_cluster_uuid, replica_name + database_cluster_uuid - To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. + To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. @@ -154,33 +264,53 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. +To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. ```sql SELECT -* +id, +name, +connection, +created_at, +private_connection, +private_network_uuid, +region, +size, +status, +storage_size_mib, +tags FROM digitalocean.databases.replicas -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND replica_name = '{{ replica_name }}' -- required; ```
- + -To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. +To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`.

**Note**: Read-only replicas are not supported for Caching or Valkey clusters.

The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. ```sql SELECT -* +id, +name, +connection, +created_at, +private_connection, +private_network_uuid, +region, +size, +status, +storage_size_mib, +tags FROM digitalocean.databases.replicas -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND replica_name = '{{ replica_name }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -217,6 +347,8 @@ SELECT '{{ private_network_uuid }}', {{ storage_size_mib }}, '{{ database_cluster_uuid }}' +RETURNING +replica ; ```
diff --git a/website/docs/services/databases/sql_mode/index.md b/website/docs/services/databases/sql_mode/index.md index 3057bf5..49d9811 100644 --- a/website/docs/services/databases/sql_mode/index.md +++ b/website/docs/services/databases/sql_mode/index.md @@ -50,6 +50,11 @@ A JSON string with a key of `sql_mode`. + + + string + A string specifying the configured SQL modes for the MySQL cluster. (example: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES) +
@@ -122,7 +127,7 @@ To retrieve the configured SQL modes for an existing MySQL cluster, send a GET r ```sql SELECT -* +sql_mode FROM digitalocean.databases.sql_mode WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ``` diff --git a/website/docs/services/databases/users/index.md b/website/docs/services/databases/users/index.md index 644fcde..52307ed 100644 --- a/website/docs/services/databases/users/index.md +++ b/website/docs/services/databases/users/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a users resource. The following fields are returned by `SELECT` queries: - + -A JSON object with a key of `users`. +A JSON object with a key of `user`. @@ -51,12 +51,47 @@ A JSON object with a key of `users`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe name of a database user. (example: app-01)
stringAccess certificate for TLS client authentication. (Kafka only) (example: -----BEGIN CERTIFICATE-----
MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x
NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+
CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb
8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4
oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz
Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna
k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb
QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1
MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG
CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl
dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s
ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu
Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW
MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB
BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1
cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp
dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl
bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM
PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e
iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD
D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7
q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/
WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu
UlF1zblDmg2Iaw==
-----END CERTIFICATE-----)
stringAccess key for TLS client authentication. (Kafka only) (example: -----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52
SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1
DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X
wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w
Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F
ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX
fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l
9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm
cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt
eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF
0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x
gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh
GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+
P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj
IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49
W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ
3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt
Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx
pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG
RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0
o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E
sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW
JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo
QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/
AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg
eTuK2xNR0PIM8OI7pRpgyj1I
-----END PRIVATE KEY-----)
object
stringA randomly generated password for the database user.
Requires `database:view_credentials` scope. (example: jge5lfxtzhx42iff)
stringA string representing the database user's role. The value will be either "primary" or "normal". (example: normal)
object
- + -A JSON object with a key of `user`. +A JSON object with a key of `users`. @@ -67,6 +102,41 @@ A JSON object with a key of `user`. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe name of a database user. (example: app-01)
stringAccess certificate for TLS client authentication. (Kafka only) (example: -----BEGIN CERTIFICATE-----
MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x
NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+
CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb
8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4
oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz
Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna
k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb
QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1
MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG
CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl
dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s
ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu
Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW
MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB
BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1
cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp
dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl
bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM
PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e
iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD
D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7
q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/
WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu
UlF1zblDmg2Iaw==
-----END CERTIFICATE-----)
stringAccess key for TLS client authentication. (Kafka only) (example: -----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52
SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1
DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X
wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w
Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F
ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX
fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l
9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm
cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt
eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF
0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x
gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh
GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+
P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj
IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49
W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ
3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt
Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx
pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG
RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0
o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E
sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW
JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo
QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/
AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg
eTuK2xNR0PIM8OI7pRpgyj1I
-----END PRIVATE KEY-----)
object
stringA randomly generated password for the database user.
Requires `database:view_credentials` scope. (example: jge5lfxtzhx42iff)
stringA string representing the database user's role. The value will be either "primary" or "normal". (example: normal)
object
@@ -88,18 +158,18 @@ The following methods are available for this resource: - + - database_cluster_uuid + database_cluster_uuid, username - To list all of the users for your database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/users`.

Note: User management is not supported for Caching or Valkey clusters.

The result will be a JSON object with a `users` key. This will be set to an array
of database user objects, each of which will contain the standard database user attributes.
User passwords will not show without the `database:view_credentials` scope.

For MySQL clusters, additional options will be contained in the mysql_settings object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
+ To show information about an existing database user, send a GET request to
`/v2/databases/$DATABASE_ID/users/$USERNAME`.

Note: User management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `user` key. This will be set to an object
containing the standard database user attributes. The user's password will not show
up unless the `database:view_credentials` scope is present.

For MySQL clusters, additional options will be contained in the `mysql_settings`
object.

For Kafka clusters, additional options will be contained in the `settings` object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
- + - database_cluster_uuid, username + database_cluster_uuid - To show information about an existing database user, send a GET request to
`/v2/databases/$DATABASE_ID/users/$USERNAME`.

Note: User management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `user` key. This will be set to an object
containing the standard database user attributes. The user's password will not show
up unless the `database:view_credentials` scope is present.

For MySQL clusters, additional options will be contained in the `mysql_settings`
object.

For Kafka clusters, additional options will be contained in the `settings` object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
+ To list all of the users for your database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/users`.

Note: User management is not supported for Caching or Valkey clusters.

The result will be a JSON object with a `users` key. This will be set to an array
of database user objects, each of which will contain the standard database user attributes.
User passwords will not show without the `database:view_credentials` scope.

For MySQL clusters, additional options will be contained in the mysql_settings object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
@@ -161,33 +231,45 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the users for your database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/users`.

Note: User management is not supported for Caching or Valkey clusters.

The result will be a JSON object with a `users` key. This will be set to an array
of database user objects, each of which will contain the standard database user attributes.
User passwords will not show without the `database:view_credentials` scope.

For MySQL clusters, additional options will be contained in the mysql_settings object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
+To show information about an existing database user, send a GET request to
`/v2/databases/$DATABASE_ID/users/$USERNAME`.

Note: User management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `user` key. This will be set to an object
containing the standard database user attributes. The user's password will not show
up unless the `database:view_credentials` scope is present.

For MySQL clusters, additional options will be contained in the `mysql_settings`
object.

For Kafka clusters, additional options will be contained in the `settings` object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
```sql SELECT -* +name, +access_cert, +access_key, +mysql_settings, +password, +role, +settings FROM digitalocean.databases.users -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required +AND username = '{{ username }}' -- required; ```
- + -To show information about an existing database user, send a GET request to
`/v2/databases/$DATABASE_ID/users/$USERNAME`.

Note: User management is not supported for Caching or Valkey clusters.

The response will be a JSON object with a `user` key. This will be set to an object
containing the standard database user attributes. The user's password will not show
up unless the `database:view_credentials` scope is present.

For MySQL clusters, additional options will be contained in the `mysql_settings`
object.

For Kafka clusters, additional options will be contained in the `settings` object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
+To list all of the users for your database cluster, send a GET request to
`/v2/databases/$DATABASE_ID/users`.

Note: User management is not supported for Caching or Valkey clusters.

The result will be a JSON object with a `users` key. This will be set to an array
of database user objects, each of which will contain the standard database user attributes.
User passwords will not show without the `database:view_credentials` scope.

For MySQL clusters, additional options will be contained in the mysql_settings object.

For MongoDB clusters, additional information will be contained in the mongo_user_settings object
```sql SELECT -* +name, +access_cert, +access_key, +mysql_settings, +password, +role, +settings FROM digitalocean.databases.users -WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required -AND username = '{{ username }}' -- required; +WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required; ```
@@ -220,6 +302,8 @@ SELECT '{{ settings }}', {{ readonly }}, '{{ database_cluster_uuid }}' +RETURNING +user ; ```
@@ -273,7 +357,9 @@ data__settings = '{{ settings }}' WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' --required AND username = '{{ username }}' --required -AND data__settings = '{{ settings }}' --required; +AND data__settings = '{{ settings }}' --required +RETURNING +user; ```
diff --git a/website/docs/services/genai/agent_routes/index.md b/website/docs/services/genai/agent_routes/index.md index e8b9714..a46d392 100644 --- a/website/docs/services/genai/agent_routes/index.md +++ b/website/docs/services/genai/agent_routes/index.md @@ -51,10 +51,205 @@ A successful response. - + + string + Agent name (example: example name) + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string (uint64) + Id of user that created the agent (example: 12345) + + + + string + Route name (example: example name) + + + + object + Anthropic API Key Info + + + + array + Api key infos + + + + array + Api keys + + + + object + A Chatbot + + + + array + Chatbot identifiers + + + array Child agents + + + boolean + Whether conversation logs are enabled for the agent + + + + string (date-time) + Creation date / time (example: 2023-01-01T00:00:00Z) + + + + object + Description of deployment + + + + string + Description of agent (example: example string) + + + + array + + + + + array + The guardrails the agent is attached to + + + + string + (example: example string) + + + + string + Agent instruction. Instructions help your agent to perform its job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) for best practices. (example: example string) + + + + integer (int64) + + + + + array + Knowledge bases + + + + object + + + + + integer (int64) + + + + + object + Description of a Model + + + + object + OpenAI API Key Info + + + + array + Parent agents + + + + boolean + Whether the agent should provide in-response citations + + + + string + Region code (example: example string) + + + + string + - RETRIEVAL_METHOD_UNKNOWN: The retrieval method is unknown - RETRIEVAL_METHOD_REWRITE: The retrieval method is rewrite - RETRIEVAL_METHOD_STEP_BACK: The retrieval method is step back - RETRIEVAL_METHOD_SUB_QUERIES: The retrieval method is sub queries - RETRIEVAL_METHOD_NONE: The retrieval method is none (default: RETRIEVAL_METHOD_UNKNOWN, example: RETRIEVAL_METHOD_UNKNOWN) + + + + string (date-time) + Creation of route date / time (example: 2023-01-01T00:00:00Z) + + + + string (uint64) + (example: 12345) + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + array + Agent tag to organize related resources + + + + number (float) + + + + + object + Represents an AgentTemplate entity + + + + number (float) + + + + + string (date-time) + Last modified (example: 2023-01-01T00:00:00Z) + + + + string + Access your agent under this url (example: example string) + + + + string + Unique agent id (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + The latest version of the agent (example: example string) + + + + object + +
@@ -120,7 +315,46 @@ To view agent routes for an agent, send a GET requtest to `/v2/gen-ai/agents/ ```sql SELECT -children +name, +project_id, +user_id, +route_name, +anthropic_api_key, +api_key_infos, +api_keys, +chatbot, +chatbot_identifiers, +child_agents, +conversation_logs_enabled, +created_at, +deployment, +description, +functions, +guardrails, +if_case, +instruction, +k, +knowledge_bases, +logging_config, +max_tokens, +model, +openai_api_key, +parent_agents, +provide_citations, +region, +retrieval_method, +route_created_at, +route_created_by, +route_uuid, +tags, +temperature, +template, +top_p, +updated_at, +url, +uuid, +version_hash, +workspace FROM digitalocean.genai.agent_routes WHERE uuid = '{{ uuid }}' -- required; ``` diff --git a/website/docs/services/genai/agents/index.md b/website/docs/services/genai/agents/index.md index e4916b7..8e2748b 100644 --- a/website/docs/services/genai/agents/index.md +++ b/website/docs/services/genai/agents/index.md @@ -32,14 +32,14 @@ Creates, updates, deletes, gets or lists an agents resource. The following fields are returned by `SELECT` queries: - + A successful response. @@ -53,24 +53,209 @@ A successful response. - + + string + Agent name (example: example name) + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string (uint64) + Id of user that created the agent (example: 12345) + + + + string + Route name (example: example name) + + + + object + Anthropic API Key Info + + + array - Agents + Api key infos - + + array + Api keys + + + object - Links to other pages + A Chatbot - + + array + Chatbot identifiers + + + + array + Child agents + + + + boolean + Whether conversation logs are enabled for the agent + + + + string (date-time) + Creation date / time (example: 2023-01-01T00:00:00Z) + + + object - Meta information about the data set + Description of deployment + + + + string + Description of agent (example: example string) + + + + array + + + + + array + The guardrails the agent is attached to + + + + string + (example: example string) + + + + string + Agent instruction. Instructions help your agent to perform its job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) for best practices. (example: example string) + + + + integer (int64) + + + + + array + Knowledge bases + + + + object + + + + + integer (int64) + + + + + object + Description of a Model + + + + object + OpenAI API Key Info + + + + array + Parent agents + + + + boolean + Whether the agent should provide in-response citations + + + + string + Region code (example: example string) + + + + string + - RETRIEVAL_METHOD_UNKNOWN: The retrieval method is unknown - RETRIEVAL_METHOD_REWRITE: The retrieval method is rewrite - RETRIEVAL_METHOD_STEP_BACK: The retrieval method is step back - RETRIEVAL_METHOD_SUB_QUERIES: The retrieval method is sub queries - RETRIEVAL_METHOD_NONE: The retrieval method is none (default: RETRIEVAL_METHOD_UNKNOWN, example: RETRIEVAL_METHOD_UNKNOWN) + + + + string (date-time) + Creation of route date / time (example: 2023-01-01T00:00:00Z) + + + + string (uint64) + (example: 12345) + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + array + Agent tag to organize related resources + + + + number (float) + + + + + object + Represents an AgentTemplate entity + + + + number (float) + + + + + string (date-time) + Last modified (example: 2023-01-01T00:00:00Z) + + + + string + Access your agent under this url (example: example string) + + + + string + Unique agent id (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + The latest version of the agent (example: example string) + + + + object + - + A successful response. @@ -84,14 +269,24 @@ A successful response. - + + array + + + + object - An Agent + Links to other pages + + + + object + Meta information about the data set - + A successful response. @@ -107,7 +302,7 @@ A successful response. array - + Agents @@ -139,13 +334,6 @@ The following methods are available for this resource: - - - - - only_deployed, page, per_page - To list all agents, send a GET request to `/v2/gen-ai/agents`. - @@ -160,6 +348,13 @@ The following methods are available for this resource: only_deployed, page, per_page To list all agents by a Workspace, send a GET request to `/v2/gen-ai/workspaces/{workspace_uuid}/agents`. + + + + + only_deployed, page, per_page + To list all agents, send a GET request to `/v2/gen-ai/agents`. + @@ -304,35 +499,59 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - - -To list all agents, send a GET request to `/v2/gen-ai/agents`. - -```sql -SELECT -agents, -links, -meta -FROM digitalocean.genai.agents -WHERE only_deployed = '{{ only_deployed }}' -AND page = '{{ page }}' -AND per_page = '{{ per_page }}'; -``` - To retrieve details of an agent, GET request to `/v2/gen-ai/agents/{uuid}`. The response body is a JSON object containing the agent. ```sql SELECT -agent +name, +project_id, +user_id, +route_name, +anthropic_api_key, +api_key_infos, +api_keys, +chatbot, +chatbot_identifiers, +child_agents, +conversation_logs_enabled, +created_at, +deployment, +description, +functions, +guardrails, +if_case, +instruction, +k, +knowledge_bases, +logging_config, +max_tokens, +model, +openai_api_key, +parent_agents, +provide_citations, +region, +retrieval_method, +route_created_at, +route_created_by, +route_uuid, +tags, +temperature, +template, +top_p, +updated_at, +url, +uuid, +version_hash, +workspace FROM digitalocean.genai.agents WHERE uuid = '{{ uuid }}' -- required; ``` @@ -353,6 +572,21 @@ AND page = '{{ page }}' AND per_page = '{{ per_page }}'; ``` + + +To list all agents, send a GET request to `/v2/gen-ai/agents`. + +```sql +SELECT +agents, +links, +meta +FROM digitalocean.genai.agents +WHERE only_deployed = '{{ only_deployed }}' +AND page = '{{ page }}' +AND per_page = '{{ per_page }}'; +``` + diff --git a/website/docs/services/genai/anthropic_api_keys/index.md b/website/docs/services/genai/anthropic_api_keys/index.md index d9712ca..20e7b11 100644 --- a/website/docs/services/genai/anthropic_api_keys/index.md +++ b/website/docs/services/genai/anthropic_api_keys/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists an anthropic_api_keys reso The following fields are returned by `SELECT` queries: - + A successful response. @@ -52,24 +52,39 @@ A successful response. - - array - Api key infos + + string + Name (example: example name) - - object - Links to other pages + + string (date-time) + Key creation date (example: 2023-01-01T00:00:00Z) - - object - Meta information about the data set + + string (uint64) + Created by user id from DO (example: 12345) + + + + string (date-time) + Key deleted date (example: 2023-01-01T00:00:00Z) + + + + string (date-time) + Key last updated date (example: 2023-01-01T00:00:00Z) + + + + string + Uuid (example: 123e4567-e89b-12d3-a456-426614174000) - + A successful response. @@ -83,9 +98,19 @@ A successful response. - + + array + Api key infos + + + + object + Links to other pages + + + object - Anthropic API Key Info + Meta information about the data set @@ -108,18 +133,18 @@ The following methods are available for this resource: - + + api_key_uuid - page, per_page - To list all Anthropic API keys, send a GET request to `/v2/gen-ai/anthropic/keys`. + To retrieve details of an Anthropic API key, send a GET request to `/v2/gen-ai/anthropic/keys/{api_key_uuid}`. - + - api_key_uuid - To retrieve details of an Anthropic API key, send a GET request to `/v2/gen-ai/anthropic/keys/{api_key_uuid}`. + page, per_page + To list all Anthropic API keys, send a GET request to `/v2/gen-ai/anthropic/keys`. @@ -179,35 +204,40 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all Anthropic API keys, send a GET request to `/v2/gen-ai/anthropic/keys`. +To retrieve details of an Anthropic API key, send a GET request to `/v2/gen-ai/anthropic/keys/{api_key_uuid}`. ```sql SELECT -api_key_infos, -links, -meta +name, +created_at, +created_by, +deleted_at, +updated_at, +uuid FROM digitalocean.genai.anthropic_api_keys -WHERE page = '{{ page }}' -AND per_page = '{{ per_page }}'; +WHERE api_key_uuid = '{{ api_key_uuid }}' -- required; ``` - + -To retrieve details of an Anthropic API key, send a GET request to `/v2/gen-ai/anthropic/keys/{api_key_uuid}`. +To list all Anthropic API keys, send a GET request to `/v2/gen-ai/anthropic/keys`. ```sql SELECT -api_key_info +api_key_infos, +links, +meta FROM digitalocean.genai.anthropic_api_keys -WHERE api_key_uuid = '{{ api_key_uuid }}' -- required; +WHERE page = '{{ page }}' +AND per_page = '{{ per_page }}'; ``` diff --git a/website/docs/services/genai/datacenter_regions/index.md b/website/docs/services/genai/datacenter_regions/index.md index 5e15a0e..6d7fc04 100644 --- a/website/docs/services/genai/datacenter_regions/index.md +++ b/website/docs/services/genai/datacenter_regions/index.md @@ -51,9 +51,29 @@ A successful response. - - array - Region code + + string + Url for inference server (example: example string) + + + + string + Region code (example: example string) + + + + boolean + This datacenter is capable of running batch jobs + + + + boolean + This datacenter is capable of serving inference + + + + string + The url for the inference streaming server (example: example string) @@ -125,7 +145,11 @@ To list all datacenter regions, send a GET request to `/v2/gen-ai/regions`. ```sql SELECT -regions +inference_url, +region, +serves_batch, +serves_inference, +stream_inference_url FROM digitalocean.genai.datacenter_regions WHERE serves_inference = '{{ serves_inference }}' AND serves_batch = '{{ serves_batch }}'; diff --git a/website/docs/services/genai/evaluation_metrics/index.md b/website/docs/services/genai/evaluation_metrics/index.md index 9222c9e..de00ab9 100644 --- a/website/docs/services/genai/evaluation_metrics/index.md +++ b/website/docs/services/genai/evaluation_metrics/index.md @@ -51,9 +51,44 @@ A successful response. - - array - + + string + (example: example name) + + + + string + (example: example string) + + + + boolean + If true, the metric is inverted, meaning that a lower value is better. + + + + string + (default: METRIC_TYPE_UNSPECIFIED, example: METRIC_TYPE_UNSPECIFIED) + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (default: METRIC_VALUE_TYPE_UNSPECIFIED, example: METRIC_VALUE_TYPE_UNSPECIFIED) + + + + number (float) + The maximum value for the metric. + + + + number (float) + The minimum value for the metric. @@ -115,7 +150,14 @@ To list all evaluation metrics, send a GET request to `/v2/gen-ai/evaluation_met ```sql SELECT -metrics +metric_name, +description, +inverted, +metric_type, +metric_uuid, +metric_value_type, +range_max, +range_min FROM digitalocean.genai.evaluation_metrics; ``` diff --git a/website/docs/services/genai/evaluation_run_prompt_results/index.md b/website/docs/services/genai/evaluation_run_prompt_results/index.md index 7d3c52f..88ee9d9 100644 --- a/website/docs/services/genai/evaluation_run_prompt_results/index.md +++ b/website/docs/services/genai/evaluation_run_prompt_results/index.md @@ -51,9 +51,44 @@ A successful response. - - object - + + integer (int64) + Prompt ID + + + + string + The ground truth for the prompt. (example: example string) + + + + string + (example: example string) + + + + string (uint64) + The number of input tokens used in the prompt. (example: 12345) + + + + string + (example: example string) + + + + string (uint64) + The number of output tokens used in the prompt. (example: 12345) + + + + array + The list of prompt chunks. + + + + array + The metric results for the prompt. @@ -125,7 +160,14 @@ To retrieve results of an evaluation run, send a GET request to `/v2/gen-ai/eval ```sql SELECT -prompt +prompt_id, +ground_truth, +input, +input_tokens, +output, +output_tokens, +prompt_chunks, +prompt_level_metric_results FROM digitalocean.genai.evaluation_run_prompt_results WHERE evaluation_run_uuid = '{{ evaluation_run_uuid }}' -- required AND prompt_id = '{{ prompt_id }}' -- required; diff --git a/website/docs/services/genai/evaluation_runs/index.md b/website/docs/services/genai/evaluation_runs/index.md index 5678e6e..3d27c44 100644 --- a/website/docs/services/genai/evaluation_runs/index.md +++ b/website/docs/services/genai/evaluation_runs/index.md @@ -51,10 +51,115 @@ A successful response. - + + string (uint64) + (example: 12345) + + + + string + Agent name (example: example name) + + + + string + Run name. (example: example name) + + + + string + Test case name. (example: example name) + + + + boolean + Whether agent is deleted + + + + string + Agent UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + Version hash (example: example string) + + + + string + Agent workspace uuid (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (example: example@example.com) + + + + string + The error description (example: example string) + + + + string + Evaluation run UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + Evaluation test case workspace uuid (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string (date-time) + Run end time. (example: 2023-01-01T00:00:00Z) + + + + boolean + The pass status of the evaluation run based on the star metric. + + + + string (date-time) + Run queued time. (example: 2023-01-01T00:00:00Z) + + + + array + + + + object + + + string (date-time) + Run start time. (example: 2023-01-01T00:00:00Z) + + + + string + Evaluation Run Statuses (default: EVALUATION_RUN_STATUS_UNSPECIFIED, example: EVALUATION_RUN_STATUS_UNSPECIFIED) + + + + string + Test case description. (example: example string) + + + + string + Test-case UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + integer (int64) + Test-case-version. + @@ -127,7 +232,28 @@ To retrive information about an existing evaluation run, send a GET request to ` ```sql SELECT -evaluation_run +created_by_user_id, +agent_name, +run_name, +test_case_name, +agent_deleted, +agent_uuid, +agent_version_hash, +agent_workspace_uuid, +created_by_user_email, +error_description, +evaluation_run_uuid, +evaluation_test_case_workspace_uuid, +finished_at, +pass_status, +queued_at, +run_level_metric_results, +star_metric_result, +started_at, +status, +test_case_description, +test_case_uuid, +test_case_version FROM digitalocean.genai.evaluation_runs WHERE evaluation_run_uuid = '{{ evaluation_run_uuid }}' -- required; ``` diff --git a/website/docs/services/genai/evaluation_test_cases/index.md b/website/docs/services/genai/evaluation_test_cases/index.md index ce95c62..1d8d1e9 100644 --- a/website/docs/services/genai/evaluation_test_cases/index.md +++ b/website/docs/services/genai/evaluation_test_cases/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an evaluation_test_cases r The following fields are returned by `SELECT` queries: - + A successful response. @@ -54,14 +54,119 @@ A successful response. - + + string (uint64) + (example: 12345) + + + + string + Agent name (example: example name) + + + + string + Run name. (example: example name) + + + + string + Test case name. (example: example name) + + + + boolean + Whether agent is deleted + + + + string + Agent UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + Version hash (example: example string) + + + + string + Agent workspace uuid (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (example: example@example.com) + + + + string + The error description (example: example string) + + + + string + Evaluation run UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + Evaluation test case workspace uuid (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string (date-time) + Run end time. (example: 2023-01-01T00:00:00Z) + + + + boolean + The pass status of the evaluation run based on the star metric. + + + + string (date-time) + Run queued time. (example: 2023-01-01T00:00:00Z) + + + array - Alternative way of authentication for internal usage only - should not be exposed to public api + + + + + object + + + + + string (date-time) + Run start time. (example: 2023-01-01T00:00:00Z) + + + + string + Evaluation Run Statuses (default: EVALUATION_RUN_STATUS_UNSPECIFIED, example: EVALUATION_RUN_STATUS_UNSPECIFIED) + + + + string + Test case description. (example: example string) + + + + string + Test-case UUID. (example: 123e4567-e89b-12d3-a456-426614174000) + + + + integer (int64) + Test-case-version. - + A successful response. @@ -75,14 +180,99 @@ A successful response. - + + string + (example: example name) + + + + string (uint64) + (example: 12345) + + + + string (uint64) + (example: 12345) + + + + string + (example: example name) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + object + + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (example: example string) + + + + integer (int32) + + + + array - List of evaluation runs. + + + + + object + + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + integer (int32) + + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + integer (int64) + - + A successful response. @@ -96,14 +286,99 @@ A successful response. - + + string + (example: example name) + + + + string (uint64) + (example: 12345) + + + + string (uint64) + (example: 12345) + + + + string + (example: example name) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + object + + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (example: example string) + + + + integer (int32) + + + + + array + + + + object + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + integer (int32) + + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + integer (int64) + + - + A successful response. @@ -117,10 +392,95 @@ A successful response. - + + string + (example: example name) + + + + string (uint64) + (example: 12345) + + + + string (uint64) + (example: 12345) + + + + string + (example: example name) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + object + + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (example: example string) + + + + integer (int32) + + + + array + + + object + + + + + string + (example: 123e4567-e89b-12d3-a456-426614174000) + + + + integer (int32) + + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (example: example@example.com) + + + + integer (int64) + + @@ -141,13 +501,6 @@ The following methods are available for this resource: - - - - - - To list all evaluation test cases, send a GET request to `/v2/gen-ai/evaluation_test_cases`. - @@ -169,6 +522,13 @@ The following methods are available for this resource: To list all evaluation test cases by a workspace, send a GET request to `/v2/gen-ai/workspaces/{workspace_uuid}/evaluation_test_cases`. + + + + + + To list all evaluation test cases, send a GET request to `/v2/gen-ai/evaluation_test_cases`. + @@ -225,31 +585,42 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - - -To list all evaluation test cases, send a GET request to `/v2/gen-ai/evaluation_test_cases`. - -```sql -SELECT -evaluation_test_cases -FROM digitalocean.genai.evaluation_test_cases; -``` - To list all evaluation runs by test case, send a GET request to `/v2/gen-ai/evaluation_test_cases/{evaluation_test_case_uuid}/evaluation_runs`. ```sql SELECT -evaluation_runs +created_by_user_id, +agent_name, +run_name, +test_case_name, +agent_deleted, +agent_uuid, +agent_version_hash, +agent_workspace_uuid, +created_by_user_email, +error_description, +evaluation_run_uuid, +evaluation_test_case_workspace_uuid, +finished_at, +pass_status, +queued_at, +run_level_metric_results, +star_metric_result, +started_at, +status, +test_case_description, +test_case_uuid, +test_case_version FROM digitalocean.genai.evaluation_test_cases WHERE evaluation_test_case_uuid = '{{ evaluation_test_case_uuid }}' -- required AND evaluation_test_case_version = '{{ evaluation_test_case_version }}'; @@ -261,7 +632,24 @@ To retrive information about an existing evaluation test case, send a GET reques ```sql SELECT -evaluation_test_case +name, +created_by_user_id, +updated_by_user_id, +dataset_name, +archived_at, +created_at, +created_by_user_email, +dataset, +dataset_uuid, +description, +latest_version_number_of_runs, +metrics, +star_metric, +test_case_uuid, +total_runs, +updated_at, +updated_by_user_email, +version FROM digitalocean.genai.evaluation_test_cases WHERE test_case_uuid = '{{ test_case_uuid }}' -- required AND evaluation_test_case_version = '{{ evaluation_test_case_version }}'; @@ -273,11 +661,55 @@ To list all evaluation test cases by a workspace, send a GET request to `/v2/gen ```sql SELECT -evaluation_test_cases +name, +created_by_user_id, +updated_by_user_id, +dataset_name, +archived_at, +created_at, +created_by_user_email, +dataset, +dataset_uuid, +description, +latest_version_number_of_runs, +metrics, +star_metric, +test_case_uuid, +total_runs, +updated_at, +updated_by_user_email, +version FROM digitalocean.genai.evaluation_test_cases WHERE workspace_uuid = '{{ workspace_uuid }}' -- required; ``` + + +To list all evaluation test cases, send a GET request to `/v2/gen-ai/evaluation_test_cases`. + +```sql +SELECT +name, +created_by_user_id, +updated_by_user_id, +dataset_name, +archived_at, +created_at, +created_by_user_email, +dataset, +dataset_uuid, +description, +latest_version_number_of_runs, +metrics, +star_metric, +test_case_uuid, +total_runs, +updated_at, +updated_by_user_email, +version +FROM digitalocean.genai.evaluation_test_cases; +``` + diff --git a/website/docs/services/genai/indexing_job_data_sources/index.md b/website/docs/services/genai/indexing_job_data_sources/index.md index 564ca7d..e3a619f 100644 --- a/website/docs/services/genai/indexing_job_data_sources/index.md +++ b/website/docs/services/genai/indexing_job_data_sources/index.md @@ -51,9 +51,74 @@ A successful response. - - array - + + string (date-time) + Timestamp when data source completed indexing (example: 2023-01-01T00:00:00Z) + + + + string + Uuid of the indexed data source (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + A detailed error description (example: example string) + + + + string + A string code provinding a hint which part of the system experienced an error (example: example string) + + + + string (uint64) + Total count of files that have failed (example: 12345) + + + + string (uint64) + Total count of files that have been indexed (example: 12345) + + + + string (uint64) + Total count of files that have been indexed (example: 12345) + + + + string (uint64) + Total count of files that have been removed (example: 12345) + + + + string (uint64) + Total count of files that have been skipped (example: 12345) + + + + string (date-time) + Timestamp when data source started indexing (example: 2023-01-01T00:00:00Z) + + + + string + (default: DATA_SOURCE_STATUS_UNKNOWN, example: DATA_SOURCE_STATUS_UNKNOWN) + + + + string (uint64) + Total size of files in data source in bytes (example: 12345) + + + + string (uint64) + Total size of files in data source in bytes that have been indexed (example: 12345) + + + + string (uint64) + Total file count in the data source (example: 12345) @@ -120,7 +185,20 @@ To list all datasources for an indexing job, send a GET request to `/v2/gen-ai/i ```sql SELECT -indexed_data_sources +completed_at, +data_source_uuid, +error_details, +error_msg, +failed_item_count, +indexed_file_count, +indexed_item_count, +removed_item_count, +skipped_item_count, +started_at, +status, +total_bytes, +total_bytes_indexed, +total_file_count FROM digitalocean.genai.indexing_job_data_sources WHERE indexing_job_uuid = '{{ indexing_job_uuid }}' -- required; ``` diff --git a/website/docs/services/genai/indexing_jobs/index.md b/website/docs/services/genai/indexing_jobs/index.md index c86c6ed..d2b138b 100644 --- a/website/docs/services/genai/indexing_jobs/index.md +++ b/website/docs/services/genai/indexing_jobs/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists an indexing_jobs resource. The following fields are returned by `SELECT` queries: - + A successful response. @@ -52,24 +52,84 @@ A successful response. - + + integer (int64) + Number of datasources indexed completed + + + + string (date-time) + Creation date / time (example: 2023-01-01T00:00:00Z) + + + array - The indexing jobs + - - object - Links to other pages + + string (date-time) + (example: 2023-01-01T00:00:00Z) - - object - Meta information about the data set + + string + Knowledge base id (example: 123e4567-e89b-12d3-a456-426614174000) + + + + string + (default: BATCH_JOB_PHASE_UNKNOWN, example: BATCH_JOB_PHASE_UNKNOWN) + + + + string (date-time) + (example: 2023-01-01T00:00:00Z) + + + + string + (default: INDEX_JOB_STATUS_UNKNOWN, example: INDEX_JOB_STATUS_UNKNOWN) + + + + integer (int64) + Number of tokens + + + + integer (int64) + Number of datasources being indexed + + + + string (uint64) + Total Items Failed (example: 12345) + + + + string (uint64) + Total Items Indexed (example: 12345) + + + + string (uint64) + Total Items Skipped (example: 12345) + + + + string (date-time) + Last modified (example: 2023-01-01T00:00:00Z) + + + + string + Unique id (example: 123e4567-e89b-12d3-a456-426614174000) - + A successful response. @@ -83,9 +143,19 @@ A successful response. - + + array + The indexing jobs + + + object - IndexingJob description + Links to other pages + + + + object + Meta information about the data set @@ -108,18 +178,18 @@ The following methods are available for this resource: - + + uuid - page, per_page - To list all indexing jobs for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs`. + To get status of an indexing Job for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs/{uuid}`. - + - uuid - To get status of an indexing Job for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs/{uuid}`. + page, per_page + To list all indexing jobs for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs`. @@ -172,35 +242,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all indexing jobs for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs`. +To get status of an indexing Job for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs/{uuid}`. ```sql SELECT -jobs, -links, -meta +completed_datasources, +created_at, +data_source_uuids, +finished_at, +knowledge_base_uuid, +phase, +started_at, +status, +tokens, +total_datasources, +total_items_failed, +total_items_indexed, +total_items_skipped, +updated_at, +uuid FROM digitalocean.genai.indexing_jobs -WHERE page = '{{ page }}' -AND per_page = '{{ per_page }}'; +WHERE uuid = '{{ uuid }}' -- required; ``` - + -To get status of an indexing Job for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs/{uuid}`. +To list all indexing jobs for a knowledge base, send a GET request to `/v2/gen-ai/indexing_jobs`. ```sql SELECT -job +jobs, +links, +meta FROM digitalocean.genai.indexing_jobs -WHERE uuid = '{{ uuid }}' -- required; +WHERE page = '{{ page }}' +AND per_page = '{{ per_page }}'; ``` diff --git a/website/docs/services/genai/knowledge_bases/index.md b/website/docs/services/genai/knowledge_bases/index.md index c3b6f85..df8b271 100644 --- a/website/docs/services/genai/knowledge_bases/index.md +++ b/website/docs/services/genai/knowledge_bases/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists a knowledge_bases resource The following fields are returned by `SELECT` queries: - + A successful response. @@ -52,24 +52,19 @@ A successful response. - - array - The knowledge bases - - - - object - Links to other pages + + string + (default: CREATING, example: CREATING) - + object - Meta information about the data set + Knowledgebase Description - + A successful response. @@ -83,14 +78,19 @@ A successful response. - - string - (default: CREATING, example: CREATING) + + array + The knowledge bases - + object - Knowledgebase Description + Links to other pages + + + + object + Meta information about the data set @@ -113,18 +113,18 @@ The following methods are available for this resource: - + + uuid - page, per_page - To list all knowledge bases, send a GET request to `/v2/gen-ai/knowledge_bases`. + To retrive information about an existing knowledge base, send a GET request to `/v2/gen-ai/knowledge_bases/{uuid}`. - + - uuid - To retrive information about an existing knowledge base, send a GET request to `/v2/gen-ai/knowledge_bases/{uuid}`. + page, per_page + To list all knowledge bases, send a GET request to `/v2/gen-ai/knowledge_bases`. @@ -215,36 +215,36 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all knowledge bases, send a GET request to `/v2/gen-ai/knowledge_bases`. +To retrive information about an existing knowledge base, send a GET request to `/v2/gen-ai/knowledge_bases/{uuid}`. ```sql SELECT -knowledge_bases, -links, -meta +database_status, +knowledge_base FROM digitalocean.genai.knowledge_bases -WHERE page = '{{ page }}' -AND per_page = '{{ per_page }}'; +WHERE uuid = '{{ uuid }}' -- required; ``` - + -To retrive information about an existing knowledge base, send a GET request to `/v2/gen-ai/knowledge_bases/{uuid}`. +To list all knowledge bases, send a GET request to `/v2/gen-ai/knowledge_bases`. ```sql SELECT -database_status, -knowledge_base +knowledge_bases, +links, +meta FROM digitalocean.genai.knowledge_bases -WHERE uuid = '{{ uuid }}' -- required; +WHERE page = '{{ page }}' +AND per_page = '{{ per_page }}'; ``` diff --git a/website/docs/services/genai/openai_api_keys/index.md b/website/docs/services/genai/openai_api_keys/index.md index 1f4e88e..e875ba6 100644 --- a/website/docs/services/genai/openai_api_keys/index.md +++ b/website/docs/services/genai/openai_api_keys/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists an openai_api_keys resourc The following fields are returned by `SELECT` queries: - + A successful response. @@ -52,24 +52,44 @@ A successful response. - + + string + Name (example: example name) + + + + string (date-time) + Key creation date (example: 2023-01-01T00:00:00Z) + + + + string (uint64) + Created by user id from DO (example: 12345) + + + + string (date-time) + Key deleted date (example: 2023-01-01T00:00:00Z) + + + array - Api key infos + Models supported by the openAI api key - - object - Links to other pages + + string (date-time) + Key last updated date (example: 2023-01-01T00:00:00Z) - - object - Meta information about the data set + + string + Uuid (example: 123e4567-e89b-12d3-a456-426614174000) - + A successful response. @@ -83,9 +103,19 @@ A successful response. - + + array + Api key infos + + + + object + Links to other pages + + + object - OpenAI API Key Info + Meta information about the data set @@ -108,18 +138,18 @@ The following methods are available for this resource: - + + api_key_uuid - page, per_page - To list all OpenAI API keys, send a GET request to `/v2/gen-ai/openai/keys`. + To retrieve details of an OpenAI API key, send a GET request to `/v2/gen-ai/openai/keys/{api_key_uuid}`. - + - api_key_uuid - To retrieve details of an OpenAI API key, send a GET request to `/v2/gen-ai/openai/keys/{api_key_uuid}`. + page, per_page + To list all OpenAI API keys, send a GET request to `/v2/gen-ai/openai/keys`. @@ -179,35 +209,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all OpenAI API keys, send a GET request to `/v2/gen-ai/openai/keys`. +To retrieve details of an OpenAI API key, send a GET request to `/v2/gen-ai/openai/keys/{api_key_uuid}`. ```sql SELECT -api_key_infos, -links, -meta +name, +created_at, +created_by, +deleted_at, +models, +updated_at, +uuid FROM digitalocean.genai.openai_api_keys -WHERE page = '{{ page }}' -AND per_page = '{{ per_page }}'; +WHERE api_key_uuid = '{{ api_key_uuid }}' -- required; ``` - + -To retrieve details of an OpenAI API key, send a GET request to `/v2/gen-ai/openai/keys/{api_key_uuid}`. +To list all OpenAI API keys, send a GET request to `/v2/gen-ai/openai/keys`. ```sql SELECT -api_key_info +api_key_infos, +links, +meta FROM digitalocean.genai.openai_api_keys -WHERE api_key_uuid = '{{ api_key_uuid }}' -- required; +WHERE page = '{{ page }}' +AND per_page = '{{ per_page }}'; ``` diff --git a/website/docs/services/genai/workspaces/index.md b/website/docs/services/genai/workspaces/index.md index 8353a98..2fb9bc7 100644 --- a/website/docs/services/genai/workspaces/index.md +++ b/website/docs/services/genai/workspaces/index.md @@ -32,13 +32,13 @@ Creates, updates, deletes, gets or lists a workspaces resource. The following fields are returned by `SELECT` queries: - + A successful response. @@ -52,14 +52,59 @@ A successful response. - + + string + Name of the workspace (example: example name) + + + + array + Agents + + + + string (date-time) + Creation date (example: 2023-01-01T00:00:00Z) + + + + string (uint64) + The id of user who created this workspace (example: 12345) + + + + string + The email of the user who created this workspace (example: example@example.com) + + + + string (date-time) + Deleted date (example: 2023-01-01T00:00:00Z) + + + + string + Description of the workspace (example: example string) + + + array - Workspaces + Evaluations + + + + string (date-time) + Update date (example: 2023-01-01T00:00:00Z) + + + + string + Unique id (example: 123e4567-e89b-12d3-a456-426614174000) - + A successful response. @@ -73,9 +118,54 @@ A successful response. - - object - + + string + Name of the workspace (example: example name) + + + + array + Agents + + + + string (date-time) + Creation date (example: 2023-01-01T00:00:00Z) + + + + string (uint64) + The id of user who created this workspace (example: 12345) + + + + string + The email of the user who created this workspace (example: example@example.com) + + + + string (date-time) + Deleted date (example: 2023-01-01T00:00:00Z) + + + + string + Description of the workspace (example: example string) + + + + array + Evaluations + + + + string (date-time) + Update date (example: 2023-01-01T00:00:00Z) + + + + string + Unique id (example: 123e4567-e89b-12d3-a456-426614174000) @@ -98,18 +188,18 @@ The following methods are available for this resource: - + + workspace_uuid - - To list all workspaces, send a GET request to `/v2/gen-ai/workspaces`. + To retrieve details of a workspace, GET request to `/v2/gen-ai/workspaces/{workspace_uuid}`. The response body is a JSON object containing the workspace. - + - workspace_uuid - To retrieve details of a workspace, GET request to `/v2/gen-ai/workspaces/{workspace_uuid}`. The response body is a JSON object containing the workspace. + + To list all workspaces, send a GET request to `/v2/gen-ai/workspaces`. @@ -159,31 +249,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all workspaces, send a GET request to `/v2/gen-ai/workspaces`. +To retrieve details of a workspace, GET request to `/v2/gen-ai/workspaces/{workspace_uuid}`. The response body is a JSON object containing the workspace. ```sql SELECT -workspaces -FROM digitalocean.genai.workspaces; +name, +agents, +created_at, +created_by, +created_by_email, +deleted_at, +description, +evaluation_test_cases, +updated_at, +uuid +FROM digitalocean.genai.workspaces +WHERE workspace_uuid = '{{ workspace_uuid }}' -- required; ``` - + -To retrieve details of a workspace, GET request to `/v2/gen-ai/workspaces/{workspace_uuid}`. The response body is a JSON object containing the workspace. +To list all workspaces, send a GET request to `/v2/gen-ai/workspaces`. ```sql SELECT -workspace -FROM digitalocean.genai.workspaces -WHERE workspace_uuid = '{{ workspace_uuid }}' -- required; +name, +agents, +created_at, +created_by, +created_by_email, +deleted_at, +description, +evaluation_test_cases, +updated_at, +uuid +FROM digitalocean.genai.workspaces; ``` diff --git a/website/docs/services/kubernetes/associated_resources/index.md b/website/docs/services/kubernetes/associated_resources/index.md index 408a3a2..5d9bd58 100644 --- a/website/docs/services/kubernetes/associated_resources/index.md +++ b/website/docs/services/kubernetes/associated_resources/index.md @@ -50,6 +50,21 @@ The response will be a JSON object containing `load_balancers`, `volumes`, and ` + + + array + A list of names and IDs for associated load balancers that can be destroyed along with the cluster. + + + + array + A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. + + + + array + A list of names and IDs for associated volumes that can be destroyed along with the cluster. + @@ -129,7 +144,9 @@ To list the associated billable resources that can be destroyed along with a clu ```sql SELECT -* +load_balancers, +volume_snapshots, +volumes FROM digitalocean.kubernetes.associated_resources WHERE cluster_id = '{{ cluster_id }}' -- required; ``` diff --git a/website/docs/services/kubernetes/available_upgrades/index.md b/website/docs/services/kubernetes/available_upgrades/index.md index 7dce853..240f4b2 100644 --- a/website/docs/services/kubernetes/available_upgrades/index.md +++ b/website/docs/services/kubernetes/available_upgrades/index.md @@ -50,6 +50,21 @@ The response will be a JSON object with a key called
`available_upgrade_ver + + + string + The upstream version string for the version of Kubernetes provided by a given slug. (example: 1.16.13) + + + + string + The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. (example: 1.16.13-do.0) + + + + array + The features available with the version of Kubernetes provided by a given slug. +
@@ -115,7 +130,9 @@ To determine whether a cluster can be upgraded, and the versions to which it
+ + + array + A list of in-cluster groups that the user belongs to. + + + + string (email) + The username for the cluster admin user. (example: sammy@digitalocean.com) +
@@ -115,7 +125,8 @@ To show information the user associated with a Kubernetes cluster, send a GET
clusters
resource. The following fields are returned by `SELECT` queries: - + -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.
+The response will be a JSON object with a key called `kubernetes_cluster`. The
value of this will be an object containing the standard attributes of a
Kubernetes cluster.
@@ -51,12 +51,132 @@ The response will be a JSON object with a key called `kubernetes_clusters`.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a Kubernetes cluster. (example: bd5f5959-5e1e-4205-a714-a914373942af)
stringA human-readable name for a Kubernetes cluster. (example: prod-cluster-01)
objectAn object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster.
objectAn object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool.
booleanA boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
objectAn object specifying custom cluster autoscaler configuration.
string (cidr)The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. (example: 192.168.0.0/20)
objectAn object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only).
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. (example: 2018-11-15T16:00:11Z)
stringThe base URL of the API server on the Kubernetes master node. (example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com)
booleanA boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.
stringThe public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) (example: 68.183.121.157)
objectAn object specifying the maintenance window policy for the Kubernetes cluster.
arrayAn object specifying the details of the worker nodes available to the Kubernetes cluster.
stringThe slug identifier for the region where the Kubernetes cluster is located. (example: nyc1)
booleanA read-only boolean value indicating if a container registry is integrated with the cluster.
objectAn object specifying whether the routing-agent component should be enabled for the Kubernetes cluster.
string (cidr)The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. (example: 192.168.16.0/24)
objectAn object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.
booleanA boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.
arrayAn array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. (example: 2018-11-15T16:00:11Z)
stringThe slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. (example: 1.18.6-do.0)
string (uuid)A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.

Requires `vpc:read` scope. (example: c33931f2-a26a-4e61-b85c-4e95a2ec431b)
- + -The response will be a JSON object with a key called `kubernetes_cluster`. The
value of this will be an object containing the standard attributes of a
Kubernetes cluster.
+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.
@@ -67,6 +187,126 @@ The response will be a JSON object with a key called `kubernetes_cluster`. The + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a Kubernetes cluster. (example: bd5f5959-5e1e-4205-a714-a914373942af)
stringA human-readable name for a Kubernetes cluster. (example: prod-cluster-01)
objectAn object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster.
objectAn object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool.
booleanA boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
objectAn object specifying custom cluster autoscaler configuration.
string (cidr)The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. (example: 192.168.0.0/20)
objectAn object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only).
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. (example: 2018-11-15T16:00:11Z)
stringThe base URL of the API server on the Kubernetes master node. (example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com)
booleanA boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled.
stringThe public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) (example: 68.183.121.157)
objectAn object specifying the maintenance window policy for the Kubernetes cluster.
arrayAn object specifying the details of the worker nodes available to the Kubernetes cluster.
stringThe slug identifier for the region where the Kubernetes cluster is located. (example: nyc1)
booleanA read-only boolean value indicating if a container registry is integrated with the cluster.
objectAn object specifying whether the routing-agent component should be enabled for the Kubernetes cluster.
string (cidr)The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. (example: 192.168.16.0/24)
objectAn object containing a `state` attribute whose value is set to a string indicating the current status of the cluster.
booleanA boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.
arrayAn array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. (example: 2018-11-15T16:00:11Z)
stringThe slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. (example: 1.18.6-do.0)
string (uuid)A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.

Requires `vpc:read` scope. (example: c33931f2-a26a-4e61-b85c-4e95a2ec431b)
@@ -88,18 +328,18 @@ The following methods are available for this resource: - + + cluster_id - per_page, page - To list all of the Kubernetes clusters on your account, send a GET request
to `/v2/kubernetes/clusters`.
+ To show information about an existing Kubernetes cluster, send a GET request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.
- + - cluster_id - To show information about an existing Kubernetes cluster, send a GET request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.
+ per_page, page + To list all of the Kubernetes clusters on your account, send a GET request
to `/v2/kubernetes/clusters`.
@@ -192,33 +432,79 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the Kubernetes clusters on your account, send a GET request
to `/v2/kubernetes/clusters`.
+To show information about an existing Kubernetes cluster, send a GET request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.
```sql SELECT -* +id, +name, +amd_gpu_device_metrics_exporter_plugin, +amd_gpu_device_plugin, +auto_upgrade, +cluster_autoscaler_configuration, +cluster_subnet, +control_plane_firewall, +created_at, +endpoint, +ha, +ipv4, +maintenance_policy, +node_pools, +region, +registry_enabled, +routing_agent, +service_subnet, +status, +surge_upgrade, +tags, +updated_at, +version, +vpc_uuid FROM digitalocean.kubernetes.clusters -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE cluster_id = '{{ cluster_id }}' -- required; ```
- + -To show information about an existing Kubernetes cluster, send a GET request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.
+To list all of the Kubernetes clusters on your account, send a GET request
to `/v2/kubernetes/clusters`.
```sql SELECT -* +id, +name, +amd_gpu_device_metrics_exporter_plugin, +amd_gpu_device_plugin, +auto_upgrade, +cluster_autoscaler_configuration, +cluster_subnet, +control_plane_firewall, +created_at, +endpoint, +ha, +ipv4, +maintenance_policy, +node_pools, +region, +registry_enabled, +routing_agent, +service_subnet, +status, +surge_upgrade, +tags, +updated_at, +version, +vpc_uuid FROM digitalocean.kubernetes.clusters -WHERE cluster_id = '{{ cluster_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -275,6 +561,8 @@ SELECT '{{ routing_agent }}', '{{ amd_gpu_device_plugin }}', '{{ amd_gpu_device_metrics_exporter_plugin }}' +RETURNING +kubernetes_cluster ; ```
@@ -405,7 +693,9 @@ data__amd_gpu_device_plugin = '{{ amd_gpu_device_plugin }}', data__amd_gpu_device_metrics_exporter_plugin = '{{ amd_gpu_device_metrics_exporter_plugin }}' WHERE cluster_id = '{{ cluster_id }}' --required -AND data__name = '{{ name }}' --required; +AND data__name = '{{ name }}' --required +RETURNING +kubernetes_cluster; ```
diff --git a/website/docs/services/kubernetes/credentials/index.md b/website/docs/services/kubernetes/credentials/index.md index 3699d6c..b76b874 100644 --- a/website/docs/services/kubernetes/credentials/index.md +++ b/website/docs/services/kubernetes/credentials/index.md @@ -50,6 +50,36 @@ A JSON object containing credentials for a cluster. + + + string (byte) + A base64 encoding of bytes representing the certificate authority data for accessing the cluster. (example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=) + + + + string (byte) + A base64 encoding of bytes representing the x509 client certificate data for access the cluster. This is only returned for clusters without support for token-based authentication. Newly created Kubernetes clusters do not return credentials using certificate-based authentication. For additional information, [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + + + + string (byte) + A base64 encoding of bytes representing the x509 client key data for access the cluster. This is only returned for clusters without support for token-based authentication. Newly created Kubernetes clusters do not return credentials using certificate-based authentication. For additional information, [see here](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/#authenticate). + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the access token expires. (example: 2019-11-09T11:50:28.889080521Z) + + + + string (uri) + The URL used to access the cluster API server. (example: https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com) + + + + string + An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. (example: $DIGITALOCEAN_TOKEN) + @@ -120,7 +150,12 @@ This endpoint returns a JSON object . It can be used to programmatically
co ```sql SELECT -* +certificate_authority_data, +client_certificate_data, +client_key_data, +expires_at, +server, +token FROM digitalocean.kubernetes.credentials WHERE cluster_id = '{{ cluster_id }}' -- required AND expiry_seconds = '{{ expiry_seconds }}'; diff --git a/website/docs/services/kubernetes/lint_checks/index.md b/website/docs/services/kubernetes/lint_checks/index.md index 903aa45..d7382ad 100644 --- a/website/docs/services/kubernetes/lint_checks/index.md +++ b/website/docs/services/kubernetes/lint_checks/index.md @@ -50,6 +50,26 @@ The response is a JSON object which contains the diagnostics on Kubernetes
+ + + string + Id of the clusterlint run that can be used later to fetch the diagnostics. (example: 50c2f44c-011d-493e-aee5-361a4a0d1844) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. (example: 2019-10-30T05:34:11Z) + + + + array + An array of diagnostics reporting potential problems for the given cluster. + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. (example: 2019-10-30T05:34:07Z) + @@ -127,7 +147,10 @@ To request clusterlint diagnostics for your cluster, send a GET request to
```sql SELECT -* +run_id, +completed_at, +diagnostics, +requested_at FROM digitalocean.kubernetes.lint_checks WHERE cluster_id = '{{ cluster_id }}' -- required AND run_id = '{{ run_id }}'; diff --git a/website/docs/services/kubernetes/node_pools/index.md b/website/docs/services/kubernetes/node_pools/index.md index c7572cc..3472446 100644 --- a/website/docs/services/kubernetes/node_pools/index.md +++ b/website/docs/services/kubernetes/node_pools/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a node_pools resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `node_pools`. This will
be set to an array of objects, each of which will contain the standard node
pool attributes.
+The response will be a JSON object with a key called `node_pool`. The value
of this will be an object containing the standard attributes of a node pool.
@@ -51,12 +51,67 @@ The response will be a JSON object with a key called `node_pools`. This will
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a specific node pool. (example: cdda885e-7663-40c8-bc74-3a036c66545d)
stringA human-readable name for the node pool. (example: frontend-pool)
booleanA boolean value indicating whether auto-scaling is enabled for this node pool.
integerThe number of Droplet instances in the node pool.
objectAn object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool.
integerThe maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
integerThe minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
arrayAn object specifying the details of a specific worker node in a node pool.
stringThe slug identifier for the type of Droplet used as workers in the node pool. (example: s-1vcpu-2gb)
arrayAn array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope.
arrayAn array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool.
- + -The response will be a JSON object with a key called `node_pool`. The value
of this will be an object containing the standard attributes of a node pool.
+The response will be a JSON object with a key called `node_pools`. This will
be set to an array of objects, each of which will contain the standard node
pool attributes.
@@ -67,6 +122,61 @@ The response will be a JSON object with a key called `node_pool`. The value
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference a specific node pool. (example: cdda885e-7663-40c8-bc74-3a036c66545d)
stringA human-readable name for the node pool. (example: frontend-pool)
booleanA boolean value indicating whether auto-scaling is enabled for this node pool.
integerThe number of Droplet instances in the node pool.
objectAn object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool.
integerThe maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
integerThe minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`.
arrayAn object specifying the details of a specific worker node in a node pool.
stringThe slug identifier for the type of Droplet used as workers in the node pool. (example: s-1vcpu-2gb)
arrayAn array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`.

Requires `tag:read` scope.
arrayAn array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool.
@@ -88,18 +198,18 @@ The following methods are available for this resource: - + - cluster_id + cluster_id, node_pool_id - To list all of the node pools in a Kubernetes clusters, send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.
+ To show information about a specific node pool in a Kubernetes cluster, send
a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.
- + - cluster_id, node_pool_id + cluster_id - To show information about a specific node pool in a Kubernetes cluster, send
a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.
+ To list all of the node pools in a Kubernetes clusters, send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.
@@ -161,33 +271,53 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the node pools in a Kubernetes clusters, send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.
+To show information about a specific node pool in a Kubernetes cluster, send
a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.
```sql SELECT -* +id, +name, +auto_scale, +count, +labels, +max_nodes, +min_nodes, +nodes, +size, +tags, +taints FROM digitalocean.kubernetes.node_pools -WHERE cluster_id = '{{ cluster_id }}' -- required; +WHERE cluster_id = '{{ cluster_id }}' -- required +AND node_pool_id = '{{ node_pool_id }}' -- required; ```
- + -To show information about a specific node pool in a Kubernetes cluster, send
a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.
+To list all of the node pools in a Kubernetes clusters, send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.
```sql SELECT -* +id, +name, +auto_scale, +count, +labels, +max_nodes, +min_nodes, +nodes, +size, +tags, +taints FROM digitalocean.kubernetes.node_pools -WHERE cluster_id = '{{ cluster_id }}' -- required -AND node_pool_id = '{{ node_pool_id }}' -- required; +WHERE cluster_id = '{{ cluster_id }}' -- required; ```
@@ -230,6 +360,8 @@ SELECT {{ min_nodes }}, {{ max_nodes }}, '{{ cluster_id }}' +RETURNING +node_pool ; ```
@@ -319,7 +451,9 @@ WHERE cluster_id = '{{ cluster_id }}' --required AND node_pool_id = '{{ node_pool_id }}' --required AND data__name = '{{ name }}' --required -AND data__count = '{{ count }}' --required; +AND data__count = '{{ count }}' --required +RETURNING +node_pool; ```
diff --git a/website/docs/services/kubernetes/options/index.md b/website/docs/services/kubernetes/options/index.md index 2d9f01b..6e28a52 100644 --- a/website/docs/services/kubernetes/options/index.md +++ b/website/docs/services/kubernetes/options/index.md @@ -50,6 +50,21 @@ The response will be a JSON object with a key called `options` which contains
+ + + array + + + + + array + + + + + array + + @@ -110,7 +125,9 @@ To list the versions of Kubernetes available for use, the regions that support K ```sql SELECT -* +regions, +sizes, +versions FROM digitalocean.kubernetes.options; ``` diff --git a/website/docs/services/kubernetes/status_messages/index.md b/website/docs/services/kubernetes/status_messages/index.md index 2492f90..99bdd15 100644 --- a/website/docs/services/kubernetes/status_messages/index.md +++ b/website/docs/services/kubernetes/status_messages/index.md @@ -50,6 +50,16 @@ The response is a JSON object which contains status messages for a Kubernetes cl + + + string + Status information about the cluster which impacts it's lifecycle. (example: Resource provisioning may be delayed while our team resolves an incident) + + + + string (date-time) + A timestamp in ISO8601 format that represents when the status message was emitted. (example: 2018-11-15T16:00:11Z) + @@ -120,7 +130,8 @@ To retrieve status messages for a Kubernetes cluster, send a GET request to
alert_policies resource The following fields are returned by `SELECT` queries: - + -A list of alert policies. +An alert policy. @@ -51,12 +51,62 @@ A list of alert policies. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
object
string (example: GreaterThan)
string (example: CPU Alert)
boolean
array
array
string (example: v1/insights/droplet/cpu)
string (example: 78b3da62-27e5-49ba-ac70-5db0b5935c64)
number (float)
string (example: 5m)
- + -An alert policy. +A list of alert policies. @@ -67,6 +117,21 @@ An alert policy. + + + + + + + + + + + + + + +
object
objectInformation about the response itself.
array
@@ -88,18 +153,18 @@ The following methods are available for this resource: - + + alert_uuid - per_page, page - Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. + To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` - + - alert_uuid - To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` + per_page, page + Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. @@ -159,33 +224,44 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. +To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` ```sql SELECT -* +alerts, +compare, +description, +enabled, +entities, +tags, +type, +uuid, +value, +window FROM digitalocean.monitoring.alert_policies -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE alert_uuid = '{{ alert_uuid }}' -- required; ``` - + -To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` +Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. ```sql SELECT -* +links, +meta, +policies FROM digitalocean.monitoring.alert_policies -WHERE alert_uuid = '{{ alert_uuid }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -226,6 +302,8 @@ SELECT '{{ type }}' --required, {{ value }} --required, '{{ window }}' --required +RETURNING +policy ; ```
@@ -295,7 +373,9 @@ AND data__window = '{{ window }}' --required AND data__entities = '{{ entities }}' --required AND data__tags = '{{ tags }}' --required AND data__alerts = '{{ alerts }}' --required -AND data__enabled = {{ enabled }} --required; +AND data__enabled = {{ enabled }} --required +RETURNING +policy; ```
diff --git a/website/docs/services/monitoring/alerts/index.md b/website/docs/services/monitoring/alerts/index.md index 3ca0d63..05a6fb8 100644 --- a/website/docs/services/monitoring/alerts/index.md +++ b/website/docs/services/monitoring/alerts/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists an alerts resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert. +The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert. @@ -51,12 +51,47 @@ The response will be a JSON object with a key called `alerts`. This will be set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the alert. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringA human-friendly display name. (example: Landing page degraded performance)
stringThe comparison operator used against the alert's threshold. (example: greater_than)
objectThe notification settings for a trigger alert.
stringPeriod of time the threshold must be exceeded to trigger the alert. (example: 2m)
integerThe threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.
stringThe type of alert. (example: latency)
- + -The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert. +The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert. @@ -67,6 +102,41 @@ The response will be a JSON object with a key called `alert`. The value of this + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the alert. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringA human-friendly display name. (example: Landing page degraded performance)
stringThe comparison operator used against the alert's threshold. (example: greater_than)
objectThe notification settings for a trigger alert.
stringPeriod of time the threshold must be exceeded to trigger the alert. (example: 2m)
integerThe threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.
stringThe type of alert. (example: latency)
@@ -87,13 +157,6 @@ The following methods are available for this resource: - - - - check_id - per_page, page - To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. - @@ -101,6 +164,13 @@ The following methods are available for this resource: To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. + + + + check_id + per_page, page + To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. + @@ -164,35 +234,47 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. +To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. ```sql SELECT -* +id, +name, +comparison, +notifications, +period, +threshold, +type FROM digitalocean.monitoring.alerts WHERE check_id = '{{ check_id }}' -- required -AND per_page = '{{ per_page }}' -AND page = '{{ page }}'; +AND alert_id = '{{ alert_id }}' -- required; ``` - + -To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. +To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. ```sql SELECT -* +id, +name, +comparison, +notifications, +period, +threshold, +type FROM digitalocean.monitoring.alerts WHERE check_id = '{{ check_id }}' -- required -AND alert_id = '{{ alert_id }}' -- required; +AND per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -229,6 +311,8 @@ SELECT '{{ notifications }}' --required, '{{ period }}' --required, '{{ check_id }}' +RETURNING +alert ; ```
@@ -306,7 +390,9 @@ AND alert_id = '{{ alert_id }}' --required AND data__name = '{{ name }}' --required AND data__type = '{{ type }}' --required AND data__notifications = '{{ notifications }}' --required -AND data__period = '{{ period }}' --required; +AND data__period = '{{ period }}' --required +RETURNING +alert; ```
diff --git a/website/docs/services/monitoring/app_cpu_percentage_metrics/index.md b/website/docs/services/monitoring/app_cpu_percentage_metrics/index.md index 87766b9..7df0d73 100644 --- a/website/docs/services/monitoring/app_cpu_percentage_metrics/index.md +++ b/website/docs/services/monitoring/app_cpu_percentage_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -130,7 +140,8 @@ To retrieve cpu percentage metrics for a given app, send a GET request to `/v2/m ```sql SELECT -* +data, +status FROM digitalocean.monitoring.app_cpu_percentage_metrics WHERE app_id = '{{ app_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/app_memory_percentage_metrics/index.md b/website/docs/services/monitoring/app_memory_percentage_metrics/index.md index af6eb31..ccc9301 100644 --- a/website/docs/services/monitoring/app_memory_percentage_metrics/index.md +++ b/website/docs/services/monitoring/app_memory_percentage_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -130,7 +140,8 @@ To retrieve memory percentage metrics for a given app, send a GET request to `/v ```sql SELECT -* +data, +status FROM digitalocean.monitoring.app_memory_percentage_metrics WHERE app_id = '{{ app_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/app_restart_count_metrics/index.md b/website/docs/services/monitoring/app_restart_count_metrics/index.md index e25c5a1..6528ae9 100644 --- a/website/docs/services/monitoring/app_restart_count_metrics/index.md +++ b/website/docs/services/monitoring/app_restart_count_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -130,7 +140,8 @@ To retrieve restart count metrics for a given app, send a GET request to `/v2/mo ```sql SELECT -* +data, +status FROM digitalocean.monitoring.app_restart_count_metrics WHERE app_id = '{{ app_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/check_states/index.md b/website/docs/services/monitoring/check_states/index.md index fa69ab0..d32893c 100644 --- a/website/docs/services/monitoring/check_states/index.md +++ b/website/docs/services/monitoring/check_states/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `state`. The value of this + + + object + + + + + object + A map of region to regional state + @@ -115,7 +125,8 @@ To show information about an existing check's state, send a GET request to `/v2/ ```sql SELECT -* +previous_outage, +regions FROM digitalocean.monitoring.check_states WHERE check_id = '{{ check_id }}' -- required; ``` diff --git a/website/docs/services/monitoring/checks/index.md b/website/docs/services/monitoring/checks/index.md index 2516d1e..efe739a 100644 --- a/website/docs/services/monitoring/checks/index.md +++ b/website/docs/services/monitoring/checks/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a checks resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check +The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check. @@ -51,12 +51,42 @@ The response will be a JSON object with a key called `checks`. This will be set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the check. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringA human-friendly display name. (example: Landing page check)
booleanA boolean value indicating whether the check is enabled/disabled.
arrayAn array containing the selected regions to perform healthchecks from.
string (url)The endpoint to perform healthchecks on. (example: https://www.landingpage.com)
stringThe type of health check to perform. (example: https)
- + -The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check. +The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check @@ -67,6 +97,36 @@ The response will be a JSON object with a key called `check`. The value of this + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the check. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringA human-friendly display name. (example: Landing page check)
booleanA boolean value indicating whether the check is enabled/disabled.
arrayAn array containing the selected regions to perform healthchecks from.
string (url)The endpoint to perform healthchecks on. (example: https://www.landingpage.com)
stringThe type of health check to perform. (example: https)
@@ -88,18 +148,18 @@ The following methods are available for this resource: - + + check_id - per_page, page - To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. + To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. - + - check_id - To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. + per_page, page + To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. @@ -159,33 +219,43 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. +To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. ```sql SELECT -* +id, +name, +enabled, +regions, +target, +type FROM digitalocean.monitoring.checks -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE check_id = '{{ check_id }}' -- required; ``` - + -To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. +To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. ```sql SELECT -* +id, +name, +enabled, +regions, +target, +type FROM digitalocean.monitoring.checks -WHERE check_id = '{{ check_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -218,6 +288,8 @@ SELECT '{{ target }}' --required, '{{ regions }}' --required, {{ enabled }} --required +RETURNING +check ; ```
@@ -280,7 +352,9 @@ data__target = '{{ target }}', data__regions = '{{ regions }}', data__enabled = {{ enabled }} WHERE -check_id = '{{ check_id }}' --required; +check_id = '{{ check_id }}' --required +RETURNING +check; ```
diff --git a/website/docs/services/monitoring/destinations/index.md b/website/docs/services/monitoring/destinations/index.md index 0df46ea..ff61b0c 100644 --- a/website/docs/services/monitoring/destinations/index.md +++ b/website/docs/services/monitoring/destinations/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a destinations resource. The following fields are returned by `SELECT` queries: - + -The response is a JSON object with a `destinations` key. +The response is a JSON object with a `destination` key. @@ -51,12 +51,32 @@ The response is a JSON object with a `destinations` key. + + + + + + + + + + + + + + + + + + + +
stringA unique identifier for a destination. (example: 01f30bfa-319a-4769-ba95-9d43971fb514)
stringdestination name (example: managed_opensearch_cluster)
objectOpenSearch destination configuration with `credentials` omitted.
stringThe destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch cluster or `opensearch_ext` for an externally managed one. (example: opensearch_dbaas)
- + -The response is a JSON object with a `destination` key. +The response is a JSON object with a `destinations` key. @@ -67,6 +87,26 @@ The response is a JSON object with a `destination` key. + + + + + + + + + + + + + + + + + + + +
stringA unique identifier for a destination. (example: 01f30bfa-319a-4769-ba95-9d43971fb514)
stringdestination name (example: managed_opensearch_cluster)
objectOpenSearch destination configuration with `credentials` omitted.
stringThe destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch cluster or `opensearch_ext` for an externally managed one. (example: opensearch_dbaas)
@@ -87,13 +127,6 @@ The following methods are available for this resource: - - - - - - To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. - @@ -102,11 +135,11 @@ The following methods are available for this resource: To get the details of a destination, send a GET request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. - - - data__config, data__type + + - To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. + + To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. @@ -115,6 +148,13 @@ The following methods are available for this resource: To update the details of a destination, send a PATCH request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. + + + + data__config, data__type + + To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. + @@ -149,31 +189,37 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. +To get the details of a destination, send a GET request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. ```sql SELECT -* -FROM digitalocean.monitoring.destinations; +id, +name, +config, +type +FROM digitalocean.monitoring.destinations +WHERE destination_uuid = '{{ destination_uuid }}' -- required; ``` - + -To get the details of a destination, send a GET request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. +To list all logging destinations, send a GET request to `/v2/monitoring/sinks/destinations`. ```sql SELECT -* -FROM digitalocean.monitoring.destinations -WHERE destination_uuid = '{{ destination_uuid }}' -- required; +id, +name, +config, +type +FROM digitalocean.monitoring.destinations; ``` @@ -182,46 +228,48 @@ WHERE destination_uuid = '{{ destination_uuid }}' -- required; ## `INSERT` examples - + -To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. +To update the details of a destination, send a PATCH request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. ```sql INSERT INTO digitalocean.monitoring.destinations ( data__name, data__type, -data__config +data__config, +destination_uuid ) SELECT '{{ name }}', '{{ type }}' --required, -'{{ config }}' --required +'{{ config }}' --required, +'{{ destination_uuid }}' ; ``` - + -To update the details of a destination, send a PATCH request to `/v2/monitoring/sinks/destinations/${destination_uuid}`. +To create a new destination, send a POST request to `/v2/monitoring/sinks/destinations`. ```sql INSERT INTO digitalocean.monitoring.destinations ( data__name, data__type, -data__config, -destination_uuid +data__config ) SELECT '{{ name }}', '{{ type }}' --required, -'{{ config }}' --required, -'{{ destination_uuid }}' +'{{ config }}' --required +RETURNING +destination ; ``` diff --git a/website/docs/services/monitoring/droplet_autoscale_current_cpu_utilization/index.md b/website/docs/services/monitoring/droplet_autoscale_current_cpu_utilization/index.md index 4beca52..ff1d8d2 100644 --- a/website/docs/services/monitoring/droplet_autoscale_current_cpu_utilization/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_current_cpu_utilization/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve the current average CPU utilization for a given Droplet Autoscale Po ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_current_cpu_utilization WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_autoscale_current_instances/index.md b/website/docs/services/monitoring/droplet_autoscale_current_instances/index.md index 81b4514..12ff878 100644 --- a/website/docs/services/monitoring/droplet_autoscale_current_instances/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_current_instances/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve the current size for a given Droplet Autoscale Pool, send a GET requ ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_current_instances WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_autoscale_current_memory_utilization/index.md b/website/docs/services/monitoring/droplet_autoscale_current_memory_utilization/index.md index 8dfa7b2..0ba60d6 100644 --- a/website/docs/services/monitoring/droplet_autoscale_current_memory_utilization/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_current_memory_utilization/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) +
@@ -125,7 +135,8 @@ To retrieve the current average memory utilization for a given Droplet Autoscale ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_current_memory_utilization WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_autoscale_target_cpu_utilization/index.md b/website/docs/services/monitoring/droplet_autoscale_target_cpu_utilization/index.md index 1de7a96..f0707af 100644 --- a/website/docs/services/monitoring/droplet_autoscale_target_cpu_utilization/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_target_cpu_utilization/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) +
@@ -125,7 +135,8 @@ To retrieve the target average CPU utilization for a given Droplet Autoscale Poo ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_target_cpu_utilization WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_autoscale_target_instances/index.md b/website/docs/services/monitoring/droplet_autoscale_target_instances/index.md index cc7fbe4..4e33dab 100644 --- a/website/docs/services/monitoring/droplet_autoscale_target_instances/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_target_instances/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve the target size for a given Droplet Autoscale Pool, send a GET reque ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_target_instances WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_autoscale_target_memory_utilization/index.md b/website/docs/services/monitoring/droplet_autoscale_target_memory_utilization/index.md index 0706ace..a6ac857 100644 --- a/website/docs/services/monitoring/droplet_autoscale_target_memory_utilization/index.md +++ b/website/docs/services/monitoring/droplet_autoscale_target_memory_utilization/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve the target average memory utilization for a given Droplet Autoscale ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_autoscale_target_memory_utilization WHERE autoscale_pool_id = '{{ autoscale_pool_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_bandwidth_metrics/index.md b/website/docs/services/monitoring/droplet_bandwidth_metrics/index.md index 9741566..dd0820e 100644 --- a/website/docs/services/monitoring/droplet_bandwidth_metrics/index.md +++ b/website/docs/services/monitoring/droplet_bandwidth_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -135,7 +145,8 @@ To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/mo ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_bandwidth_metrics WHERE host_id = '{{ host_id }}' -- required AND interface = '{{ interface }}' -- required diff --git a/website/docs/services/monitoring/droplet_cpu_metrics/index.md b/website/docs/services/monitoring/droplet_cpu_metrics/index.md index d42cbc4..ccc9ae9 100644 --- a/website/docs/services/monitoring/droplet_cpu_metrics/index.md +++ b/website/docs/services/monitoring/droplet_cpu_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitori ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_cpu_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_filesystem_free_metrics/index.md b/website/docs/services/monitoring/droplet_filesystem_free_metrics/index.md index 09b9bff..0cdb2dc 100644 --- a/website/docs/services/monitoring/droplet_filesystem_free_metrics/index.md +++ b/website/docs/services/monitoring/droplet_filesystem_free_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve filesystem free metrics for a given droplet, send a GET request to ` ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_filesystem_free_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_filesystem_size_metrics/index.md b/website/docs/services/monitoring/droplet_filesystem_size_metrics/index.md index 569f4ea..82a83e7 100644 --- a/website/docs/services/monitoring/droplet_filesystem_size_metrics/index.md +++ b/website/docs/services/monitoring/droplet_filesystem_size_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve filesystem size metrics for a given droplet, send a GET request to ` ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_filesystem_size_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_load15_metrics/index.md b/website/docs/services/monitoring/droplet_load15_metrics/index.md index f37c586..49559e7 100644 --- a/website/docs/services/monitoring/droplet_load15_metrics/index.md +++ b/website/docs/services/monitoring/droplet_load15_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve 15 minute load average metrics for a given droplet, send a GET reque ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_load15_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_load1_metrics/index.md b/website/docs/services/monitoring/droplet_load1_metrics/index.md index 7ec039d..0d69bea 100644 --- a/website/docs/services/monitoring/droplet_load1_metrics/index.md +++ b/website/docs/services/monitoring/droplet_load1_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve 1 minute load average metrics for a given droplet, send a GET reques ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_load1_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_load5_metrics/index.md b/website/docs/services/monitoring/droplet_load5_metrics/index.md index 72e93b3..6285db7 100644 --- a/website/docs/services/monitoring/droplet_load5_metrics/index.md +++ b/website/docs/services/monitoring/droplet_load5_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve 5 minute load average metrics for a given droplet, send a GET reques ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_load5_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_memory_available_metrics/index.md b/website/docs/services/monitoring/droplet_memory_available_metrics/index.md index b722ec5..42e432d 100644 --- a/website/docs/services/monitoring/droplet_memory_available_metrics/index.md +++ b/website/docs/services/monitoring/droplet_memory_available_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve available memory metrics for a given droplet, send a GET request to ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_memory_available_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_memory_cached_metrics/index.md b/website/docs/services/monitoring/droplet_memory_cached_metrics/index.md index 256037e..93ebf20 100644 --- a/website/docs/services/monitoring/droplet_memory_cached_metrics/index.md +++ b/website/docs/services/monitoring/droplet_memory_cached_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve cached memory metrics for a given droplet, send a GET request to `/v ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_memory_cached_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_memory_free_metrics/index.md b/website/docs/services/monitoring/droplet_memory_free_metrics/index.md index 9d93431..62a937e 100644 --- a/website/docs/services/monitoring/droplet_memory_free_metrics/index.md +++ b/website/docs/services/monitoring/droplet_memory_free_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve free memory metrics for a given droplet, send a GET request to `/v2/ ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_memory_free_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/droplet_memory_total_metrics/index.md b/website/docs/services/monitoring/droplet_memory_total_metrics/index.md index 001bde3..f021ee7 100644 --- a/website/docs/services/monitoring/droplet_memory_total_metrics/index.md +++ b/website/docs/services/monitoring/droplet_memory_total_metrics/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve total memory metrics for a given droplet, send a GET request to `/v2 ```sql SELECT -* +data, +status FROM digitalocean.monitoring.droplet_memory_total_metrics WHERE host_id = '{{ host_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_connections/index.md b/website/docs/services/monitoring/lb_droplets_connections/index.md index d2fcd70..e1fdc12 100644 --- a/website/docs/services/monitoring/lb_droplets_connections/index.md +++ b/website/docs/services/monitoring/lb_droplets_connections/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets active connections for a given load balancer, send a GET re ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_connections WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_downtime/index.md b/website/docs/services/monitoring/lb_droplets_downtime/index.md index 9cb7b50..51aae78 100644 --- a/website/docs/services/monitoring/lb_droplets_downtime/index.md +++ b/website/docs/services/monitoring/lb_droplets_downtime/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets downtime status for a given load balancer, send a GET reque ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_downtime WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_health_checks/index.md b/website/docs/services/monitoring/lb_droplets_health_checks/index.md index a3689e8..b58a638 100644 --- a/website/docs/services/monitoring/lb_droplets_health_checks/index.md +++ b/website/docs/services/monitoring/lb_droplets_health_checks/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets health check status for a given load balancer, send a GET r ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_health_checks WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_response_time_50p/index.md b/website/docs/services/monitoring/lb_droplets_http_response_time_50p/index.md index 6cafe79..5f8f6bd 100644 --- a/website/docs/services/monitoring/lb_droplets_http_response_time_50p/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_response_time_50p/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets 50th percentile HTTP response time in seconds for a given l ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_response_time_50p WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_response_time_95p/index.md b/website/docs/services/monitoring/lb_droplets_http_response_time_95p/index.md index 2589903..768871b 100644 --- a/website/docs/services/monitoring/lb_droplets_http_response_time_95p/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_response_time_95p/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets 95th percentile HTTP response time in seconds for a given l ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_response_time_95p WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_response_time_99p/index.md b/website/docs/services/monitoring/lb_droplets_http_response_time_99p/index.md index 3101798..55d07d2 100644 --- a/website/docs/services/monitoring/lb_droplets_http_response_time_99p/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_response_time_99p/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets 99th percentile HTTP response time in seconds for a given l ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_response_time_99p WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_response_time_avg/index.md b/website/docs/services/monitoring/lb_droplets_http_response_time_avg/index.md index 69d4f3a..3c4102e 100644 --- a/website/docs/services/monitoring/lb_droplets_http_response_time_avg/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_response_time_avg/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets average HTTP response time in seconds for a given load bala ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_response_time_avg WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_responses/index.md b/website/docs/services/monitoring/lb_droplets_http_responses/index.md index 7a829f6..12dfee7 100644 --- a/website/docs/services/monitoring/lb_droplets_http_responses/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_responses/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets HTTP rate of response code for a given load balancer, send ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_responses WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_session_duration_50p/index.md b/website/docs/services/monitoring/lb_droplets_http_session_duration_50p/index.md index be04e5e..1ad426a 100644 --- a/website/docs/services/monitoring/lb_droplets_http_session_duration_50p/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_session_duration_50p/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets 50th percentile HTTP session duration in seconds for a give ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_session_duration_50p WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_session_duration_95p/index.md b/website/docs/services/monitoring/lb_droplets_http_session_duration_95p/index.md index 614fffc..4740695 100644 --- a/website/docs/services/monitoring/lb_droplets_http_session_duration_95p/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_session_duration_95p/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets 95th percentile HTTP session duration in seconds for a give ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_session_duration_95p WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_http_session_duration_avg/index.md b/website/docs/services/monitoring/lb_droplets_http_session_duration_avg/index.md index e6e336c..b510f01 100644 --- a/website/docs/services/monitoring/lb_droplets_http_session_duration_avg/index.md +++ b/website/docs/services/monitoring/lb_droplets_http_session_duration_avg/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets average HTTP session duration in seconds for a given load b ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_http_session_duration_avg WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_droplets_queue_size/index.md b/website/docs/services/monitoring/lb_droplets_queue_size/index.md index f82f56a..d79ce72 100644 --- a/website/docs/services/monitoring/lb_droplets_queue_size/index.md +++ b/website/docs/services/monitoring/lb_droplets_queue_size/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve Droplets queue size for a given load balancer, send a GET request to ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_droplets_queue_size WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_connections_current/index.md b/website/docs/services/monitoring/lb_frontend_connections_current/index.md index da0ddd3..be47418 100644 --- a/website/docs/services/monitoring/lb_frontend_connections_current/index.md +++ b/website/docs/services/monitoring/lb_frontend_connections_current/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend total current active connections for a given load balancer, ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_connections_current WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_connections_limit/index.md b/website/docs/services/monitoring/lb_frontend_connections_limit/index.md index c3a32fe..d2bc561 100644 --- a/website/docs/services/monitoring/lb_frontend_connections_limit/index.md +++ b/website/docs/services/monitoring/lb_frontend_connections_limit/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend max connections limit for a given load balancer, send a GET ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_connections_limit WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_cpu_utilization/index.md b/website/docs/services/monitoring/lb_frontend_cpu_utilization/index.md index 39db744..165c072 100644 --- a/website/docs/services/monitoring/lb_frontend_cpu_utilization/index.md +++ b/website/docs/services/monitoring/lb_frontend_cpu_utilization/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend average percentage CPU utilization for a given load balance ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_cpu_utilization WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_firewall_dropped_bytes/index.md b/website/docs/services/monitoring/lb_frontend_firewall_dropped_bytes/index.md index d8811a2..c662ce3 100644 --- a/website/docs/services/monitoring/lb_frontend_firewall_dropped_bytes/index.md +++ b/website/docs/services/monitoring/lb_frontend_firewall_dropped_bytes/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve firewall dropped bytes for a given load balancer, send a GET request ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_firewall_dropped_bytes WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_firewall_dropped_packets/index.md b/website/docs/services/monitoring/lb_frontend_firewall_dropped_packets/index.md index c551222..a92716c 100644 --- a/website/docs/services/monitoring/lb_frontend_firewall_dropped_packets/index.md +++ b/website/docs/services/monitoring/lb_frontend_firewall_dropped_packets/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve firewall dropped packets per second for a given load balancer, send ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_firewall_dropped_packets WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_http_requests_per_second/index.md b/website/docs/services/monitoring/lb_frontend_http_requests_per_second/index.md index 4924335..0ac7fb0 100644 --- a/website/docs/services/monitoring/lb_frontend_http_requests_per_second/index.md +++ b/website/docs/services/monitoring/lb_frontend_http_requests_per_second/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend HTTP requests per second for a given load balancer, send a ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_http_requests_per_second WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_http_responses/index.md b/website/docs/services/monitoring/lb_frontend_http_responses/index.md index 7f18f12..1a36578 100644 --- a/website/docs/services/monitoring/lb_frontend_http_responses/index.md +++ b/website/docs/services/monitoring/lb_frontend_http_responses/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend HTTP rate of response code for a given load balancer, send ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_http_responses WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_network_throughput_http/index.md b/website/docs/services/monitoring/lb_frontend_network_throughput_http/index.md index 6178a30..f2904a5 100644 --- a/website/docs/services/monitoring/lb_frontend_network_throughput_http/index.md +++ b/website/docs/services/monitoring/lb_frontend_network_throughput_http/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend HTTP throughput in bytes per second for a given load balanc ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_network_throughput_http WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_network_throughput_tcp/index.md b/website/docs/services/monitoring/lb_frontend_network_throughput_tcp/index.md index c39dbd5..e31a700 100644 --- a/website/docs/services/monitoring/lb_frontend_network_throughput_tcp/index.md +++ b/website/docs/services/monitoring/lb_frontend_network_throughput_tcp/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend TCP throughput in bytes per second for a given load balance ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_network_throughput_tcp WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_network_throughput_udp/index.md b/website/docs/services/monitoring/lb_frontend_network_throughput_udp/index.md index 543d2a2..acef33d 100644 --- a/website/docs/services/monitoring/lb_frontend_network_throughput_udp/index.md +++ b/website/docs/services/monitoring/lb_frontend_network_throughput_udp/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend UDP throughput in bytes per second for a given load balance ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_network_throughput_udp WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_nlb_tcp_network_throughput/index.md b/website/docs/services/monitoring/lb_frontend_nlb_tcp_network_throughput/index.md index d418554..fe6c533 100644 --- a/website/docs/services/monitoring/lb_frontend_nlb_tcp_network_throughput/index.md +++ b/website/docs/services/monitoring/lb_frontend_nlb_tcp_network_throughput/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend TCP throughput in bytes per second for a given load balance ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_nlb_tcp_network_throughput WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_nlb_udp_network_throughput/index.md b/website/docs/services/monitoring/lb_frontend_nlb_udp_network_throughput/index.md index 3c8ca1e..d9a4e29 100644 --- a/website/docs/services/monitoring/lb_frontend_nlb_udp_network_throughput/index.md +++ b/website/docs/services/monitoring/lb_frontend_nlb_udp_network_throughput/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend UDP throughput in bytes per second for a given load balance ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_nlb_udp_network_throughput WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_tls_connections_current/index.md b/website/docs/services/monitoring/lb_frontend_tls_connections_current/index.md index cbf3397..4bc0a66 100644 --- a/website/docs/services/monitoring/lb_frontend_tls_connections_current/index.md +++ b/website/docs/services/monitoring/lb_frontend_tls_connections_current/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend current TLS connections rate for a given load balancer, sen ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_tls_connections_current WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_tls_connections_exceeding_rate_limit/index.md b/website/docs/services/monitoring/lb_frontend_tls_connections_exceeding_rate_limit/index.md index cb575c9..4fcea15 100644 --- a/website/docs/services/monitoring/lb_frontend_tls_connections_exceeding_rate_limit/index.md +++ b/website/docs/services/monitoring/lb_frontend_tls_connections_exceeding_rate_limit/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend closed TLS connections for exceeded rate limit for a given ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_tls_connections_exceeding_rate_limit WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/lb_frontend_tls_connections_limit/index.md b/website/docs/services/monitoring/lb_frontend_tls_connections_limit/index.md index ba7d97f..997499f 100644 --- a/website/docs/services/monitoring/lb_frontend_tls_connections_limit/index.md +++ b/website/docs/services/monitoring/lb_frontend_tls_connections_limit/index.md @@ -50,6 +50,16 @@ The response will be a JSON object with a key called `data` and `status`. + + + object + + + + + string + (example: success) + @@ -125,7 +135,8 @@ To retrieve frontend max TLS connections limit for a given load balancer, send a ```sql SELECT -* +data, +status FROM digitalocean.monitoring.lb_frontend_tls_connections_limit WHERE lb_id = '{{ lb_id }}' -- required AND start = '{{ start }}' -- required diff --git a/website/docs/services/monitoring/sinks/index.md b/website/docs/services/monitoring/sinks/index.md index 33fb08b..bbe0098 100644 --- a/website/docs/services/monitoring/sinks/index.md +++ b/website/docs/services/monitoring/sinks/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a sinks resource. The following fields are returned by `SELECT` queries: - + -The response is a JSON object with a `sinks` key. +The response is a JSON object with a `sink` key. @@ -51,12 +51,22 @@ The response is a JSON object with a `sinks` key. + + + + + + + + + +
object
arrayList of resources identified by their URNs.
- + -The response is a JSON object with a `sink` key. +The response is a JSON object with a `sinks` key. @@ -67,6 +77,16 @@ The response is a JSON object with a `sink` key. + + + + + + + + + +
object
arrayList of resources identified by their URNs.
@@ -88,18 +108,18 @@ The following methods are available for this resource: - + + sink_uuid - resource_id - To list all sinks, send a GET request to `/v2/monitoring/sinks`. + To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. - + - sink_uuid - To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. + resource_id + To list all sinks, send a GET request to `/v2/monitoring/sinks`. @@ -147,32 +167,34 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all sinks, send a GET request to `/v2/monitoring/sinks`. +To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. ```sql SELECT -* +destination, +resources FROM digitalocean.monitoring.sinks -WHERE resource_id = '{{ resource_id }}'; +WHERE sink_uuid = '{{ sink_uuid }}' -- required; ``` - + -To get the details of a sink (resources and destination), send a GET request to `/v2/monitoring/sinks/${sink_uuid}`. +To list all sinks, send a GET request to `/v2/monitoring/sinks`. ```sql SELECT -* +destination, +resources FROM digitalocean.monitoring.sinks -WHERE sink_uuid = '{{ sink_uuid }}' -- required; +WHERE resource_id = '{{ resource_id }}'; ``` diff --git a/website/docs/services/network/byoip_prefix_resources/index.md b/website/docs/services/network/byoip_prefix_resources/index.md index d000fe9..c516ad4 100644 --- a/website/docs/services/network/byoip_prefix_resources/index.md +++ b/website/docs/services/network/byoip_prefix_resources/index.md @@ -50,6 +50,31 @@ List of IP addresses assigned to resources (such as Droplets) in a BYOIP prefix + + + integer (int64) + Unique identifier for the allocation + + + + string (date-time) + Time when the allocation was assigned (example: 2025-06-25T12:00:00Z) + + + + string + The BYOIP prefix UUID (example: f47ac10b-58cc-4372-a567-0e02b2c3d479) + + + + string + Region where the allocation is made (example: nyc3) + + + + string + The resource associated with the allocation (example: do:droplet:fa3c10b-58cc-4372-a567-0e02b2c3d479) +
@@ -125,7 +150,11 @@ To list resources associated with BYOIP prefixes, send a GET request to `/v2/byo ```sql SELECT -* +id, +assigned_at, +byoip, +region, +resource FROM digitalocean.network.byoip_prefix_resources WHERE byoip_prefix_uuid = '{{ byoip_prefix_uuid }}' -- required AND per_page = '{{ per_page }}' diff --git a/website/docs/services/network/byoip_prefixes/index.md b/website/docs/services/network/byoip_prefixes/index.md index 44ef8da..4214b6f 100644 --- a/website/docs/services/network/byoip_prefixes/index.md +++ b/website/docs/services/network/byoip_prefixes/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a byoip_prefixes resource. The following fields are returned by `SELECT` queries: - + -List of BYOIP prefixes as an array of BYOIP prefix JSON objects +Details of the requested BYOIP prefix @@ -51,12 +51,62 @@ List of BYOIP prefixes as an array of BYOIP prefix JSON objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringName of the BYOIP prefix (example: )
stringThe ID of the project associated with the BYOIP prefix (example: 12345678-1234-1234-1234-123456789012)
booleanWhether the BYOIP prefix is being advertised
stringReason for failure, if applicable (example: )
booleanWhether the BYOIP prefix is locked
stringThe IP prefix in CIDR notation (example: 203.0.113.0/24)
stringRegion where the BYOIP prefix is located (example: nyc3)
stringStatus of the BYOIP prefix (example: active)
stringUnique identifier for the BYOIP prefix (example: f47ac10b-58cc-4372-a567-0e02b2c3d479)
arrayList of validation statuses for the BYOIP prefix
- + -Details of the requested BYOIP prefix +List of BYOIP prefixes as an array of BYOIP prefix JSON objects @@ -67,6 +117,56 @@ Details of the requested BYOIP prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringName of the BYOIP prefix (example: )
stringThe ID of the project associated with the BYOIP prefix (example: 12345678-1234-1234-1234-123456789012)
booleanWhether the BYOIP prefix is being advertised
stringReason for failure, if applicable (example: )
booleanWhether the BYOIP prefix is locked
stringThe IP prefix in CIDR notation (example: 203.0.113.0/24)
stringRegion where the BYOIP prefix is located (example: nyc3)
stringStatus of the BYOIP prefix (example: active)
stringUnique identifier for the BYOIP prefix (example: f47ac10b-58cc-4372-a567-0e02b2c3d479)
arrayList of validation statuses for the BYOIP prefix
@@ -88,18 +188,18 @@ The following methods are available for this resource: - + + byoip_prefix_uuid - per_page, page - To list all BYOIP prefixes, send a GET request to `/v2/byoip_prefixes`.
A successful response will return a list of all BYOIP prefixes associated with the account.
+ To get a BYOIP prefix, send a GET request to `/v2/byoip_prefixes/$byoip_prefix_uuid`.

A successful response will return the details of the specified BYOIP prefix.
- + - byoip_prefix_uuid - To get a BYOIP prefix, send a GET request to `/v2/byoip_prefixes/$byoip_prefix_uuid`.

A successful response will return the details of the specified BYOIP prefix.
+ per_page, page + To list all BYOIP prefixes, send a GET request to `/v2/byoip_prefixes`.
A successful response will return a list of all BYOIP prefixes associated with the account.
@@ -159,33 +259,51 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all BYOIP prefixes, send a GET request to `/v2/byoip_prefixes`.
A successful response will return a list of all BYOIP prefixes associated with the account.
+To get a BYOIP prefix, send a GET request to `/v2/byoip_prefixes/$byoip_prefix_uuid`.

A successful response will return the details of the specified BYOIP prefix.
```sql SELECT -* +name, +project_id, +advertised, +failure_reason, +locked, +prefix, +region, +status, +uuid, +validations FROM digitalocean.network.byoip_prefixes -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE byoip_prefix_uuid = '{{ byoip_prefix_uuid }}' -- required; ```
- + -To get a BYOIP prefix, send a GET request to `/v2/byoip_prefixes/$byoip_prefix_uuid`.

A successful response will return the details of the specified BYOIP prefix.
+To list all BYOIP prefixes, send a GET request to `/v2/byoip_prefixes`.
A successful response will return a list of all BYOIP prefixes associated with the account.
```sql SELECT -* +name, +project_id, +advertised, +failure_reason, +locked, +prefix, +region, +status, +uuid, +validations FROM digitalocean.network.byoip_prefixes -WHERE byoip_prefix_uuid = '{{ byoip_prefix_uuid }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -214,6 +332,10 @@ SELECT '{{ prefix }}' --required, '{{ region }}' --required, '{{ signature }}' --required +RETURNING +region, +status, +uuid ; ```
@@ -260,7 +382,9 @@ UPDATE digitalocean.network.byoip_prefixes SET data__advertise = {{ advertise }} WHERE -byoip_prefix_uuid = '{{ byoip_prefix_uuid }}' --required; +byoip_prefix_uuid = '{{ byoip_prefix_uuid }}' --required +RETURNING +byoip_prefix; ```
diff --git a/website/docs/services/network/floating_ip_actions/index.md b/website/docs/services/network/floating_ip_actions/index.md index 8d9b40f..55ef6e6 100644 --- a/website/docs/services/network/floating_ip_actions/index.md +++ b/website/docs/services/network/floating_ip_actions/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a floating_ip_actions reso The following fields are returned by `SELECT` queries: - + -The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard floating IP action attributes. +The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes. @@ -51,12 +51,17 @@ The results will be returned as a JSON object with an `actions` key. This will b + + + + +
object
- + -The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes. +The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard floating IP action attributes. @@ -67,6 +72,51 @@ The response will be an object with a key called `action`. The value of this wil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
integerA unique numeric ID that can be used to identify and reference an action.
integerA unique identifier for the resource that the action is associated with.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z)
object
stringA human-readable string that is used as a unique identifier for each region. (example: nyc3)
stringThe type of resource that the action is associated with. (example: droplet)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z)
stringThe current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress)
stringThis is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create)
@@ -88,18 +138,18 @@ The following methods are available for this resource: - + - floating_ip + floating_ip, action_id - To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. + To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. - + - floating_ip, action_id + floating_ip - To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. + To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. @@ -140,33 +190,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. +To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. ```sql SELECT -* +action FROM digitalocean.network.floating_ip_actions -WHERE floating_ip = '{{ floating_ip }}' -- required; +WHERE floating_ip = '{{ floating_ip }}' -- required +AND action_id = '{{ action_id }}' -- required; ``` - + -To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. +To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. ```sql SELECT -* +id, +resource_id, +completed_at, +region, +region_slug, +resource_type, +started_at, +status, +type FROM digitalocean.network.floating_ip_actions -WHERE floating_ip = '{{ floating_ip }}' -- required -AND action_id = '{{ action_id }}' -- required; +WHERE floating_ip = '{{ floating_ip }}' -- required; ``` diff --git a/website/docs/services/network/floating_ips/index.md b/website/docs/services/network/floating_ips/index.md index 2d4c296..85e2507 100644 --- a/website/docs/services/network/floating_ips/index.md +++ b/website/docs/services/network/floating_ips/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a floating_ips resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes +The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP. @@ -51,12 +51,37 @@ The response will be a JSON object with a key called `floating_ips`. This will b + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The UUID of the project to which the reserved IP currently belongs.

Requires `project:read` scope. (example: 746c6152-2fa2-11ed-92d3-27aaa54e4988)
The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.

Requires `droplet:read` scope.
string (ipv4)The public IP address of the floating IP. It also serves as its identifier. (example: 45.55.96.47)
booleanA boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted.
objectThe region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.
- + -The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP. +The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes @@ -67,6 +92,31 @@ The response will be a JSON object with a key called `floating_ip`. The value of + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The UUID of the project to which the reserved IP currently belongs.

Requires `project:read` scope. (example: 746c6152-2fa2-11ed-92d3-27aaa54e4988)
The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null.

Requires `droplet:read` scope.
string (ipv4)The public IP address of the floating IP. It also serves as its identifier. (example: 45.55.96.47)
booleanA boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted.
objectThe region that the floating IP is reserved to. When you query a floating IP, the entire region object will be returned.
@@ -88,18 +138,18 @@ The following methods are available for this resource: - + + floating_ip - per_page, page - To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. + To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. - + - floating_ip - To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. + per_page, page + To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. @@ -152,33 +202,41 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. +To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. ```sql SELECT -* +project_id, +droplet, +ip, +locked, +region FROM digitalocean.network.floating_ips -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE floating_ip = '{{ floating_ip }}' -- required; ``` - + -To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. +To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. ```sql SELECT -* +project_id, +droplet, +ip, +locked, +region FROM digitalocean.network.floating_ips -WHERE floating_ip = '{{ floating_ip }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -203,6 +261,9 @@ INSERT INTO digitalocean.network.floating_ips ( ) SELECT +RETURNING +floating_ip, +links ; ```
diff --git a/website/docs/services/network/partner_attachment_service_keys/index.md b/website/docs/services/network/partner_attachment_service_keys/index.md index 727e4fd..7157333 100644 --- a/website/docs/services/network/partner_attachment_service_keys/index.md +++ b/website/docs/services/network/partner_attachment_service_keys/index.md @@ -50,6 +50,21 @@ The response will be a JSON object with a `service_key` object containing
+ + + string (date-time) + A time value given in the ISO 8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z) + + + + string + (example: CREATED) + + + + string + (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4) +
@@ -122,7 +137,9 @@ To get the current service key for a partner attachment, send a `GET` request to ```sql SELECT -* +created_at, +state, +value FROM digitalocean.network.partner_attachment_service_keys WHERE pa_id = '{{ pa_id }}' -- required; ``` diff --git a/website/docs/services/network/partner_attachments/index.md b/website/docs/services/network/partner_attachments/index.md index f2d4e23..6232523 100644 --- a/website/docs/services/network/partner_attachments/index.md +++ b/website/docs/services/network/partner_attachments/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a partner_attachments reso The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a `partner_attachments` key
that contains an array of all partner attachments +The response will be a JSON object with details about the partner attachment
including attached VPC network IDs and BGP configuration information @@ -51,12 +51,67 @@ The response will be a JSON object with a `partner_attachments` key
that co + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (string)A unique ID that can be used to identify and reference the partner attachment. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the partner attachment. Must be unique and may only contain alphanumeric characters, dashes, and periods. (pattern: ^[a-zA-Z0-9\-\.]+$, example: env.prod-partner-network-connect)
objectThe BGP configuration for the partner attachment.
arrayAn array of associated partner attachment UUIDs.
integerThe bandwidth (in Mbps) of the connection.
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
stringThe Network as a Service (NaaS) provider for the partner attachment. (example: megaport)
stringAssociated partner attachment UUID (example: 34259a41-0ca6-4a6b-97dd-a22bcab900dd)
stringThe region where the partner attachment is located. (example: nyc)
stringThe current operational state of the attachment. (example: active)
arrayAn array of VPC network IDs.
- + -The response will be a JSON object with details about the partner attachment
including attached VPC network IDs and BGP configuration information +The response will be a JSON object with a `partner_attachments` key
that contains an array of all partner attachments @@ -67,6 +122,61 @@ The response will be a JSON object with details about the partner attachment
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (string)A unique ID that can be used to identify and reference the partner attachment. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the partner attachment. Must be unique and may only contain alphanumeric characters, dashes, and periods. (pattern: ^[a-zA-Z0-9\-\.]+$, example: env.prod-partner-network-connect)
objectThe BGP configuration for the partner attachment.
arrayAn array of associated partner attachment UUIDs.
integerThe bandwidth (in Mbps) of the connection.
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
stringThe Network as a Service (NaaS) provider for the partner attachment. (example: megaport)
stringAssociated partner attachment UUID (example: 34259a41-0ca6-4a6b-97dd-a22bcab900dd)
stringThe region where the partner attachment is located. (example: nyc)
stringThe current operational state of the attachment. (example: active)
arrayAn array of VPC network IDs.
@@ -88,18 +198,18 @@ The following methods are available for this resource: - + + pa_id - per_page, page - To list all of the Partner Attachments on your account, send a `GET` request to `/v2/partner_network_connect/attachments`. + To get the details of a partner attachment, send a `GET` request to
`/v2/partner_network_connect/attachments/{pa_id}`.
- + - pa_id - To get the details of a partner attachment, send a `GET` request to
`/v2/partner_network_connect/attachments/{pa_id}`.
+ per_page, page + To list all of the Partner Attachments on your account, send a `GET` request to `/v2/partner_network_connect/attachments`. @@ -159,33 +269,53 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the Partner Attachments on your account, send a `GET` request to `/v2/partner_network_connect/attachments`. +To get the details of a partner attachment, send a `GET` request to
`/v2/partner_network_connect/attachments/{pa_id}`.
```sql SELECT -* +id, +name, +bgp, +children, +connection_bandwidth_in_mbps, +created_at, +naas_provider, +parent_uuid, +region, +state, +vpc_ids FROM digitalocean.network.partner_attachments -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE pa_id = '{{ pa_id }}' -- required; ```
- + -To get the details of a partner attachment, send a `GET` request to
`/v2/partner_network_connect/attachments/{pa_id}`.
+To list all of the Partner Attachments on your account, send a `GET` request to `/v2/partner_network_connect/attachments`. ```sql SELECT -* +id, +name, +bgp, +children, +connection_bandwidth_in_mbps, +created_at, +naas_provider, +parent_uuid, +region, +state, +vpc_ids FROM digitalocean.network.partner_attachments -WHERE pa_id = '{{ pa_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ```
@@ -224,6 +354,8 @@ SELECT '{{ parent_uuid }}', '{{ bgp }}', '{{ redundancy_zone }}' +RETURNING +partner_attachment ; ```
@@ -295,7 +427,9 @@ UPDATE digitalocean.network.partner_attachments SET -- No updatable properties WHERE -pa_id = '{{ pa_id }}' --required; +pa_id = '{{ pa_id }}' --required +RETURNING +partner_attachment; ```
diff --git a/website/docs/services/network/partner_attachments_bgp_auth_key/index.md b/website/docs/services/network/partner_attachments_bgp_auth_key/index.md index b20ec64..f69fcb5 100644 --- a/website/docs/services/network/partner_attachments_bgp_auth_key/index.md +++ b/website/docs/services/network/partner_attachments_bgp_auth_key/index.md @@ -50,6 +50,21 @@ The response will be a JSON object with a `bgp_auth_key` object containing a
+ + + string (date-time) + A time value given in the ISO 8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z) + + + + string + (example: CREATED) + + + + string + (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4) +
@@ -115,7 +130,9 @@ To get the current BGP auth key for a partner attachment, send a `GET` request t ```sql SELECT -* +created_at, +state, +value FROM digitalocean.network.partner_attachments_bgp_auth_key WHERE pa_id = '{{ pa_id }}' -- required; ``` diff --git a/website/docs/services/network/partner_attachments_remote_routes/index.md b/website/docs/services/network/partner_attachments_remote_routes/index.md index bfccb37..ea8d48e 100644 --- a/website/docs/services/network/partner_attachments_remote_routes/index.md +++ b/website/docs/services/network/partner_attachments_remote_routes/index.md @@ -50,6 +50,11 @@ The response will be a JSON object with a `remote_routes` array containing
+ + + string + A CIDR block representing a remote route. (example: 10.10.10.0/24) +
@@ -125,7 +130,7 @@ To list all remote routes associated with a partner attachment, send a `GET` req ```sql SELECT -* +cidr FROM digitalocean.network.partner_attachments_remote_routes WHERE pa_id = '{{ pa_id }}' -- required AND per_page = '{{ per_page }}' diff --git a/website/docs/services/oneclick/applications/index.md b/website/docs/services/oneclick/applications/index.md index 8e0f502..7fd5c6d 100644 --- a/website/docs/services/oneclick/applications/index.md +++ b/website/docs/services/oneclick/applications/index.md @@ -50,6 +50,16 @@ A JSON object with a key of `1_clicks`. + + + string + The slug identifier for the 1-Click application. (title: slug, example: monitoring) + + + + string + The type of the 1-Click application. (title: type, example: kubernetes) +
@@ -122,7 +132,8 @@ To list all available 1-Click applications, send a GET request to `/v2/1-clicks` ```sql SELECT -* +slug, +type FROM digitalocean.oneclick.applications WHERE type = '{{ type }}'; ``` @@ -151,6 +162,8 @@ data__cluster_uuid SELECT '{{ addon_slugs }}' --required, '{{ cluster_uuid }}' --required +RETURNING +message ; ``` diff --git a/website/docs/services/projects/default_resources/index.md b/website/docs/services/projects/default_resources/index.md index 4ecae2f..e88e768 100644 --- a/website/docs/services/projects/default_resources/index.md +++ b/website/docs/services/projects/default_resources/index.md @@ -50,6 +50,26 @@ The response will be a JSON object with a key called `resources`.
The value + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the project was created. (example: 2018-09-28T19:26:37Z) + + + + object + The links object contains the `self` object, which contains the resource relationship. + + + + string + The status of assigning and fetching the resources. (example: ok) + + + + string + The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. (pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*, example: do:droplet:13457723) + @@ -117,7 +137,10 @@ To list all your resources in your default project, send a GET request to `/v2/p ```sql SELECT -* +assigned_at, +links, +status, +urn FROM digitalocean.projects.default_resources; ``` @@ -143,6 +166,8 @@ data__resources ) SELECT '{{ resources }}' +RETURNING +resources ; ``` diff --git a/website/docs/services/projects/defaults/index.md b/website/docs/services/projects/defaults/index.md index 5d47129..d531a75 100644 --- a/website/docs/services/projects/defaults/index.md +++ b/website/docs/services/projects/defaults/index.md @@ -50,6 +50,56 @@ The response will be a JSON object with a key called `project`. The value of thi + + + string (uuid) + The unique universal identifier of this project. (example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679) + + + + string + The human-readable name for the project. The maximum length is 175 characters and the name must be unique. (example: my-web-api) + + + + integer + The integer id of the project owner. + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the project was created. (example: 2018-09-27T20:10:35Z) + + + + string + The description of the project. The maximum length is 255 characters. (example: My website API) + + + + string + The environment of the project's resources. (example: Production) + + + + boolean + If true, all resources will be added to this project if no project is specified. + + + + string + The unique universal identifier of the project owner. (example: 99525febec065ca37b2ffe4f852fd2b2581895e7) + + + + string + The purpose of the project. The maximum length is 255 characters. It can have one of the following values: - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog - Web Application - Service or API - Mobile Application - Machine learning / AI / Data processing - IoT - Operational / Developer tooling If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`. (example: Service or API) + + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the project was updated. (example: 2018-09-27T20:10:35Z) + @@ -124,7 +174,16 @@ To get your default project, send a GET request to `/v2/projects/default`. ```sql SELECT -* +id, +name, +owner_id, +created_at, +description, +environment, +is_default, +owner_uuid, +purpose, +updated_at FROM digitalocean.projects.defaults; ``` @@ -152,7 +211,9 @@ data__purpose = '{{ purpose }}', data__environment = '{{ environment }}', data__is_default = {{ is_default }} WHERE -; + +RETURNING +project; ```
@@ -183,7 +244,9 @@ data__name = '{{ name }}' --required AND data__description = '{{ description }}' --required AND data__purpose = '{{ purpose }}' --required AND data__environment = '{{ environment }}' --required -AND data__is_default = {{ is_default }} --required; +AND data__is_default = {{ is_default }} --required +RETURNING +project; ```
diff --git a/website/docs/services/projects/projects/index.md b/website/docs/services/projects/projects/index.md index 87798ef..4720c64 100644 --- a/website/docs/services/projects/projects/index.md +++ b/website/docs/services/projects/projects/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a projects resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `projects`. The value of this will be an object with the standard project attributes +The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes @@ -51,12 +51,62 @@ The response will be a JSON object with a key called `projects`. The value of th + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The unique universal identifier of this project. (example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679)
stringThe human-readable name for the project. The maximum length is 175 characters and the name must be unique. (example: my-web-api)
integerThe integer id of the project owner.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the project was created. (example: 2018-09-27T20:10:35Z)
stringThe description of the project. The maximum length is 255 characters. (example: My website API)
stringThe environment of the project's resources. (example: Production)
booleanIf true, all resources will be added to this project if no project is specified.
stringThe unique universal identifier of the project owner. (example: 99525febec065ca37b2ffe4f852fd2b2581895e7)
stringThe purpose of the project. The maximum length is 255 characters. It can have one of the following values: - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog - Web Application - Service or API - Mobile Application - Machine learning / AI / Data processing - IoT - Operational / Developer tooling If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`. (example: Service or API)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the project was updated. (example: 2018-09-27T20:10:35Z)
- + -The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes +The response will be a JSON object with a key called `projects`. The value of this will be an object with the standard project attributes @@ -67,6 +117,56 @@ The response will be a JSON object with a key called `project`. The value of thi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)The unique universal identifier of this project. (example: 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679)
stringThe human-readable name for the project. The maximum length is 175 characters and the name must be unique. (example: my-web-api)
integerThe integer id of the project owner.
string (date-time)A time value given in ISO8601 combined date and time format that represents when the project was created. (example: 2018-09-27T20:10:35Z)
stringThe description of the project. The maximum length is 255 characters. (example: My website API)
stringThe environment of the project's resources. (example: Production)
booleanIf true, all resources will be added to this project if no project is specified.
stringThe unique universal identifier of the project owner. (example: 99525febec065ca37b2ffe4f852fd2b2581895e7)
stringThe purpose of the project. The maximum length is 255 characters. It can have one of the following values: - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog - Web Application - Service or API - Mobile Application - Machine learning / AI / Data processing - IoT - Operational / Developer tooling If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`. (example: Service or API)
string (date-time)A time value given in ISO8601 combined date and time format that represents when the project was updated. (example: 2018-09-27T20:10:35Z)
@@ -88,18 +188,18 @@ The following methods are available for this resource: - + + project_id - per_page, page - To list all your projects, send a GET request to `/v2/projects`. + To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. - + - project_id - To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. + per_page, page + To list all your projects, send a GET request to `/v2/projects`. @@ -166,33 +266,51 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all your projects, send a GET request to `/v2/projects`. +To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. ```sql SELECT -* +id, +name, +owner_id, +created_at, +description, +environment, +is_default, +owner_uuid, +purpose, +updated_at FROM digitalocean.projects.projects -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE project_id = '{{ project_id }}' -- required; ``` - + -To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. +To list all your projects, send a GET request to `/v2/projects`. ```sql SELECT -* +id, +name, +owner_id, +created_at, +description, +environment, +is_default, +owner_uuid, +purpose, +updated_at FROM digitalocean.projects.projects -WHERE project_id = '{{ project_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -223,6 +341,8 @@ SELECT '{{ description }}', '{{ purpose }}' --required, '{{ environment }}' +RETURNING +project ; ```
@@ -293,7 +413,9 @@ data__purpose = '{{ purpose }}', data__environment = '{{ environment }}', data__is_default = {{ is_default }} WHERE -project_id = '{{ project_id }}' --required; +project_id = '{{ project_id }}' --required +RETURNING +project; ```
@@ -325,7 +447,9 @@ AND data__name = '{{ name }}' --required AND data__description = '{{ description }}' --required AND data__purpose = '{{ purpose }}' --required AND data__environment = '{{ environment }}' --required -AND data__is_default = {{ is_default }} --required; +AND data__is_default = {{ is_default }} --required +RETURNING +project; ```
diff --git a/website/docs/services/projects/resources/index.md b/website/docs/services/projects/resources/index.md index 6673c7c..a93418a 100644 --- a/website/docs/services/projects/resources/index.md +++ b/website/docs/services/projects/resources/index.md @@ -50,6 +50,26 @@ The response will be a JSON object with a key called `resources`.
The value + + + string (date-time) + A time value given in ISO8601 combined date and time format that represents when the project was created. (example: 2018-09-28T19:26:37Z) + + + + object + The links object contains the `self` object, which contains the resource relationship. + + + + string + The status of assigning and fetching the resources. (example: ok) + + + + string + The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. (pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*, example: do:droplet:13457723) + @@ -82,7 +102,7 @@ The following methods are available for this resource: project_id - To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.

You must have both `project:update` and `<resource>:read` scopes to assign new resources. For example, to assign a Droplet to a project, include both the `project:update` and `droplet:read` scopes.
+ To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.

You must have both `project:update` and `:read` scopes to assign new resources. For example, to assign a Droplet to a project, include both the `project:update` and `droplet:read` scopes.
@@ -132,7 +152,10 @@ To list all your resources in a project, send a GET request to `/v2/projects/$PR ```sql SELECT -* +assigned_at, +links, +status, +urn FROM digitalocean.projects.resources WHERE project_id = '{{ project_id }}' -- required AND per_page = '{{ per_page }}' @@ -153,7 +176,7 @@ AND page = '{{ page }}'; > -To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.

You must have both `project:update` and `<resource>:read` scopes to assign new resources. For example, to assign a Droplet to a project, include both the `project:update` and `droplet:read` scopes.
+To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`.

You must have both `project:update` and `:read` scopes to assign new resources. For example, to assign a Droplet to a project, include both the `project:update` and `droplet:read` scopes.
```sql INSERT INTO digitalocean.projects.resources ( @@ -163,6 +186,8 @@ project_id SELECT '{{ resources }}', '{{ project_id }}' +RETURNING +resources ; ```
diff --git a/website/docs/services/serverless/namespaces/index.md b/website/docs/services/serverless/namespaces/index.md index 3107973..3a32c43 100644 --- a/website/docs/services/serverless/namespaces/index.md +++ b/website/docs/services/serverless/namespaces/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a namespaces resource. The following fields are returned by `SELECT` queries: - + -An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains
the properties associated with it. +A JSON response object with a key called `namespace`. The object contains the properties associated
with the namespace. @@ -51,12 +51,52 @@ An array of JSON objects with a key called `namespaces`. Each object represents + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. (example: https://api_host.io)
stringUTC time string. (example: 2022-09-14T04:16:45Z)
stringA random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate a user to use the namespace via `doctl`, DigitalOcean's official CLI. (example: d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2)
stringThe namespace's unique name. (example: my namespace)
stringA unique string format of UUID with a prefix fn-. (example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
stringThe namespace's datacenter region. (example: nyc1)
stringUTC time string. (example: 2022-09-14T04:16:45Z)
stringThe namespace's Universally Unique Identifier. (example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
- + -A JSON response object with a key called `namespace`. The object contains the properties associated
with the namespace. +An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains
the properties associated with it. @@ -67,6 +107,46 @@ A JSON response object with a key called `namespace`. The object contains the pr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. (example: https://api_host.io)
stringUTC time string. (example: 2022-09-14T04:16:45Z)
stringA random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate a user to use the namespace via `doctl`, DigitalOcean's official CLI. (example: d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2)
stringThe namespace's unique name. (example: my namespace)
stringA unique string format of UUID with a prefix fn-. (example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
stringThe namespace's datacenter region. (example: nyc1)
stringUTC time string. (example: 2022-09-14T04:16:45Z)
stringThe namespace's Universally Unique Identifier. (example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
@@ -88,18 +168,18 @@ The following methods are available for this resource: - + + namespace_id - - Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. + Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. - + - namespace_id - Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. + + Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. @@ -142,31 +222,45 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. +Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. ```sql SELECT -* -FROM digitalocean.serverless.namespaces; +api_host, +created_at, +key, +label, +namespace, +region, +updated_at, +uuid +FROM digitalocean.serverless.namespaces +WHERE namespace_id = '{{ namespace_id }}' -- required; ``` - + -Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. +Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. ```sql SELECT -* -FROM digitalocean.serverless.namespaces -WHERE namespace_id = '{{ namespace_id }}' -- required; +api_host, +created_at, +key, +label, +namespace, +region, +updated_at, +uuid +FROM digitalocean.serverless.namespaces; ``` @@ -193,6 +287,8 @@ data__label SELECT '{{ region }}' --required, '{{ label }}' --required +RETURNING +namespace ; ```
diff --git a/website/docs/services/serverless/triggers/index.md b/website/docs/services/serverless/triggers/index.md index c4ac451..070ab03 100644 --- a/website/docs/services/serverless/triggers/index.md +++ b/website/docs/services/serverless/triggers/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a triggers resource. The following fields are returned by `SELECT` queries: - + -An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains
the properties associated with it. +A JSON response object with a key called `trigger`. The object contains the properties associated
with the trigger. @@ -51,12 +51,57 @@ An array of JSON objects with a key called `namespaces`. Each object represents + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe trigger's unique name within the namespace. (example: my trigger)
stringUTC time string. (example: 2022-11-11T04:16:45Z)
stringName of function(action) that exists in the given namespace. (example: hello)
booleanIndicates weather the trigger is paused or unpaused.
stringA unique string format of UUID with a prefix fn-. (example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
objectTrigger details for SCHEDULED type, where body is optional.
object
stringString which indicates the type of trigger source like SCHEDULED. (example: SCHEDULED)
stringUTC time string. (example: 2022-11-11T04:16:45Z)
- + -A JSON response object with a key called `trigger`. The object contains the properties associated
with the trigger. +An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains
the properties associated with it. @@ -67,6 +112,51 @@ A JSON response object with a key called `trigger`. The object contains the prop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
stringThe trigger's unique name within the namespace. (example: my trigger)
stringUTC time string. (example: 2022-11-11T04:16:45Z)
stringName of function(action) that exists in the given namespace. (example: hello)
booleanIndicates weather the trigger is paused or unpaused.
stringA unique string format of UUID with a prefix fn-. (example: fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
objectTrigger details for SCHEDULED type, where body is optional.
object
stringString which indicates the type of trigger source like SCHEDULED. (example: SCHEDULED)
stringUTC time string. (example: 2022-11-11T04:16:45Z)
@@ -88,18 +178,18 @@ The following methods are available for this resource: - + - namespace_id + namespace_id, trigger_name - Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. + Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. - + - namespace_id, trigger_name + namespace_id - Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. + Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. @@ -154,33 +244,49 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. +Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. ```sql SELECT -* +name, +created_at, +function, +is_enabled, +namespace, +scheduled_details, +scheduled_runs, +type, +updated_at FROM digitalocean.serverless.triggers -WHERE namespace_id = '{{ namespace_id }}' -- required; +WHERE namespace_id = '{{ namespace_id }}' -- required +AND trigger_name = '{{ trigger_name }}' -- required; ``` - + -Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. +Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. ```sql SELECT -* +name, +created_at, +function, +is_enabled, +namespace, +scheduled_details, +scheduled_runs, +type, +updated_at FROM digitalocean.serverless.triggers -WHERE namespace_id = '{{ namespace_id }}' -- required -AND trigger_name = '{{ trigger_name }}' -- required; +WHERE namespace_id = '{{ namespace_id }}' -- required; ``` @@ -215,6 +321,8 @@ SELECT {{ is_enabled }} --required, '{{ scheduled_details }}' --required, '{{ namespace_id }}' +RETURNING +trigger ; ```
@@ -276,7 +384,9 @@ data__is_enabled = {{ is_enabled }}, data__scheduled_details = '{{ scheduled_details }}' WHERE namespace_id = '{{ namespace_id }}' --required -AND trigger_name = '{{ trigger_name }}' --required; +AND trigger_name = '{{ trigger_name }}' --required +RETURNING +trigger; ```
diff --git a/website/docs/services/spaces/keys/index.md b/website/docs/services/spaces/keys/index.md index 7643879..03922cc 100644 --- a/website/docs/services/spaces/keys/index.md +++ b/website/docs/services/spaces/keys/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a keys resource. The following fields are returned by `SELECT` queries: - + -A JSON response containing a list of keys. +A JSON response containing details about the key. @@ -51,12 +51,32 @@ A JSON response containing a list of keys. + + + + + + + + + + + + + + + + + + + +
stringThe access key's name. (example: my-access-key)
stringThe Access Key ID used to access a bucket. (example: DOACCESSKEYEXAMPLE)
string (date-time)The date and time the key was created. (example: 2018-07-19T15:04:16Z)
arrayThe list of permissions for the access key.
- + -A JSON response containing details about the key. +A JSON response containing a list of keys. @@ -67,6 +87,26 @@ A JSON response containing details about the key. + + + + + + + + + + + + + + + + + + + +
stringThe access key's name. (example: my-access-key)
stringThe Access Key ID used to access a bucket. (example: DOACCESSKEYEXAMPLE)
string (date-time)The date and time the key was created. (example: 2018-07-19T15:04:16Z)
arrayThe list of permissions for the access key.
@@ -88,18 +128,18 @@ The following methods are available for this resource: - + + access_key - per_page, page, sort, sort_direction, name, bucket, permission - To list Spaces Access Key, send a GET request to `/v2/spaces/keys`. Sort parameter must be used with Sort Direction.
+ To get a Spaces Access Key, send a GET request to `/v2/spaces/keys/$ACCESS_KEY`.

A successful request will return the Access Key.
- + - access_key - To get a Spaces Access Key, send a GET request to `/v2/spaces/keys/$ACCESS_KEY`.

A successful request will return the Access Key.
+ per_page, page, sort, sort_direction, name, bucket, permission + To list Spaces Access Key, send a GET request to `/v2/spaces/keys`. Sort parameter must be used with Sort Direction.
@@ -191,19 +231,36 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples + + +To get a Spaces Access Key, send a GET request to `/v2/spaces/keys/$ACCESS_KEY`.

A successful request will return the Access Key.
+ +```sql +SELECT +name, +access_key, +created_at, +grants +FROM digitalocean.spaces.keys +WHERE access_key = '{{ access_key }}' -- required; +``` +
To list Spaces Access Key, send a GET request to `/v2/spaces/keys`. Sort parameter must be used with Sort Direction.
```sql SELECT -* +name, +access_key, +created_at, +grants FROM digitalocean.spaces.keys WHERE per_page = '{{ per_page }}' AND page = '{{ page }}' @@ -214,17 +271,6 @@ AND bucket = '{{ bucket }}' AND permission = '{{ permission }}'; ```
- - -To get a Spaces Access Key, send a GET request to `/v2/spaces/keys/$ACCESS_KEY`.

A successful request will return the Access Key.
- -```sql -SELECT -* -FROM digitalocean.spaces.keys -WHERE access_key = '{{ access_key }}' -- required; -``` -
@@ -249,6 +295,8 @@ data__grants SELECT '{{ name }}', '{{ grants }}' +RETURNING +key ; ```
@@ -292,7 +340,9 @@ SET data__name = '{{ name }}', data__grants = '{{ grants }}' WHERE -access_key = '{{ access_key }}' --required; +access_key = '{{ access_key }}' --required +RETURNING +key; ```
@@ -316,7 +366,9 @@ SET data__name = '{{ name }}', data__grants = '{{ grants }}' WHERE -access_key = '{{ access_key }}' --required; +access_key = '{{ access_key }}' --required +RETURNING +key; ```
diff --git a/website/docs/services/vpcs/members/index.md b/website/docs/services/vpcs/members/index.md index cdf34d2..942cc3b 100644 --- a/website/docs/services/vpcs/members/index.md +++ b/website/docs/services/vpcs/members/index.md @@ -50,6 +50,21 @@ The response will be a JSON object with a key called members. This will be set + + + string + The name of the resource. (example: nyc1-load-balancer-01) + + + + string + A time value given in ISO8601 combined date and time format that represents when the resource was created. (example: 2020-03-13T19:30:48Z) + + + + string + The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. (pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*, example: do:droplet:13457723) + @@ -130,7 +145,9 @@ To list all of the resources that are members of a VPC, send a GET request to
+ + + string (uuid) + A unique ID that can be used to identify and reference the VPC peering. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4) + + + + string + The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. (pattern: ^[a-zA-Z0-9\-]+$, example: nyc1-blr1-peering) + + + + string (date-time) + A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z) + + + + string + The current status of the VPC peering. (example: ACTIVE) + + + + array + An array of the two peered VPCs IDs. + @@ -144,7 +169,11 @@ To list all of a VPC's peerings, send a GET request to
`/v2/vpcs/$VPC_ID/pe ```sql SELECT -* +id, +name, +created_at, +status, +vpc_ids FROM digitalocean.vpcs.peerings WHERE vpc_id = '{{ vpc_id }}' -- required AND per_page = '{{ per_page }}' @@ -177,6 +206,8 @@ SELECT '{{ name }}' --required, '{{ vpc_id }}' --required, '{{ vpc_id }}' +RETURNING +peering ; ``` @@ -223,7 +254,9 @@ data__name = '{{ name }}' WHERE vpc_id = '{{ vpc_id }}' --required AND vpc_peering_id = '{{ vpc_peering_id }}' --required -AND data__name = '{{ name }}' --required; +AND data__name = '{{ name }}' --required +RETURNING +peering; ```
diff --git a/website/docs/services/vpcs/vpc_peerings/index.md b/website/docs/services/vpcs/vpc_peerings/index.md index b6c8676..4d0224c 100644 --- a/website/docs/services/vpcs/vpc_peerings/index.md +++ b/website/docs/services/vpcs/vpc_peerings/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a vpc_peerings resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `vpc_peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. +The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. @@ -51,12 +51,37 @@ The response will be a JSON object with a key called `vpc_peerings`. This will + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the VPC peering. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. (pattern: ^[a-zA-Z0-9\-]+$, example: nyc1-blr1-peering)
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
stringThe current status of the VPC peering. (example: ACTIVE)
arrayAn array of the two peered VPCs IDs.
- + -The response will be a JSON object with a key called `vpc_peering`. The value of this will be an object that contains the standard attributes associated with a VPC peering. +The response will be a JSON object with a key called `vpc_peerings`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC peering. @@ -67,6 +92,31 @@ The response will be a JSON object with a key called `vpc_peering`. The value of + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the VPC peering. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. (pattern: ^[a-zA-Z0-9\-]+$, example: nyc1-blr1-peering)
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
stringThe current status of the VPC peering. (example: ACTIVE)
arrayAn array of the two peered VPCs IDs.
@@ -88,18 +138,18 @@ The following methods are available for this resource: - + + vpc_peering_id - per_page, page, region - To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. + To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`.
- + - vpc_peering_id - To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`.
+ per_page, page, region + To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. @@ -164,34 +214,42 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. +To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`.
```sql SELECT -* +id, +name, +created_at, +status, +vpc_ids FROM digitalocean.vpcs.vpc_peerings -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}' -AND region = '{{ region }}'; +WHERE vpc_peering_id = '{{ vpc_peering_id }}' -- required; ```
- + -To show information about an existing VPC Peering, send a GET request to `/v2/vpc_peerings/$VPC_PEERING_ID`.
+To list all of the VPC peerings on your account, send a GET request to `/v2/vpc_peerings`. ```sql SELECT -* +id, +name, +created_at, +status, +vpc_ids FROM digitalocean.vpcs.vpc_peerings -WHERE vpc_peering_id = '{{ vpc_peering_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}' +AND region = '{{ region }}'; ```
@@ -218,6 +276,8 @@ data__vpc_ids SELECT '{{ name }}' --required, '{{ vpc_ids }}' --required +RETURNING +vpc_peering ; ```
@@ -260,7 +320,9 @@ SET data__name = '{{ name }}' WHERE vpc_peering_id = '{{ vpc_peering_id }}' --required -AND data__name = '{{ name }}' --required; +AND data__name = '{{ name }}' --required +RETURNING +vpc_peering; ```
diff --git a/website/docs/services/vpcs/vpcs/index.md b/website/docs/services/vpcs/vpcs/index.md index 370804f..3ac89cc 100644 --- a/website/docs/services/vpcs/vpcs/index.md +++ b/website/docs/services/vpcs/vpcs/index.md @@ -32,15 +32,15 @@ Creates, updates, deletes, gets or lists a vpcs resource. The following fields are returned by `SELECT` queries: - + -The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC. +The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC. @@ -51,12 +51,52 @@ The response will be a JSON object with a key called `vpcs`. This will be set to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the VPC. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. (pattern: ^[a-zA-Z0-9\-\.]+$, example: env.prod-vpc)
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
booleanA boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.
stringA free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. (example: VPC for production environment)
stringThe range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. (example: 10.10.10.0/24)
stringThe slug identifier for the region where the VPC will be created. (example: nyc1)
stringThe uniform resource name (URN) for the resource in the format do:resource_type:resource_id. (pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*, example: do:droplet:13457723)
- + -The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC. +The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC. @@ -67,6 +107,46 @@ The response will be a JSON object with a key called `vpc`. The value of this wi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string (uuid)A unique ID that can be used to identify and reference the VPC. (example: 5a4981aa-9653-4bd1-bef5-d6bff52042e4)
stringThe name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. (pattern: ^[a-zA-Z0-9\-\.]+$, example: env.prod-vpc)
string (date-time)A time value given in ISO8601 combined date and time format. (example: 2020-03-13T19:20:47.442049222Z)
booleanA boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.
stringA free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. (example: VPC for production environment)
stringThe range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. (example: 10.10.10.0/24)
stringThe slug identifier for the region where the VPC will be created. (example: nyc1)
stringThe uniform resource name (URN) for the resource in the format do:resource_type:resource_id. (pattern: ^do:(dbaas|domain|droplet|floatingip|loadbalancer|space|volume|kubernetes|vpc):.*, example: do:droplet:13457723)
@@ -88,18 +168,18 @@ The following methods are available for this resource: - + + vpc_id - per_page, page - To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. + To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. - + - vpc_id - To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. + per_page, page + To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. @@ -166,33 +246,47 @@ Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](# ## `SELECT` examples - + -To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. +To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. ```sql SELECT -* +id, +name, +created_at, +default, +description, +ip_range, +region, +urn FROM digitalocean.vpcs.vpcs -WHERE per_page = '{{ per_page }}' -AND page = '{{ page }}'; +WHERE vpc_id = '{{ vpc_id }}' -- required; ``` - + -To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. +To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. ```sql SELECT -* +id, +name, +created_at, +default, +description, +ip_range, +region, +urn FROM digitalocean.vpcs.vpcs -WHERE vpc_id = '{{ vpc_id }}' -- required; +WHERE per_page = '{{ per_page }}' +AND page = '{{ page }}'; ``` @@ -223,6 +317,8 @@ SELECT '{{ description }}', '{{ region }}' --required, '{{ ip_range }}' +RETURNING +vpc ; ```
@@ -276,7 +372,9 @@ data__name = '{{ name }}', data__description = '{{ description }}', data__default = {{ default }} WHERE -vpc_id = '{{ vpc_id }}' --required; +vpc_id = '{{ vpc_id }}' --required +RETURNING +vpc; ```
@@ -302,7 +400,9 @@ data__description = '{{ description }}', data__default = {{ default }} WHERE vpc_id = '{{ vpc_id }}' --required -AND data__name = '{{ name }}' --required; +AND data__name = '{{ name }}' --required +RETURNING +vpc; ```