commit fd052573f772e15e5e3a56d65ce8e20bce54ffb5 Author: a2a-platform Date: Sat Jun 27 01:02:33 2026 +0000 deploy diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d06cc4 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# digitalocean-openapi-agent + +Generated A2APack agent for DigitalOcean API. + +- Source OpenAPI: https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml +- Generated operations: 500 +- Main skill: `auto` +- Routing mode: DeepAgents subagents across 38 route groups + +The generated code is intentionally editable. Tune prompts, operation +grouping, auth names, and safety policy before publishing serious agents. diff --git a/a2a.yaml b/a2a.yaml new file mode 100644 index 0000000..abef0fe --- /dev/null +++ b/a2a.yaml @@ -0,0 +1,13 @@ +name: digitalocean-openapi-agent +version: '2.0' +entrypoint: agent:DigitaloceanOpenapiAgent +description: Cloud control-plane API for compute, storage, networking, databases, + and AI features. +runtime: + resources: + cpu: 200m + memory: 512Mi + egress: + allow_hosts: + - api.digitalocean.com + deny_internet_by_default: true diff --git a/agent.py b/agent.py new file mode 100644 index 0000000..4fc3388 --- /dev/null +++ b/agent.py @@ -0,0 +1,435 @@ +from __future__ import annotations + +import base64 +import json +import re +from pathlib import Path +from typing import Any + +import httpx +from a2a_pack.deepagents import create_a2a_deep_agent +from langchain_core.messages import BaseMessage +from langchain_core.tools import StructuredTool +from pydantic import BaseModel, Field + +from a2a_pack import ( + A2AAgent, + ConsumerSetup, + ConsumerSetupField, + ConsumerSetupMissing, + EgressPolicy, + LLMProvisioning, + Pricing, + Resources, + RunContext, + skill, +) + + +DEFAULT_BASE_URL = "https://api.digitalocean.com" +OPERATIONS = json.loads("{\n \"delete_v2_account_keys_ssh_key_identifier\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/account/keys/{ssh_key_identifier}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_account_keys_ssh_key_identifier\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `ssh_key_identifier`.\",\n \"in\": \"path\",\n \"name\": \"ssh_key_identifier\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/account/keys/{ssh_key_identifier}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_account_keys_ssh_key_identifier\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/account/keys/{ssh_key_identifier}\",\n \"tags\": []\n },\n \"delete_v2_add_ons_saas_resource_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/add-ons/saas/{resource_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_add_ons_saas_resource_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `resource_uuid`.\",\n \"in\": \"path\",\n \"name\": \"resource_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/add-ons/saas/{resource_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_add_ons_saas_resource_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/add-ons/saas/{resource_uuid}\",\n \"tags\": []\n },\n \"delete_v2_apps_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/apps/{id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_apps_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_apps_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/apps/{id}\",\n \"tags\": []\n },\n \"delete_v2_byoip_prefixes_byoip_prefix_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `byoip_prefix_uuid`.\",\n \"in\": \"path\",\n \"name\": \"byoip_prefix_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"tags\": []\n },\n \"delete_v2_cdn_endpoints_cdn_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/cdn/endpoints/{cdn_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_cdn_endpoints_cdn_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cdn_id`.\",\n \"in\": \"path\",\n \"name\": \"cdn_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cdn/endpoints/{cdn_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_cdn_endpoints_cdn_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/cdn/endpoints/{cdn_id}\",\n \"tags\": []\n },\n \"delete_v2_cdn_endpoints_cdn_id_cache\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/cdn/endpoints/{cdn_id}/cache\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_cdn_endpoints_cdn_id_cache\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cdn_id`.\",\n \"in\": \"path\",\n \"name\": \"cdn_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cdn/endpoints/{cdn_id}/cache\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_cdn_endpoints_cdn_id_cache\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/cdn/endpoints/{cdn_id}/cache\",\n \"tags\": []\n },\n \"delete_v2_certificates_certificate_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/certificates/{certificate_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_certificates_certificate_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `certificate_id`.\",\n \"in\": \"path\",\n \"name\": \"certificate_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/certificates/{certificate_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_certificates_certificate_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/certificates/{certificate_id}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_dbs_database_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `database_name`.\",\n \"in\": \"path\",\n \"name\": \"database_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_indexes_index_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/indexes/{index_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_indexes_index_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `index_name`.\",\n \"in\": \"path\",\n \"name\": \"index_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/indexes/{index_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_indexes_index_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/indexes/{index_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_logsink_logsink_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `logsink_id`.\",\n \"in\": \"path\",\n \"name\": \"logsink_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_online_migration_migration_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_online_migration_migration_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `migration_id`.\",\n \"in\": \"path\",\n \"name\": \"migration_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_online_migration_migration_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_pools_pool_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `pool_name`.\",\n \"in\": \"path\",\n \"name\": \"pool_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_replicas_replica_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `replica_name`.\",\n \"in\": \"path\",\n \"name\": \"replica_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_schema_registry_subject_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `subject_name`.\",\n \"in\": \"path\",\n \"name\": \"subject_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_topics_topic_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `topic_name`.\",\n \"in\": \"path\",\n \"name\": \"topic_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"tags\": []\n },\n \"delete_v2_databases_database_cluster_uuid_users_username\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_databases_database_cluster_uuid_users_username\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `username`.\",\n \"in\": \"path\",\n \"name\": \"username\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_databases_database_cluster_uuid_users_username\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"tags\": []\n },\n \"delete_v2_dedicated_inferences_dedicated_inference_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_dedicated_inferences_dedicated_inference_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_dedicated_inferences_dedicated_inference_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"tags\": []\n },\n \"delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `token_id`.\",\n \"in\": \"path\",\n \"name\": \"token_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}\",\n \"tags\": []\n },\n \"delete_v2_domains_domain_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/domains/{domain_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_domains_domain_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_domains_domain_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/domains/{domain_name}\",\n \"tags\": []\n },\n \"delete_v2_domains_domain_name_records_domain_record_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_domains_domain_name_records_domain_record_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `domain_record_id`.\",\n \"in\": \"path\",\n \"name\": \"domain_record_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_domains_domain_name_records_domain_record_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"tags\": []\n },\n \"delete_v2_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets\",\n \"parameters\": [],\n \"path\": \"/v2/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets\",\n \"tags\": []\n },\n \"delete_v2_droplets_autoscale_autoscale_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets_autoscale_autoscale_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets_autoscale_autoscale_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"tags\": []\n },\n \"delete_v2_droplets_autoscale_autoscale_pool_id_dangerous\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets/autoscale/{autoscale_pool_id}/dangerous\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets_autoscale_autoscale_pool_id_dangerous\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}/dangerous\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets_autoscale_autoscale_pool_id_dangerous\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets/autoscale/{autoscale_pool_id}/dangerous\",\n \"tags\": []\n },\n \"delete_v2_droplets_droplet_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets/{droplet_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets_droplet_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets_droplet_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets/{droplet_id}\",\n \"tags\": []\n },\n \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous\",\n \"tags\": []\n },\n \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective\",\n \"tags\": []\n },\n \"delete_v2_firewalls_firewall_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/firewalls/{firewall_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_firewalls_firewall_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_firewalls_firewall_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/firewalls/{firewall_id}\",\n \"tags\": []\n },\n \"delete_v2_firewalls_firewall_id_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/firewalls/{firewall_id}/droplets\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_firewalls_firewall_id_droplets\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_firewalls_firewall_id_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/firewalls/{firewall_id}/droplets\",\n \"tags\": []\n },\n \"delete_v2_firewalls_firewall_id_rules\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/firewalls/{firewall_id}/rules\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_firewalls_firewall_id_rules\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/rules\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_firewalls_firewall_id_rules\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/firewalls/{firewall_id}/rules\",\n \"tags\": []\n },\n \"delete_v2_firewalls_firewall_id_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/firewalls/{firewall_id}/tags\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_firewalls_firewall_id_tags\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_firewalls_firewall_id_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/firewalls/{firewall_id}/tags\",\n \"tags\": []\n },\n \"delete_v2_floating_ips_floating_ip\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/floating_ips/{floating_ip}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_floating_ips_floating_ip\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `floating_ip`.\",\n \"in\": \"path\",\n \"name\": \"floating_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/floating_ips/{floating_ip}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_floating_ips_floating_ip\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/floating_ips/{floating_ip}\",\n \"tags\": []\n },\n \"delete_v2_functions_namespaces_namespace_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/functions/namespaces/{namespace_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_functions_namespaces_namespace_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_functions_namespaces_namespace_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/functions/namespaces/{namespace_id}\",\n \"tags\": []\n },\n \"delete_v2_functions_namespaces_namespace_id_keys_key_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_functions_namespaces_namespace_id_keys_key_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `key_id`.\",\n \"in\": \"path\",\n \"name\": \"key_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_functions_namespaces_namespace_id_keys_key_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"tags\": []\n },\n \"delete_v2_functions_namespaces_namespace_id_triggers_trigger_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `trigger_name`.\",\n \"in\": \"path\",\n \"name\": \"trigger_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"tags\": []\n },\n \"delete_v2_images_image_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/images/{image_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_images_image_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_images_image_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/images/{image_id}\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_clusters_cluster_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/clusters/{cluster_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_clusters_cluster_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_clusters_cluster_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/clusters/{cluster_id}\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"node_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"node_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_id`.\",\n \"in\": \"path\",\n \"name\": \"node_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_registries\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/registries\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_registries\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/registries\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_registries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/registries\",\n \"tags\": []\n },\n \"delete_v2_kubernetes_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/kubernetes/registry\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_kubernetes_registry\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_kubernetes_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/kubernetes/registry\",\n \"tags\": []\n },\n \"delete_v2_load_balancers_lb_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/load_balancers/{lb_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_load_balancers_lb_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_load_balancers_lb_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/load_balancers/{lb_id}\",\n \"tags\": []\n },\n \"delete_v2_load_balancers_lb_id_cache\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/load_balancers/{lb_id}/cache\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_load_balancers_lb_id_cache\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}/cache\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_load_balancers_lb_id_cache\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/load_balancers/{lb_id}/cache\",\n \"tags\": []\n },\n \"delete_v2_load_balancers_lb_id_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/load_balancers/{lb_id}/droplets\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_load_balancers_lb_id_droplets\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_load_balancers_lb_id_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/load_balancers/{lb_id}/droplets\",\n \"tags\": []\n },\n \"delete_v2_load_balancers_lb_id_forwarding_rules\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_load_balancers_lb_id_forwarding_rules\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_load_balancers_lb_id_forwarding_rules\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"tags\": []\n },\n \"delete_v2_monitoring_alerts_alert_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/monitoring/alerts/{alert_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_monitoring_alerts_alert_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `alert_uuid`.\",\n \"in\": \"path\",\n \"name\": \"alert_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/alerts/{alert_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_monitoring_alerts_alert_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/monitoring/alerts/{alert_uuid}\",\n \"tags\": []\n },\n \"delete_v2_monitoring_sinks_destinations_destination_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_monitoring_sinks_destinations_destination_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `destination_uuid`.\",\n \"in\": \"path\",\n \"name\": \"destination_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_monitoring_sinks_destinations_destination_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"tags\": []\n },\n \"delete_v2_monitoring_sinks_sink_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/monitoring/sinks/{sink_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_monitoring_sinks_sink_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `sink_uuid`.\",\n \"in\": \"path\",\n \"name\": \"sink_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/sinks/{sink_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_monitoring_sinks_sink_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/monitoring/sinks/{sink_uuid}\",\n \"tags\": []\n },\n \"delete_v2_nfs_access_points_access_point_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/nfs/access_points/{access_point_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_nfs_access_points_access_point_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_point_id`.\",\n \"in\": \"path\",\n \"name\": \"access_point_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/access_points/{access_point_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_nfs_access_points_access_point_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/nfs/access_points/{access_point_id}\",\n \"tags\": []\n },\n \"delete_v2_nfs_nfs_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/nfs/{nfs_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_nfs_nfs_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `nfs_id`.\",\n \"in\": \"path\",\n \"name\": \"nfs_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/{nfs_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_nfs_nfs_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/nfs/{nfs_id}\",\n \"tags\": []\n },\n \"delete_v2_nfs_snapshots_nfs_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_nfs_snapshots_nfs_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `nfs_snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"nfs_snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_nfs_snapshots_nfs_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"tags\": []\n },\n \"delete_v2_partner_network_connect_attachments_pa_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/partner_network_connect/attachments/{pa_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_partner_network_connect_attachments_pa_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_partner_network_connect_attachments_pa_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/partner_network_connect/attachments/{pa_id}\",\n \"tags\": []\n },\n \"delete_v2_projects_project_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/projects/{project_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_projects_project_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_projects_project_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/projects/{project_id}\",\n \"tags\": []\n },\n \"delete_v2_registries_registry_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registries/{registry_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registries_registry_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registries_registry_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registries/{registry_name}\",\n \"tags\": []\n },\n \"delete_v2_registries_registry_name_repositories_repository_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registries_registry_name_repositories_repository_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositories/{repository_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registries_registry_name_repositories_repository_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}\",\n \"tags\": []\n },\n \"delete_v2_registries_registry_name_repositories_repository_name_digests_manifest\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registries_registry_name_repositories_repository_name_digests_manifest\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `manifest_digest`.\",\n \"in\": \"path\",\n \"name\": \"manifest_digest\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registries_registry_name_repositories_repository_name_digests_manifest\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"tags\": []\n },\n \"delete_v2_registries_registry_name_repositories_repository_name_tags_repository_\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registries_registry_name_repositories_repository_name_tags_repository_\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_tag`.\",\n \"in\": \"path\",\n \"name\": \"repository_tag\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registries_registry_name_repositories_repository_name_tags_repository_\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"tags\": []\n },\n \"delete_v2_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registry\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registry\",\n \"parameters\": [],\n \"path\": \"/v2/registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registry\",\n \"tags\": []\n },\n \"delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `manifest_digest`.\",\n \"in\": \"path\",\n \"name\": \"manifest_digest\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}\",\n \"tags\": []\n },\n \"delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_tag`.\",\n \"in\": \"path\",\n \"name\": \"repository_tag\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}\",\n \"tags\": []\n },\n \"delete_v2_reserved_ips_reserved_ip\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/reserved_ips/{reserved_ip}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_reserved_ips_reserved_ip\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ip`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ips/{reserved_ip}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_reserved_ips_reserved_ip\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/reserved_ips/{reserved_ip}\",\n \"tags\": []\n },\n \"delete_v2_reserved_ipv6_reserved_ipv6\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/reserved_ipv6/{reserved_ipv6}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_reserved_ipv6_reserved_ipv6\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ipv6`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ipv6\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ipv6/{reserved_ipv6}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_reserved_ipv6_reserved_ipv6\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/reserved_ipv6/{reserved_ipv6}\",\n \"tags\": []\n },\n \"delete_v2_security_settings_suppressions_suppression_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/security/settings/suppressions/{suppression_uuid}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_security_settings_suppressions_suppression_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `suppression_uuid`.\",\n \"in\": \"path\",\n \"name\": \"suppression_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/security/settings/suppressions/{suppression_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_security_settings_suppressions_suppression_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/security/settings/suppressions/{suppression_uuid}\",\n \"tags\": []\n },\n \"delete_v2_snapshots_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/snapshots/{snapshot_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_snapshots_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/snapshots/{snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_snapshots_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/snapshots/{snapshot_id}\",\n \"tags\": []\n },\n \"delete_v2_spaces_keys_access_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/spaces/keys/{access_key}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_spaces_keys_access_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_key`.\",\n \"in\": \"path\",\n \"name\": \"access_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/spaces/keys/{access_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_spaces_keys_access_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/spaces/keys/{access_key}\",\n \"tags\": []\n },\n \"delete_v2_tags_tag_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/tags/{tag_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_tags_tag_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `tag_id`.\",\n \"in\": \"path\",\n \"name\": \"tag_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/tags/{tag_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_tags_tag_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/tags/{tag_id}\",\n \"tags\": []\n },\n \"delete_v2_tags_tag_id_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/tags/{tag_id}/resources\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_tags_tag_id_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `tag_id`.\",\n \"in\": \"path\",\n \"name\": \"tag_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/tags/{tag_id}/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_tags_tag_id_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/tags/{tag_id}/resources\",\n \"tags\": []\n },\n \"delete_v2_vector_databases_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/vector-databases/{id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_vector_databases_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_vector_databases_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/vector-databases/{id}\",\n \"tags\": []\n },\n \"delete_v2_volumes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/volumes\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_volumes\",\n \"parameters\": [],\n \"path\": \"/v2/volumes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_volumes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/volumes\",\n \"tags\": []\n },\n \"delete_v2_volumes_snapshots_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/volumes/snapshots/{snapshot_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_volumes_snapshots_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/snapshots/{snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_volumes_snapshots_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/volumes/snapshots/{snapshot_id}\",\n \"tags\": []\n },\n \"delete_v2_volumes_volume_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/volumes/{volume_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_volumes_volume_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_volumes_volume_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/volumes/{volume_id}\",\n \"tags\": []\n },\n \"delete_v2_vpcs_vpc_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"delete_/v2/vpcs/{vpc_id}\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_v2_vpcs_vpc_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"delete_v2_vpcs_vpc_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"delete_/v2/vpcs/{vpc_id}\",\n \"tags\": []\n },\n \"get_v2_1_clicks\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/1-clicks\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_1_clicks\",\n \"parameters\": [],\n \"path\": \"/v2/1-clicks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_1_clicks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/1-clicks\",\n \"tags\": []\n },\n \"get_v2_account\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/account\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_account\",\n \"parameters\": [],\n \"path\": \"/v2/account\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/account\",\n \"tags\": []\n },\n \"get_v2_account_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/account/keys\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_account_keys\",\n \"parameters\": [],\n \"path\": \"/v2/account/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_account_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/account/keys\",\n \"tags\": []\n },\n \"get_v2_account_keys_ssh_key_identifier\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/account/keys/{ssh_key_identifier}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_account_keys_ssh_key_identifier\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `ssh_key_identifier`.\",\n \"in\": \"path\",\n \"name\": \"ssh_key_identifier\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/account/keys/{ssh_key_identifier}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_account_keys_ssh_key_identifier\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/account/keys/{ssh_key_identifier}\",\n \"tags\": []\n },\n \"get_v2_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_actions\",\n \"parameters\": [],\n \"path\": \"/v2/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/actions\",\n \"tags\": []\n },\n \"get_v2_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_add_ons_apps\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/add-ons/apps\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_add_ons_apps\",\n \"parameters\": [],\n \"path\": \"/v2/add-ons/apps\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_add_ons_apps\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/add-ons/apps\",\n \"tags\": []\n },\n \"get_v2_add_ons_apps_app_slug_metadata\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/add-ons/apps/{app_slug}/metadata\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_add_ons_apps_app_slug_metadata\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_slug`.\",\n \"in\": \"path\",\n \"name\": \"app_slug\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/add-ons/apps/{app_slug}/metadata\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_add_ons_apps_app_slug_metadata\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/add-ons/apps/{app_slug}/metadata\",\n \"tags\": []\n },\n \"get_v2_add_ons_saas\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/add-ons/saas\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_add_ons_saas\",\n \"parameters\": [],\n \"path\": \"/v2/add-ons/saas\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_add_ons_saas\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/add-ons/saas\",\n \"tags\": []\n },\n \"get_v2_add_ons_saas_resource_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/add-ons/saas/{resource_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_add_ons_saas_resource_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `resource_uuid`.\",\n \"in\": \"path\",\n \"name\": \"resource_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/add-ons/saas/{resource_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_add_ons_saas_resource_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/add-ons/saas/{resource_uuid}\",\n \"tags\": []\n },\n \"get_v2_apps\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps\",\n \"parameters\": [],\n \"path\": \"/v2/apps\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_alerts\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/alerts\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_alerts\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/alerts\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_alerts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/alerts\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_components_component_name_exec\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/components/{component_name}/exec\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_components_component_name_exec\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `component_name`.\",\n \"in\": \"path\",\n \"name\": \"component_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/components/{component_name}/exec\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_components_component_name_exec\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/components/{component_name}/exec\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_components_component_name_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/components/{component_name}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_components_component_name_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `component_name`.\",\n \"in\": \"path\",\n \"name\": \"component_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/components/{component_name}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_components_component_name_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/components/{component_name}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_deployments\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/deployments\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_deployments\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_deployments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/deployments\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_deployments_deployment_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_deployments_deployment_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `deployment_id`.\",\n \"in\": \"path\",\n \"name\": \"deployment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments/{deployment_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_deployments_deployment_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `deployment_id`.\",\n \"in\": \"path\",\n \"name\": \"deployment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `component_name`.\",\n \"in\": \"path\",\n \"name\": \"component_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `deployment_id`.\",\n \"in\": \"path\",\n \"name\": \"deployment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `component_name`.\",\n \"in\": \"path\",\n \"name\": \"component_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_deployments_deployment_id_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_deployments_deployment_id_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `deployment_id`.\",\n \"in\": \"path\",\n \"name\": \"deployment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments/{deployment_id}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_deployments_deployment_id_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/deployments/{deployment_id}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_events\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/events\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_events\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/events\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/events\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_events_event_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/events/{event_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_events_event_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `event_id`.\",\n \"in\": \"path\",\n \"name\": \"event_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/events/{event_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_events_event_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/events/{event_id}\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_events_event_id_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/events/{event_id}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_events_event_id_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `event_id`.\",\n \"in\": \"path\",\n \"name\": \"event_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/events/{event_id}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_events_event_id_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/events/{event_id}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_health\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/health\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_health\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/health\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_health\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/health\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_instances\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/instances\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_instances\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/instances\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_instances\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/instances\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_job_invocations\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/job-invocations\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_job_invocations\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/job-invocations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_job_invocations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/job-invocations\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_job_invocations_job_invocation_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/job-invocations/{job_invocation_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_job_invocations_job_invocation_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `job_invocation_id`.\",\n \"in\": \"path\",\n \"name\": \"job_invocation_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/job-invocations/{job_invocation_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_job_invocations_job_invocation_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/job-invocations/{job_invocation_id}\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `job_name`.\",\n \"in\": \"path\",\n \"name\": \"job_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `job_invocation_id`.\",\n \"in\": \"path\",\n \"name\": \"job_invocation_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_logs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/logs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_logs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/logs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_logs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/logs\",\n \"tags\": []\n },\n \"get_v2_apps_app_id_metrics_bandwidth_daily\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{app_id}/metrics/bandwidth_daily\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_app_id_metrics_bandwidth_daily\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/metrics/bandwidth_daily\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_app_id_metrics_bandwidth_daily\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{app_id}/metrics/bandwidth_daily\",\n \"tags\": []\n },\n \"get_v2_apps_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/{id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/{id}\",\n \"tags\": []\n },\n \"get_v2_apps_regions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/regions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_regions\",\n \"parameters\": [],\n \"path\": \"/v2/apps/regions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_regions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/regions\",\n \"tags\": []\n },\n \"get_v2_apps_tiers_instance_sizes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/tiers/instance_sizes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_tiers_instance_sizes\",\n \"parameters\": [],\n \"path\": \"/v2/apps/tiers/instance_sizes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_tiers_instance_sizes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/tiers/instance_sizes\",\n \"tags\": []\n },\n \"get_v2_apps_tiers_instance_sizes_slug\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/apps/tiers/instance_sizes/{slug}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_apps_tiers_instance_sizes_slug\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `slug`.\",\n \"in\": \"path\",\n \"name\": \"slug\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/tiers/instance_sizes/{slug}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_apps_tiers_instance_sizes_slug\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/apps/tiers/instance_sizes/{slug}\",\n \"tags\": []\n },\n \"get_v2_billing_account_urn_insights_start_date_end_date\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/billing/{account_urn}/insights/{start_date}/{end_date}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_billing_account_urn_insights_start_date_end_date\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `account_urn`.\",\n \"in\": \"path\",\n \"name\": \"account_urn\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `start_date`.\",\n \"in\": \"path\",\n \"name\": \"start_date\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `end_date`.\",\n \"in\": \"path\",\n \"name\": \"end_date\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/billing/{account_urn}/insights/{start_date}/{end_date}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_billing_account_urn_insights_start_date_end_date\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/billing/{account_urn}/insights/{start_date}/{end_date}\",\n \"tags\": []\n },\n \"get_v2_byoip_prefixes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/byoip_prefixes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_byoip_prefixes\",\n \"parameters\": [],\n \"path\": \"/v2/byoip_prefixes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_byoip_prefixes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/byoip_prefixes\",\n \"tags\": []\n },\n \"get_v2_byoip_prefixes_byoip_prefix_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `byoip_prefix_uuid`.\",\n \"in\": \"path\",\n \"name\": \"byoip_prefix_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"tags\": []\n },\n \"get_v2_byoip_prefixes_byoip_prefix_uuid_ips\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/byoip_prefixes/{byoip_prefix_uuid}/ips\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_byoip_prefixes_byoip_prefix_uuid_ips\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `byoip_prefix_uuid`.\",\n \"in\": \"path\",\n \"name\": \"byoip_prefix_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/byoip_prefixes/{byoip_prefix_uuid}/ips\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_byoip_prefixes_byoip_prefix_uuid_ips\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/byoip_prefixes/{byoip_prefix_uuid}/ips\",\n \"tags\": []\n },\n \"get_v2_cdn_endpoints\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/cdn/endpoints\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_cdn_endpoints\",\n \"parameters\": [],\n \"path\": \"/v2/cdn/endpoints\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_cdn_endpoints\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/cdn/endpoints\",\n \"tags\": []\n },\n \"get_v2_cdn_endpoints_cdn_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/cdn/endpoints/{cdn_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_cdn_endpoints_cdn_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cdn_id`.\",\n \"in\": \"path\",\n \"name\": \"cdn_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cdn/endpoints/{cdn_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_cdn_endpoints_cdn_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/cdn/endpoints/{cdn_id}\",\n \"tags\": []\n },\n \"get_v2_certificates\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/certificates\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_certificates\",\n \"parameters\": [],\n \"path\": \"/v2/certificates\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_certificates\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/certificates\",\n \"tags\": []\n },\n \"get_v2_certificates_certificate_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/certificates/{certificate_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_certificates_certificate_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `certificate_id`.\",\n \"in\": \"path\",\n \"name\": \"certificate_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/certificates/{certificate_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_certificates_certificate_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/certificates/{certificate_id}\",\n \"tags\": []\n },\n \"get_v2_customers_my_balance\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/balance\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_balance\",\n \"parameters\": [],\n \"path\": \"/v2/customers/my/balance\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_balance\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/balance\",\n \"tags\": []\n },\n \"get_v2_customers_my_billing_history\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/billing_history\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_billing_history\",\n \"parameters\": [],\n \"path\": \"/v2/customers/my/billing_history\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_billing_history\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/billing_history\",\n \"tags\": []\n },\n \"get_v2_customers_my_invoices\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/invoices\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_invoices\",\n \"parameters\": [],\n \"path\": \"/v2/customers/my/invoices\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_invoices\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/invoices\",\n \"tags\": []\n },\n \"get_v2_customers_my_invoices_invoice_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/invoices/{invoice_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_invoices_invoice_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `invoice_uuid`.\",\n \"in\": \"path\",\n \"name\": \"invoice_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/my/invoices/{invoice_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_invoices_invoice_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/invoices/{invoice_uuid}\",\n \"tags\": []\n },\n \"get_v2_customers_my_invoices_invoice_uuid_csv\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/invoices/{invoice_uuid}/csv\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_invoices_invoice_uuid_csv\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `invoice_uuid`.\",\n \"in\": \"path\",\n \"name\": \"invoice_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/my/invoices/{invoice_uuid}/csv\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_invoices_invoice_uuid_csv\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/invoices/{invoice_uuid}/csv\",\n \"tags\": []\n },\n \"get_v2_customers_my_invoices_invoice_uuid_pdf\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/invoices/{invoice_uuid}/pdf\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_invoices_invoice_uuid_pdf\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `invoice_uuid`.\",\n \"in\": \"path\",\n \"name\": \"invoice_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/my/invoices/{invoice_uuid}/pdf\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_invoices_invoice_uuid_pdf\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/invoices/{invoice_uuid}/pdf\",\n \"tags\": []\n },\n \"get_v2_customers_my_invoices_invoice_uuid_summary\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/customers/my/invoices/{invoice_uuid}/summary\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_customers_my_invoices_invoice_uuid_summary\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `invoice_uuid`.\",\n \"in\": \"path\",\n \"name\": \"invoice_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/my/invoices/{invoice_uuid}/summary\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_customers_my_invoices_invoice_uuid_summary\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/customers/my/invoices/{invoice_uuid}/summary\",\n \"tags\": []\n },\n \"get_v2_databases\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases\",\n \"parameters\": [],\n \"path\": \"/v2/databases\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_autoscale\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/autoscale\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_autoscale\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/autoscale\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_autoscale\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/autoscale\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_backups\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/backups\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_backups\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/backups\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_backups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/backups\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_ca\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/ca\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_ca\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/ca\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_ca\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/ca\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_config\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/config\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_config\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/config\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/config\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_dbs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/dbs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_dbs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/dbs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_dbs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/dbs\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_dbs_database_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `database_name`.\",\n \"in\": \"path\",\n \"name\": \"database_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/dbs/{database_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_events\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/events\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_events\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/events\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/events\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_eviction_policy\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_eviction_policy\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_eviction_policy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_firewall\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/firewall\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_firewall\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/firewall\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_firewall\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/firewall\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_indexes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/indexes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_indexes\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/indexes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_indexes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/indexes\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_logsink\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/logsink\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_logsink\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/logsink\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_logsink\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/logsink\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_logsink_logsink_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `logsink_id`.\",\n \"in\": \"path\",\n \"name\": \"logsink_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_online_migration\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/online-migration\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_online_migration\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/online-migration\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_online_migration\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/online-migration\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_pools\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/pools\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_pools\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/pools\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_pools\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/pools\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_pools_pool_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `pool_name`.\",\n \"in\": \"path\",\n \"name\": \"pool_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_replicas\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/replicas\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_replicas\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/replicas\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_replicas\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/replicas\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_replicas_replica_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `replica_name`.\",\n \"in\": \"path\",\n \"name\": \"replica_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_schema_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_schema_registry\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_schema_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_schema_registry_config\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `subject_name`.\",\n \"in\": \"path\",\n \"name\": \"subject_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `subject_name`.\",\n \"in\": \"path\",\n \"name\": \"subject_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `subject_name`.\",\n \"in\": \"path\",\n \"name\": \"subject_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `version`.\",\n \"in\": \"path\",\n \"name\": \"version\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_sql_mode\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_sql_mode\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_sql_mode\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_topics\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/topics\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_topics\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/topics\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_topics\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/topics\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_topics_topic_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `topic_name`.\",\n \"in\": \"path\",\n \"name\": \"topic_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_users\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/users\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_users\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_users\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/users\",\n \"tags\": []\n },\n \"get_v2_databases_database_cluster_uuid_users_username\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_database_cluster_uuid_users_username\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `username`.\",\n \"in\": \"path\",\n \"name\": \"username\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_database_cluster_uuid_users_username\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"tags\": []\n },\n \"get_v2_databases_metrics_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/metrics/credentials\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_metrics_credentials\",\n \"parameters\": [],\n \"path\": \"/v2/databases/metrics/credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_metrics_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/metrics/credentials\",\n \"tags\": []\n },\n \"get_v2_databases_options\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/databases/options\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_databases_options\",\n \"parameters\": [],\n \"path\": \"/v2/databases/options\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_databases_options\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/databases/options\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences\",\n \"parameters\": [],\n \"path\": \"/v2/dedicated-inferences\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_dedicated_inference_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_dedicated_inference_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_dedicated_inference_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/accelerators\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `accelerator_id`.\",\n \"in\": \"path\",\n \"name\": \"accelerator_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_dedicated_inference_id_ca\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/ca\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_dedicated_inference_id_ca\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/ca\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_dedicated_inference_id_ca\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/ca\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_dedicated_inference_id_tokens\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_gpu_model_config\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/gpu-model-config\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_gpu_model_config\",\n \"parameters\": [],\n \"path\": \"/v2/dedicated-inferences/gpu-model-config\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_gpu_model_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/gpu-model-config\",\n \"tags\": []\n },\n \"get_v2_dedicated_inferences_sizes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/dedicated-inferences/sizes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_dedicated_inferences_sizes\",\n \"parameters\": [],\n \"path\": \"/v2/dedicated-inferences/sizes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_dedicated_inferences_sizes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/dedicated-inferences/sizes\",\n \"tags\": []\n },\n \"get_v2_domains\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/domains\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_domains\",\n \"parameters\": [],\n \"path\": \"/v2/domains\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_domains\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/domains\",\n \"tags\": []\n },\n \"get_v2_domains_domain_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/domains/{domain_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_domains_domain_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_domains_domain_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/domains/{domain_name}\",\n \"tags\": []\n },\n \"get_v2_domains_domain_name_records\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/domains/{domain_name}/records\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_domains_domain_name_records\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_domains_domain_name_records\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/domains/{domain_name}/records\",\n \"tags\": []\n },\n \"get_v2_domains_domain_name_records_domain_record_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_domains_domain_name_records_domain_record_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `domain_record_id`.\",\n \"in\": \"path\",\n \"name\": \"domain_record_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_domains_domain_name_records_domain_record_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"tags\": []\n },\n \"get_v2_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets\",\n \"parameters\": [],\n \"path\": \"/v2/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets\",\n \"tags\": []\n },\n \"get_v2_droplets_autoscale\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/autoscale\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_autoscale\",\n \"parameters\": [],\n \"path\": \"/v2/droplets/autoscale\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_autoscale\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/autoscale\",\n \"tags\": []\n },\n \"get_v2_droplets_autoscale_autoscale_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_autoscale_autoscale_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_autoscale_autoscale_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"tags\": []\n },\n \"get_v2_droplets_autoscale_autoscale_pool_id_history\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}/history\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_autoscale_autoscale_pool_id_history\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}/history\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_autoscale_autoscale_pool_id_history\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}/history\",\n \"tags\": []\n },\n \"get_v2_droplets_autoscale_autoscale_pool_id_members\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}/members\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_autoscale_autoscale_pool_id_members\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}/members\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_autoscale_autoscale_pool_id_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/autoscale/{autoscale_pool_id}/members\",\n \"tags\": []\n },\n \"get_v2_droplets_backups_policies\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/backups/policies\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_backups_policies\",\n \"parameters\": [],\n \"path\": \"/v2/droplets/backups/policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_backups_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/backups/policies\",\n \"tags\": []\n },\n \"get_v2_droplets_backups_supported_policies\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/backups/supported_policies\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_backups_supported_policies\",\n \"parameters\": [],\n \"path\": \"/v2/droplets/backups/supported_policies\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_backups_supported_policies\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/backups/supported_policies\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/actions\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_backups\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/backups\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_backups\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/backups\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_backups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/backups\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_backups_policy\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/backups/policy\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_backups_policy\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/backups/policy\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_backups_policy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/backups/policy\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_destroy_with_associated_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/destroy_with_associated_resources\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_destroy_with_associated_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/destroy_with_associated_resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_destroy_with_associated_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/destroy_with_associated_resources\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_destroy_with_associated_resources_status\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/destroy_with_associated_resources/status\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_destroy_with_associated_resources_status\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/status\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_destroy_with_associated_resources_status\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/destroy_with_associated_resources/status\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_firewalls\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/firewalls\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_firewalls\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/firewalls\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_firewalls\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/firewalls\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_kernels\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/kernels\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_kernels\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/kernels\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_kernels\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/kernels\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_neighbors\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/neighbors\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_neighbors\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/neighbors\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_neighbors\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/neighbors\",\n \"tags\": []\n },\n \"get_v2_droplets_droplet_id_snapshots\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/droplets/{droplet_id}/snapshots\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_droplets_droplet_id_snapshots\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/snapshots\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_droplets_droplet_id_snapshots\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/droplets/{droplet_id}/snapshots\",\n \"tags\": []\n },\n \"get_v2_firewalls\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/firewalls\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_firewalls\",\n \"parameters\": [],\n \"path\": \"/v2/firewalls\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_firewalls\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/firewalls\",\n \"tags\": []\n },\n \"get_v2_firewalls_firewall_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/firewalls/{firewall_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_firewalls_firewall_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_firewalls_firewall_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/firewalls/{firewall_id}\",\n \"tags\": []\n },\n \"get_v2_floating_ips\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/floating_ips\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_floating_ips\",\n \"parameters\": [],\n \"path\": \"/v2/floating_ips\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_floating_ips\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/floating_ips\",\n \"tags\": []\n },\n \"get_v2_floating_ips_floating_ip\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/floating_ips/{floating_ip}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_floating_ips_floating_ip\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `floating_ip`.\",\n \"in\": \"path\",\n \"name\": \"floating_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/floating_ips/{floating_ip}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_floating_ips_floating_ip\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/floating_ips/{floating_ip}\",\n \"tags\": []\n },\n \"get_v2_floating_ips_floating_ip_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/floating_ips/{floating_ip}/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_floating_ips_floating_ip_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `floating_ip`.\",\n \"in\": \"path\",\n \"name\": \"floating_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/floating_ips/{floating_ip}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_floating_ips_floating_ip_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/floating_ips/{floating_ip}/actions\",\n \"tags\": []\n },\n \"get_v2_floating_ips_floating_ip_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/floating_ips/{floating_ip}/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_floating_ips_floating_ip_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `floating_ip`.\",\n \"in\": \"path\",\n \"name\": \"floating_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/floating_ips/{floating_ip}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_floating_ips_floating_ip_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/floating_ips/{floating_ip}/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_functions_namespaces\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/functions/namespaces\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_functions_namespaces\",\n \"parameters\": [],\n \"path\": \"/v2/functions/namespaces\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_functions_namespaces\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/functions/namespaces\",\n \"tags\": []\n },\n \"get_v2_functions_namespaces_namespace_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/functions/namespaces/{namespace_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_functions_namespaces_namespace_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_functions_namespaces_namespace_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/functions/namespaces/{namespace_id}\",\n \"tags\": []\n },\n \"get_v2_functions_namespaces_namespace_id_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/functions/namespaces/{namespace_id}/keys\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_functions_namespaces_namespace_id_keys\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_functions_namespaces_namespace_id_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/functions/namespaces/{namespace_id}/keys\",\n \"tags\": []\n },\n \"get_v2_functions_namespaces_namespace_id_triggers\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/functions/namespaces/{namespace_id}/triggers\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_functions_namespaces_namespace_id_triggers\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/triggers\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_functions_namespaces_namespace_id_triggers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/functions/namespaces/{namespace_id}/triggers\",\n \"tags\": []\n },\n \"get_v2_functions_namespaces_namespace_id_triggers_trigger_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `trigger_name`.\",\n \"in\": \"path\",\n \"name\": \"trigger_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"tags\": []\n },\n \"get_v2_images\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/images\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_images\",\n \"parameters\": [],\n \"path\": \"/v2/images\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_images\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/images\",\n \"tags\": []\n },\n \"get_v2_images_image_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/images/{image_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_images_image_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_images_image_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/images/{image_id}\",\n \"tags\": []\n },\n \"get_v2_images_image_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/images/{image_id}/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_images_image_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_images_image_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/images/{image_id}/actions\",\n \"tags\": []\n },\n \"get_v2_images_image_id_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/images/{image_id}/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_images_image_id_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_images_image_id_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/images/{image_id}/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/clusters\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_clusterlint\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/credentials\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_credentials\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/credentials\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_kubeconfig\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/kubeconfig\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_kubeconfig\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/kubeconfig\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_kubeconfig\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/kubeconfig\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_node_pools\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"node_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_status_messages\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/status_messages\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_status_messages\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/status_messages\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_status_messages\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/status_messages\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_upgrades\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/upgrades\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_upgrades\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/upgrades\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_upgrades\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/upgrades\",\n \"tags\": []\n },\n \"get_v2_kubernetes_clusters_cluster_id_user\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/clusters/{cluster_id}/user\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_clusters_cluster_id_user\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/user\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_clusters_cluster_id_user\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/clusters/{cluster_id}/user\",\n \"tags\": []\n },\n \"get_v2_kubernetes_options\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/kubernetes/options\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_kubernetes_options\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/options\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_kubernetes_options\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/kubernetes/options\",\n \"tags\": []\n },\n \"get_v2_load_balancers\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/load_balancers\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_load_balancers\",\n \"parameters\": [],\n \"path\": \"/v2/load_balancers\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_load_balancers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/load_balancers\",\n \"tags\": []\n },\n \"get_v2_load_balancers_lb_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/load_balancers/{lb_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_load_balancers_lb_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_load_balancers_lb_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/load_balancers/{lb_id}\",\n \"tags\": []\n },\n \"get_v2_monitoring_alerts\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/alerts\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_alerts\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/alerts\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_alerts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/alerts\",\n \"tags\": []\n },\n \"get_v2_monitoring_alerts_alert_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/alerts/{alert_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_alerts_alert_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `alert_uuid`.\",\n \"in\": \"path\",\n \"name\": \"alert_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/alerts/{alert_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_alerts_alert_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/alerts/{alert_uuid}\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_apps_cpu_percentage\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/apps/cpu_percentage\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_apps_cpu_percentage\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/apps/cpu_percentage\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_apps_cpu_percentage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/apps/cpu_percentage\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_apps_memory_percentage\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/apps/memory_percentage\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_apps_memory_percentage\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/apps/memory_percentage\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_apps_memory_percentage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/apps/memory_percentage\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_apps_restart_count\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/apps/restart_count\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_apps_restart_count\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/apps/restart_count\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_apps_restart_count\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/apps/restart_count\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_cpu_usage\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/cpu_usage\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_cpu_usage\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/cpu_usage\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_cpu_usage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/cpu_usage\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_disk_usage\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/disk_usage\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_disk_usage\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/disk_usage\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_disk_usage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/disk_usage\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_load\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/load\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_load\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/load\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_load\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/load\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_memory_usage\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/memory_usage\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_memory_usage\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/memory_usage\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_memory_usage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/memory_usage\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_op_rates\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/op_rates\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_op_rates\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/op_rates\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_op_rates\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/op_rates\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_schema_latency\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/schema_latency\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_schema_latency\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/schema_latency\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_schema_latency\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/schema_latency\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_schema_throughput\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/schema_throughput\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_schema_throughput\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/schema_throughput\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_schema_throughput\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/schema_throughput\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_threads_active\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/threads_active\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_threads_active\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/threads_active\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_threads_active\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/threads_active\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_threads_connected\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/threads_connected\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_threads_connected\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/threads_connected\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_threads_connected\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/threads_connected\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_database_mysql_threads_created_rate\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/database/mysql/threads_created_rate\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_database_mysql_threads_created_rate\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/database/mysql/threads_created_rate\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_database_mysql_threads_created_rate\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/database/mysql/threads_created_rate\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_current_instances\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_instances\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_current_instances\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/current_instances\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_current_instances\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_instances\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_target_instances\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_instances\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_target_instances\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/target_instances\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_target_instances\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_instances\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_bandwidth\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/bandwidth\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_bandwidth\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/bandwidth\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_bandwidth\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/bandwidth\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_cpu\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/cpu\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_cpu\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/cpu\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_cpu\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/cpu\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_filesystem_free\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/filesystem_free\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_filesystem_free\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/filesystem_free\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_filesystem_free\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/filesystem_free\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_filesystem_size\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/filesystem_size\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_filesystem_size\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/filesystem_size\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_filesystem_size\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/filesystem_size\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_load_1\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/load_1\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_load_1\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/load_1\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_load_1\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/load_1\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_load_15\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/load_15\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_load_15\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/load_15\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_load_15\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/load_15\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_load_5\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/load_5\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_load_5\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/load_5\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_load_5\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/load_5\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_memory_available\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/memory_available\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_memory_available\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/memory_available\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_memory_available\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/memory_available\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_memory_cached\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/memory_cached\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_memory_cached\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/memory_cached\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_memory_cached\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/memory_cached\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_memory_free\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/memory_free\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_memory_free\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/memory_free\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_memory_free\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/memory_free\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_droplet_memory_total\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/droplet/memory_total\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_droplet_memory_total\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/droplet/memory_total\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_droplet_memory_total\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/droplet/memory_total\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_connections\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_connections\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_connections\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_connections\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_connections\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_connections\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_downtime\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_downtime\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_downtime\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_downtime\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_downtime\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_downtime\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_health_checks\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_health_checks\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_health_checks\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_health_checks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_health_checks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_health_checks\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_responses\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_responses\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_responses\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_responses\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_responses\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_responses\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_droplets_queue_size\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/droplets_queue_size\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_droplets_queue_size\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/droplets_queue_size\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_droplets_queue_size\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/droplets_queue_size\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_connections_current\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_connections_current\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_connections_current\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_connections_current\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_connections_current\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_connections_current\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_connections_limit\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_connections_limit\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_connections_limit\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_connections_limit\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_connections_limit\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_connections_limit\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_http_responses\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_http_responses\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_http_responses\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_http_responses\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_http_responses\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_http_responses\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit\",\n \"tags\": []\n },\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit\",\n \"tags\": []\n },\n \"get_v2_monitoring_sinks\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/sinks\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_sinks\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/sinks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_sinks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/sinks\",\n \"tags\": []\n },\n \"get_v2_monitoring_sinks_destinations\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/sinks/destinations\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_sinks_destinations\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/sinks/destinations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_sinks_destinations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/sinks/destinations\",\n \"tags\": []\n },\n \"get_v2_monitoring_sinks_destinations_destination_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_sinks_destinations_destination_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `destination_uuid`.\",\n \"in\": \"path\",\n \"name\": \"destination_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_sinks_destinations_destination_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"tags\": []\n },\n \"get_v2_monitoring_sinks_sink_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/monitoring/sinks/{sink_uuid}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_monitoring_sinks_sink_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `sink_uuid`.\",\n \"in\": \"path\",\n \"name\": \"sink_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/sinks/{sink_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_monitoring_sinks_sink_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/monitoring/sinks/{sink_uuid}\",\n \"tags\": []\n },\n \"get_v2_nfs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs\",\n \"parameters\": [],\n \"path\": \"/v2/nfs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs\",\n \"tags\": []\n },\n \"get_v2_nfs_access_points_access_point_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs/access_points/{access_point_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs_access_points_access_point_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_point_id`.\",\n \"in\": \"path\",\n \"name\": \"access_point_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/access_points/{access_point_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs_access_points_access_point_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs/access_points/{access_point_id}\",\n \"tags\": []\n },\n \"get_v2_nfs_nfs_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs/{nfs_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs_nfs_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `nfs_id`.\",\n \"in\": \"path\",\n \"name\": \"nfs_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/{nfs_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs_nfs_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs/{nfs_id}\",\n \"tags\": []\n },\n \"get_v2_nfs_shares_share_id_access_points\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs/shares/{share_id}/access_points\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs_shares_share_id_access_points\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `share_id`.\",\n \"in\": \"path\",\n \"name\": \"share_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/shares/{share_id}/access_points\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs_shares_share_id_access_points\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs/shares/{share_id}/access_points\",\n \"tags\": []\n },\n \"get_v2_nfs_snapshots\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs/snapshots\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs_snapshots\",\n \"parameters\": [],\n \"path\": \"/v2/nfs/snapshots\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs_snapshots\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs/snapshots\",\n \"tags\": []\n },\n \"get_v2_nfs_snapshots_nfs_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_nfs_snapshots_nfs_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `nfs_snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"nfs_snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_nfs_snapshots_nfs_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/nfs/snapshots/{nfs_snapshot_id}\",\n \"tags\": []\n },\n \"get_v2_partner_network_connect_attachments\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/partner_network_connect/attachments\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_partner_network_connect_attachments\",\n \"parameters\": [],\n \"path\": \"/v2/partner_network_connect/attachments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_partner_network_connect_attachments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/partner_network_connect/attachments\",\n \"tags\": []\n },\n \"get_v2_partner_network_connect_attachments_pa_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/partner_network_connect/attachments/{pa_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_partner_network_connect_attachments_pa_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_partner_network_connect_attachments_pa_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/partner_network_connect/attachments/{pa_id}\",\n \"tags\": []\n },\n \"get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key\",\n \"tags\": []\n },\n \"get_v2_partner_network_connect_attachments_pa_id_remote_routes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/partner_network_connect/attachments/{pa_id}/remote_routes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_partner_network_connect_attachments_pa_id_remote_routes\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}/remote_routes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_partner_network_connect_attachments_pa_id_remote_routes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/partner_network_connect/attachments/{pa_id}/remote_routes\",\n \"tags\": []\n },\n \"get_v2_partner_network_connect_attachments_pa_id_service_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_partner_network_connect_attachments_pa_id_service_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_partner_network_connect_attachments_pa_id_service_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"tags\": []\n },\n \"get_v2_projects\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/projects\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_projects\",\n \"parameters\": [],\n \"path\": \"/v2/projects\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_projects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/projects\",\n \"tags\": []\n },\n \"get_v2_projects_default\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/projects/default\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_projects_default\",\n \"parameters\": [],\n \"path\": \"/v2/projects/default\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_projects_default\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/projects/default\",\n \"tags\": []\n },\n \"get_v2_projects_default_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/projects/default/resources\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_projects_default_resources\",\n \"parameters\": [],\n \"path\": \"/v2/projects/default/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_projects_default_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/projects/default/resources\",\n \"tags\": []\n },\n \"get_v2_projects_project_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/projects/{project_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_projects_project_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_projects_project_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/projects/{project_id}\",\n \"tags\": []\n },\n \"get_v2_projects_project_id_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/projects/{project_id}/resources\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_projects_project_id_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_projects_project_id_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/projects/{project_id}/resources\",\n \"tags\": []\n },\n \"get_v2_regions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/regions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_regions\",\n \"parameters\": [],\n \"path\": \"/v2/regions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_regions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/regions\",\n \"tags\": []\n },\n \"get_v2_registries\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries\",\n \"parameters\": [],\n \"path\": \"/v2/registries\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries\",\n \"tags\": []\n },\n \"get_v2_registries_options\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/options\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_options\",\n \"parameters\": [],\n \"path\": \"/v2/registries/options\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_options\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/options\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_docker_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/docker-credentials\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_docker_credentials\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/docker-credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_docker_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/docker-credentials\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_garbage_collection\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/garbage-collection\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_garbage_collection\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/garbage-collection\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_garbage_collection\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/garbage-collection\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_garbage_collections\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/garbage-collections\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_garbage_collections\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/garbage-collections\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_garbage_collections\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/garbage-collections\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_repositories_repository_name_digests\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/repositories/{repository_name}/digests\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_repositories_repository_name_digests\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositories/{repository_name}/digests\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_repositories_repository_name_digests\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/repositories/{repository_name}/digests\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_repositories_repository_name_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/repositories/{repository_name}/tags\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_repositories_repository_name_tags\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositories/{repository_name}/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_repositories_repository_name_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/repositories/{repository_name}/tags\",\n \"tags\": []\n },\n \"get_v2_registries_registry_name_repositories_v2\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/{registry_name}/repositoriesV2\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_registry_name_repositories_v2\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/repositoriesV2\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_registry_name_repositories_v2\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/{registry_name}/repositoriesV2\",\n \"tags\": []\n },\n \"get_v2_registries_subscription\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registries/subscription\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registries_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/registries/subscription\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registries_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registries/subscription\",\n \"tags\": []\n },\n \"get_v2_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry\",\n \"parameters\": [],\n \"path\": \"/v2/registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry\",\n \"tags\": []\n },\n \"get_v2_registry_docker_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/docker-credentials\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_docker_credentials\",\n \"parameters\": [],\n \"path\": \"/v2/registry/docker-credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_docker_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/docker-credentials\",\n \"tags\": []\n },\n \"get_v2_registry_options\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/options\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_options\",\n \"parameters\": [],\n \"path\": \"/v2/registry/options\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_options\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/options\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_garbage_collection\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/garbage-collection\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_garbage_collection\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/garbage-collection\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_garbage_collection\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/garbage-collection\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_garbage_collections\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/garbage-collections\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_garbage_collections\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/garbage-collections\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_garbage_collections\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/garbage-collections\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_repositories\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/repositories\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_repositories\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositories\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_repositories\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/repositories\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_repositories_repository_name_digests\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/repositories/{repository_name}/digests\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_repositories_repository_name_digests\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositories/{repository_name}/digests\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_repositories_repository_name_digests\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/repositories/{repository_name}/digests\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_repositories_repository_name_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/repositories/{repository_name}/tags\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_repositories_repository_name_tags\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `repository_name`.\",\n \"in\": \"path\",\n \"name\": \"repository_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositories/{repository_name}/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_repositories_repository_name_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/repositories/{repository_name}/tags\",\n \"tags\": []\n },\n \"get_v2_registry_registry_name_repositories_v2\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/{registry_name}/repositoriesV2\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_registry_name_repositories_v2\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/repositoriesV2\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_registry_name_repositories_v2\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/{registry_name}/repositoriesV2\",\n \"tags\": []\n },\n \"get_v2_registry_subscription\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/registry/subscription\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_registry_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/registry/subscription\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_registry_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/registry/subscription\",\n \"tags\": []\n },\n \"get_v2_reports_droplet_neighbors_ids\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reports/droplet_neighbors_ids\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reports_droplet_neighbors_ids\",\n \"parameters\": [],\n \"path\": \"/v2/reports/droplet_neighbors_ids\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reports_droplet_neighbors_ids\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reports/droplet_neighbors_ids\",\n \"tags\": []\n },\n \"get_v2_reserved_ips\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ips\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ips\",\n \"parameters\": [],\n \"path\": \"/v2/reserved_ips\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ips\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ips\",\n \"tags\": []\n },\n \"get_v2_reserved_ips_reserved_ip\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ips/{reserved_ip}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ips_reserved_ip\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ip`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ips/{reserved_ip}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ips_reserved_ip\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ips/{reserved_ip}\",\n \"tags\": []\n },\n \"get_v2_reserved_ips_reserved_ip_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ips/{reserved_ip}/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ips_reserved_ip_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ip`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ips/{reserved_ip}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ips_reserved_ip_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ips/{reserved_ip}/actions\",\n \"tags\": []\n },\n \"get_v2_reserved_ips_reserved_ip_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ips/{reserved_ip}/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ips_reserved_ip_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ip`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ips/{reserved_ip}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ips_reserved_ip_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ips/{reserved_ip}/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_reserved_ipv6\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ipv6\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ipv6\",\n \"parameters\": [],\n \"path\": \"/v2/reserved_ipv6\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ipv6\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ipv6\",\n \"tags\": []\n },\n \"get_v2_reserved_ipv6_reserved_ipv6\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/reserved_ipv6/{reserved_ipv6}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_reserved_ipv6_reserved_ipv6\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ipv6`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ipv6\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ipv6/{reserved_ipv6}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_reserved_ipv6_reserved_ipv6\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/reserved_ipv6/{reserved_ipv6}\",\n \"tags\": []\n },\n \"get_v2_security_scans\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/security/scans\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_security_scans\",\n \"parameters\": [],\n \"path\": \"/v2/security/scans\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_security_scans\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/security/scans\",\n \"tags\": []\n },\n \"get_v2_security_scans_latest\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/security/scans/latest\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_security_scans_latest\",\n \"parameters\": [],\n \"path\": \"/v2/security/scans/latest\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_security_scans_latest\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/security/scans/latest\",\n \"tags\": []\n },\n \"get_v2_security_scans_scan_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/security/scans/{scan_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_security_scans_scan_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `scan_id`.\",\n \"in\": \"path\",\n \"name\": \"scan_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/security/scans/{scan_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_security_scans_scan_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/security/scans/{scan_id}\",\n \"tags\": []\n },\n \"get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `scan_id`.\",\n \"in\": \"path\",\n \"name\": \"scan_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `finding_uuid`.\",\n \"in\": \"path\",\n \"name\": \"finding_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources\",\n \"tags\": []\n },\n \"get_v2_security_settings\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/security/settings\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_security_settings\",\n \"parameters\": [],\n \"path\": \"/v2/security/settings\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_security_settings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/security/settings\",\n \"tags\": []\n },\n \"get_v2_sizes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/sizes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_sizes\",\n \"parameters\": [],\n \"path\": \"/v2/sizes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_sizes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/sizes\",\n \"tags\": []\n },\n \"get_v2_snapshots\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/snapshots\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_snapshots\",\n \"parameters\": [],\n \"path\": \"/v2/snapshots\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_snapshots\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/snapshots\",\n \"tags\": []\n },\n \"get_v2_snapshots_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/snapshots/{snapshot_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_snapshots_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/snapshots/{snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_snapshots_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/snapshots/{snapshot_id}\",\n \"tags\": []\n },\n \"get_v2_spaces_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/spaces/keys\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_spaces_keys\",\n \"parameters\": [],\n \"path\": \"/v2/spaces/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_spaces_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/spaces/keys\",\n \"tags\": []\n },\n \"get_v2_spaces_keys_access_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/spaces/keys/{access_key}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_spaces_keys_access_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_key`.\",\n \"in\": \"path\",\n \"name\": \"access_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/spaces/keys/{access_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_spaces_keys_access_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/spaces/keys/{access_key}\",\n \"tags\": []\n },\n \"get_v2_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/tags\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_tags\",\n \"parameters\": [],\n \"path\": \"/v2/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/tags\",\n \"tags\": []\n },\n \"get_v2_tags_tag_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/tags/{tag_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_tags_tag_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `tag_id`.\",\n \"in\": \"path\",\n \"name\": \"tag_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/tags/{tag_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_tags_tag_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/tags/{tag_id}\",\n \"tags\": []\n },\n \"get_v2_vector_databases\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vector-databases\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vector_databases\",\n \"parameters\": [],\n \"path\": \"/v2/vector-databases\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vector_databases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vector-databases\",\n \"tags\": []\n },\n \"get_v2_vector_databases_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vector-databases/{id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vector_databases_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vector_databases_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vector-databases/{id}\",\n \"tags\": []\n },\n \"get_v2_vector_databases_id_backups\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vector-databases/{id}/backups\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vector_databases_id_backups\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/backups\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vector_databases_id_backups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vector-databases/{id}/backups\",\n \"tags\": []\n },\n \"get_v2_vector_databases_id_backups_backup_id_restore\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vector_databases_id_backups_backup_id_restore\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `backup_id`.\",\n \"in\": \"path\",\n \"name\": \"backup_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vector_databases_id_backups_backup_id_restore\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"tags\": []\n },\n \"get_v2_vector_databases_id_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vector-databases/{id}/credentials\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vector_databases_id_credentials\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vector_databases_id_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vector-databases/{id}/credentials\",\n \"tags\": []\n },\n \"get_v2_volumes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes\",\n \"parameters\": [],\n \"path\": \"/v2/volumes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes\",\n \"tags\": []\n },\n \"get_v2_volumes_snapshots_snapshot_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes/snapshots/{snapshot_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes_snapshots_snapshot_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `snapshot_id`.\",\n \"in\": \"path\",\n \"name\": \"snapshot_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/snapshots/{snapshot_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes_snapshots_snapshot_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes/snapshots/{snapshot_id}\",\n \"tags\": []\n },\n \"get_v2_volumes_volume_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes/{volume_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes_volume_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes_volume_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes/{volume_id}\",\n \"tags\": []\n },\n \"get_v2_volumes_volume_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes/{volume_id}/actions\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes_volume_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes_volume_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes/{volume_id}/actions\",\n \"tags\": []\n },\n \"get_v2_volumes_volume_id_actions_action_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes/{volume_id}/actions/{action_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes_volume_id_actions_action_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `action_id`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes_volume_id_actions_action_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes/{volume_id}/actions/{action_id}\",\n \"tags\": []\n },\n \"get_v2_volumes_volume_id_snapshots\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/volumes/{volume_id}/snapshots\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_volumes_volume_id_snapshots\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}/snapshots\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_volumes_volume_id_snapshots\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/volumes/{volume_id}/snapshots\",\n \"tags\": []\n },\n \"get_v2_vpcs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vpcs\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vpcs\",\n \"parameters\": [],\n \"path\": \"/v2/vpcs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vpcs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vpcs\",\n \"tags\": []\n },\n \"get_v2_vpcs_vpc_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vpcs/{vpc_id}\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vpcs_vpc_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vpcs_vpc_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vpcs/{vpc_id}\",\n \"tags\": []\n },\n \"get_v2_vpcs_vpc_id_members\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vpcs/{vpc_id}/members\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vpcs_vpc_id_members\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}/members\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vpcs_vpc_id_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vpcs/{vpc_id}/members\",\n \"tags\": []\n },\n \"get_v2_vpcs_vpc_id_peerings\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"get_/v2/vpcs/{vpc_id}/peerings\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_v2_vpcs_vpc_id_peerings\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}/peerings\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"get_v2_vpcs_vpc_id_peerings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"get_/v2/vpcs/{vpc_id}/peerings\",\n \"tags\": []\n },\n \"patch_v2_add_ons_saas_resource_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/add-ons/saas/{resource_uuid}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_add_ons_saas_resource_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `resource_uuid`.\",\n \"in\": \"path\",\n \"name\": \"resource_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/add-ons/saas/{resource_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_add_ons_saas_resource_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/add-ons/saas/{resource_uuid}\",\n \"tags\": []\n },\n \"patch_v2_add_ons_saas_resource_uuid_plan\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/add-ons/saas/{resource_uuid}/plan\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_add_ons_saas_resource_uuid_plan\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `resource_uuid`.\",\n \"in\": \"path\",\n \"name\": \"resource_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/add-ons/saas/{resource_uuid}/plan\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_add_ons_saas_resource_uuid_plan\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/add-ons/saas/{resource_uuid}/plan\",\n \"tags\": []\n },\n \"patch_v2_byoip_prefixes_byoip_prefix_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `byoip_prefix_uuid`.\",\n \"in\": \"path\",\n \"name\": \"byoip_prefix_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/byoip_prefixes/{byoip_prefix_uuid}\",\n \"tags\": []\n },\n \"patch_v2_databases_database_cluster_uuid_config\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/databases/{database_cluster_uuid}/config\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_databases_database_cluster_uuid_config\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/config\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_databases_database_cluster_uuid_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/databases/{database_cluster_uuid}/config\",\n \"tags\": []\n },\n \"patch_v2_dedicated_inferences_dedicated_inference_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_dedicated_inferences_dedicated_inference_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_dedicated_inferences_dedicated_inference_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/dedicated-inferences/{dedicated_inference_id}\",\n \"tags\": []\n },\n \"patch_v2_domains_domain_name_records_domain_record_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_domains_domain_name_records_domain_record_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `domain_record_id`.\",\n \"in\": \"path\",\n \"name\": \"domain_record_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_domains_domain_name_records_domain_record_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"tags\": []\n },\n \"patch_v2_partner_network_connect_attachments_pa_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/partner_network_connect/attachments/{pa_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_partner_network_connect_attachments_pa_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_partner_network_connect_attachments_pa_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/partner_network_connect/attachments/{pa_id}\",\n \"tags\": []\n },\n \"patch_v2_projects_default\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/projects/default\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_projects_default\",\n \"parameters\": [],\n \"path\": \"/v2/projects/default\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_projects_default\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/projects/default\",\n \"tags\": []\n },\n \"patch_v2_projects_project_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/projects/{project_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_projects_project_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_projects_project_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/projects/{project_id}\",\n \"tags\": []\n },\n \"patch_v2_spaces_keys_access_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/spaces/keys/{access_key}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_spaces_keys_access_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_key`.\",\n \"in\": \"path\",\n \"name\": \"access_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/spaces/keys/{access_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_spaces_keys_access_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/spaces/keys/{access_key}\",\n \"tags\": []\n },\n \"patch_v2_vpcs_vpc_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/vpcs/{vpc_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_vpcs_vpc_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_vpcs_vpc_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/vpcs/{vpc_id}\",\n \"tags\": []\n },\n \"patch_v2_vpcs_vpc_id_peerings_vpc_peering_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"patch_/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}\",\n \"destructive\": true,\n \"method\": \"PATCH\",\n \"operation_id\": \"patch_v2_vpcs_vpc_id_peerings_vpc_peering_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `vpc_peering_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_peering_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"patch_v2_vpcs_vpc_id_peerings_vpc_peering_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"patch_/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}\",\n \"tags\": []\n },\n \"post_v2_1_clicks_kubernetes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/1-clicks/kubernetes\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_1_clicks_kubernetes\",\n \"parameters\": [],\n \"path\": \"/v2/1-clicks/kubernetes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_1_clicks_kubernetes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/1-clicks/kubernetes\",\n \"tags\": []\n },\n \"post_v2_account_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/account/keys\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_account_keys\",\n \"parameters\": [],\n \"path\": \"/v2/account/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_account_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/account/keys\",\n \"tags\": []\n },\n \"post_v2_add_ons_saas\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/add-ons/saas\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_add_ons_saas\",\n \"parameters\": [],\n \"path\": \"/v2/add-ons/saas\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_add_ons_saas\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/add-ons/saas\",\n \"tags\": []\n },\n \"post_v2_apps\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps\",\n \"parameters\": [],\n \"path\": \"/v2/apps\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_alerts_alert_id_destinations\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/alerts/{alert_id}/destinations\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_alerts_alert_id_destinations\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `alert_id`.\",\n \"in\": \"path\",\n \"name\": \"alert_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/alerts/{alert_id}/destinations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_alerts_alert_id_destinations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/alerts/{alert_id}/destinations\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_deployments\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/deployments\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_deployments\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_deployments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/deployments\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_deployments_deployment_id_cancel\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/deployments/{deployment_id}/cancel\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_deployments_deployment_id_cancel\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `deployment_id`.\",\n \"in\": \"path\",\n \"name\": \"deployment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/deployments/{deployment_id}/cancel\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_deployments_deployment_id_cancel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/deployments/{deployment_id}/cancel\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_events_event_id_cancel\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/events/{event_id}/cancel\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_events_event_id_cancel\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `event_id`.\",\n \"in\": \"path\",\n \"name\": \"event_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/events/{event_id}/cancel\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_events_event_id_cancel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/events/{event_id}/cancel\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_job_invocations_job_invocation_id_cancel\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_job_invocations_job_invocation_id_cancel\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `job_invocation_id`.\",\n \"in\": \"path\",\n \"name\": \"job_invocation_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_job_invocations_job_invocation_id_cancel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_restart\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/restart\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_restart\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/restart\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_restart\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/restart\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_rollback\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/rollback\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_rollback\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/rollback\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_rollback\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/rollback\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_rollback_commit\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/rollback/commit\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_rollback_commit\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/rollback/commit\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_rollback_commit\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/rollback/commit\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_rollback_revert\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/rollback/revert\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_rollback_revert\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/rollback/revert\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_rollback_revert\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/rollback/revert\",\n \"tags\": []\n },\n \"post_v2_apps_app_id_rollback_validate\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/{app_id}/rollback/validate\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_app_id_rollback_validate\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `app_id`.\",\n \"in\": \"path\",\n \"name\": \"app_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{app_id}/rollback/validate\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_app_id_rollback_validate\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/{app_id}/rollback/validate\",\n \"tags\": []\n },\n \"post_v2_apps_metrics_bandwidth_daily\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/metrics/bandwidth_daily\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_metrics_bandwidth_daily\",\n \"parameters\": [],\n \"path\": \"/v2/apps/metrics/bandwidth_daily\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_metrics_bandwidth_daily\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/metrics/bandwidth_daily\",\n \"tags\": []\n },\n \"post_v2_apps_propose\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/apps/propose\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_apps_propose\",\n \"parameters\": [],\n \"path\": \"/v2/apps/propose\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_apps_propose\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/apps/propose\",\n \"tags\": []\n },\n \"post_v2_byoip_prefixes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/byoip_prefixes\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_byoip_prefixes\",\n \"parameters\": [],\n \"path\": \"/v2/byoip_prefixes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_byoip_prefixes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/byoip_prefixes\",\n \"tags\": []\n },\n \"post_v2_cdn_endpoints\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/cdn/endpoints\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_cdn_endpoints\",\n \"parameters\": [],\n \"path\": \"/v2/cdn/endpoints\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_cdn_endpoints\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/cdn/endpoints\",\n \"tags\": []\n },\n \"post_v2_certificates\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/certificates\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_certificates\",\n \"parameters\": [],\n \"path\": \"/v2/certificates\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_certificates\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/certificates\",\n \"tags\": []\n },\n \"post_v2_databases\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases\",\n \"parameters\": [],\n \"path\": \"/v2/databases\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_dbs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/dbs\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_dbs\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/dbs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_dbs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/dbs\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_logsink\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/logsink\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_logsink\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/logsink\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_logsink\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/logsink\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_pools\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/pools\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_pools\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/pools\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_pools\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/pools\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_replicas\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/replicas\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_replicas\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/replicas\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_replicas\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/replicas\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_schema_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_schema_registry\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_schema_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/schema-registry\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_topics\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/topics\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_topics\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/topics\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_topics\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/topics\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_users\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/users\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_users\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_users\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/users\",\n \"tags\": []\n },\n \"post_v2_databases_database_cluster_uuid_users_username_reset_auth\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_databases_database_cluster_uuid_users_username_reset_auth\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `username`.\",\n \"in\": \"path\",\n \"name\": \"username\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_databases_database_cluster_uuid_users_username_reset_auth\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth\",\n \"tags\": []\n },\n \"post_v2_dedicated_inferences\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/dedicated-inferences\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_dedicated_inferences\",\n \"parameters\": [],\n \"path\": \"/v2/dedicated-inferences\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_dedicated_inferences\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/dedicated-inferences\",\n \"tags\": []\n },\n \"post_v2_dedicated_inferences_dedicated_inference_id_tokens\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `dedicated_inference_id`.\",\n \"in\": \"path\",\n \"name\": \"dedicated_inference_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/dedicated-inferences/{dedicated_inference_id}/tokens\",\n \"tags\": []\n },\n \"post_v2_domains\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/domains\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_domains\",\n \"parameters\": [],\n \"path\": \"/v2/domains\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_domains\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/domains\",\n \"tags\": []\n },\n \"post_v2_domains_domain_name_records\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/domains/{domain_name}/records\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_domains_domain_name_records\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_domains_domain_name_records\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/domains/{domain_name}/records\",\n \"tags\": []\n },\n \"post_v2_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/droplets\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_droplets\",\n \"parameters\": [],\n \"path\": \"/v2/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/droplets\",\n \"tags\": []\n },\n \"post_v2_droplets_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/droplets/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_droplets_actions\",\n \"parameters\": [],\n \"path\": \"/v2/droplets/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_droplets_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/droplets/actions\",\n \"tags\": []\n },\n \"post_v2_droplets_autoscale\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/droplets/autoscale\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_droplets_autoscale\",\n \"parameters\": [],\n \"path\": \"/v2/droplets/autoscale\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_droplets_autoscale\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/droplets/autoscale\",\n \"tags\": []\n },\n \"post_v2_droplets_droplet_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/droplets/{droplet_id}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_droplets_droplet_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_droplets_droplet_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/droplets/{droplet_id}/actions\",\n \"tags\": []\n },\n \"post_v2_droplets_droplet_id_destroy_with_associated_resources_retry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_droplets_droplet_id_destroy_with_associated_resources_retry\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `droplet_id`.\",\n \"in\": \"path\",\n \"name\": \"droplet_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_droplets_droplet_id_destroy_with_associated_resources_retry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry\",\n \"tags\": []\n },\n \"post_v2_firewalls\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/firewalls\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_firewalls\",\n \"parameters\": [],\n \"path\": \"/v2/firewalls\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_firewalls\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/firewalls\",\n \"tags\": []\n },\n \"post_v2_firewalls_firewall_id_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/firewalls/{firewall_id}/droplets\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_firewalls_firewall_id_droplets\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_firewalls_firewall_id_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/firewalls/{firewall_id}/droplets\",\n \"tags\": []\n },\n \"post_v2_firewalls_firewall_id_rules\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/firewalls/{firewall_id}/rules\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_firewalls_firewall_id_rules\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/rules\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_firewalls_firewall_id_rules\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/firewalls/{firewall_id}/rules\",\n \"tags\": []\n },\n \"post_v2_firewalls_firewall_id_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/firewalls/{firewall_id}/tags\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_firewalls_firewall_id_tags\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_firewalls_firewall_id_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/firewalls/{firewall_id}/tags\",\n \"tags\": []\n },\n \"post_v2_floating_ips\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/floating_ips\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_floating_ips\",\n \"parameters\": [],\n \"path\": \"/v2/floating_ips\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_floating_ips\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/floating_ips\",\n \"tags\": []\n },\n \"post_v2_floating_ips_floating_ip_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/floating_ips/{floating_ip}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_floating_ips_floating_ip_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `floating_ip`.\",\n \"in\": \"path\",\n \"name\": \"floating_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/floating_ips/{floating_ip}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_floating_ips_floating_ip_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/floating_ips/{floating_ip}/actions\",\n \"tags\": []\n },\n \"post_v2_functions_namespaces\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/functions/namespaces\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_functions_namespaces\",\n \"parameters\": [],\n \"path\": \"/v2/functions/namespaces\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_functions_namespaces\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/functions/namespaces\",\n \"tags\": []\n },\n \"post_v2_functions_namespaces_namespace_id_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/functions/namespaces/{namespace_id}/keys\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_functions_namespaces_namespace_id_keys\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_functions_namespaces_namespace_id_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/functions/namespaces/{namespace_id}/keys\",\n \"tags\": []\n },\n \"post_v2_functions_namespaces_namespace_id_triggers\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/functions/namespaces/{namespace_id}/triggers\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_functions_namespaces_namespace_id_triggers\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/triggers\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_functions_namespaces_namespace_id_triggers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/functions/namespaces/{namespace_id}/triggers\",\n \"tags\": []\n },\n \"post_v2_images\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images\",\n \"parameters\": [],\n \"path\": \"/v2/images\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images\",\n \"tags\": []\n },\n \"post_v2_images_image_id_account_transfer\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images/{image_id}/account_transfer\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images_image_id_account_transfer\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/account_transfer\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images_image_id_account_transfer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images/{image_id}/account_transfer\",\n \"tags\": []\n },\n \"post_v2_images_image_id_account_transfer_accept\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images/{image_id}/account_transfer/accept\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images_image_id_account_transfer_accept\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/account_transfer/accept\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images_image_id_account_transfer_accept\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images/{image_id}/account_transfer/accept\",\n \"tags\": []\n },\n \"post_v2_images_image_id_account_transfer_cancel\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images/{image_id}/account_transfer/cancel\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images_image_id_account_transfer_cancel\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/account_transfer/cancel\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images_image_id_account_transfer_cancel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images/{image_id}/account_transfer/cancel\",\n \"tags\": []\n },\n \"post_v2_images_image_id_account_transfer_decline\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images/{image_id}/account_transfer/decline\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images_image_id_account_transfer_decline\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/account_transfer/decline\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images_image_id_account_transfer_decline\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images/{image_id}/account_transfer/decline\",\n \"tags\": []\n },\n \"post_v2_images_image_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/images/{image_id}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_images_image_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_images_image_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/images/{image_id}/actions\",\n \"tags\": []\n },\n \"post_v2_kubernetes_clusters\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/clusters\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_clusters\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/clusters\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_clusters\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/clusters\",\n \"tags\": []\n },\n \"post_v2_kubernetes_clusters_cluster_id_clusterlint\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/clusters/{cluster_id}/clusterlint\",\n \"tags\": []\n },\n \"post_v2_kubernetes_clusters_cluster_id_node_pools\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/clusters/{cluster_id}/node_pools\",\n \"tags\": []\n },\n \"post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"node_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle\",\n \"tags\": []\n },\n \"post_v2_kubernetes_clusters_cluster_id_upgrade\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/clusters/{cluster_id}/upgrade\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_clusters_cluster_id_upgrade\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/upgrade\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_clusters_cluster_id_upgrade\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/clusters/{cluster_id}/upgrade\",\n \"tags\": []\n },\n \"post_v2_kubernetes_registries\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/registries\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_registries\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/registries\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_registries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/registries\",\n \"tags\": []\n },\n \"post_v2_kubernetes_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/kubernetes/registry\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_kubernetes_registry\",\n \"parameters\": [],\n \"path\": \"/v2/kubernetes/registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_kubernetes_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/kubernetes/registry\",\n \"tags\": []\n },\n \"post_v2_load_balancers\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/load_balancers\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_load_balancers\",\n \"parameters\": [],\n \"path\": \"/v2/load_balancers\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_load_balancers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/load_balancers\",\n \"tags\": []\n },\n \"post_v2_load_balancers_lb_id_droplets\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/load_balancers/{lb_id}/droplets\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_load_balancers_lb_id_droplets\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}/droplets\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_load_balancers_lb_id_droplets\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/load_balancers/{lb_id}/droplets\",\n \"tags\": []\n },\n \"post_v2_load_balancers_lb_id_forwarding_rules\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_load_balancers_lb_id_forwarding_rules\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_load_balancers_lb_id_forwarding_rules\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/load_balancers/{lb_id}/forwarding_rules\",\n \"tags\": []\n },\n \"post_v2_monitoring_alerts\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/monitoring/alerts\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_monitoring_alerts\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/alerts\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_monitoring_alerts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/monitoring/alerts\",\n \"tags\": []\n },\n \"post_v2_monitoring_sinks\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/monitoring/sinks\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_monitoring_sinks\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/sinks\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_monitoring_sinks\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/monitoring/sinks\",\n \"tags\": []\n },\n \"post_v2_monitoring_sinks_destinations\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/monitoring/sinks/destinations\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_monitoring_sinks_destinations\",\n \"parameters\": [],\n \"path\": \"/v2/monitoring/sinks/destinations\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_monitoring_sinks_destinations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/monitoring/sinks/destinations\",\n \"tags\": []\n },\n \"post_v2_monitoring_sinks_destinations_destination_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_monitoring_sinks_destinations_destination_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `destination_uuid`.\",\n \"in\": \"path\",\n \"name\": \"destination_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_monitoring_sinks_destinations_destination_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/monitoring/sinks/destinations/{destination_uuid}\",\n \"tags\": []\n },\n \"post_v2_nfs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/nfs\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_nfs\",\n \"parameters\": [],\n \"path\": \"/v2/nfs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_nfs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/nfs\",\n \"tags\": []\n },\n \"post_v2_nfs_nfs_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/nfs/{nfs_id}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_nfs_nfs_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `nfs_id`.\",\n \"in\": \"path\",\n \"name\": \"nfs_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/{nfs_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_nfs_nfs_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/nfs/{nfs_id}/actions\",\n \"tags\": []\n },\n \"post_v2_nfs_shares_share_id_access_points\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/nfs/shares/{share_id}/access_points\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_nfs_shares_share_id_access_points\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `share_id`.\",\n \"in\": \"path\",\n \"name\": \"share_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/nfs/shares/{share_id}/access_points\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_nfs_shares_share_id_access_points\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/nfs/shares/{share_id}/access_points\",\n \"tags\": []\n },\n \"post_v2_partner_network_connect_attachments\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/partner_network_connect/attachments\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_partner_network_connect_attachments\",\n \"parameters\": [],\n \"path\": \"/v2/partner_network_connect/attachments\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_partner_network_connect_attachments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/partner_network_connect/attachments\",\n \"tags\": []\n },\n \"post_v2_partner_network_connect_attachments_pa_id_service_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_partner_network_connect_attachments_pa_id_service_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `pa_id`.\",\n \"in\": \"path\",\n \"name\": \"pa_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_partner_network_connect_attachments_pa_id_service_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/partner_network_connect/attachments/{pa_id}/service_key\",\n \"tags\": []\n },\n \"post_v2_projects\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/projects\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_projects\",\n \"parameters\": [],\n \"path\": \"/v2/projects\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_projects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/projects\",\n \"tags\": []\n },\n \"post_v2_projects_default_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/projects/default/resources\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_projects_default_resources\",\n \"parameters\": [],\n \"path\": \"/v2/projects/default/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_projects_default_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/projects/default/resources\",\n \"tags\": []\n },\n \"post_v2_projects_project_id_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/projects/{project_id}/resources\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_projects_project_id_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_projects_project_id_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/projects/{project_id}/resources\",\n \"tags\": []\n },\n \"post_v2_registries\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registries\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registries\",\n \"parameters\": [],\n \"path\": \"/v2/registries\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registries\",\n \"tags\": []\n },\n \"post_v2_registries_registry_name_garbage_collection\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registries/{registry_name}/garbage-collection\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registries_registry_name_garbage_collection\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/garbage-collection\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registries_registry_name_garbage_collection\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registries/{registry_name}/garbage-collection\",\n \"tags\": []\n },\n \"post_v2_registries_subscription\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registries/subscription\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registries_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/registries/subscription\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registries_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registries/subscription\",\n \"tags\": []\n },\n \"post_v2_registries_validate_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registries/validate-name\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registries_validate_name\",\n \"parameters\": [],\n \"path\": \"/v2/registries/validate-name\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registries_validate_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registries/validate-name\",\n \"tags\": []\n },\n \"post_v2_registry\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registry\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registry\",\n \"parameters\": [],\n \"path\": \"/v2/registry\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registry\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registry\",\n \"tags\": []\n },\n \"post_v2_registry_registry_name_garbage_collection\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registry/{registry_name}/garbage-collection\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registry_registry_name_garbage_collection\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/garbage-collection\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registry_registry_name_garbage_collection\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registry/{registry_name}/garbage-collection\",\n \"tags\": []\n },\n \"post_v2_registry_subscription\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registry/subscription\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registry_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/registry/subscription\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registry_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registry/subscription\",\n \"tags\": []\n },\n \"post_v2_registry_validate_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/registry/validate-name\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_registry_validate_name\",\n \"parameters\": [],\n \"path\": \"/v2/registry/validate-name\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_registry_validate_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/registry/validate-name\",\n \"tags\": []\n },\n \"post_v2_reserved_ips\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/reserved_ips\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_reserved_ips\",\n \"parameters\": [],\n \"path\": \"/v2/reserved_ips\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_reserved_ips\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/reserved_ips\",\n \"tags\": []\n },\n \"post_v2_reserved_ips_reserved_ip_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/reserved_ips/{reserved_ip}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_reserved_ips_reserved_ip_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ip`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ip\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ips/{reserved_ip}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_reserved_ips_reserved_ip_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/reserved_ips/{reserved_ip}/actions\",\n \"tags\": []\n },\n \"post_v2_reserved_ipv6\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/reserved_ipv6\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_reserved_ipv6\",\n \"parameters\": [],\n \"path\": \"/v2/reserved_ipv6\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_reserved_ipv6\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/reserved_ipv6\",\n \"tags\": []\n },\n \"post_v2_reserved_ipv6_reserved_ipv6_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/reserved_ipv6/{reserved_ipv6}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_reserved_ipv6_reserved_ipv6_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `reserved_ipv6`.\",\n \"in\": \"path\",\n \"name\": \"reserved_ipv6\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/reserved_ipv6/{reserved_ipv6}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_reserved_ipv6_reserved_ipv6_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/reserved_ipv6/{reserved_ipv6}/actions\",\n \"tags\": []\n },\n \"post_v2_security_scans\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/security/scans\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_security_scans\",\n \"parameters\": [],\n \"path\": \"/v2/security/scans\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_security_scans\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/security/scans\",\n \"tags\": []\n },\n \"post_v2_security_scans_rules\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/security/scans/rules\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_security_scans_rules\",\n \"parameters\": [],\n \"path\": \"/v2/security/scans/rules\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_security_scans_rules\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/security/scans/rules\",\n \"tags\": []\n },\n \"post_v2_security_settings_suppressions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/security/settings/suppressions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_security_settings_suppressions\",\n \"parameters\": [],\n \"path\": \"/v2/security/settings/suppressions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_security_settings_suppressions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/security/settings/suppressions\",\n \"tags\": []\n },\n \"post_v2_spaces_keys\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/spaces/keys\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_spaces_keys\",\n \"parameters\": [],\n \"path\": \"/v2/spaces/keys\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_spaces_keys\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/spaces/keys\",\n \"tags\": []\n },\n \"post_v2_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/tags\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_tags\",\n \"parameters\": [],\n \"path\": \"/v2/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/tags\",\n \"tags\": []\n },\n \"post_v2_tags_tag_id_resources\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/tags/{tag_id}/resources\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_tags_tag_id_resources\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `tag_id`.\",\n \"in\": \"path\",\n \"name\": \"tag_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/tags/{tag_id}/resources\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_tags_tag_id_resources\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/tags/{tag_id}/resources\",\n \"tags\": []\n },\n \"post_v2_vector_databases\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/vector-databases\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_vector_databases\",\n \"parameters\": [],\n \"path\": \"/v2/vector-databases\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_vector_databases\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/vector-databases\",\n \"tags\": []\n },\n \"post_v2_vector_databases_id_backups_backup_id_restore\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_vector_databases_id_backups_backup_id_restore\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `backup_id`.\",\n \"in\": \"path\",\n \"name\": \"backup_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_vector_databases_id_backups_backup_id_restore\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/vector-databases/{id}/backups/{backup_id}/restore\",\n \"tags\": []\n },\n \"post_v2_vector_databases_id_resize\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/vector-databases/{id}/resize\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_vector_databases_id_resize\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/resize\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_vector_databases_id_resize\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/vector-databases/{id}/resize\",\n \"tags\": []\n },\n \"post_v2_volumes\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/volumes\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_volumes\",\n \"parameters\": [],\n \"path\": \"/v2/volumes\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_volumes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/volumes\",\n \"tags\": []\n },\n \"post_v2_volumes_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/volumes/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_volumes_actions\",\n \"parameters\": [],\n \"path\": \"/v2/volumes/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_volumes_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/volumes/actions\",\n \"tags\": []\n },\n \"post_v2_volumes_volume_id_actions\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/volumes/{volume_id}/actions\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_volumes_volume_id_actions\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}/actions\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_volumes_volume_id_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/volumes/{volume_id}/actions\",\n \"tags\": []\n },\n \"post_v2_volumes_volume_id_snapshots\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/volumes/{volume_id}/snapshots\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_volumes_volume_id_snapshots\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `volume_id`.\",\n \"in\": \"path\",\n \"name\": \"volume_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/volumes/{volume_id}/snapshots\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_volumes_volume_id_snapshots\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/volumes/{volume_id}/snapshots\",\n \"tags\": []\n },\n \"post_v2_vpcs\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/vpcs\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_vpcs\",\n \"parameters\": [],\n \"path\": \"/v2/vpcs\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_vpcs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/vpcs\",\n \"tags\": []\n },\n \"post_v2_vpcs_vpc_id_peerings\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"post_/v2/vpcs/{vpc_id}/peerings\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"post_v2_vpcs_vpc_id_peerings\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}/peerings\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"post_v2_vpcs_vpc_id_peerings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"post_/v2/vpcs/{vpc_id}/peerings\",\n \"tags\": []\n },\n \"put_v2_account_keys_ssh_key_identifier\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/account/keys/{ssh_key_identifier}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_account_keys_ssh_key_identifier\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `ssh_key_identifier`.\",\n \"in\": \"path\",\n \"name\": \"ssh_key_identifier\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/account/keys/{ssh_key_identifier}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_account_keys_ssh_key_identifier\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/account/keys/{ssh_key_identifier}\",\n \"tags\": []\n },\n \"put_v2_apps_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/apps/{id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_apps_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/apps/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_apps_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/apps/{id}\",\n \"tags\": []\n },\n \"put_v2_cdn_endpoints_cdn_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/cdn/endpoints/{cdn_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_cdn_endpoints_cdn_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cdn_id`.\",\n \"in\": \"path\",\n \"name\": \"cdn_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cdn/endpoints/{cdn_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_cdn_endpoints_cdn_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/cdn/endpoints/{cdn_id}\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_autoscale\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/autoscale\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_autoscale\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/autoscale\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_autoscale\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/autoscale\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_eviction_policy\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_eviction_policy\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_eviction_policy\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/eviction_policy\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_firewall\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/firewall\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_firewall\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/firewall\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_firewall\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/firewall\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_install_update\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/install_update\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_install_update\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/install_update\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_install_update\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/install_update\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_logsink_logsink_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `logsink_id`.\",\n \"in\": \"path\",\n \"name\": \"logsink_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_maintenance\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/maintenance\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_maintenance\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/maintenance\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_maintenance\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/maintenance\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_migrate\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/migrate\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_migrate\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/migrate\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_migrate\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/migrate\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_online_migration\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/online-migration\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_online_migration\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/online-migration\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_online_migration\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/online-migration\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_pools_pool_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `pool_name`.\",\n \"in\": \"path\",\n \"name\": \"pool_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/pools/{pool_name}\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_replicas_replica_name_promote\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_replicas_replica_name_promote\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `replica_name`.\",\n \"in\": \"path\",\n \"name\": \"replica_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_replicas_replica_name_promote\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_resize\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/resize\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_resize\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/resize\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_resize\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/resize\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_schema_registry_config\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/schema-registry/config\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `subject_name`.\",\n \"in\": \"path\",\n \"name\": \"subject_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_sql_mode\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_sql_mode\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_sql_mode\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/sql_mode\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_topics_topic_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `topic_name`.\",\n \"in\": \"path\",\n \"name\": \"topic_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/topics/{topic_name}\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_upgrade\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/upgrade\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_upgrade\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/upgrade\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_upgrade\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/upgrade\",\n \"tags\": []\n },\n \"put_v2_databases_database_cluster_uuid_users_username\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_database_cluster_uuid_users_username\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `database_cluster_uuid`.\",\n \"in\": \"path\",\n \"name\": \"database_cluster_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `username`.\",\n \"in\": \"path\",\n \"name\": \"username\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_database_cluster_uuid_users_username\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/{database_cluster_uuid}/users/{username}\",\n \"tags\": []\n },\n \"put_v2_databases_metrics_credentials\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/databases/metrics/credentials\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_databases_metrics_credentials\",\n \"parameters\": [],\n \"path\": \"/v2/databases/metrics/credentials\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_databases_metrics_credentials\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/databases/metrics/credentials\",\n \"tags\": []\n },\n \"put_v2_domains_domain_name_records_domain_record_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_domains_domain_name_records_domain_record_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `domain_name`.\",\n \"in\": \"path\",\n \"name\": \"domain_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `domain_record_id`.\",\n \"in\": \"path\",\n \"name\": \"domain_record_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_domains_domain_name_records_domain_record_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/domains/{domain_name}/records/{domain_record_id}\",\n \"tags\": []\n },\n \"put_v2_droplets_autoscale_autoscale_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_droplets_autoscale_autoscale_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `autoscale_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"autoscale_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_droplets_autoscale_autoscale_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/droplets/autoscale/{autoscale_pool_id}\",\n \"tags\": []\n },\n \"put_v2_firewalls_firewall_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/firewalls/{firewall_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_firewalls_firewall_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `firewall_id`.\",\n \"in\": \"path\",\n \"name\": \"firewall_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/firewalls/{firewall_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_firewalls_firewall_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/firewalls/{firewall_id}\",\n \"tags\": []\n },\n \"put_v2_functions_namespaces_namespace_id_keys_key_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_functions_namespaces_namespace_id_keys_key_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `key_id`.\",\n \"in\": \"path\",\n \"name\": \"key_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_functions_namespaces_namespace_id_keys_key_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/functions/namespaces/{namespace_id}/keys/{key_id}\",\n \"tags\": []\n },\n \"put_v2_functions_namespaces_namespace_id_triggers_trigger_name\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `namespace_id`.\",\n \"in\": \"path\",\n \"name\": \"namespace_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `trigger_name`.\",\n \"in\": \"path\",\n \"name\": \"trigger_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}\",\n \"tags\": []\n },\n \"put_v2_images_image_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/images/{image_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_images_image_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `image_id`.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/images/{image_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_images_image_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/images/{image_id}\",\n \"tags\": []\n },\n \"put_v2_kubernetes_clusters_cluster_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/kubernetes/clusters/{cluster_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_kubernetes_clusters_cluster_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_kubernetes_clusters_cluster_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/kubernetes/clusters/{cluster_id}\",\n \"tags\": []\n },\n \"put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `cluster_id`.\",\n \"in\": \"path\",\n \"name\": \"cluster_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `node_pool_id`.\",\n \"in\": \"path\",\n \"name\": \"node_pool_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}\",\n \"tags\": []\n },\n \"put_v2_load_balancers_lb_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/load_balancers/{lb_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_load_balancers_lb_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `lb_id`.\",\n \"in\": \"path\",\n \"name\": \"lb_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/load_balancers/{lb_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_load_balancers_lb_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/load_balancers/{lb_id}\",\n \"tags\": []\n },\n \"put_v2_monitoring_alerts_alert_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/monitoring/alerts/{alert_uuid}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_monitoring_alerts_alert_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `alert_uuid`.\",\n \"in\": \"path\",\n \"name\": \"alert_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/monitoring/alerts/{alert_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_monitoring_alerts_alert_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/monitoring/alerts/{alert_uuid}\",\n \"tags\": []\n },\n \"put_v2_projects_default\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/projects/default\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_projects_default\",\n \"parameters\": [],\n \"path\": \"/v2/projects/default\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_projects_default\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/projects/default\",\n \"tags\": []\n },\n \"put_v2_projects_project_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/projects/{project_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_projects_project_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `project_id`.\",\n \"in\": \"path\",\n \"name\": \"project_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/projects/{project_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_projects_project_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/projects/{project_id}\",\n \"tags\": []\n },\n \"put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `garbage_collection_uuid`.\",\n \"in\": \"path\",\n \"name\": \"garbage_collection_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"tags\": []\n },\n \"put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `registry_name`.\",\n \"in\": \"path\",\n \"name\": \"registry_name\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Path parameter `garbage_collection_uuid`.\",\n \"in\": \"path\",\n \"name\": \"garbage_collection_uuid\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}\",\n \"tags\": []\n },\n \"put_v2_security_settings_plan\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/security/settings/plan\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_security_settings_plan\",\n \"parameters\": [],\n \"path\": \"/v2/security/settings/plan\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_security_settings_plan\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/security/settings/plan\",\n \"tags\": []\n },\n \"put_v2_spaces_keys_access_key\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/spaces/keys/{access_key}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_spaces_keys_access_key\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `access_key`.\",\n \"in\": \"path\",\n \"name\": \"access_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/spaces/keys/{access_key}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_spaces_keys_access_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/spaces/keys/{access_key}\",\n \"tags\": []\n },\n \"put_v2_vector_databases_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/vector-databases/{id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_vector_databases_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_vector_databases_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/vector-databases/{id}\",\n \"tags\": []\n },\n \"put_v2_vector_databases_id_tags\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/vector-databases/{id}/tags\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_vector_databases_id_tags\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `id`.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vector-databases/{id}/tags\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_vector_databases_id_tags\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/vector-databases/{id}/tags\",\n \"tags\": []\n },\n \"put_v2_vpcs_vpc_id\": {\n \"base_url\": \"https://api.digitalocean.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"put_/v2/vpcs/{vpc_id}\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"put_v2_vpcs_vpc_id\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vpc_id`.\",\n \"in\": \"path\",\n \"name\": \"vpc_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vpcs/{vpc_id}\",\n \"request_body\": null,\n \"security\": null,\n \"skill_name\": \"put_v2_vpcs_vpc_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml\",\n \"source_title\": \"DigitalOcean API\",\n \"summary\": \"put_/v2/vpcs/{vpc_id}\",\n \"tags\": []\n }\n}") +OPERATION_GROUPS = json.loads("[\n {\n \"common_prefix\": \"/v2/1-clicks\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /v2/1-clicks for the 1 clicks route group.\",\n \"id\": \"op_1_clicks\",\n \"label\": \"1 clicks\",\n \"operation_ids\": [\n \"get_v2_1_clicks\",\n \"post_v2_1_clicks_kubernetes\"\n ],\n \"skill_dir\": \"op-1-clicks\",\n \"skill_name\": \"op-1-clicks-routes\",\n \"skill_path\": \"skills/op-1-clicks/SKILL.md\",\n \"subagent_name\": \"op-1-clicks-api\"\n },\n {\n \"common_prefix\": \"/v2/account\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /v2/account for the account route group.\",\n \"id\": \"account\",\n \"label\": \"account\",\n \"operation_ids\": [\n \"get_v2_account\",\n \"get_v2_account_keys\",\n \"post_v2_account_keys\",\n \"get_v2_account_keys_ssh_key_identifier\",\n \"put_v2_account_keys_ssh_key_identifier\",\n \"delete_v2_account_keys_ssh_key_identifier\"\n ],\n \"skill_dir\": \"account\",\n \"skill_name\": \"account-routes\",\n \"skill_path\": \"skills/account/SKILL.md\",\n \"subagent_name\": \"account-api\"\n },\n {\n \"common_prefix\": \"/v2/actions\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /v2/actions for the actions route group.\",\n \"id\": \"actions\",\n \"label\": \"actions\",\n \"operation_ids\": [\n \"get_v2_actions\",\n \"get_v2_actions_action_id\"\n ],\n \"skill_dir\": \"actions\",\n \"skill_name\": \"actions-routes\",\n \"skill_path\": \"skills/actions/SKILL.md\",\n \"subagent_name\": \"actions-api\"\n },\n {\n \"common_prefix\": \"/v2/add-ons\",\n \"description\": \"Handle 8 OpenAPI operation(s) under /v2/add-ons for the add ons route group.\",\n \"id\": \"add_ons\",\n \"label\": \"add ons\",\n \"operation_ids\": [\n \"get_v2_add_ons_apps\",\n \"get_v2_add_ons_apps_app_slug_metadata\",\n \"get_v2_add_ons_saas\",\n \"post_v2_add_ons_saas\",\n \"get_v2_add_ons_saas_resource_uuid\",\n \"delete_v2_add_ons_saas_resource_uuid\",\n \"patch_v2_add_ons_saas_resource_uuid\",\n \"patch_v2_add_ons_saas_resource_uuid_plan\"\n ],\n \"skill_dir\": \"add-ons\",\n \"skill_name\": \"add-ons-routes\",\n \"skill_path\": \"skills/add-ons/SKILL.md\",\n \"subagent_name\": \"add-ons-api\"\n },\n {\n \"common_prefix\": \"/v2/apps\",\n \"description\": \"Handle 38 OpenAPI operation(s) under /v2/apps for the apps route group.\",\n \"id\": \"apps\",\n \"label\": \"apps\",\n \"operation_ids\": [\n \"get_v2_apps\",\n \"post_v2_apps\",\n \"delete_v2_apps_id\",\n \"get_v2_apps_id\",\n \"put_v2_apps_id\",\n \"post_v2_apps_app_id_restart\",\n \"get_v2_apps_app_id_components_component_name_logs\",\n \"get_v2_apps_app_id_components_component_name_exec\",\n \"get_v2_apps_app_id_instances\",\n \"get_v2_apps_app_id_deployments\",\n \"post_v2_apps_app_id_deployments\",\n \"get_v2_apps_app_id_deployments_deployment_id\",\n \"post_v2_apps_app_id_deployments_deployment_id_cancel\",\n \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs\",\n \"get_v2_apps_app_id_deployments_deployment_id_logs\",\n \"get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec\",\n \"get_v2_apps_app_id_logs\",\n \"get_v2_apps_app_id_job_invocations\",\n \"get_v2_apps_app_id_job_invocations_job_invocation_id\",\n \"post_v2_apps_app_id_job_invocations_job_invocation_id_cancel\",\n \"get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs\",\n \"get_v2_apps_app_id_events\",\n \"get_v2_apps_app_id_events_event_id\",\n \"post_v2_apps_app_id_events_event_id_cancel\",\n \"get_v2_apps_app_id_events_event_id_logs\",\n \"get_v2_apps_tiers_instance_sizes\",\n \"get_v2_apps_tiers_instance_sizes_slug\",\n \"get_v2_apps_regions\",\n \"post_v2_apps_propose\",\n \"get_v2_apps_app_id_alerts\",\n \"post_v2_apps_app_id_alerts_alert_id_destinations\",\n \"post_v2_apps_app_id_rollback\",\n \"post_v2_apps_app_id_rollback_validate\",\n \"post_v2_apps_app_id_rollback_commit\",\n \"post_v2_apps_app_id_rollback_revert\",\n \"get_v2_apps_app_id_metrics_bandwidth_daily\",\n \"post_v2_apps_metrics_bandwidth_daily\",\n \"get_v2_apps_app_id_health\"\n ],\n \"skill_dir\": \"apps\",\n \"skill_name\": \"apps-routes\",\n \"skill_path\": \"skills/apps/SKILL.md\",\n \"subagent_name\": \"apps-api\"\n },\n {\n \"common_prefix\": \"/v2/cdn/endpoints\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /v2/cdn/endpoints for the cdn route group.\",\n \"id\": \"cdn\",\n \"label\": \"cdn\",\n \"operation_ids\": [\n \"get_v2_cdn_endpoints\",\n \"post_v2_cdn_endpoints\",\n \"get_v2_cdn_endpoints_cdn_id\",\n \"put_v2_cdn_endpoints_cdn_id\",\n \"delete_v2_cdn_endpoints_cdn_id\",\n \"delete_v2_cdn_endpoints_cdn_id_cache\"\n ],\n \"skill_dir\": \"cdn\",\n \"skill_name\": \"cdn-routes\",\n \"skill_path\": \"skills/cdn/SKILL.md\",\n \"subagent_name\": \"cdn-api\"\n },\n {\n \"common_prefix\": \"/v2/certificates\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /v2/certificates for the certificates route group.\",\n \"id\": \"certificates\",\n \"label\": \"certificates\",\n \"operation_ids\": [\n \"get_v2_certificates\",\n \"post_v2_certificates\",\n \"get_v2_certificates_certificate_id\",\n \"delete_v2_certificates_certificate_id\"\n ],\n \"skill_dir\": \"certificates\",\n \"skill_name\": \"certificates-routes\",\n \"skill_path\": \"skills/certificates/SKILL.md\",\n \"subagent_name\": \"certificates-api\"\n },\n {\n \"common_prefix\": \"/v2/customers/my\",\n \"description\": \"Handle 7 OpenAPI operation(s) under /v2/customers/my for the customers route group.\",\n \"id\": \"customers\",\n \"label\": \"customers\",\n \"operation_ids\": [\n \"get_v2_customers_my_balance\",\n \"get_v2_customers_my_billing_history\",\n \"get_v2_customers_my_invoices\",\n \"get_v2_customers_my_invoices_invoice_uuid\",\n \"get_v2_customers_my_invoices_invoice_uuid_csv\",\n \"get_v2_customers_my_invoices_invoice_uuid_pdf\",\n \"get_v2_customers_my_invoices_invoice_uuid_summary\"\n ],\n \"skill_dir\": \"customers\",\n \"skill_name\": \"customers-routes\",\n \"skill_path\": \"skills/customers/SKILL.md\",\n \"subagent_name\": \"customers-api\"\n },\n {\n \"common_prefix\": \"/v2/billing/{account_urn}/insights/{start_date}/{end_date}\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /v2/billing/{account_urn}/insights/{start_date}/{end_date} for the billing route group.\",\n \"id\": \"billing\",\n \"label\": \"billing\",\n \"operation_ids\": [\n \"get_v2_billing_account_urn_insights_start_date_end_date\"\n ],\n \"skill_dir\": \"billing\",\n \"skill_name\": \"billing-routes\",\n \"skill_path\": \"skills/billing/SKILL.md\",\n \"subagent_name\": \"billing-api\"\n },\n {\n \"common_prefix\": \"/v2/databases\",\n \"description\": \"Handle 69 OpenAPI operation(s) under /v2/databases for the databases route group.\",\n \"id\": \"databases\",\n \"label\": \"databases\",\n \"operation_ids\": [\n \"get_v2_databases_options\",\n \"get_v2_databases\",\n \"post_v2_databases\",\n \"get_v2_databases_database_cluster_uuid\",\n \"delete_v2_databases_database_cluster_uuid\",\n \"get_v2_databases_database_cluster_uuid_config\",\n \"patch_v2_databases_database_cluster_uuid_config\",\n \"get_v2_databases_database_cluster_uuid_ca\",\n \"get_v2_databases_database_cluster_uuid_online_migration\",\n \"put_v2_databases_database_cluster_uuid_online_migration\",\n \"delete_v2_databases_database_cluster_uuid_online_migration_migration_id\",\n \"put_v2_databases_database_cluster_uuid_migrate\",\n \"put_v2_databases_database_cluster_uuid_resize\",\n \"get_v2_databases_database_cluster_uuid_firewall\",\n \"put_v2_databases_database_cluster_uuid_firewall\",\n \"put_v2_databases_database_cluster_uuid_maintenance\",\n \"put_v2_databases_database_cluster_uuid_install_update\",\n \"get_v2_databases_database_cluster_uuid_backups\",\n \"get_v2_databases_database_cluster_uuid_replicas\",\n \"post_v2_databases_database_cluster_uuid_replicas\",\n \"get_v2_databases_database_cluster_uuid_events\",\n \"get_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"delete_v2_databases_database_cluster_uuid_replicas_replica_name\",\n \"put_v2_databases_database_cluster_uuid_replicas_replica_name_promote\",\n \"get_v2_databases_database_cluster_uuid_users\",\n \"post_v2_databases_database_cluster_uuid_users\",\n \"get_v2_databases_database_cluster_uuid_users_username\",\n \"delete_v2_databases_database_cluster_uuid_users_username\",\n \"put_v2_databases_database_cluster_uuid_users_username\",\n \"post_v2_databases_database_cluster_uuid_users_username_reset_auth\",\n \"get_v2_databases_database_cluster_uuid_dbs\",\n \"post_v2_databases_database_cluster_uuid_dbs\",\n \"get_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"delete_v2_databases_database_cluster_uuid_dbs_database_name\",\n \"get_v2_databases_database_cluster_uuid_pools\",\n \"post_v2_databases_database_cluster_uuid_pools\",\n \"get_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"put_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"delete_v2_databases_database_cluster_uuid_pools_pool_name\",\n \"get_v2_databases_database_cluster_uuid_eviction_policy\",\n \"put_v2_databases_database_cluster_uuid_eviction_policy\",\n \"get_v2_databases_database_cluster_uuid_sql_mode\",\n \"put_v2_databases_database_cluster_uuid_sql_mode\",\n \"put_v2_databases_database_cluster_uuid_upgrade\",\n \"get_v2_databases_database_cluster_uuid_autoscale\",\n \"put_v2_databases_database_cluster_uuid_autoscale\",\n \"get_v2_databases_database_cluster_uuid_topics\",\n \"post_v2_databases_database_cluster_uuid_topics\",\n \"get_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"put_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"delete_v2_databases_database_cluster_uuid_topics_topic_name\",\n \"get_v2_databases_database_cluster_uuid_logsink\",\n \"post_v2_databases_database_cluster_uuid_logsink\",\n \"get_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"put_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"delete_v2_databases_database_cluster_uuid_logsink_logsink_id\",\n \"get_v2_databases_database_cluster_uuid_schema_registry\",\n \"post_v2_databases_database_cluster_uuid_schema_registry\",\n \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"delete_v2_databases_database_cluster_uuid_schema_registry_subject_name\",\n \"get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver\",\n \"get_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"put_v2_databases_database_cluster_uuid_schema_registry_config\",\n \"get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name\",\n \"get_v2_databases_metrics_credentials\",\n \"put_v2_databases_metrics_credentials\",\n \"get_v2_databases_database_cluster_uuid_indexes\",\n \"delete_v2_databases_database_cluster_uuid_indexes_index_name\"\n ],\n \"skill_dir\": \"databases\",\n \"skill_name\": \"databases-routes\",\n \"skill_path\": \"skills/databases/SKILL.md\",\n \"subagent_name\": \"databases-api\"\n },\n {\n \"common_prefix\": \"/v2/dedicated-inferences\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/dedicated-inferences for the dedicated inferences route group.\",\n \"id\": \"dedicated_inferences\",\n \"label\": \"dedicated inferences\",\n \"operation_ids\": [\n \"get_v2_dedicated_inferences_dedicated_inference_id\",\n \"patch_v2_dedicated_inferences_dedicated_inference_id\",\n \"delete_v2_dedicated_inferences_dedicated_inference_id\",\n \"get_v2_dedicated_inferences\",\n \"post_v2_dedicated_inferences\",\n \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators\",\n \"get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id\",\n \"get_v2_dedicated_inferences_dedicated_inference_id_ca\",\n \"get_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"post_v2_dedicated_inferences_dedicated_inference_id_tokens\",\n \"delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id\",\n \"get_v2_dedicated_inferences_sizes\",\n \"get_v2_dedicated_inferences_gpu_model_config\"\n ],\n \"skill_dir\": \"dedicated-inferences\",\n \"skill_name\": \"dedicated-inferences-routes\",\n \"skill_path\": \"skills/dedicated-inferences/SKILL.md\",\n \"subagent_name\": \"dedicated-inferences-api\"\n },\n {\n \"common_prefix\": \"/v2/domains\",\n \"description\": \"Handle 10 OpenAPI operation(s) under /v2/domains for the domains route group.\",\n \"id\": \"domains\",\n \"label\": \"domains\",\n \"operation_ids\": [\n \"get_v2_domains\",\n \"post_v2_domains\",\n \"get_v2_domains_domain_name\",\n \"delete_v2_domains_domain_name\",\n \"get_v2_domains_domain_name_records\",\n \"post_v2_domains_domain_name_records\",\n \"get_v2_domains_domain_name_records_domain_record_id\",\n \"patch_v2_domains_domain_name_records_domain_record_id\",\n \"put_v2_domains_domain_name_records_domain_record_id\",\n \"delete_v2_domains_domain_name_records_domain_record_id\"\n ],\n \"skill_dir\": \"domains\",\n \"skill_name\": \"domains-routes\",\n \"skill_path\": \"skills/domains/SKILL.md\",\n \"subagent_name\": \"domains-api\"\n },\n {\n \"common_prefix\": \"/v2/droplets\",\n \"description\": \"Handle 30 OpenAPI operation(s) under /v2/droplets for the droplets route group.\",\n \"id\": \"droplets\",\n \"label\": \"droplets\",\n \"operation_ids\": [\n \"get_v2_droplets\",\n \"post_v2_droplets\",\n \"delete_v2_droplets\",\n \"get_v2_droplets_droplet_id\",\n \"delete_v2_droplets_droplet_id\",\n \"get_v2_droplets_droplet_id_backups\",\n \"get_v2_droplets_droplet_id_backups_policy\",\n \"get_v2_droplets_backups_policies\",\n \"get_v2_droplets_backups_supported_policies\",\n \"get_v2_droplets_droplet_id_snapshots\",\n \"get_v2_droplets_droplet_id_actions\",\n \"post_v2_droplets_droplet_id_actions\",\n \"post_v2_droplets_actions\",\n \"get_v2_droplets_droplet_id_actions_action_id\",\n \"get_v2_droplets_droplet_id_kernels\",\n \"get_v2_droplets_droplet_id_firewalls\",\n \"get_v2_droplets_droplet_id_neighbors\",\n \"get_v2_droplets_droplet_id_destroy_with_associated_resources\",\n \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective\",\n \"delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous\",\n \"get_v2_droplets_droplet_id_destroy_with_associated_resources_status\",\n \"post_v2_droplets_droplet_id_destroy_with_associated_resources_retry\",\n \"get_v2_droplets_autoscale\",\n \"post_v2_droplets_autoscale\",\n \"get_v2_droplets_autoscale_autoscale_pool_id\",\n \"put_v2_droplets_autoscale_autoscale_pool_id\",\n \"delete_v2_droplets_autoscale_autoscale_pool_id\",\n \"delete_v2_droplets_autoscale_autoscale_pool_id_dangerous\",\n \"get_v2_droplets_autoscale_autoscale_pool_id_members\",\n \"get_v2_droplets_autoscale_autoscale_pool_id_history\"\n ],\n \"skill_dir\": \"droplets\",\n \"skill_name\": \"droplets-routes\",\n \"skill_path\": \"skills/droplets/SKILL.md\",\n \"subagent_name\": \"droplets-api\"\n },\n {\n \"common_prefix\": \"/v2/firewalls\",\n \"description\": \"Handle 11 OpenAPI operation(s) under /v2/firewalls for the firewalls route group.\",\n \"id\": \"firewalls\",\n \"label\": \"firewalls\",\n \"operation_ids\": [\n \"get_v2_firewalls\",\n \"post_v2_firewalls\",\n \"get_v2_firewalls_firewall_id\",\n \"put_v2_firewalls_firewall_id\",\n \"delete_v2_firewalls_firewall_id\",\n \"post_v2_firewalls_firewall_id_droplets\",\n \"delete_v2_firewalls_firewall_id_droplets\",\n \"post_v2_firewalls_firewall_id_tags\",\n \"delete_v2_firewalls_firewall_id_tags\",\n \"post_v2_firewalls_firewall_id_rules\",\n \"delete_v2_firewalls_firewall_id_rules\"\n ],\n \"skill_dir\": \"firewalls\",\n \"skill_name\": \"firewalls-routes\",\n \"skill_path\": \"skills/firewalls/SKILL.md\",\n \"subagent_name\": \"firewalls-api\"\n },\n {\n \"common_prefix\": \"/v2/floating_ips\",\n \"description\": \"Handle 7 OpenAPI operation(s) under /v2/floating_ips for the floating ips route group.\",\n \"id\": \"floating_ips\",\n \"label\": \"floating ips\",\n \"operation_ids\": [\n \"get_v2_floating_ips\",\n \"post_v2_floating_ips\",\n \"get_v2_floating_ips_floating_ip\",\n \"delete_v2_floating_ips_floating_ip\",\n \"get_v2_floating_ips_floating_ip_actions\",\n \"post_v2_floating_ips_floating_ip_actions\",\n \"get_v2_floating_ips_floating_ip_actions_action_id\"\n ],\n \"skill_dir\": \"floating-ips\",\n \"skill_name\": \"floating-ips-routes\",\n \"skill_path\": \"skills/floating-ips/SKILL.md\",\n \"subagent_name\": \"floating-ips-api\"\n },\n {\n \"common_prefix\": \"/v2/functions/namespaces\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/functions/namespaces for the functions route group.\",\n \"id\": \"functions\",\n \"label\": \"functions\",\n \"operation_ids\": [\n \"get_v2_functions_namespaces\",\n \"post_v2_functions_namespaces\",\n \"get_v2_functions_namespaces_namespace_id\",\n \"delete_v2_functions_namespaces_namespace_id\",\n \"get_v2_functions_namespaces_namespace_id_triggers\",\n \"post_v2_functions_namespaces_namespace_id_triggers\",\n \"get_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"put_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"delete_v2_functions_namespaces_namespace_id_triggers_trigger_name\",\n \"get_v2_functions_namespaces_namespace_id_keys\",\n \"post_v2_functions_namespaces_namespace_id_keys\",\n \"put_v2_functions_namespaces_namespace_id_keys_key_id\",\n \"delete_v2_functions_namespaces_namespace_id_keys_key_id\"\n ],\n \"skill_dir\": \"functions\",\n \"skill_name\": \"functions-routes\",\n \"skill_path\": \"skills/functions/SKILL.md\",\n \"subagent_name\": \"functions-api\"\n },\n {\n \"common_prefix\": \"/v2/images\",\n \"description\": \"Handle 12 OpenAPI operation(s) under /v2/images for the images route group.\",\n \"id\": \"images\",\n \"label\": \"images\",\n \"operation_ids\": [\n \"get_v2_images\",\n \"post_v2_images\",\n \"get_v2_images_image_id\",\n \"put_v2_images_image_id\",\n \"delete_v2_images_image_id\",\n \"post_v2_images_image_id_account_transfer\",\n \"post_v2_images_image_id_account_transfer_accept\",\n \"post_v2_images_image_id_account_transfer_cancel\",\n \"post_v2_images_image_id_account_transfer_decline\",\n \"get_v2_images_image_id_actions\",\n \"post_v2_images_image_id_actions\",\n \"get_v2_images_image_id_actions_action_id\"\n ],\n \"skill_dir\": \"images\",\n \"skill_name\": \"images-routes\",\n \"skill_path\": \"skills/images/SKILL.md\",\n \"subagent_name\": \"images-api\"\n },\n {\n \"common_prefix\": \"/v2/kubernetes\",\n \"description\": \"Handle 28 OpenAPI operation(s) under /v2/kubernetes for the kubernetes route group.\",\n \"id\": \"kubernetes\",\n \"label\": \"kubernetes\",\n \"operation_ids\": [\n \"get_v2_kubernetes_clusters\",\n \"post_v2_kubernetes_clusters\",\n \"get_v2_kubernetes_clusters_cluster_id\",\n \"put_v2_kubernetes_clusters_cluster_id\",\n \"delete_v2_kubernetes_clusters_cluster_id\",\n \"get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources\",\n \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec\",\n \"delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange\",\n \"get_v2_kubernetes_clusters_cluster_id_kubeconfig\",\n \"get_v2_kubernetes_clusters_cluster_id_credentials\",\n \"get_v2_kubernetes_clusters_cluster_id_upgrades\",\n \"post_v2_kubernetes_clusters_cluster_id_upgrade\",\n \"get_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"post_v2_kubernetes_clusters_cluster_id_node_pools\",\n \"get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id\",\n \"delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id\",\n \"post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle\",\n \"get_v2_kubernetes_clusters_cluster_id_user\",\n \"get_v2_kubernetes_options\",\n \"post_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"get_v2_kubernetes_clusters_cluster_id_clusterlint\",\n \"post_v2_kubernetes_registry\",\n \"delete_v2_kubernetes_registry\",\n \"post_v2_kubernetes_registries\",\n \"delete_v2_kubernetes_registries\",\n \"get_v2_kubernetes_clusters_cluster_id_status_messages\"\n ],\n \"skill_dir\": \"kubernetes\",\n \"skill_name\": \"kubernetes-routes\",\n \"skill_path\": \"skills/kubernetes/SKILL.md\",\n \"subagent_name\": \"kubernetes-api\"\n },\n {\n \"common_prefix\": \"/v2/load_balancers\",\n \"description\": \"Handle 10 OpenAPI operation(s) under /v2/load_balancers for the load balancers route group.\",\n \"id\": \"load_balancers\",\n \"label\": \"load balancers\",\n \"operation_ids\": [\n \"post_v2_load_balancers\",\n \"get_v2_load_balancers\",\n \"get_v2_load_balancers_lb_id\",\n \"put_v2_load_balancers_lb_id\",\n \"delete_v2_load_balancers_lb_id\",\n \"delete_v2_load_balancers_lb_id_cache\",\n \"post_v2_load_balancers_lb_id_droplets\",\n \"delete_v2_load_balancers_lb_id_droplets\",\n \"post_v2_load_balancers_lb_id_forwarding_rules\",\n \"delete_v2_load_balancers_lb_id_forwarding_rules\"\n ],\n \"skill_dir\": \"load-balancers\",\n \"skill_name\": \"load-balancers-routes\",\n \"skill_path\": \"skills/load-balancers/SKILL.md\",\n \"subagent_name\": \"load-balancers-api\"\n },\n {\n \"common_prefix\": \"/v2/monitoring\",\n \"description\": \"Handle 72 OpenAPI operation(s) under /v2/monitoring for the monitoring route group.\",\n \"id\": \"monitoring\",\n \"label\": \"monitoring\",\n \"operation_ids\": [\n \"get_v2_monitoring_alerts\",\n \"post_v2_monitoring_alerts\",\n \"get_v2_monitoring_alerts_alert_uuid\",\n \"put_v2_monitoring_alerts_alert_uuid\",\n \"delete_v2_monitoring_alerts_alert_uuid\",\n \"get_v2_monitoring_metrics_droplet_bandwidth\",\n \"get_v2_monitoring_metrics_droplet_cpu\",\n \"get_v2_monitoring_metrics_droplet_filesystem_free\",\n \"get_v2_monitoring_metrics_droplet_filesystem_size\",\n \"get_v2_monitoring_metrics_droplet_load_1\",\n \"get_v2_monitoring_metrics_droplet_load_5\",\n \"get_v2_monitoring_metrics_droplet_load_15\",\n \"get_v2_monitoring_metrics_droplet_memory_cached\",\n \"get_v2_monitoring_metrics_droplet_memory_free\",\n \"get_v2_monitoring_metrics_droplet_memory_total\",\n \"get_v2_monitoring_metrics_droplet_memory_available\",\n \"get_v2_monitoring_metrics_apps_memory_percentage\",\n \"get_v2_monitoring_metrics_apps_cpu_percentage\",\n \"get_v2_monitoring_metrics_apps_restart_count\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_connections_current\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_connections_limit\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_http_responses\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit\",\n \"get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_queue_size\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_http_responses\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_connections\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_health_checks\",\n \"get_v2_monitoring_metrics_load_balancer_droplets_downtime\",\n \"get_v2_monitoring_metrics_droplet_autoscale_current_instances\",\n \"get_v2_monitoring_metrics_droplet_autoscale_target_instances\",\n \"get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization\",\n \"get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization\",\n \"get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization\",\n \"get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization\",\n \"get_v2_monitoring_metrics_database_mysql_cpu_usage\",\n \"get_v2_monitoring_metrics_database_mysql_load\",\n \"get_v2_monitoring_metrics_database_mysql_memory_usage\",\n \"get_v2_monitoring_metrics_database_mysql_disk_usage\",\n \"get_v2_monitoring_metrics_database_mysql_threads_connected\",\n \"get_v2_monitoring_metrics_database_mysql_threads_created_rate\",\n \"get_v2_monitoring_metrics_database_mysql_threads_active\",\n \"get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads\",\n \"get_v2_monitoring_metrics_database_mysql_op_rates\",\n \"get_v2_monitoring_metrics_database_mysql_schema_throughput\",\n \"get_v2_monitoring_metrics_database_mysql_schema_latency\",\n \"post_v2_monitoring_sinks_destinations\",\n \"get_v2_monitoring_sinks_destinations\",\n \"get_v2_monitoring_sinks_destinations_destination_uuid\",\n \"post_v2_monitoring_sinks_destinations_destination_uuid\",\n \"delete_v2_monitoring_sinks_destinations_destination_uuid\",\n \"post_v2_monitoring_sinks\",\n \"get_v2_monitoring_sinks\",\n \"get_v2_monitoring_sinks_sink_uuid\",\n \"delete_v2_monitoring_sinks_sink_uuid\"\n ],\n \"skill_dir\": \"monitoring\",\n \"skill_name\": \"monitoring-routes\",\n \"skill_path\": \"skills/monitoring/SKILL.md\",\n \"subagent_name\": \"monitoring-api\"\n },\n {\n \"common_prefix\": \"/v2/nfs\",\n \"description\": \"Handle 12 OpenAPI operation(s) under /v2/nfs for the nfs route group.\",\n \"id\": \"nfs\",\n \"label\": \"nfs\",\n \"operation_ids\": [\n \"post_v2_nfs\",\n \"get_v2_nfs\",\n \"get_v2_nfs_nfs_id\",\n \"delete_v2_nfs_nfs_id\",\n \"post_v2_nfs_nfs_id_actions\",\n \"get_v2_nfs_snapshots\",\n \"get_v2_nfs_snapshots_nfs_snapshot_id\",\n \"delete_v2_nfs_snapshots_nfs_snapshot_id\",\n \"post_v2_nfs_shares_share_id_access_points\",\n \"get_v2_nfs_shares_share_id_access_points\",\n \"get_v2_nfs_access_points_access_point_id\",\n \"delete_v2_nfs_access_points_access_point_id\"\n ],\n \"skill_dir\": \"nfs\",\n \"skill_name\": \"nfs-routes\",\n \"skill_path\": \"skills/nfs/SKILL.md\",\n \"subagent_name\": \"nfs-api\"\n },\n {\n \"common_prefix\": \"/v2/partner_network_connect/attachments\",\n \"description\": \"Handle 9 OpenAPI operation(s) under /v2/partner_network_connect/attachments for the partner network connect route group.\",\n \"id\": \"partner_network_connect\",\n \"label\": \"partner network connect\",\n \"operation_ids\": [\n \"get_v2_partner_network_connect_attachments\",\n \"post_v2_partner_network_connect_attachments\",\n \"get_v2_partner_network_connect_attachments_pa_id\",\n \"patch_v2_partner_network_connect_attachments_pa_id\",\n \"delete_v2_partner_network_connect_attachments_pa_id\",\n \"get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key\",\n \"get_v2_partner_network_connect_attachments_pa_id_remote_routes\",\n \"get_v2_partner_network_connect_attachments_pa_id_service_key\",\n \"post_v2_partner_network_connect_attachments_pa_id_service_key\"\n ],\n \"skill_dir\": \"partner-network-connect\",\n \"skill_name\": \"partner-network-connect-routes\",\n \"skill_path\": \"skills/partner-network-connect/SKILL.md\",\n \"subagent_name\": \"partner-network-connect-api\"\n },\n {\n \"common_prefix\": \"/v2/projects\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/projects for the projects route group.\",\n \"id\": \"projects\",\n \"label\": \"projects\",\n \"operation_ids\": [\n \"get_v2_projects\",\n \"post_v2_projects\",\n \"get_v2_projects_default\",\n \"put_v2_projects_default\",\n \"patch_v2_projects_default\",\n \"get_v2_projects_project_id\",\n \"put_v2_projects_project_id\",\n \"patch_v2_projects_project_id\",\n \"delete_v2_projects_project_id\",\n \"get_v2_projects_project_id_resources\",\n \"post_v2_projects_project_id_resources\",\n \"get_v2_projects_default_resources\",\n \"post_v2_projects_default_resources\"\n ],\n \"skill_dir\": \"projects\",\n \"skill_name\": \"projects-routes\",\n \"skill_path\": \"skills/projects/SKILL.md\",\n \"subagent_name\": \"projects-api\"\n },\n {\n \"common_prefix\": \"/v2/regions\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /v2/regions for the regions route group.\",\n \"id\": \"regions\",\n \"label\": \"regions\",\n \"operation_ids\": [\n \"get_v2_regions\"\n ],\n \"skill_dir\": \"regions\",\n \"skill_name\": \"regions-routes\",\n \"skill_path\": \"skills/regions/SKILL.md\",\n \"subagent_name\": \"regions-api\"\n },\n {\n \"common_prefix\": \"/v2/registries\",\n \"description\": \"Handle 19 OpenAPI operation(s) under /v2/registries for the registries route group.\",\n \"id\": \"registries\",\n \"label\": \"registries\",\n \"operation_ids\": [\n \"get_v2_registries\",\n \"post_v2_registries\",\n \"get_v2_registries_registry_name\",\n \"delete_v2_registries_registry_name\",\n \"get_v2_registries_registry_name_docker_credentials\",\n \"get_v2_registries_subscription\",\n \"post_v2_registries_subscription\",\n \"get_v2_registries_options\",\n \"get_v2_registries_registry_name_garbage_collection\",\n \"post_v2_registries_registry_name_garbage_collection\",\n \"get_v2_registries_registry_name_garbage_collections\",\n \"put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid\",\n \"get_v2_registries_registry_name_repositories_v2\",\n \"delete_v2_registries_registry_name_repositories_repository_name\",\n \"get_v2_registries_registry_name_repositories_repository_name_tags\",\n \"delete_v2_registries_registry_name_repositories_repository_name_tags_repository_\",\n \"get_v2_registries_registry_name_repositories_repository_name_digests\",\n \"delete_v2_registries_registry_name_repositories_repository_name_digests_manifest\",\n \"post_v2_registries_validate_name\"\n ],\n \"skill_dir\": \"registries\",\n \"skill_name\": \"registries-routes\",\n \"skill_path\": \"skills/registries/SKILL.md\",\n \"subagent_name\": \"registries-api\"\n },\n {\n \"common_prefix\": \"/v2/registry\",\n \"description\": \"Handle 18 OpenAPI operation(s) under /v2/registry for the registry route group.\",\n \"id\": \"registry\",\n \"label\": \"registry\",\n \"operation_ids\": [\n \"get_v2_registry\",\n \"post_v2_registry\",\n \"delete_v2_registry\",\n \"get_v2_registry_subscription\",\n \"post_v2_registry_subscription\",\n \"get_v2_registry_docker_credentials\",\n \"post_v2_registry_validate_name\",\n \"get_v2_registry_registry_name_repositories\",\n \"get_v2_registry_registry_name_repositories_v2\",\n \"get_v2_registry_registry_name_repositories_repository_name_tags\",\n \"delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta\",\n \"get_v2_registry_registry_name_repositories_repository_name_digests\",\n \"delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d\",\n \"post_v2_registry_registry_name_garbage_collection\",\n \"get_v2_registry_registry_name_garbage_collection\",\n \"get_v2_registry_registry_name_garbage_collections\",\n \"put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid\",\n \"get_v2_registry_options\"\n ],\n \"skill_dir\": \"registry\",\n \"skill_name\": \"registry-routes\",\n \"skill_path\": \"skills/registry/SKILL.md\",\n \"subagent_name\": \"registry-api\"\n },\n {\n \"common_prefix\": \"/v2/reports/droplet_neighbors_ids\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /v2/reports/droplet_neighbors_ids for the reports route group.\",\n \"id\": \"reports\",\n \"label\": \"reports\",\n \"operation_ids\": [\n \"get_v2_reports_droplet_neighbors_ids\"\n ],\n \"skill_dir\": \"reports\",\n \"skill_name\": \"reports-routes\",\n \"skill_path\": \"skills/reports/SKILL.md\",\n \"subagent_name\": \"reports-api\"\n },\n {\n \"common_prefix\": \"/v2/reserved_ips\",\n \"description\": \"Handle 7 OpenAPI operation(s) under /v2/reserved_ips for the reserved ips route group.\",\n \"id\": \"reserved_ips\",\n \"label\": \"reserved ips\",\n \"operation_ids\": [\n \"get_v2_reserved_ips\",\n \"post_v2_reserved_ips\",\n \"get_v2_reserved_ips_reserved_ip\",\n \"delete_v2_reserved_ips_reserved_ip\",\n \"get_v2_reserved_ips_reserved_ip_actions\",\n \"post_v2_reserved_ips_reserved_ip_actions\",\n \"get_v2_reserved_ips_reserved_ip_actions_action_id\"\n ],\n \"skill_dir\": \"reserved-ips\",\n \"skill_name\": \"reserved-ips-routes\",\n \"skill_path\": \"skills/reserved-ips/SKILL.md\",\n \"subagent_name\": \"reserved-ips-api\"\n },\n {\n \"common_prefix\": \"/v2/reserved_ipv6\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /v2/reserved_ipv6 for the reserved ipv6 route group.\",\n \"id\": \"reserved_ipv6\",\n \"label\": \"reserved ipv6\",\n \"operation_ids\": [\n \"get_v2_reserved_ipv6\",\n \"post_v2_reserved_ipv6\",\n \"get_v2_reserved_ipv6_reserved_ipv6\",\n \"delete_v2_reserved_ipv6_reserved_ipv6\",\n \"post_v2_reserved_ipv6_reserved_ipv6_actions\"\n ],\n \"skill_dir\": \"reserved-ipv6\",\n \"skill_name\": \"reserved-ipv6-routes\",\n \"skill_path\": \"skills/reserved-ipv6/SKILL.md\",\n \"subagent_name\": \"reserved-ipv6-api\"\n },\n {\n \"common_prefix\": \"/v2/byoip_prefixes\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /v2/byoip_prefixes for the byoip prefixes route group.\",\n \"id\": \"byoip_prefixes\",\n \"label\": \"byoip prefixes\",\n \"operation_ids\": [\n \"post_v2_byoip_prefixes\",\n \"get_v2_byoip_prefixes\",\n \"get_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"delete_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"patch_v2_byoip_prefixes_byoip_prefix_uuid\",\n \"get_v2_byoip_prefixes_byoip_prefix_uuid_ips\"\n ],\n \"skill_dir\": \"byoip-prefixes\",\n \"skill_name\": \"byoip-prefixes-routes\",\n \"skill_path\": \"skills/byoip-prefixes/SKILL.md\",\n \"subagent_name\": \"byoip-prefixes-api\"\n },\n {\n \"common_prefix\": \"/v2/security\",\n \"description\": \"Handle 10 OpenAPI operation(s) under /v2/security for the security route group.\",\n \"id\": \"security\",\n \"label\": \"security\",\n \"operation_ids\": [\n \"get_v2_security_scans\",\n \"post_v2_security_scans\",\n \"get_v2_security_scans_scan_id\",\n \"get_v2_security_scans_latest\",\n \"post_v2_security_scans_rules\",\n \"get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources\",\n \"get_v2_security_settings\",\n \"put_v2_security_settings_plan\",\n \"post_v2_security_settings_suppressions\",\n \"delete_v2_security_settings_suppressions_suppression_uuid\"\n ],\n \"skill_dir\": \"security\",\n \"skill_name\": \"security-routes\",\n \"skill_path\": \"skills/security/SKILL.md\",\n \"subagent_name\": \"security-api\"\n },\n {\n \"common_prefix\": \"/v2/sizes\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /v2/sizes for the sizes route group.\",\n \"id\": \"sizes\",\n \"label\": \"sizes\",\n \"operation_ids\": [\n \"get_v2_sizes\"\n ],\n \"skill_dir\": \"sizes\",\n \"skill_name\": \"sizes-routes\",\n \"skill_path\": \"skills/sizes/SKILL.md\",\n \"subagent_name\": \"sizes-api\"\n },\n {\n \"common_prefix\": \"/v2/snapshots\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /v2/snapshots for the snapshots route group.\",\n \"id\": \"snapshots\",\n \"label\": \"snapshots\",\n \"operation_ids\": [\n \"get_v2_snapshots\",\n \"get_v2_snapshots_snapshot_id\",\n \"delete_v2_snapshots_snapshot_id\"\n ],\n \"skill_dir\": \"snapshots\",\n \"skill_name\": \"snapshots-routes\",\n \"skill_path\": \"skills/snapshots/SKILL.md\",\n \"subagent_name\": \"snapshots-api\"\n },\n {\n \"common_prefix\": \"/v2/spaces/keys\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /v2/spaces/keys for the spaces route group.\",\n \"id\": \"spaces\",\n \"label\": \"spaces\",\n \"operation_ids\": [\n \"get_v2_spaces_keys\",\n \"post_v2_spaces_keys\",\n \"get_v2_spaces_keys_access_key\",\n \"delete_v2_spaces_keys_access_key\",\n \"put_v2_spaces_keys_access_key\",\n \"patch_v2_spaces_keys_access_key\"\n ],\n \"skill_dir\": \"spaces\",\n \"skill_name\": \"spaces-routes\",\n \"skill_path\": \"skills/spaces/SKILL.md\",\n \"subagent_name\": \"spaces-api\"\n },\n {\n \"common_prefix\": \"/v2/tags\",\n \"description\": \"Handle 6 OpenAPI operation(s) under /v2/tags for the tags route group.\",\n \"id\": \"tags\",\n \"label\": \"tags\",\n \"operation_ids\": [\n \"get_v2_tags\",\n \"post_v2_tags\",\n \"get_v2_tags_tag_id\",\n \"delete_v2_tags_tag_id\",\n \"post_v2_tags_tag_id_resources\",\n \"delete_v2_tags_tag_id_resources\"\n ],\n \"skill_dir\": \"tags\",\n \"skill_name\": \"tags-routes\",\n \"skill_path\": \"skills/tags/SKILL.md\",\n \"subagent_name\": \"tags-api\"\n },\n {\n \"common_prefix\": \"/v2/vector-databases\",\n \"description\": \"Handle 11 OpenAPI operation(s) under /v2/vector-databases for the vector databases route group.\",\n \"id\": \"vector_databases\",\n \"label\": \"vector databases\",\n \"operation_ids\": [\n \"get_v2_vector_databases\",\n \"post_v2_vector_databases\",\n \"get_v2_vector_databases_id\",\n \"put_v2_vector_databases_id\",\n \"delete_v2_vector_databases_id\",\n \"get_v2_vector_databases_id_backups\",\n \"get_v2_vector_databases_id_backups_backup_id_restore\",\n \"post_v2_vector_databases_id_backups_backup_id_restore\",\n \"get_v2_vector_databases_id_credentials\",\n \"post_v2_vector_databases_id_resize\",\n \"put_v2_vector_databases_id_tags\"\n ],\n \"skill_dir\": \"vector-databases\",\n \"skill_name\": \"vector-databases-routes\",\n \"skill_path\": \"skills/vector-databases/SKILL.md\",\n \"subagent_name\": \"vector-databases-api\"\n },\n {\n \"common_prefix\": \"/v2/volumes\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/volumes for the volumes route group.\",\n \"id\": \"volumes\",\n \"label\": \"volumes\",\n \"operation_ids\": [\n \"get_v2_volumes\",\n \"post_v2_volumes\",\n \"delete_v2_volumes\",\n \"post_v2_volumes_actions\",\n \"get_v2_volumes_snapshots_snapshot_id\",\n \"delete_v2_volumes_snapshots_snapshot_id\",\n \"get_v2_volumes_volume_id\",\n \"delete_v2_volumes_volume_id\",\n \"get_v2_volumes_volume_id_actions\",\n \"post_v2_volumes_volume_id_actions\",\n \"get_v2_volumes_volume_id_actions_action_id\",\n \"get_v2_volumes_volume_id_snapshots\",\n \"post_v2_volumes_volume_id_snapshots\"\n ],\n \"skill_dir\": \"volumes\",\n \"skill_name\": \"volumes-routes\",\n \"skill_path\": \"skills/volumes/SKILL.md\",\n \"subagent_name\": \"volumes-api\"\n },\n {\n \"common_prefix\": \"/v2/vpcs\",\n \"description\": \"Handle 10 OpenAPI operation(s) under /v2/vpcs for the vpcs route group.\",\n \"id\": \"vpcs\",\n \"label\": \"vpcs\",\n \"operation_ids\": [\n \"get_v2_vpcs\",\n \"post_v2_vpcs\",\n \"get_v2_vpcs_vpc_id\",\n \"put_v2_vpcs_vpc_id\",\n \"patch_v2_vpcs_vpc_id\",\n \"delete_v2_vpcs_vpc_id\",\n \"get_v2_vpcs_vpc_id_members\",\n \"get_v2_vpcs_vpc_id_peerings\",\n \"post_v2_vpcs_vpc_id_peerings\",\n \"patch_v2_vpcs_vpc_id_peerings_vpc_peering_id\"\n ],\n \"skill_dir\": \"vpcs\",\n \"skill_name\": \"vpcs-routes\",\n \"skill_path\": \"skills/vpcs/SKILL.md\",\n \"subagent_name\": \"vpcs-api\"\n }\n]") +ROOT_SECURITY = json.loads("[\n {\n \"bearer_auth\": []\n }\n]") +SECURITY_SCHEMES = json.loads("{\n \"bearer_auth\": {\n \"description\": \"## OAuth Authentication\\n\\nIn order to interact with the DigitalOcean API, you or your application must\\nauthenticate.\\n\\nThe DigitalOcean API handles this through OAuth, an open standard for\\nauthorization. OAuth allows you to delegate access to your account.\\nScopes can be used to grant full access, read-only access, or access to\\na specific set of endpoints.\\n\\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\\nsection of the DigitalOcean control panel for your account.\\n\\nAn OAuth token functions as a complete authentication request. In effect, it\\nacts as a substitute for a username and password pair.\\n\\nBecause of this, it is absolutely **essential** that you keep your OAuth\\ntokens secure. In fact, upon generation, the web interface will only display\\neach token a single time in order to prevent the token from being compromised.\\n\\nDigitalOcean access tokens begin with an identifiable prefix in order to\\ndistinguish them from other similar tokens.\\n\\n- `dop_v1_` for personal access tokens generated in the control panel\\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\\n- `dor_v1_` for OAuth refresh tokens\\n\\n### Scopes\\n\\nScopes act like permissions assigned to an API token. These permissions\\ndetermine what actions the token can perform. You can create API\\ntokens that grant read-only access, full access, or limited access to\\nspecific endpoints by using custom scopes.\\n\\nGenerally, scopes are designed to match HTTP verbs and common CRUD\\noperations (Create, Read, Update, Delete).\\n\\n| HTTP Verb | CRUD Operation | Scope |\\n|---|---|---|\\n| GET | Read | `:read` |\\n| POST | Create | `:create` |\\n| PUT/PATCH | Update | `:update` |\\n| DELETE | Delete | `:delete` |\\n\\nFor example, creating a new Droplet by making a `POST` request to the\\n`/v2/droplets` endpoint requires the `droplet:create` scope while\\nlisting Droplets by making a `GET` request to the `/v2/droplets`\\nendpoint requires the `droplet:read` scope.\\n\\nEach endpoint below specifies which scope is required to access it when\\nusing custom scopes.\\n\\n### How to Authenticate with OAuth\\n\\nIn order to make an authenticated request, include a bearer-type\\n`Authorization` header containing your OAuth token. All requests must be\\nmade over HTTPS.\\n\\n### Authenticate with a Bearer Authorization Header\\n\\n```\\ncurl -X $HTTP_METHOD -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\"https://api.digitalocean.com/v2/$OBJECT\\\"\\n```\\n\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n },\n \"inference_bearer_auth\": {\n \"description\": \"## OAuth Authentication\\n\\nIn order to interact with the DigitalOcean API, you or your application must\\nauthenticate.\\n\\nThe DigitalOcean API handles this through OAuth, an open standard for\\nauthorization. OAuth allows you to delegate access to your account.\\nScopes can be used to grant full access, read-only access, or access to\\na specific set of endpoints.\\n\\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\\nsection of the DigitalOcean control panel for your account.\\n\\nAn OAuth token functions as a complete authentication request. In effect, it\\nacts as a substitute for a username and password pair.\\n\\nBecause of this, it is absolutely **essential** that you keep your OAuth\\ntokens secure. In fact, upon generation, the web interface will only display\\neach token a single time in order to prevent the token from being compromised.\\n\\nDigitalOcean access tokens begin with an identifiable prefix in order to\\ndistinguish them from other similar tokens.\\n\\n- `dop_v1_` for personal access tokens generated in the control panel\\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\\n- `dor_v1_` for OAuth refresh tokens\\n\\n### Authenticate with a Bearer Authorization Header\\n\\n**Serverless Inference:**\\n\\n```\\ncurl -X POST -H \\\"Authorization: Bearer $DIGITALOCEAN_TOKEN\\\" \\\"https://inference.do-ai.run/v1/chat/completions\\\"\\n```\\n\\n**Agent Inference:**\\n\\n```\\ncurl -X POST -H \\\"Authorization: Bearer $AGENT_ACCESS_KEY\\\" \\\"https://{your-agent-url}.agents.do-ai.run/v1/chat/completions?agent=true\\\"\\n```\\n\\n**Note:** Agent Inference APIs use an `agent_access_key` (endpoint access\\nkey) instead of a DigitalOcean OAuth token. The `agent_access_key` is\\nprovided when you provision an agent endpoint and is scoped to that\\nspecific agent. It is not interchangeable with DigitalOcean OAuth tokens\\n(`dop_v1_*`, `doo_v1_*`, `dor_v1_*`), which are used with Serverless\\nInference and the control-plane API at `https://api.digitalocean.com`.\\n\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n}") +SECURITY_FIELDS = json.loads("{\n \"bearer_auth\": {\n \"field\": \"HTTP_METHOD\",\n \"kind\": \"http\",\n \"scheme\": \"bearer\"\n },\n \"inference_bearer_auth\": {\n \"field\": \"DIGITALOCEAN_TOKEN\",\n \"kind\": \"http\",\n \"scheme\": \"bearer\"\n }\n}") +PATH_PARAMETER_RE = re.compile(r"{([^}/]+)}") +SOURCE_ROOT = Path(globals().get("__file__", "agent.py")).resolve().parent +SOURCE_SKILLS_DIR = SOURCE_ROOT / "skills" +RUNTIME_SKILLS_DIR = ".deepagents/openapi-skills/" + + +class OperationInput(BaseModel): + parameters: dict[str, Any] = Field( + default_factory=dict, + description="Path, query, header, and cookie parameters keyed by OpenAPI parameter name.", + ) + body: Any | None = Field(default=None, description="JSON request body, when the operation accepts one.") + + +class DigitaloceanOpenapiAgent(A2AAgent): + name = "digitalocean-openapi-agent" + description = "Cloud control-plane API for compute, storage, networking, databases, and AI features." + version = "2.0" + consumer_setup = ConsumerSetup.from_fields( + ConsumerSetupField.config("OPENAPI_BASE_URL", label="API base URL", description="Override the default API server (https://api.digitalocean.com).", required=False, input_type="url"), + ConsumerSetupField.secret("HTTP_METHOD", label="bearer_auth bearer credential", description="## OAuth Authentication\n\nIn order to interact with the DigitalOcean API, you or your application must\nauthenticate.\n\nThe DigitalOcean API handles this through OAuth, an open standard for\nauthorization. OAuth allows you to delegate access to your account.\nScopes can be used to grant full access, read-only access, or access to\na specific set of endpoints.\n\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\nsection of the DigitalOcean control panel for your account.\n\nAn OAuth token functions as a complete authentication request. In effect, it\nacts as a substitute for a username and password pair.\n\nBecause of this, it is absolutely **essential** that you keep your OAuth\ntokens secure. In fact, upon generation, the web interface will only display\neach token a single time in order to prevent the token from being compromised.\n\nDigitalOcean access tokens begin with an identifiable prefix in order to\ndistinguish them from other similar tokens.\n\n- `dop_v1_` for personal access tokens generated in the control panel\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\n- `dor_v1_` for OAuth refresh tokens\n\n### Scopes\n\nScopes act like permissions assigned to an API token. These permissions\ndetermine what actions the token can perform. You can create API\ntokens that grant read-only access, full access, or limited access to\nspecific endpoints by using custom scopes.\n\nGenerally, scopes are designed to match HTTP verbs and common CRUD\noperations (Create, Read, Update, Delete).\n\n| HTTP Verb | CRUD Operation | Scope |\n|---|---|---|\n| GET | Read | `:read` |\n| POST | Create | `:create` |\n| PUT/PATCH | Update | `:update` |\n| DELETE | Delete | `:delete` |\n\nFor example, creating a new Droplet by making a `POST` request to the\n`/v2/droplets` endpoint requires the `droplet:create` scope while\nlisting Droplets by making a `GET` request to the `/v2/droplets`\nendpoint requires the `droplet:read` scope.\n\nEach endpoint below specifies which scope is required to access it when\nusing custom scopes.\n\n### How to Authenticate with OAuth\n\nIn order to make an authenticated request, include a bearer-type\n`Authorization` header containing your OAuth token. All requests must be\nmade over HTTPS.\n\n### Authenticate with a Bearer Authorization Header\n\n```\ncurl -X $HTTP_METHOD -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \"https://api.digitalocean.com/v2/$OBJECT\"\n```", required=True), + ConsumerSetupField.secret("DIGITALOCEAN_TOKEN", label="inference_bearer_auth bearer credential", description="## OAuth Authentication\n\nIn order to interact with the DigitalOcean API, you or your application must\nauthenticate.\n\nThe DigitalOcean API handles this through OAuth, an open standard for\nauthorization. OAuth allows you to delegate access to your account.\nScopes can be used to grant full access, read-only access, or access to\na specific set of endpoints.\n\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\nsection of the DigitalOcean control panel for your account.\n\nAn OAuth token functions as a complete authentication request. In effect, it\nacts as a substitute for a username and password pair.\n\nBecause of this, it is absolutely **essential** that you keep your OAuth\ntokens secure. In fact, upon generation, the web interface will only display\neach token a single time in order to prevent the token from being compromised.\n\nDigitalOcean access tokens begin with an identifiable prefix in order to\ndistinguish them from other similar tokens.\n\n- `dop_v1_` for personal access tokens generated in the control panel\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\n- `dor_v1_` for OAuth refresh tokens\n\n### Authenticate with a Bearer Authorization Header\n\n**Serverless Inference:**\n\n```\ncurl -X POST -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \"https://inference.do-ai.run/v1/chat/completions\"\n```\n\n**Agent Inference:**\n\n```\ncurl -X POST -H \"Authorization: Bearer $AGENT_ACCESS_KEY\" \"https://{your-agent-url}.agents.do-ai.run/v1/chat/completions?agent=true\"\n```\n\n**Note:** Agent Inference APIs use an `agent_access_key` (endpoint access\nkey) instead of a DigitalOcean OAuth token. The `agent_access_key` is\nprovided when you provision an agent endpoint and is scoped to that\nspecific agent. It is not interchangeable with DigitalOcean OAuth tokens\n(`dop_v1_*`, `doo_v1_*`, `dor_v1_*`), which are used with Serverless\nInference and the control-plane API at `https://api.digitalocean.com`.", required=False), + ) + llm_provisioning = LLMProvisioning.PLATFORM + pricing = Pricing( + price_per_call_usd=0.0, + caller_pays_llm=True, + notes="Uses the caller's saved LLM credential through ctx.llm.", + ) + resources = Resources(cpu="200m", memory="512Mi") + egress = EgressPolicy( + allow_hosts=('api.digitalocean.com',), + deny_internet_by_default=True, + ) + tools_used = ("openapi", "deepagents") + capabilities = { + "openapi_auto_agent": { + "operation_count": len(OPERATIONS), + "default_base_url": DEFAULT_BASE_URL, + "source_openapi_url": 'https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml', + "source_openapi_urls": ['https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml'], + "server_urls": ['https://api.digitalocean.com'], + "regenerable": True, + "security_schemes": list(SECURITY_SCHEMES), + } + } + + @skill( + name="auto", + description="Use the OpenAPI service to complete a natural-language goal.", + tags=("openapi", "auto"), + timeout_seconds=900, + ) + async def auto(self, ctx: RunContext, goal: str) -> dict[str, Any]: + creds = ctx.llm + if not creds.api_key: + return { + "error": "llm_credentials_missing", + "final": ( + "LLM key required. Add an LLM credential in Settings > " + "LLM credentials before running this agent." + ), + "messages": [], + } + backend = ctx.workspace_backend() + skills_root = _seed_runtime_skills(backend, ctx) + graph = create_a2a_deep_agent( + ctx, + creds=creds, + backend=backend, + tools=[], + subagents=self._operation_subagents(ctx, skills_root), + system_prompt=self._system_prompt(), + ) + result = await graph.ainvoke({"messages": [{"role": "user", "content": goal}]}) + messages = result.get("messages", []) if isinstance(result, dict) else [] + final = _message_text(messages[-1]) if messages else result + return { + "final": final, + "messages": [_message_to_dict(message) for message in messages[-8:]], + } + + + + def _operation_subagents(self, ctx: RunContext, skills_root: str) -> list[dict[str, Any]]: + subagents: list[dict[str, Any]] = [] + for group in OPERATION_GROUPS: + skill_path = ( + f"{skills_root}{group['skill_dir']}/" + if skills_root + else "" + ) + subagent = { + "name": group["subagent_name"], + "description": group["description"], + "system_prompt": self._subagent_prompt(group), + "tools": self._operation_tools(ctx, set(group["operation_ids"])), + } + if skill_path: + subagent["skills"] = [skill_path] + subagents.append(subagent) + return subagents + + def _operation_tools( + self, + ctx: RunContext, + operation_ids: set[str] | None = None, + ) -> list[StructuredTool]: + tools: list[StructuredTool] = [] + for operation_id, operation in OPERATIONS.items(): + if operation_ids is not None and operation_id not in operation_ids: + continue + async def call( + parameters: dict[str, Any] | None = None, + body: Any | None = None, + *, + _operation_id: str = operation_id, + ) -> dict[str, Any]: + return await self._request( + ctx, + _operation_id, + parameters=parameters or {}, + body=body, + ) + + tools.append( + StructuredTool.from_function( + coroutine=call, + name=operation["skill_name"], + description=self._tool_description(operation), + args_schema=OperationInput, + ) + ) + return tools + + def _system_prompt(self) -> str: + if OPERATION_GROUPS: + lines = [ + "You coordinate route-specific OpenAPI subagents.", + "Delegate API work to the matching subagent with the task tool.", + "Do not invent API responses; ask subagents to call their tools for real results.", + "If a subagent reports missing consumer setup, tell the user which setup field is required.", + "If a subagent reports that the generated OpenAPI agent may be stale, ask whether the user wants to refresh it from the latest OpenAPI spec.", + "", + "Available route groups:", + ] + for group in OPERATION_GROUPS: + lines.append( + f"- {group['subagent_name']}: {group['description']}" + ) + return "\n".join(lines) + lines = [ + "You operate an API through generated OpenAPI tools.", + "Call tools to get real results. Do not invent API responses.", + "For write, update, or delete operations, explain the intended action before calling the tool.", + "If an operation reports missing consumer setup, tell the user which setup field is required.", + "If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, tell the user this generated agent may need to be refreshed from the latest OpenAPI spec and ask whether they want to refresh it.", + "", + "Available operations:", + ] + for operation in OPERATIONS.values(): + marker = "WRITE" if operation.get("destructive") else "READ" + lines.append( + f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']} — {operation['summary']}" + ) + return "\n".join(lines) + + def _subagent_prompt(self, group: dict[str, Any]) -> str: + lines = [ + "You operate one route group from a generated OpenAPI API.", + "Use the available operation tools to make real API calls. Do not invent API responses.", + "Read the route group's SKILL.md when it applies; it lists every route you cover.", + "For write, update, or delete operations, explain the intended action before calling the tool.", + "If an operation reports missing consumer setup, return the exact setup field name.", + "If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, say the generated agent may need to be refreshed from the latest OpenAPI spec.", + "", + f"Route group: {group['label']}", + f"Common prefix: {group.get('common_prefix') or '/'}", + "Available operation tools:", + ] + for operation_id in group["operation_ids"]: + operation = OPERATIONS[operation_id] + marker = "WRITE" if operation.get("destructive") else "READ" + lines.append( + f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']} - {operation['summary']}" + ) + return "\n".join(lines) + + def _tool_description(self, operation: dict[str, Any]) -> str: + parts = [ + f"{operation['method']} {operation['path']}", + str(operation.get("description") or operation.get("summary") or ""), + ] + if operation.get("parameters"): + parts.append( + "Parameters: " + + ", ".join( + f"{p['name']} in {p['in']}{' required' if p.get('required') else ''}" + for p in operation["parameters"] + ) + ) + if operation.get("request_body") is not None: + parts.append("Accepts a JSON request body.") + return "\n".join(part for part in parts if part) + + async def _request( + self, + ctx: RunContext, + operation_id: str, + *, + parameters: dict[str, Any], + body: Any | None, + ) -> dict[str, Any]: + operation = OPERATIONS[operation_id] + default_base_url = str(operation.get("base_url") or DEFAULT_BASE_URL).rstrip("/") + base_url_field = str(operation.get("base_url_field") or "OPENAPI_BASE_URL") + base_url = str(ctx.consumer_config(base_url_field, default_base_url) or default_base_url).rstrip("/") + url, query, headers = self._request_parts(ctx, operation, parameters) + request_kwargs: dict[str, Any] = { + "params": query, + "headers": headers, + } + if body is not None: + if isinstance(body, (bytes, bytearray)): + body = body.decode("utf-8", errors="replace") + if isinstance(body, str): + stripped = body.strip() + if stripped and stripped[0] in "{[": + try: + body = json.loads(stripped) + except ValueError: + pass + request_kwargs["json"] = body + async with httpx.AsyncClient(timeout=60.0, follow_redirects=True) as client: + response = await client.request( + operation["method"], + f"{base_url}{url}", + **request_kwargs, + ) + content_type = response.headers.get("content-type", "") + try: + payload: Any = response.json() if "json" in content_type else response.text + except ValueError: + payload = response.text + if response.status_code >= 400: + out = { + "ok": False, + "status_code": response.status_code, + "operation_id": operation_id, + "error": payload, + } + if response.status_code in {404, 405, 410, 422}: + out["stale_openapi_hint"] = ( + "This generated OpenAPI agent may be stale. Ask the user " + "whether they want to refresh it from the latest OpenAPI spec." + ) + return out + return { + "ok": True, + "status_code": response.status_code, + "operation_id": operation_id, + "result": payload, + } + + def _request_parts( + self, + ctx: RunContext, + operation: dict[str, Any], + parameters: dict[str, Any], + ) -> tuple[str, dict[str, Any], dict[str, str]]: + path = operation["path"] + query: dict[str, Any] = {} + headers: dict[str, str] = {} + cookies: dict[str, Any] = {} + for param in operation.get("parameters") or []: + name = param["name"] + if name not in parameters: + if param.get("required"): + raise ValueError(f"missing required parameter {name!r}") + continue + value = parameters[name] + location = param["in"] + if location == "path": + path = path.replace("{" + name + "}", str(value)) + elif location == "query": + query[name] = value + elif location == "header": + headers[name] = str(value) + elif location == "cookie": + cookies[name] = value + unresolved = PATH_PARAMETER_RE.findall(path) + if unresolved: + missing = ", ".join(sorted(set(unresolved))) + raise ValueError("missing required path parameter(s): " + missing) + if cookies: + headers["cookie"] = "; ".join(f"{key}={value}" for key, value in cookies.items()) + auth_headers, auth_query = self._auth_for_operation(ctx, operation) + headers.update(auth_headers) + query.update(auth_query) + return path, query, headers + + def _auth_for_operation(self, ctx: RunContext, operation: dict[str, Any]) -> tuple[dict[str, str], dict[str, Any]]: + requirements = operation.get("security") + if requirements is None: + requirements = ROOT_SECURITY + if requirements == []: + return {}, {} + missing: list[str] = [] + for requirement in requirements or []: + if not isinstance(requirement, dict) or not requirement: + return {}, {} + headers: dict[str, str] = {} + query: dict[str, Any] = {} + ok = True + for scheme_name in requirement: + mapping = SECURITY_FIELDS.get(scheme_name) or {} + secret_name = mapping.get("field") + value = _consumer_secret_optional(ctx, secret_name) if secret_name else "" + if not value: + ok = False + if secret_name: + missing.append(secret_name) + continue + kind = mapping.get("kind") + if kind == "apiKey": + prefix = mapping.get("prefix") or "" + sent_value = f"{prefix}{value}" + if mapping.get("location") == "query": + query[mapping.get("name") or scheme_name] = sent_value + else: + headers[mapping.get("name") or scheme_name] = sent_value + elif kind in {"http", "oauth2"}: + scheme = mapping.get("scheme") or "Bearer" + if scheme.lower() == "basic": + token = base64.b64encode(value.encode("utf-8")).decode("ascii") + headers["authorization"] = f"Basic {token}" + else: + headers["authorization"] = f"{scheme} {value}" + else: + ok = False + if ok: + return headers, query + if missing: + raise ConsumerSetupMissing( + "operation requires consumer setup secret(s): " + + ", ".join(sorted(set(missing))) + ) + return {}, {} + + +def _consumer_secret_optional(ctx: RunContext, name: str | None) -> str: + if not name: + return "" + try: + return ctx.consumer_secret(name) + except ConsumerSetupMissing: + return "" + + +def _runtime_skills_root(ctx: RunContext) -> str: + workspace = getattr(ctx, "_workspace", None) + prefixes = tuple(getattr(workspace, "write_prefixes", ()) or ()) + if not prefixes: + outputs_prefix = getattr(workspace, "outputs_prefix", None) + prefixes = (outputs_prefix or "outputs/",) + prefix = str(prefixes[0]).strip("/") + return f"/{prefix}/{RUNTIME_SKILLS_DIR}" if prefix else f"/{RUNTIME_SKILLS_DIR}" + + +def _seed_runtime_skills(backend: Any, ctx: RunContext) -> str: + if not SOURCE_SKILLS_DIR.exists(): + return "" + runtime_root = _runtime_skills_root(ctx) + uploads: list[tuple[str, bytes]] = [] + for path in SOURCE_SKILLS_DIR.rglob("*"): + if not path.is_file(): + continue + rel = path.relative_to(SOURCE_SKILLS_DIR).as_posix() + uploads.append((runtime_root + rel, path.read_bytes())) + if not uploads: + return "" + backend.upload_files(uploads) + return runtime_root + + +def _message_text(message: Any) -> Any: + content = getattr(message, "content", message) + return content + + +def _message_to_dict(message: Any) -> dict[str, Any]: + if isinstance(message, BaseMessage): + return message.model_dump(mode="json") + if hasattr(message, "model_dump"): + return message.model_dump(mode="json") + if isinstance(message, dict): + return message + return {"content": str(message)} + + +agent = DigitaloceanOpenapiAgent() diff --git a/openapi.json b/openapi.json new file mode 100644 index 0000000..2330933 --- /dev/null +++ b/openapi.json @@ -0,0 +1,3184 @@ +{ + "components": { + "securitySchemes": { + "bearer_auth": { + "description": "## OAuth Authentication\n\nIn order to interact with the DigitalOcean API, you or your application must\nauthenticate.\n\nThe DigitalOcean API handles this through OAuth, an open standard for\nauthorization. OAuth allows you to delegate access to your account.\nScopes can be used to grant full access, read-only access, or access to\na specific set of endpoints.\n\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\nsection of the DigitalOcean control panel for your account.\n\nAn OAuth token functions as a complete authentication request. In effect, it\nacts as a substitute for a username and password pair.\n\nBecause of this, it is absolutely **essential** that you keep your OAuth\ntokens secure. In fact, upon generation, the web interface will only display\neach token a single time in order to prevent the token from being compromised.\n\nDigitalOcean access tokens begin with an identifiable prefix in order to\ndistinguish them from other similar tokens.\n\n- `dop_v1_` for personal access tokens generated in the control panel\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\n- `dor_v1_` for OAuth refresh tokens\n\n### Scopes\n\nScopes act like permissions assigned to an API token. These permissions\ndetermine what actions the token can perform. You can create API\ntokens that grant read-only access, full access, or limited access to\nspecific endpoints by using custom scopes.\n\nGenerally, scopes are designed to match HTTP verbs and common CRUD\noperations (Create, Read, Update, Delete).\n\n| HTTP Verb | CRUD Operation | Scope |\n|---|---|---|\n| GET | Read | `:read` |\n| POST | Create | `:create` |\n| PUT/PATCH | Update | `:update` |\n| DELETE | Delete | `:delete` |\n\nFor example, creating a new Droplet by making a `POST` request to the\n`/v2/droplets` endpoint requires the `droplet:create` scope while\nlisting Droplets by making a `GET` request to the `/v2/droplets`\nendpoint requires the `droplet:read` scope.\n\nEach endpoint below specifies which scope is required to access it when\nusing custom scopes.\n\n### How to Authenticate with OAuth\n\nIn order to make an authenticated request, include a bearer-type\n`Authorization` header containing your OAuth token. All requests must be\nmade over HTTPS.\n\n### Authenticate with a Bearer Authorization Header\n\n```\ncurl -X $HTTP_METHOD -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \"https://api.digitalocean.com/v2/$OBJECT\"\n```\n", + "scheme": "bearer", + "type": "http" + }, + "inference_bearer_auth": { + "description": "## OAuth Authentication\n\nIn order to interact with the DigitalOcean API, you or your application must\nauthenticate.\n\nThe DigitalOcean API handles this through OAuth, an open standard for\nauthorization. OAuth allows you to delegate access to your account.\nScopes can be used to grant full access, read-only access, or access to\na specific set of endpoints.\n\nYou can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)\nsection of the DigitalOcean control panel for your account.\n\nAn OAuth token functions as a complete authentication request. In effect, it\nacts as a substitute for a username and password pair.\n\nBecause of this, it is absolutely **essential** that you keep your OAuth\ntokens secure. In fact, upon generation, the web interface will only display\neach token a single time in order to prevent the token from being compromised.\n\nDigitalOcean access tokens begin with an identifiable prefix in order to\ndistinguish them from other similar tokens.\n\n- `dop_v1_` for personal access tokens generated in the control panel\n- `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)\n- `dor_v1_` for OAuth refresh tokens\n\n### Authenticate with a Bearer Authorization Header\n\n**Serverless Inference:**\n\n```\ncurl -X POST -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \"https://inference.do-ai.run/v1/chat/completions\"\n```\n\n**Agent Inference:**\n\n```\ncurl -X POST -H \"Authorization: Bearer $AGENT_ACCESS_KEY\" \"https://{your-agent-url}.agents.do-ai.run/v1/chat/completions?agent=true\"\n```\n\n**Note:** Agent Inference APIs use an `agent_access_key` (endpoint access\nkey) instead of a DigitalOcean OAuth token. The `agent_access_key` is\nprovided when you provision an agent endpoint and is scoped to that\nspecific agent. It is not interchangeable with DigitalOcean OAuth tokens\n(`dop_v1_*`, `doo_v1_*`, `dor_v1_*`), which are used with Serverless\nInference and the control-plane API at `https://api.digitalocean.com`.\n", + "scheme": "bearer", + "type": "http" + } + } + }, + "info": { + "contact": { + "email": "api-engineering@digitalocean.com", + "name": "DigitalOcean API Team" + }, + "description": "", + "license": { + "name": "Apache 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" + }, + "termsOfService": "https://www.digitalocean.com/legal/terms-of-service-agreement/", + "title": "DigitalOcean API", + "version": "2.0" + }, + "openapi": "3.0.0", + "paths": { + "/": { + "put": { + "$ref": "resources/inference/inference_upload_batch_file.yml" + } + }, + "/api/v1/chat/completions": { + "post": { + "$ref": "resources/inference/agent_inference_create_chat_completion.yml" + } + }, + "/v1/async-invoke": { + "post": { + "$ref": "resources/inference/inference_async_invoke.yml" + } + }, + "/v1/batches": { + "get": { + "$ref": "resources/inference/inference_list_batches.yml" + }, + "post": { + "$ref": "resources/inference/inference_create_batch.yml" + } + }, + "/v1/batches/files": { + "post": { + "$ref": "resources/inference/inference_create_batch_file.yml" + } + }, + "/v1/batches/{batch_id}": { + "get": { + "$ref": "resources/inference/inference_get_batch.yml" + } + }, + "/v1/batches/{batch_id}/cancel": { + "post": { + "$ref": "resources/inference/inference_cancel_batch.yml" + } + }, + "/v1/batches/{batch_id}/results": { + "get": { + "$ref": "resources/inference/inference_get_batch_results.yml" + } + }, + "/v1/chat/completions": { + "post": { + "$ref": "resources/inference/inference_create_chat_completion.yml" + } + }, + "/v1/embeddings": { + "post": { + "$ref": "resources/inference/inference_create_embeddings.yml" + } + }, + "/v1/images/generations": { + "post": { + "$ref": "resources/inference/inference_create_image.yml" + } + }, + "/v1/messages": { + "post": { + "$ref": "resources/inference/inference_create_messages.yml" + } + }, + "/v1/models": { + "get": { + "$ref": "resources/inference/inference_list_models.yml" + } + }, + "/v1/responses": { + "post": { + "$ref": "resources/inference/inference_create_response.yml" + } + }, + "/v2/1-clicks": { + "get": { + "$ref": "resources/1-clicks/oneClicks_list.yml" + } + }, + "/v2/1-clicks/kubernetes": { + "post": { + "$ref": "resources/1-clicks/oneClicks_install_kubernetes.yml" + } + }, + "/v2/account": { + "get": { + "$ref": "resources/account/account_get.yml" + } + }, + "/v2/account/keys": { + "get": { + "$ref": "resources/ssh_keys/sshKeys_list.yml" + }, + "post": { + "$ref": "resources/ssh_keys/sshKeys_create.yml" + } + }, + "/v2/account/keys/{ssh_key_identifier}": { + "delete": { + "$ref": "resources/ssh_keys/sshKeys_delete.yml" + }, + "get": { + "$ref": "resources/ssh_keys/sshKeys_get.yml" + }, + "put": { + "$ref": "resources/ssh_keys/sshKeys_update.yml" + } + }, + "/v2/actions": { + "get": { + "$ref": "resources/actions/actions_list.yml" + } + }, + "/v2/actions/{action_id}": { + "get": { + "$ref": "resources/actions/actions_get.yml" + } + }, + "/v2/add-ons/apps": { + "get": { + "$ref": "resources/addons/addons_get_app.yml" + } + }, + "/v2/add-ons/apps/{app_slug}/metadata": { + "get": { + "$ref": "resources/addons/addons_get_app_metadata.yml" + } + }, + "/v2/add-ons/saas": { + "get": { + "$ref": "resources/addons/addons_list.yml" + }, + "post": { + "$ref": "resources/addons/addons_create.yml" + } + }, + "/v2/add-ons/saas/{resource_uuid}": { + "delete": { + "$ref": "resources/addons/addons_delete.yml" + }, + "get": { + "$ref": "resources/addons/addons_get.yml" + }, + "patch": { + "$ref": "resources/addons/addons_update.yml" + } + }, + "/v2/add-ons/saas/{resource_uuid}/plan": { + "patch": { + "$ref": "resources/addons/addons_update_plan.yml" + } + }, + "/v2/apps": { + "get": { + "$ref": "resources/apps/apps_list.yml" + }, + "post": { + "$ref": "resources/apps/apps_create.yml" + } + }, + "/v2/apps/metrics/bandwidth_daily": { + "post": { + "$ref": "resources/apps/apps_list_metrics_bandwidth_usage.yml" + } + }, + "/v2/apps/propose": { + "post": { + "$ref": "resources/apps/apps_validate_appSpec.yml" + } + }, + "/v2/apps/regions": { + "get": { + "$ref": "resources/apps/apps_list_regions.yml" + } + }, + "/v2/apps/tiers/instance_sizes": { + "get": { + "$ref": "resources/apps/apps_list_instanceSizes.yml" + } + }, + "/v2/apps/tiers/instance_sizes/{slug}": { + "get": { + "$ref": "resources/apps/apps_get_instanceSize.yml" + } + }, + "/v2/apps/{app_id}/alerts": { + "get": { + "$ref": "resources/apps/apps_list_alerts.yml" + } + }, + "/v2/apps/{app_id}/alerts/{alert_id}/destinations": { + "post": { + "$ref": "resources/apps/apps_assign_alertDestinations.yml" + } + }, + "/v2/apps/{app_id}/components/{component_name}/exec": { + "get": { + "$ref": "resources/apps/apps_get_exec_active_deployment.yml" + } + }, + "/v2/apps/{app_id}/components/{component_name}/logs": { + "get": { + "$ref": "resources/apps/apps_get_logs_active_deployment.yml" + } + }, + "/v2/apps/{app_id}/deployments": { + "get": { + "$ref": "resources/apps/apps_list_deployments.yml" + }, + "post": { + "$ref": "resources/apps/apps_create_deployment.yml" + } + }, + "/v2/apps/{app_id}/deployments/{deployment_id}": { + "get": { + "$ref": "resources/apps/apps_get_deployment.yml" + } + }, + "/v2/apps/{app_id}/deployments/{deployment_id}/cancel": { + "post": { + "$ref": "resources/apps/apps_cancel_deployment.yml" + } + }, + "/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec": { + "get": { + "$ref": "resources/apps/apps_get_exec.yml" + } + }, + "/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs": { + "get": { + "$ref": "resources/apps/apps_get_logs.yml" + } + }, + "/v2/apps/{app_id}/deployments/{deployment_id}/logs": { + "get": { + "$ref": "resources/apps/apps_get_logs_aggregate.yml" + } + }, + "/v2/apps/{app_id}/events": { + "get": { + "$ref": "resources/apps/apps_list_events.yml" + } + }, + "/v2/apps/{app_id}/events/{event_id}": { + "get": { + "$ref": "resources/apps/apps_get_event.yml" + } + }, + "/v2/apps/{app_id}/events/{event_id}/cancel": { + "post": { + "$ref": "resources/apps/apps_cancel_event.yml" + } + }, + "/v2/apps/{app_id}/events/{event_id}/logs": { + "get": { + "$ref": "resources/apps/apps_get_event_logs.yml" + } + }, + "/v2/apps/{app_id}/health": { + "get": { + "$ref": "resources/apps/apps_get_health.yml" + } + }, + "/v2/apps/{app_id}/instances": { + "get": { + "$ref": "resources/apps/apps_get_instances.yml" + } + }, + "/v2/apps/{app_id}/job-invocations": { + "get": { + "$ref": "resources/apps/apps_list_job_invocations.yml" + } + }, + "/v2/apps/{app_id}/job-invocations/{job_invocation_id}": { + "get": { + "$ref": "resources/apps/apps_get_job_invocation.yml" + } + }, + "/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel": { + "post": { + "$ref": "resources/apps/apps_cancel_job_invocation.yml" + } + }, + "/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs": { + "get": { + "$ref": "resources/apps/apps_get_job_invocation_logs.yml" + } + }, + "/v2/apps/{app_id}/logs": { + "get": { + "$ref": "resources/apps/apps_get_logs_active_deployment_aggregate.yml" + } + }, + "/v2/apps/{app_id}/metrics/bandwidth_daily": { + "get": { + "$ref": "resources/apps/apps_get_metrics_bandwidth_usage.yml" + } + }, + "/v2/apps/{app_id}/restart": { + "post": { + "$ref": "resources/apps/apps_restart.yml" + } + }, + "/v2/apps/{app_id}/rollback": { + "post": { + "$ref": "resources/apps/apps_create_rollback.yml" + } + }, + "/v2/apps/{app_id}/rollback/commit": { + "post": { + "$ref": "resources/apps/apps_commit_rollback.yml" + } + }, + "/v2/apps/{app_id}/rollback/revert": { + "post": { + "$ref": "resources/apps/apps_revert_rollback.yml" + } + }, + "/v2/apps/{app_id}/rollback/validate": { + "post": { + "$ref": "resources/apps/apps_validate_rollback.yml" + } + }, + "/v2/apps/{id}": { + "delete": { + "$ref": "resources/apps/apps_delete.yml" + }, + "get": { + "$ref": "resources/apps/apps_get.yml" + }, + "put": { + "$ref": "resources/apps/apps_update.yml" + } + }, + "/v2/billing/{account_urn}/insights/{start_date}/{end_date}": { + "get": { + "$ref": "resources/billing/billingInsights_list.yml" + } + }, + "/v2/byoip_prefixes": { + "get": { + "$ref": "resources/byoip_prefixes/byoip_prefixes_list.yml" + }, + "post": { + "$ref": "resources/byoip_prefixes/byoip_prefixes_create.yml" + } + }, + "/v2/byoip_prefixes/{byoip_prefix_uuid}": { + "delete": { + "$ref": "resources/byoip_prefixes/byoip_prefixes_delete.yml" + }, + "get": { + "$ref": "resources/byoip_prefixes/byoip_prefixes_get.yml" + }, + "patch": { + "$ref": "resources/byoip_prefixes/byoip_prefixes_update.yml" + } + }, + "/v2/byoip_prefixes/{byoip_prefix_uuid}/ips": { + "get": { + "$ref": "resources/byoip_prefixes/byoip_prefix_list_resources.yml" + } + }, + "/v2/cdn/endpoints": { + "get": { + "$ref": "resources/cdn/cdn_list_endpoints.yml" + }, + "post": { + "$ref": "resources/cdn/cdn_create_endpoint.yml" + } + }, + "/v2/cdn/endpoints/{cdn_id}": { + "delete": { + "$ref": "resources/cdn/cdn_delete_endpoint.yml" + }, + "get": { + "$ref": "resources/cdn/cdn_get_endpoint.yml" + }, + "put": { + "$ref": "resources/cdn/cdn_update_endpoint.yml" + } + }, + "/v2/cdn/endpoints/{cdn_id}/cache": { + "delete": { + "$ref": "resources/cdn/cdn_purge_cache.yml" + } + }, + "/v2/certificates": { + "get": { + "$ref": "resources/certificates/certificates_list.yml" + }, + "post": { + "$ref": "resources/certificates/certificates_create.yml" + } + }, + "/v2/certificates/{certificate_id}": { + "delete": { + "$ref": "resources/certificates/certificates_delete.yml" + }, + "get": { + "$ref": "resources/certificates/certificates_get.yml" + } + }, + "/v2/customers/my/balance": { + "get": { + "$ref": "resources/billing/balance_get.yml" + } + }, + "/v2/customers/my/billing_history": { + "get": { + "$ref": "resources/billing/billingHistory_list.yml" + } + }, + "/v2/customers/my/invoices": { + "get": { + "$ref": "resources/billing/invoices_list.yml" + } + }, + "/v2/customers/my/invoices/{invoice_uuid}": { + "get": { + "$ref": "resources/billing/invoices_get_byUUID.yml" + } + }, + "/v2/customers/my/invoices/{invoice_uuid}/csv": { + "get": { + "$ref": "resources/billing/invoices_get_csvByUUID.yml" + } + }, + "/v2/customers/my/invoices/{invoice_uuid}/pdf": { + "get": { + "$ref": "resources/billing/invoices_get_pdfByUUID.yml" + } + }, + "/v2/customers/my/invoices/{invoice_uuid}/summary": { + "get": { + "$ref": "resources/billing/invoices_get_summaryByUUID.yml" + } + }, + "/v2/databases": { + "get": { + "$ref": "resources/databases/databases_list_clusters.yml" + }, + "post": { + "$ref": "resources/databases/databases_create_cluster.yml" + } + }, + "/v2/databases/metrics/credentials": { + "get": { + "$ref": "resources/databases/databases_get_cluster_metrics_credentials.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_cluster_metrics_credentials.yml" + } + }, + "/v2/databases/options": { + "get": { + "$ref": "resources/databases/databases_list_options.yml" + } + }, + "/v2/databases/{database_cluster_uuid}": { + "delete": { + "$ref": "resources/databases/databases_destroy_cluster.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_cluster.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/autoscale": { + "get": { + "$ref": "resources/databases/databases_get_autoscale.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_autoscale.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/backups": { + "get": { + "$ref": "resources/databases/databases_list_backups.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/ca": { + "get": { + "$ref": "resources/databases/databases_get_ca.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/config": { + "get": { + "$ref": "resources/databases/databases_get_config.yml" + }, + "patch": { + "$ref": "resources/databases/databases_patch_config.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/dbs": { + "get": { + "$ref": "resources/databases/databases_list.yml" + }, + "post": { + "$ref": "resources/databases/databases_add.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/dbs/{database_name}": { + "delete": { + "$ref": "resources/databases/databases_delete.yml" + }, + "get": { + "$ref": "resources/databases/databases_get.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/events": { + "get": { + "$ref": "resources/databases/databases_events_logs.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/eviction_policy": { + "get": { + "$ref": "resources/databases/databases_get_evictionPolicy.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_evictionPolicy.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/firewall": { + "get": { + "$ref": "resources/databases/databases_list_firewall_rules.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_firewall_rules.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/indexes": { + "get": { + "$ref": "resources/databases/databases_list_opensearch_indexes.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/indexes/{index_name}": { + "delete": { + "$ref": "resources/databases/databases_delete_opensearch_index.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/install_update": { + "put": { + "$ref": "resources/databases/databases_update_installUpdate.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/logsink": { + "get": { + "$ref": "resources/databases/databases_list_logsink.yml" + }, + "post": { + "$ref": "resources/databases/databases_create_logsink.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}": { + "delete": { + "$ref": "resources/databases/databases_delete_logsink.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_logsink.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_logsink.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/maintenance": { + "put": { + "$ref": "resources/databases/databases_update_maintenanceWindow.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/migrate": { + "put": { + "$ref": "resources/databases/databases_update_region.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/online-migration": { + "get": { + "$ref": "resources/databases/databases_get_migrationStatus.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_onlineMigration.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}": { + "delete": { + "$ref": "resources/databases/databases_delete_onlineMigration.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/pools": { + "get": { + "$ref": "resources/databases/databases_list_connectionPools.yml" + }, + "post": { + "$ref": "resources/databases/databases_add_connectionPool.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/pools/{pool_name}": { + "delete": { + "$ref": "resources/databases/databases_delete_connectionPool.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_connectionPool.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_connectionPool.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/replicas": { + "get": { + "$ref": "resources/databases/databases_list_replicas.yml" + }, + "post": { + "$ref": "resources/databases/databases_create_replica.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}": { + "delete": { + "$ref": "resources/databases/databases_destroy_replica.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_replica.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote": { + "put": { + "$ref": "resources/databases/databases_promote_replica.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/resize": { + "put": { + "$ref": "resources/databases/databases_update_clusterSize.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/schema-registry": { + "get": { + "$ref": "resources/databases/databases_list_kafka_schemas.yml" + }, + "post": { + "$ref": "resources/databases/databases_create_kafka_schema.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/schema-registry/config": { + "get": { + "$ref": "resources/databases/databases_get_kafka_schema_config.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_kafka_schema_config.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}": { + "get": { + "$ref": "resources/databases/databases_get_kafka_schema_subject_config.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_kafka_schema_subject_config.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}": { + "delete": { + "$ref": "resources/databases/databases_delete_kafka_schema.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_kafka_schema.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}": { + "get": { + "$ref": "resources/databases/databases_get_kafka_schema_version.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/sql_mode": { + "get": { + "$ref": "resources/databases/databases_get_sql_mode.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_sql_mode.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/topics": { + "get": { + "$ref": "resources/databases/databases_list_kafka_topics.yml" + }, + "post": { + "$ref": "resources/databases/databases_create_kafka_topic.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/topics/{topic_name}": { + "delete": { + "$ref": "resources/databases/databases_delete_kafka_topic.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_kafka_topic.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_kafka_topic.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/upgrade": { + "put": { + "$ref": "resources/databases/databases_upgrade_major_version.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/users": { + "get": { + "$ref": "resources/databases/databases_list_users.yml" + }, + "post": { + "$ref": "resources/databases/databases_add_user.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/users/{username}": { + "delete": { + "$ref": "resources/databases/databases_delete_user.yml" + }, + "get": { + "$ref": "resources/databases/databases_get_user.yml" + }, + "put": { + "$ref": "resources/databases/databases_update_user.yml" + } + }, + "/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth": { + "post": { + "$ref": "resources/databases/databases_reset_auth.yml" + } + }, + "/v2/dedicated-inferences": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_list.yml" + }, + "post": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_create.yml" + } + }, + "/v2/dedicated-inferences/gpu-model-config": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_gpu_model_config_get.yml" + } + }, + "/v2/dedicated-inferences/sizes": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_sizes_list.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}": { + "delete": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_delete.yml" + }, + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_get.yml" + }, + "patch": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_update.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}/accelerators": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_accelerators_list.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_accelerators_get.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}/ca": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_ca_get.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}/tokens": { + "get": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_tokens_list.yml" + }, + "post": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_tokens_create.yml" + } + }, + "/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}": { + "delete": { + "$ref": "resources/dedicated_inferences/dedicated_inferences_tokens_delete.yml" + } + }, + "/v2/domains": { + "get": { + "$ref": "resources/domains/domains_list.yml" + }, + "post": { + "$ref": "resources/domains/domains_create.yml" + } + }, + "/v2/domains/{domain_name}": { + "delete": { + "$ref": "resources/domains/domains_delete.yml" + }, + "get": { + "$ref": "resources/domains/domains_get.yml" + } + }, + "/v2/domains/{domain_name}/records": { + "get": { + "$ref": "resources/domains/domains_list_records.yml" + }, + "post": { + "$ref": "resources/domains/domains_create_record.yml" + } + }, + "/v2/domains/{domain_name}/records/{domain_record_id}": { + "delete": { + "$ref": "resources/domains/domains_delete_record.yml" + }, + "get": { + "$ref": "resources/domains/domains_get_record.yml" + }, + "patch": { + "$ref": "resources/domains/domains_patch_record.yml" + }, + "put": { + "$ref": "resources/domains/domains_update_record.yml" + } + }, + "/v2/droplets": { + "delete": { + "$ref": "resources/droplets/droplets_destroy_byTag.yml" + }, + "get": { + "$ref": "resources/droplets/droplets_list.yml" + }, + "post": { + "$ref": "resources/droplets/droplets_create.yml" + } + }, + "/v2/droplets/actions": { + "post": { + "$ref": "resources/droplets/dropletActions_post_byTag.yml" + } + }, + "/v2/droplets/autoscale": { + "get": { + "$ref": "resources/autoscale_pools/autoscale_pool_list.yml" + }, + "post": { + "$ref": "resources/autoscale_pools/autoscale_pool_create.yml" + } + }, + "/v2/droplets/autoscale/{autoscale_pool_id}": { + "delete": { + "$ref": "resources/autoscale_pools/autoscale_pool_delete.yml" + }, + "get": { + "$ref": "resources/autoscale_pools/autoscale_pool_get.yml" + }, + "put": { + "$ref": "resources/autoscale_pools/autoscale_pool_update.yml" + } + }, + "/v2/droplets/autoscale/{autoscale_pool_id}/dangerous": { + "delete": { + "$ref": "resources/autoscale_pools/autoscale_pool_delete_dangerous.yml" + } + }, + "/v2/droplets/autoscale/{autoscale_pool_id}/history": { + "get": { + "$ref": "resources/autoscale_pools/autoscale_pool_list_history.yml" + } + }, + "/v2/droplets/autoscale/{autoscale_pool_id}/members": { + "get": { + "$ref": "resources/autoscale_pools/autoscale_pool_list_members.yml" + } + }, + "/v2/droplets/backups/policies": { + "get": { + "$ref": "resources/droplets/droplets_list_backup_policies.yml" + } + }, + "/v2/droplets/backups/supported_policies": { + "get": { + "$ref": "resources/droplets/droplets_list_supported_backup_policies.yml" + } + }, + "/v2/droplets/{droplet_id}": { + "delete": { + "$ref": "resources/droplets/droplets_destroy.yml" + }, + "get": { + "$ref": "resources/droplets/droplets_get.yml" + } + }, + "/v2/droplets/{droplet_id}/actions": { + "get": { + "$ref": "resources/droplets/dropletActions_list.yml" + }, + "post": { + "$ref": "resources/droplets/dropletActions_post.yml" + } + }, + "/v2/droplets/{droplet_id}/actions/{action_id}": { + "get": { + "$ref": "resources/droplets/dropletActions_get.yml" + } + }, + "/v2/droplets/{droplet_id}/backups": { + "get": { + "$ref": "resources/droplets/droplets_list_backups.yml" + } + }, + "/v2/droplets/{droplet_id}/backups/policy": { + "get": { + "$ref": "resources/droplets/droplets_get_backup_policy.yml" + } + }, + "/v2/droplets/{droplet_id}/destroy_with_associated_resources": { + "get": { + "$ref": "resources/droplets/droplets_list_associatedResources.yml" + } + }, + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous": { + "delete": { + "$ref": "resources/droplets/droplets_destroy_withAssociatedResourcesDangerous.yml" + } + }, + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry": { + "post": { + "$ref": "resources/droplets/droplets_destroy_retryWithAssociatedResources.yml" + } + }, + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective": { + "delete": { + "$ref": "resources/droplets/droplets_destroy_withAssociatedResourcesSelective.yml" + } + }, + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/status": { + "get": { + "$ref": "resources/droplets/droplets_get_destroyAssociatedResourcesStatus.yml" + } + }, + "/v2/droplets/{droplet_id}/firewalls": { + "get": { + "$ref": "resources/droplets/droplets_list_firewalls.yml" + } + }, + "/v2/droplets/{droplet_id}/kernels": { + "get": { + "$ref": "resources/droplets/droplets_list_kernels.yml" + } + }, + "/v2/droplets/{droplet_id}/neighbors": { + "get": { + "$ref": "resources/droplets/droplets_list_neighbors.yml" + } + }, + "/v2/droplets/{droplet_id}/snapshots": { + "get": { + "$ref": "resources/droplets/droplets_list_snapshots.yml" + } + }, + "/v2/firewalls": { + "get": { + "$ref": "resources/firewalls/firewalls_list.yml" + }, + "post": { + "$ref": "resources/firewalls/firewalls_create.yml" + } + }, + "/v2/firewalls/{firewall_id}": { + "delete": { + "$ref": "resources/firewalls/firewalls_delete.yml" + }, + "get": { + "$ref": "resources/firewalls/firewalls_get.yml" + }, + "put": { + "$ref": "resources/firewalls/firewalls_update.yml" + } + }, + "/v2/firewalls/{firewall_id}/droplets": { + "delete": { + "$ref": "resources/firewalls/firewalls_delete_droplets.yml" + }, + "post": { + "$ref": "resources/firewalls/firewalls_assign_droplets.yml" + } + }, + "/v2/firewalls/{firewall_id}/rules": { + "delete": { + "$ref": "resources/firewalls/firewalls_delete_rules.yml" + }, + "post": { + "$ref": "resources/firewalls/firewalls_add_rules.yml" + } + }, + "/v2/firewalls/{firewall_id}/tags": { + "delete": { + "$ref": "resources/firewalls/firewalls_delete_tags.yml" + }, + "post": { + "$ref": "resources/firewalls/firewalls_add_tags.yml" + } + }, + "/v2/floating_ips": { + "get": { + "$ref": "resources/floating_ips/floatingIPs_list.yml" + }, + "post": { + "$ref": "resources/floating_ips/floatingIPs_create.yml" + } + }, + "/v2/floating_ips/{floating_ip}": { + "delete": { + "$ref": "resources/floating_ips/floatingIPs_delete.yml" + }, + "get": { + "$ref": "resources/floating_ips/floatingIPs_get.yml" + } + }, + "/v2/floating_ips/{floating_ip}/actions": { + "get": { + "$ref": "resources/floating_ips/floatingIPsAction_list.yml" + }, + "post": { + "$ref": "resources/floating_ips/floatingIPsAction_post.yml" + } + }, + "/v2/floating_ips/{floating_ip}/actions/{action_id}": { + "get": { + "$ref": "resources/floating_ips/floatingIPsAction_get.yml" + } + }, + "/v2/functions/namespaces": { + "get": { + "$ref": "resources/functions/functions_list_namespaces.yml" + }, + "post": { + "$ref": "resources/functions/functions_create_namespace.yml" + } + }, + "/v2/functions/namespaces/{namespace_id}": { + "delete": { + "$ref": "resources/functions/functions_delete_namespace.yml" + }, + "get": { + "$ref": "resources/functions/functions_get_namespace.yml" + } + }, + "/v2/functions/namespaces/{namespace_id}/keys": { + "get": { + "$ref": "resources/functions/functions_list_keys.yml" + }, + "post": { + "$ref": "resources/functions/functions_create_key.yml" + } + }, + "/v2/functions/namespaces/{namespace_id}/keys/{key_id}": { + "delete": { + "$ref": "resources/functions/functions_delete_key.yml" + }, + "put": { + "$ref": "resources/functions/functions_update_key.yml" + } + }, + "/v2/functions/namespaces/{namespace_id}/triggers": { + "get": { + "$ref": "resources/functions/functions_list_triggers.yml" + }, + "post": { + "$ref": "resources/functions/functions_create_trigger.yml" + } + }, + "/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}": { + "delete": { + "$ref": "resources/functions/functions_delete_trigger.yml" + }, + "get": { + "$ref": "resources/functions/functions_get_trigger.yml" + }, + "put": { + "$ref": "resources/functions/functions_update_trigger.yml" + } + }, + "/v2/gen-ai/agents": { + "get": { + "$ref": "resources/gen-ai/genai_list_agents.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_agent.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/api_keys": { + "get": { + "$ref": "resources/gen-ai/genai_list_agent_api_keys.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_agent_api_key.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_agent_api_key.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_agent_api_key.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate": { + "put": { + "$ref": "resources/gen-ai/genai_regenerate_agent_api_key.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/functions": { + "post": { + "$ref": "resources/gen-ai/genai_attach_agent_function.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_detach_agent_function.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_agent_function.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/guardrails": { + "post": { + "$ref": "resources/gen-ai/genai_attach_agent_guardrails.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/guardrails/{guardrail_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_detach_agent_guardrail.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/knowledge_bases": { + "post": { + "$ref": "resources/gen-ai/genai_attach_knowledge_bases.yml" + } + }, + "/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_detach_knowledge_base.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_attach_knowledge_base.yml" + } + }, + "/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_detach_agent.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_attach_agent.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_attached_agent.yml" + } + }, + "/v2/gen-ai/agents/{uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_agent.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_agent.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_agent.yml" + } + }, + "/v2/gen-ai/agents/{uuid}/child_agents": { + "get": { + "$ref": "resources/gen-ai/genai_get_agent_children.yml" + } + }, + "/v2/gen-ai/agents/{uuid}/deployment_visibility": { + "put": { + "$ref": "resources/gen-ai/genai_update_agent_deployment_visibility.yml" + } + }, + "/v2/gen-ai/agents/{uuid}/usage": { + "get": { + "$ref": "resources/gen-ai/genai_get_agent_usage.yml" + } + }, + "/v2/gen-ai/agents/{uuid}/versions": { + "get": { + "$ref": "resources/gen-ai/genai_list_agent_versions.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_rollback_to_agent_version.yml" + } + }, + "/v2/gen-ai/anthropic/keys": { + "get": { + "$ref": "resources/gen-ai/genai_list_anthropic_api_keys.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_anthropic_api_key.yml" + } + }, + "/v2/gen-ai/anthropic/keys/{api_key_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_anthropic_api_key.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_anthropic_api_key.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_anthropic_api_key.yml" + } + }, + "/v2/gen-ai/anthropic/keys/{uuid}/agents": { + "get": { + "$ref": "resources/gen-ai/genai_list_agents_by_anthropic_key.yml" + } + }, + "/v2/gen-ai/custom_models": { + "get": { + "$ref": "resources/gen-ai/genai_list_custom_models.yml" + } + }, + "/v2/gen-ai/custom_models/import": { + "post": { + "$ref": "resources/gen-ai/genai_import_custom_model.yml" + } + }, + "/v2/gen-ai/custom_models/{uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_custom_model.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_custom_model.yml" + } + }, + "/v2/gen-ai/custom_models/{uuid}/metadata": { + "patch": { + "$ref": "resources/gen-ai/genai_update_custom_model_metadata.yml" + } + }, + "/v2/gen-ai/evaluation_datasets": { + "get": { + "$ref": "resources/gen-ai/genai_list_evaluation_datasets.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_evaluation_dataset.yml" + } + }, + "/v2/gen-ai/evaluation_datasets/file_upload_presigned_urls": { + "post": { + "$ref": "resources/gen-ai/genai_create_evaluation_dataset_file_upload_presigned_urls.yml" + } + }, + "/v2/gen-ai/evaluation_datasets/{dataset_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_evaluation_dataset.yml" + } + }, + "/v2/gen-ai/evaluation_datasets/{dataset_uuid}/download_url": { + "get": { + "$ref": "resources/gen-ai/genai_get_evaluation_dataset_download_url.yml" + } + }, + "/v2/gen-ai/evaluation_metrics": { + "get": { + "$ref": "resources/gen-ai/genai_list_evaluation_metrics.yml" + } + }, + "/v2/gen-ai/evaluation_runs": { + "post": { + "$ref": "resources/gen-ai/genai_run_evaluation_test_case.yml" + } + }, + "/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}": { + "get": { + "$ref": "resources/gen-ai/genai_get_evaluation_run.yml" + } + }, + "/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results": { + "get": { + "$ref": "resources/gen-ai/genai_get_evaluation_run_results.yml" + } + }, + "/v2/gen-ai/evaluation_runs/{evaluation_run_uuid}/results/{prompt_id}": { + "get": { + "$ref": "resources/gen-ai/genai_get_evaluation_run_prompt_results.yml" + } + }, + "/v2/gen-ai/evaluation_test_cases": { + "get": { + "$ref": "resources/gen-ai/genai_list_evaluation_test_cases.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_evaluation_test_case.yml" + } + }, + "/v2/gen-ai/evaluation_test_cases/{evaluation_test_case_uuid}/evaluation_runs": { + "get": { + "$ref": "resources/gen-ai/genai_list_evaluation_runs_by_test_case.yml" + } + }, + "/v2/gen-ai/evaluation_test_cases/{test_case_uuid}": { + "get": { + "$ref": "resources/gen-ai/genai_get_evaluation_test_case.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_evaluation_test_case.yml" + } + }, + "/v2/gen-ai/indexing_jobs": { + "get": { + "$ref": "resources/gen-ai/genai_list_indexing_jobs.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_indexing_job.yml" + } + }, + "/v2/gen-ai/indexing_jobs/{indexing_job_uuid}/data_sources": { + "get": { + "$ref": "resources/gen-ai/genai_list_indexing_job_data_sources.yml" + } + }, + "/v2/gen-ai/indexing_jobs/{indexing_job_uuid}/details_signed_url": { + "get": { + "$ref": "resources/gen-ai/genai_get_indexing_job_details_signed_url.yml" + } + }, + "/v2/gen-ai/indexing_jobs/{uuid}": { + "get": { + "$ref": "resources/gen-ai/genai_get_indexing_job.yml" + } + }, + "/v2/gen-ai/indexing_jobs/{uuid}/cancel": { + "put": { + "$ref": "resources/gen-ai/genai_cancel_indexing_job.yml" + } + }, + "/v2/gen-ai/knowledge_bases": { + "get": { + "$ref": "resources/gen-ai/genai_list_knowledge_bases.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_knowledge_base.yml" + } + }, + "/v2/gen-ai/knowledge_bases/data_sources/file_upload_presigned_urls": { + "post": { + "$ref": "resources/gen-ai/genai_create_data_source_file_upload_presigned_urls.yml" + } + }, + "/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources": { + "get": { + "$ref": "resources/gen-ai/genai_list_knowledge_base_data_sources.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_knowledge_base_data_source.yml" + } + }, + "/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_knowledge_base_data_source.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_knowledge_base_data_source.yml" + } + }, + "/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/indexing_jobs": { + "get": { + "$ref": "resources/gen-ai/genai_list_indexing_jobs_by_knowledge_base.yml" + } + }, + "/v2/gen-ai/knowledge_bases/{uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_knowledge_base.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_knowledge_base.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_knowledge_base.yml" + } + }, + "/v2/gen-ai/model_evaluation/datasets/file_upload_presigned_urls": { + "post": { + "$ref": "resources/gen-ai/genai_create_model_eval_dataset_upload_presigned_urls.yml" + } + }, + "/v2/gen-ai/model_evaluation_metrics": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_evaluation_metrics.yml" + } + }, + "/v2/gen-ai/model_evaluation_presets": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_evaluation_presets.yml" + } + }, + "/v2/gen-ai/model_evaluation_presets/{eval_preset_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_model_evaluation_preset.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_model_evaluation_preset.yml" + } + }, + "/v2/gen-ai/model_evaluation_runs": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_evaluation_runs.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_model_evaluation_run.yml" + } + }, + "/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_model_evaluation_run.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_model_evaluation_run.yml" + } + }, + "/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/cancel": { + "put": { + "$ref": "resources/gen-ai/genai_cancel_model_evaluation_run.yml" + } + }, + "/v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/results/download_url": { + "get": { + "$ref": "resources/gen-ai/genai_get_model_evaluation_run_results_download_url.yml" + } + }, + "/v2/gen-ai/models": { + "get": { + "$ref": "resources/gen-ai/genai_list_models.yml" + } + }, + "/v2/gen-ai/models/api_keys": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_api_keys.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_model_api_key.yml" + } + }, + "/v2/gen-ai/models/api_keys/{api_key_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_model_api_key.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_model_api_key.yml" + } + }, + "/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate": { + "put": { + "$ref": "resources/gen-ai/genai_regenerate_model_api_key.yml" + } + }, + "/v2/gen-ai/models/catalog": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_catalog.yml" + } + }, + "/v2/gen-ai/models/catalog/{id}": { + "get": { + "$ref": "resources/gen-ai/genai_get_model_catalog_card.yml" + } + }, + "/v2/gen-ai/models/routers": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_routers.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_model_router.yml" + } + }, + "/v2/gen-ai/models/routers/presets": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_router_presets.yml" + } + }, + "/v2/gen-ai/models/routers/tasks/presets": { + "get": { + "$ref": "resources/gen-ai/genai_list_model_router_task_presets.yml" + } + }, + "/v2/gen-ai/models/routers/{uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_model_router.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_model_router.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_model_router.yml" + } + }, + "/v2/gen-ai/oauth2/dropbox/tokens": { + "post": { + "$ref": "resources/gen-ai/genai_create_oauth2_dropbox_tokens.yml" + } + }, + "/v2/gen-ai/oauth2/url": { + "get": { + "$ref": "resources/gen-ai/genai_get_oauth2_url.yml" + } + }, + "/v2/gen-ai/openai/keys": { + "get": { + "$ref": "resources/gen-ai/genai_list_openai_api_keys.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_openai_api_key.yml" + } + }, + "/v2/gen-ai/openai/keys/{api_key_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_openai_api_key.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_openai_api_key.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_openai_api_key.yml" + } + }, + "/v2/gen-ai/openai/keys/{uuid}/agents": { + "get": { + "$ref": "resources/gen-ai/genai_list_agents_by_openai_key.yml" + } + }, + "/v2/gen-ai/regions": { + "get": { + "$ref": "resources/gen-ai/genai_list_datacenter_regions.yml" + } + }, + "/v2/gen-ai/scheduled-indexing": { + "post": { + "$ref": "resources/gen-ai/genai_create_scheduled_indexing.yml" + } + }, + "/v2/gen-ai/scheduled-indexing/knowledge-base/{knowledge_base_uuid}": { + "get": { + "$ref": "resources/gen-ai/genai_get_scheduled_indexing.yml" + } + }, + "/v2/gen-ai/scheduled-indexing/{uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_scheduled_indexing.yml" + } + }, + "/v2/gen-ai/workspaces": { + "get": { + "$ref": "resources/gen-ai/genai_list_workspaces.yml" + }, + "post": { + "$ref": "resources/gen-ai/genai_create_workspace.yml" + } + }, + "/v2/gen-ai/workspaces/{workspace_uuid}": { + "delete": { + "$ref": "resources/gen-ai/genai_delete_workspace.yml" + }, + "get": { + "$ref": "resources/gen-ai/genai_get_workspace.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_workspace.yml" + } + }, + "/v2/gen-ai/workspaces/{workspace_uuid}/agents": { + "get": { + "$ref": "resources/gen-ai/genai_list_agents_by_workspace.yml" + }, + "put": { + "$ref": "resources/gen-ai/genai_update_agents_workspace.yml" + } + }, + "/v2/gen-ai/workspaces/{workspace_uuid}/evaluation_test_cases": { + "get": { + "$ref": "resources/gen-ai/genai_list_evaluation_test_cases_by_workspace.yml" + } + }, + "/v2/images": { + "get": { + "$ref": "resources/images/images_list.yml" + }, + "post": { + "$ref": "resources/images/images_create_custom.yml" + } + }, + "/v2/images/{image_id}": { + "delete": { + "$ref": "resources/images/images_delete.yml" + }, + "get": { + "$ref": "resources/images/images_get.yml" + }, + "put": { + "$ref": "resources/images/images_update.yml" + } + }, + "/v2/images/{image_id}/account_transfer": { + "post": { + "$ref": "resources/images/images_post_account_transfer_create.yml" + } + }, + "/v2/images/{image_id}/account_transfer/accept": { + "post": { + "$ref": "resources/images/images_post_account_transfer_accept.yml" + } + }, + "/v2/images/{image_id}/account_transfer/cancel": { + "post": { + "$ref": "resources/images/images_post_account_transfer_cancel.yml" + } + }, + "/v2/images/{image_id}/account_transfer/decline": { + "post": { + "$ref": "resources/images/images_post_account_transfer_decline.yml" + } + }, + "/v2/images/{image_id}/actions": { + "get": { + "$ref": "resources/images/imageActions_list.yml" + }, + "post": { + "$ref": "resources/images/imageActions_post.yml" + } + }, + "/v2/images/{image_id}/actions/{action_id}": { + "get": { + "$ref": "resources/images/imageActions_get.yml" + } + }, + "/v2/kubernetes/clusters": { + "get": { + "$ref": "resources/kubernetes/kubernetes_list_clusters.yml" + }, + "post": { + "$ref": "resources/kubernetes/kubernetes_create_cluster.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_delete_cluster.yml" + }, + "get": { + "$ref": "resources/kubernetes/kubernetes_get_cluster.yml" + }, + "put": { + "$ref": "resources/kubernetes/kubernetes_update_cluster.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/clusterlint": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_clusterLintResults.yml" + }, + "post": { + "$ref": "resources/kubernetes/kubernetes_run_clusterLint.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/credentials": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_credentials.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources": { + "get": { + "$ref": "resources/kubernetes/kubernetes_list_associatedResources.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_destroy_associatedResourcesDangerous.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_destroy_associatedResourcesSelective.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/kubeconfig": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_kubeconfig.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/node_pools": { + "get": { + "$ref": "resources/kubernetes/kubernetes_list_nodePools.yml" + }, + "post": { + "$ref": "resources/kubernetes/kubernetes_add_nodePool.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_delete_nodePool.yml" + }, + "get": { + "$ref": "resources/kubernetes/kubernetes_get_nodePool.yml" + }, + "put": { + "$ref": "resources/kubernetes/kubernetes_update_nodePool.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_delete_node.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle": { + "post": { + "$ref": "resources/kubernetes/kubernetes_recycle_nodePool.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/status_messages": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_status_messages.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/upgrade": { + "post": { + "$ref": "resources/kubernetes/kubernetes_upgrade_cluster.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/upgrades": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_availableUpgrades.yml" + } + }, + "/v2/kubernetes/clusters/{cluster_id}/user": { + "get": { + "$ref": "resources/kubernetes/kubernetes_get_clusterUser.yml" + } + }, + "/v2/kubernetes/options": { + "get": { + "$ref": "resources/kubernetes/kubernetes_list_options.yml" + } + }, + "/v2/kubernetes/registries": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_remove_registries.yml" + }, + "post": { + "$ref": "resources/kubernetes/kubernetes_add_registries.yml" + } + }, + "/v2/kubernetes/registry": { + "delete": { + "$ref": "resources/kubernetes/kubernetes_remove_registry.yml" + }, + "post": { + "$ref": "resources/kubernetes/kubernetes_add_registry.yml" + } + }, + "/v2/load_balancers": { + "get": { + "$ref": "resources/load_balancers/loadBalancers_list.yml" + }, + "post": { + "$ref": "resources/load_balancers/loadBalancers_create.yml" + } + }, + "/v2/load_balancers/{lb_id}": { + "delete": { + "$ref": "resources/load_balancers/loadBalancers_delete.yml" + }, + "get": { + "$ref": "resources/load_balancers/loadBalancers_get.yml" + }, + "put": { + "$ref": "resources/load_balancers/loadBalancers_update.yml" + } + }, + "/v2/load_balancers/{lb_id}/cache": { + "delete": { + "$ref": "resources/load_balancers/loadBalancers_delete_cache.yml" + } + }, + "/v2/load_balancers/{lb_id}/droplets": { + "delete": { + "$ref": "resources/load_balancers/loadBalancers_remove_droplets.yml" + }, + "post": { + "$ref": "resources/load_balancers/loadBalancers_add_droplets.yml" + } + }, + "/v2/load_balancers/{lb_id}/forwarding_rules": { + "delete": { + "$ref": "resources/load_balancers/loadBalancers_remove_forwardingRules.yml" + }, + "post": { + "$ref": "resources/load_balancers/loadBalancers_add_forwardingRules.yml" + } + }, + "/v2/monitoring/alerts": { + "get": { + "$ref": "resources/monitoring/monitoring_list_alertPolicy.yml" + }, + "post": { + "$ref": "resources/monitoring/monitoring_create_alertPolicy.yml" + } + }, + "/v2/monitoring/alerts/{alert_uuid}": { + "delete": { + "$ref": "resources/monitoring/monitoring_delete_alertPolicy.yml" + }, + "get": { + "$ref": "resources/monitoring/monitoring_get_alertPolicy.yml" + }, + "put": { + "$ref": "resources/monitoring/monitoring_update_alertPolicy.yml" + } + }, + "/v2/monitoring/metrics/apps/cpu_percentage": { + "get": { + "$ref": "resources/monitoring/monitoring_get_appCPUPercentageMetrics.yml" + } + }, + "/v2/monitoring/metrics/apps/memory_percentage": { + "get": { + "$ref": "resources/monitoring/monitoring_get_appMemoryPercentageMetrics.yml" + } + }, + "/v2/monitoring/metrics/apps/restart_count": { + "get": { + "$ref": "resources/monitoring/monitoring_get_appRestartCountMetrics.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/cpu_usage": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_cpu_usage.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/disk_usage": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_disk_usage.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_index_vs_sequential_reads.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/load": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_load.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/memory_usage": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_memory_usage.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/op_rates": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_op_rates.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/schema_latency": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_schema_latency.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/schema_throughput": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_schema_throughput.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/threads_active": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_threads_active.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/threads_connected": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_threads_connected.yml" + } + }, + "/v2/monitoring/metrics/database/mysql/threads_created_rate": { + "get": { + "$ref": "resources/monitoring/monitoring_get_database_mysql_threads_created_rate.yml" + } + }, + "/v2/monitoring/metrics/droplet/bandwidth": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletBandwidthMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/cpu": { + "get": { + "$ref": "resources/monitoring/monitoring_get_DropletCpuMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/filesystem_free": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletFilesystemFreeMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/filesystem_size": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletFilesystemSizeMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/load_1": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletLoad1Metrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/load_15": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletLoad15Metrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/load_5": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletLoad5Metrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/memory_available": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletMemoryAvailableMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/memory_cached": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletMemoryCachedMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/memory_free": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletMemoryFreeMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet/memory_total": { + "get": { + "$ref": "resources/monitoring/monitoring_get_dropletMemoryTotalMetrics.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_current_cpu_utilization.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/current_instances": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_current_instances.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_current_memory_utilization.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_target_cpu_utilization.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/target_instances": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_target_instances.yml" + } + }, + "/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization": { + "get": { + "$ref": "resources/monitoring/monitoring_get_droplet_autoscale_target_memory_utilization.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_connections": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_connections.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_downtime": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_downtime.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_health_checks": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_health_checks.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_response_time_50p.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_response_time_95p.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_response_time_99p.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_response_time_avg.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_responses": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_responses.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_session_duration_50p.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_session_duration_95p.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_http_session_duration_avg.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/droplets_queue_size": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_droplets_queue_size.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_connections_current": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_connections_current.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_connections_limit": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_connections_limit.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_cpu_utilization.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_bytes.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_firewall_dropped_packets.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_http_requests_per_second.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_http_responses": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_http_responses.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_network_throughput_http.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_network_throughput_tcp.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_network_throughput_udp.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_nlb_tcp_network_throughput.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_nlb_udp_network_throughput.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_tls_connections_current.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_tls_connections_exceeding_rate_limit.yml" + } + }, + "/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit": { + "get": { + "$ref": "resources/monitoring/monitoring_get_lb_frontend_tls_connections_limit.yml" + } + }, + "/v2/monitoring/sinks": { + "get": { + "$ref": "resources/monitoring/monitoring_list_sinks.yml" + }, + "post": { + "$ref": "resources/monitoring/monitoring_create_sink.yml" + } + }, + "/v2/monitoring/sinks/destinations": { + "get": { + "$ref": "resources/monitoring/monitoring_list_destinations.yml" + }, + "post": { + "$ref": "resources/monitoring/monitoring_create_destination.yml" + } + }, + "/v2/monitoring/sinks/destinations/{destination_uuid}": { + "delete": { + "$ref": "resources/monitoring/monitoring_delete_destination.yml" + }, + "get": { + "$ref": "resources/monitoring/monitoring_get_destination.yml" + }, + "post": { + "$ref": "resources/monitoring/monitoring_update_destination.yml" + } + }, + "/v2/monitoring/sinks/{sink_uuid}": { + "delete": { + "$ref": "resources/monitoring/monitoring_delete_sink.yml" + }, + "get": { + "$ref": "resources/monitoring/monitoring_get_sink.yml" + } + }, + "/v2/nfs": { + "get": { + "$ref": "resources/nfs/nfs_list.yml" + }, + "post": { + "$ref": "resources/nfs/nfs_create.yml" + } + }, + "/v2/nfs/access_points/{access_point_id}": { + "delete": { + "$ref": "resources/nfs/nfs_access_point_delete.yml" + }, + "get": { + "$ref": "resources/nfs/nfs_access_point_get.yml" + } + }, + "/v2/nfs/shares/{share_id}/access_points": { + "get": { + "$ref": "resources/nfs/nfs_access_point_list.yml" + }, + "post": { + "$ref": "resources/nfs/nfs_access_point_create.yml" + } + }, + "/v2/nfs/snapshots": { + "get": { + "$ref": "resources/nfs/nfs_snapshot_list.yml" + } + }, + "/v2/nfs/snapshots/{nfs_snapshot_id}": { + "delete": { + "$ref": "resources/nfs/nfs_snapshot_delete.yml" + }, + "get": { + "$ref": "resources/nfs/nfs_snapshot_get.yml" + } + }, + "/v2/nfs/{nfs_id}": { + "delete": { + "$ref": "resources/nfs/nfs_delete.yml" + }, + "get": { + "$ref": "resources/nfs/nfs_get.yml" + } + }, + "/v2/nfs/{nfs_id}/actions": { + "post": { + "$ref": "resources/nfs/nfs_actions_create.yml" + } + }, + "/v2/partner_network_connect/attachments": { + "get": { + "$ref": "resources/partner_network_connect/partner_attachment_list.yml" + }, + "post": { + "$ref": "resources/partner_network_connect/partner_attachment_create.yml" + } + }, + "/v2/partner_network_connect/attachments/{pa_id}": { + "delete": { + "$ref": "resources/partner_network_connect/partner_attachment_delete.yml" + }, + "get": { + "$ref": "resources/partner_network_connect/partner_attachment_get.yml" + }, + "patch": { + "$ref": "resources/partner_network_connect/partner_attachment_update.yml" + } + }, + "/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key": { + "get": { + "$ref": "resources/partner_network_connect/partner_attachment_bgp_auth_key_get.yml" + } + }, + "/v2/partner_network_connect/attachments/{pa_id}/remote_routes": { + "get": { + "$ref": "resources/partner_network_connect/partner_attachment_remote_routes_list.yml" + } + }, + "/v2/partner_network_connect/attachments/{pa_id}/service_key": { + "get": { + "$ref": "resources/partner_network_connect/partner_attachment_service_key_get.yml" + }, + "post": { + "$ref": "resources/partner_network_connect/partner_attachment_service_key_create.yml" + } + }, + "/v2/projects": { + "get": { + "$ref": "resources/projects/projects_list.yml" + }, + "post": { + "$ref": "resources/projects/projects_create.yml" + } + }, + "/v2/projects/default": { + "get": { + "$ref": "resources/projects/projects_get_default.yml" + }, + "patch": { + "$ref": "resources/projects/projects_patch_default.yml" + }, + "put": { + "$ref": "resources/projects/projects_update_default.yml" + } + }, + "/v2/projects/default/resources": { + "get": { + "$ref": "resources/projects/projects_list_resources_default.yml" + }, + "post": { + "$ref": "resources/projects/projects_assign_resources_default.yml" + } + }, + "/v2/projects/{project_id}": { + "delete": { + "$ref": "resources/projects/projects_delete.yml" + }, + "get": { + "$ref": "resources/projects/projects_get.yml" + }, + "patch": { + "$ref": "resources/projects/projects_patch.yml" + }, + "put": { + "$ref": "resources/projects/projects_update.yml" + } + }, + "/v2/projects/{project_id}/resources": { + "get": { + "$ref": "resources/projects/projects_list_resources.yml" + }, + "post": { + "$ref": "resources/projects/projects_assign_resources.yml" + } + }, + "/v2/regions": { + "get": { + "$ref": "resources/regions/regions_list.yml" + } + }, + "/v2/registries": { + "get": { + "$ref": "resources/registry/registries_get_all.yml" + }, + "post": { + "$ref": "resources/registry/registries_create.yml" + } + }, + "/v2/registries/options": { + "get": { + "$ref": "resources/registry/registries_get_options.yml" + } + }, + "/v2/registries/subscription": { + "get": { + "$ref": "resources/registry/registries_get_subscription.yml" + }, + "post": { + "$ref": "resources/registry/registries_update_subscription.yml" + } + }, + "/v2/registries/validate-name": { + "post": { + "$ref": "resources/registry/registries_validate_name.yml" + } + }, + "/v2/registries/{registry_name}": { + "delete": { + "$ref": "resources/registry/registries_delete.yml" + }, + "get": { + "$ref": "resources/registry/registries_get.yml" + } + }, + "/v2/registries/{registry_name}/docker-credentials": { + "get": { + "$ref": "resources/registry/registries_get_dockerCredentials.yml" + } + }, + "/v2/registries/{registry_name}/garbage-collection": { + "get": { + "$ref": "resources/registry/registries_get_garbageCollection.yml" + }, + "post": { + "$ref": "resources/registry/registries_run_garbageCollection.yml" + } + }, + "/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}": { + "put": { + "$ref": "resources/registry/registries_update_garbageCollection.yml" + } + }, + "/v2/registries/{registry_name}/garbage-collections": { + "get": { + "$ref": "resources/registry/registries_list_garbageCollections.yml" + } + }, + "/v2/registries/{registry_name}/repositories/{repository_name}": { + "delete": { + "$ref": "resources/registry/registries_delete_repository.yml" + } + }, + "/v2/registries/{registry_name}/repositories/{repository_name}/digests": { + "get": { + "$ref": "resources/registry/registries_list_repositoryManifests.yml" + } + }, + "/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { + "delete": { + "$ref": "resources/registry/registries_delete_repositoryManifest.yml" + } + }, + "/v2/registries/{registry_name}/repositories/{repository_name}/tags": { + "get": { + "$ref": "resources/registry/registries_list_repositoryTags.yml" + } + }, + "/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { + "delete": { + "$ref": "resources/registry/registries_delete_repositoryTag.yml" + } + }, + "/v2/registries/{registry_name}/repositoriesV2": { + "get": { + "$ref": "resources/registry/registries_list_repositoriesV2.yml" + } + }, + "/v2/registry": { + "delete": { + "$ref": "resources/registry/registry_delete.yml" + }, + "get": { + "$ref": "resources/registry/registry_get.yml" + }, + "post": { + "$ref": "resources/registry/registry_create.yml" + } + }, + "/v2/registry/docker-credentials": { + "get": { + "$ref": "resources/registry/registry_get_dockerCredentials.yml" + } + }, + "/v2/registry/options": { + "get": { + "$ref": "resources/registry/registry_get_options.yml" + } + }, + "/v2/registry/subscription": { + "get": { + "$ref": "resources/registry/registry_get_subscription.yml" + }, + "post": { + "$ref": "resources/registry/registry_update_subscription.yml" + } + }, + "/v2/registry/validate-name": { + "post": { + "$ref": "resources/registry/registry_validate_name.yml" + } + }, + "/v2/registry/{registry_name}/garbage-collection": { + "get": { + "$ref": "resources/registry/registry_get_garbageCollection.yml" + }, + "post": { + "$ref": "resources/registry/registry_run_garbageCollection.yml" + } + }, + "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { + "put": { + "$ref": "resources/registry/registry_update_garbageCollection.yml" + } + }, + "/v2/registry/{registry_name}/garbage-collections": { + "get": { + "$ref": "resources/registry/registry_list_garbageCollections.yml" + } + }, + "/v2/registry/{registry_name}/repositories": { + "get": { + "$ref": "resources/registry/registry_list_repositories.yml" + } + }, + "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { + "get": { + "$ref": "resources/registry/registry_list_repositoryManifests.yml" + } + }, + "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { + "delete": { + "$ref": "resources/registry/registry_delete_repositoryManifest.yml" + } + }, + "/v2/registry/{registry_name}/repositories/{repository_name}/tags": { + "get": { + "$ref": "resources/registry/registry_list_repositoryTags.yml" + } + }, + "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { + "delete": { + "$ref": "resources/registry/registry_delete_repositoryTag.yml" + } + }, + "/v2/registry/{registry_name}/repositoriesV2": { + "get": { + "$ref": "resources/registry/registry_list_repositoriesV2.yml" + } + }, + "/v2/reports/droplet_neighbors_ids": { + "get": { + "$ref": "resources/droplets/droplets_list_neighborsIds.yml" + } + }, + "/v2/reserved_ips": { + "get": { + "$ref": "resources/reserved_ips/reservedIPs_list.yml" + }, + "post": { + "$ref": "resources/reserved_ips/reservedIPs_create.yml" + } + }, + "/v2/reserved_ips/{reserved_ip}": { + "delete": { + "$ref": "resources/reserved_ips/reservedIPs_delete.yml" + }, + "get": { + "$ref": "resources/reserved_ips/reservedIPs_get.yml" + } + }, + "/v2/reserved_ips/{reserved_ip}/actions": { + "get": { + "$ref": "resources/reserved_ips/reservedIPsActions_list.yml" + }, + "post": { + "$ref": "resources/reserved_ips/reservedIPsActions_post.yml" + } + }, + "/v2/reserved_ips/{reserved_ip}/actions/{action_id}": { + "get": { + "$ref": "resources/reserved_ips/reservedIPsActions_get.yml" + } + }, + "/v2/reserved_ipv6": { + "get": { + "$ref": "resources/reserved_ipv6/reservedIPv6_list.yml" + }, + "post": { + "$ref": "resources/reserved_ipv6/reservedIPv6_create.yml" + } + }, + "/v2/reserved_ipv6/{reserved_ipv6}": { + "delete": { + "$ref": "resources/reserved_ipv6/reservedIPv6_delete.yml" + }, + "get": { + "$ref": "resources/reserved_ipv6/reservedIPv6_get.yml" + } + }, + "/v2/reserved_ipv6/{reserved_ipv6}/actions": { + "post": { + "$ref": "resources/reserved_ipv6/reservedIPv6Actions_post.yml" + } + }, + "/v2/security/scans": { + "get": { + "$ref": "resources/security/security_scans_list.yml" + }, + "post": { + "$ref": "resources/security/security_scans_create.yml" + } + }, + "/v2/security/scans/latest": { + "get": { + "$ref": "resources/security/security_scans_get_latest.yml" + } + }, + "/v2/security/scans/rules": { + "post": { + "$ref": "resources/security/security_scan_rule_create.yml" + } + }, + "/v2/security/scans/{scan_id}": { + "get": { + "$ref": "resources/security/security_scans_get.yml" + } + }, + "/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources": { + "get": { + "$ref": "resources/security/security_scan_finding_list_affected_resources.yml" + } + }, + "/v2/security/settings": { + "get": { + "$ref": "resources/security/security_settings_list.yml" + } + }, + "/v2/security/settings/plan": { + "put": { + "$ref": "resources/security/security_settings_plan_update.yml" + } + }, + "/v2/security/settings/suppressions": { + "post": { + "$ref": "resources/security/security_suppression_create.yml" + } + }, + "/v2/security/settings/suppressions/{suppression_uuid}": { + "delete": { + "$ref": "resources/security/security_suppression_delete.yml" + } + }, + "/v2/sizes": { + "get": { + "$ref": "resources/sizes/sizes_list.yml" + } + }, + "/v2/snapshots": { + "get": { + "$ref": "resources/snapshots/snapshots_list.yml" + } + }, + "/v2/snapshots/{snapshot_id}": { + "delete": { + "$ref": "resources/snapshots/snapshots_delete.yml" + }, + "get": { + "$ref": "resources/snapshots/snapshots_get.yml" + } + }, + "/v2/spaces/keys": { + "get": { + "$ref": "resources/spaces/key_list.yml" + }, + "post": { + "$ref": "resources/spaces/key_create.yml" + } + }, + "/v2/spaces/keys/{access_key}": { + "delete": { + "$ref": "resources/spaces/key_delete.yml" + }, + "get": { + "$ref": "resources/spaces/key_get.yml" + }, + "patch": { + "$ref": "resources/spaces/key_patch.yml" + }, + "put": { + "$ref": "resources/spaces/key_update.yml" + } + }, + "/v2/tags": { + "get": { + "$ref": "resources/tags/tags_list.yml" + }, + "post": { + "$ref": "resources/tags/tags_create.yml" + } + }, + "/v2/tags/{tag_id}": { + "delete": { + "$ref": "resources/tags/tags_delete.yml" + }, + "get": { + "$ref": "resources/tags/tags_get.yml" + } + }, + "/v2/tags/{tag_id}/resources": { + "delete": { + "$ref": "resources/tags/tags_unassign_resources.yml" + }, + "post": { + "$ref": "resources/tags/tags_assign_resources.yml" + } + }, + "/v2/uptime/checks": { + "get": { + "$ref": "resources/uptime/list_checks.yml" + }, + "post": { + "$ref": "resources/uptime/create_check.yml" + } + }, + "/v2/uptime/checks/{check_id}": { + "delete": { + "$ref": "resources/uptime/delete_check.yml" + }, + "get": { + "$ref": "resources/uptime/get_check.yml" + }, + "put": { + "$ref": "resources/uptime/update_check.yml" + } + }, + "/v2/uptime/checks/{check_id}/alerts": { + "get": { + "$ref": "resources/uptime/list_alerts.yml" + }, + "post": { + "$ref": "resources/uptime/create_alert.yml" + } + }, + "/v2/uptime/checks/{check_id}/alerts/{alert_id}": { + "delete": { + "$ref": "resources/uptime/delete_alert.yml" + }, + "get": { + "$ref": "resources/uptime/get_alert.yml" + }, + "put": { + "$ref": "resources/uptime/update_alert.yml" + } + }, + "/v2/uptime/checks/{check_id}/state": { + "get": { + "$ref": "resources/uptime/get_check_state.yml" + } + }, + "/v2/vector-databases": { + "get": { + "$ref": "resources/vector_databases/vector_databases_list.yml" + }, + "post": { + "$ref": "resources/vector_databases/vector_databases_create.yml" + } + }, + "/v2/vector-databases/{id}": { + "delete": { + "$ref": "resources/vector_databases/vector_databases_delete.yml" + }, + "get": { + "$ref": "resources/vector_databases/vector_databases_get.yml" + }, + "put": { + "$ref": "resources/vector_databases/vector_databases_update.yml" + } + }, + "/v2/vector-databases/{id}/backups": { + "get": { + "$ref": "resources/vector_databases/vector_databases_list_backups.yml" + } + }, + "/v2/vector-databases/{id}/backups/{backup_id}/restore": { + "get": { + "$ref": "resources/vector_databases/vector_databases_get_restore_status.yml" + }, + "post": { + "$ref": "resources/vector_databases/vector_databases_restore_backup.yml" + } + }, + "/v2/vector-databases/{id}/credentials": { + "get": { + "$ref": "resources/vector_databases/vector_databases_get_credentials.yml" + } + }, + "/v2/vector-databases/{id}/resize": { + "post": { + "$ref": "resources/vector_databases/vector_databases_resize.yml" + } + }, + "/v2/vector-databases/{id}/tags": { + "put": { + "$ref": "resources/vector_databases/vector_databases_update_tags.yml" + } + }, + "/v2/volumes": { + "delete": { + "$ref": "resources/volumes/volumes_delete_byName.yml" + }, + "get": { + "$ref": "resources/volumes/volumes_list.yml" + }, + "post": { + "$ref": "resources/volumes/volumes_create.yml" + } + }, + "/v2/volumes/actions": { + "post": { + "$ref": "resources/volumes/volumeActions_post.yml" + } + }, + "/v2/volumes/snapshots/{snapshot_id}": { + "delete": { + "$ref": "resources/volumes/volumeSnapshots_delete_byId.yml" + }, + "get": { + "$ref": "resources/volumes/volumeSnapshots_get_byId.yml" + } + }, + "/v2/volumes/{volume_id}": { + "delete": { + "$ref": "resources/volumes/volumes_delete.yml" + }, + "get": { + "$ref": "resources/volumes/volumes_get.yml" + } + }, + "/v2/volumes/{volume_id}/actions": { + "get": { + "$ref": "resources/volumes/volumeActions_list.yml" + }, + "post": { + "$ref": "resources/volumes/volumeActions_post_byId.yml" + } + }, + "/v2/volumes/{volume_id}/actions/{action_id}": { + "get": { + "$ref": "resources/volumes/volumeActions_get.yml" + } + }, + "/v2/volumes/{volume_id}/snapshots": { + "get": { + "$ref": "resources/volumes/volumeSnapshots_list.yml" + }, + "post": { + "$ref": "resources/volumes/volumeSnapshots_create.yml" + } + }, + "/v2/vpc_nat_gateways": { + "get": { + "$ref": "resources/vpc_nat_gateways/vpc_nat_gateway_list.yml" + }, + "post": { + "$ref": "resources/vpc_nat_gateways/vpc_nat_gateway_create.yml" + } + }, + "/v2/vpc_nat_gateways/{id}": { + "delete": { + "$ref": "resources/vpc_nat_gateways/vpc_nat_gateway_delete.yml" + }, + "get": { + "$ref": "resources/vpc_nat_gateways/vpc_nat_gateway_get.yml" + }, + "put": { + "$ref": "resources/vpc_nat_gateways/vpc_nat_gateway_update.yml" + } + }, + "/v2/vpc_peerings": { + "get": { + "$ref": "resources/vpc_peerings/vpc_peerings_list.yml" + }, + "post": { + "$ref": "resources/vpc_peerings/vpc_peerings_create.yml" + } + }, + "/v2/vpc_peerings/{vpc_peering_id}": { + "delete": { + "$ref": "resources/vpc_peerings/vpc_peerings_delete.yml" + }, + "get": { + "$ref": "resources/vpc_peerings/vpc_peerings_get.yml" + }, + "patch": { + "$ref": "resources/vpc_peerings/vpc_peerings_update.yml" + } + }, + "/v2/vpcs": { + "get": { + "$ref": "resources/vpcs/vpcs_list.yml" + }, + "post": { + "$ref": "resources/vpcs/vpcs_create.yml" + } + }, + "/v2/vpcs/{vpc_id}": { + "delete": { + "$ref": "resources/vpcs/vpcs_delete.yml" + }, + "get": { + "$ref": "resources/vpcs/vpcs_get.yml" + }, + "patch": { + "$ref": "resources/vpcs/vpcs_patch.yml" + }, + "put": { + "$ref": "resources/vpcs/vpcs_update.yml" + } + }, + "/v2/vpcs/{vpc_id}/members": { + "get": { + "$ref": "resources/vpcs/vpcs_list_members.yml" + } + }, + "/v2/vpcs/{vpc_id}/peerings": { + "get": { + "$ref": "resources/vpcs/vpcs_list_peerings.yml" + }, + "post": { + "$ref": "resources/vpcs/vpcs_create_peerings.yml" + } + }, + "/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}": { + "patch": { + "$ref": "resources/vpcs/vpcs_update_peerings.yml" + } + } + }, + "security": [ + { + "bearer_auth": [] + } + ], + "servers": [ + { + "description": "production", + "url": "https://api.digitalocean.com" + } + ], + "tags": [ + { + "description": { + "$ref": "description.yml#/introduction" + }, + "name": "Public APIs Introduction", + "x-displayName": "Introduction", + "x-traitTag": true + }, + { + "description": "1-Click applications are pre-built Droplet images or Kubernetes apps with software,\nfeatures, and configuration details already set up for you. They can be found in the\n[DigitalOcean Marketplace](https://marketplace.digitalocean.com/).", + "name": "1-Click Applications" + }, + { + "description": "Provides information about your current account.", + "name": "Account" + }, + { + "description": "Actions are records of events that have occurred on the resources in your account.\nThese can be things like rebooting a Droplet, or transferring an image to a new region.\n\nAn action object is created every time one of these actions is initiated. The action\nobject contains information about the current status of the action, start and complete\ntimestamps, and the associated resource type and ID.\n\nEvery action that creates an action object is available through this endpoint. Completed\nactions are not removed from this list and are always available for querying.\n\n**Note:** You can pass the following HTTP header with the request to have the API return\nthe `reserved_ips` stanza instead of the `floating_ips` stanza:\n\n- `Accept: application/vnd.digitalocean.reserveip+json`", + "name": "Actions" + }, + { + "description": "Add-ons are third-party applications that can be added to your DigitalOcean account.\nThey are available through the [DigitalOcean Marketplace](https://marketplace.digitalocean.com/).\nAdd-ons can be used to enhance the functionality of your existing resources or to provide\nadditional services.\n\nThe Add-Ons API allows you to manage these resources, including creating, listing, and retrieving\ndetails about specific add-on resources.", + "name": "Add-Ons" + }, + { + "description": "App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows\ndevelopers to publish code directly to DigitalOcean servers without worrying about the\nunderlying infrastructure.\n\nMost API operations are centered around a few core object types. Following are the\ndefinitions of these types. These definitions will be omitted from the operation-specific\ndocumentation.\n\nFor documentation on app specifications (`AppSpec` objects), please refer to the\n[product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)).", + "name": "Apps" + }, + { + "description": "The billing endpoints allow you to retrieve your account balance, invoices,\nbilling history, and insights.\n\n**Balance:** By sending requests to the `/v2/customers/my/balance` endpoint, you can\nretrieve the balance information for the requested customer account.\n\n**Invoices:** [Invoices](https://docs.digitalocean.com/platform/billing/invoices/)\nare generated on the first of each month for every DigitalOcean\ncustomer. An invoice preview is generated daily, which can be accessed\nwith the `preview` keyword in place of `$INVOICE_UUID`. To interact with\ninvoices, you will generally send requests to the invoices endpoint at\n`/v2/customers/my/invoices`.\n\n**Billing History:** Billing history is a record of billing events for your account.\nFor example, entries may include events like payments made, invoices\nissued, or credits granted. To interact with invoices, you\nwill generally send requests to the invoices endpoint at\n`/v2/customers/my/billing_history`.\n\n**Billing Insights:** Day-over-day changes in billing resource usage based on nightly invoice items,\nincluding total amount, region, SKU, and description for a specified date range.\nIt is important to note that the daily resource usage may not reflect month-end billing totals when totaled for\na given month as nightly invoice items do not necessarily encompass all invoicing factors for the entire month.\n `v2/billing/{account_urn}/insights/{start_date}/{end_date}` where account_urn is the URN of the customer\naccount, can be a team (do:team:uuid) or an organization (do:teamgroup:uuid). The date range specified by\nstart_date and end_date must be in YYYY-MM-DD format.", + "name": "Billing" + }, + { + "description": "[DigitalOcean Block Storage Volumes](https://docs.digitalocean.com/products/volumes/)\nprovide expanded storage capacity for your Droplets and can be moved\nbetween Droplets within a specific region.\n\nVolumes function as raw block devices, meaning they appear to the\noperating system as locally attached storage which can be formatted using\nany file system supported by the OS. They may be created in sizes from\n1GiB to 16TiB.\n\nBy sending requests to the `/v2/volumes` endpoint, you can list, create, or\ndelete volumes as well as attach and detach them from Droplets", + "name": "Block Storage" + }, + { + "description": "Block storage actions are commands that can be given to a DigitalOcean\nBlock Storage Volume. An example would be detaching or attaching a volume\nfrom a Droplet. These requests are made on the\n`/v2/volumes/$VOLUME_ID/actions` endpoint.\n\nAn action object is returned. These objects hold the current status of the\nrequested action.", + "name": "Block Storage Actions" + }, + { + "description": "Bring your own IP (BYOIP) lets you provision your own IPv4 network prefixes\nto your account, then assign those IPs to your DigitalOcean resources.\nBYOIP supports the following features:\n* IPv4 addresses\n* Network sizes of anywhere from `/24` (256 addresses) to `/18` (16,384 addresses)\n* Same API and management interface as our existing reserved IPs feature\n* Assignable to Droplets only", + "name": "BYOIP Prefixes" + }, + { + "description": "Content hosted in DigitalOcean's object storage solution,\n[Spaces](https://docs.digitalocean.com/products/spaces/),\ncan optionally be served by our globally distributed Content Delivery\nNetwork (CDN). By sending requests to `/v2/cdn/endpoints`, you can list,\ncreate, or delete CDN Endpoints as well as purge cached content. To use a\ncustom subdomain to access the CDN Endpoint, provide the ID of a\nDigitalOcean managed TLS certificate and the fully qualified domain name\nfor the custom subdomain.\n\nCDN endpoints have a rate limit of five requests per 10 seconds.", + "name": "CDN Endpoints" + }, + { + "description": "In order to perform SSL termination on load balancers, DigitalOcean offers\ntwo types of [SSL certificate management](https://docs.digitalocean.com/platform/teams/manage-certificates):\n\n* **Custom**: User-generated certificates may be uploaded to DigitalOcean\nwhere they will be placed in a fully encrypted and isolated storage system.\n\n* **Let's Encrypt**: Certificates may be automatically generated by\nDigitalOcean utilizing an integration with Let's Encrypt, the free and\nopen certificate authority. These certificates will also be automatically\nrenewed as required.", + "name": "Certificates" + }, + { + "description": "DigitalOcean offers the ability for you to create a\n[private container registry](https://docs.digitalocean.com/products/container-registry/)\nto store your Docker images for use with your Kubernetes clusters. This\ncontainer registry runs inside the same datacenters as your cluster,\nensuring reliable and performant rollout of image deployments.\n\nYou can only create one registry per DigitalOcean account, but you can use\nthat registry to create as many repositories as you wish.", + "name": "Container Registry" + }, + { + "description": "DigitalOcean now supports up to nine additional registries (for a total maximum of 10) per team\nif your container registry uses the Professional subscription plan. The storage is shared among\nthe registries. This set of new APIs is backward compatible with `/v2/registry`. However, if you\ncreate more than one registry under a Professional plan, some of the `/v2/registry` APIs would not work.\nHence, it is recommended to use `/v2/registries` for multiple registries.", + "name": "Container Registries" + }, + { + "description": "DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases)\nsimplifies the creation and management of highly available database clusters. Currently, it\noffers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/),\n[Caching](https://docs.digitalocean.com/products/databases/redis/),\n[Valkey](https://docs.digitalocean.com/products/databases/valkey/),\n[MySQL](https://docs.digitalocean.com/products/databases/mysql/),\n[MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and\n[OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/).\n\nBy sending requests to the `/v2/databases` endpoint, you can list, create, or delete\ndatabase clusters as well as scale the size of a cluster, add or remove read-only replicas,\nand manage other configuration details.\n\nDatabase clusters may be deployed in a multi-node, high-availability configuration.\nIf your machine type is above the basic nodes, your node plan is above the smallest option,\nor you are running MongoDB, you may additionally include up to two standby nodes in your cluster.\n\nThe size of individual nodes in a database cluster is represented by a human-readable slug,\nwhich is used in some of the following requests. Each slug denotes the node's identifier,\nCPU count, and amount of RAM, in that order.\n\nFor a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the\n`doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options).", + "name": "Databases" + }, + { + "description": "[Dedicated Inference](https://docs.digitalocean.com/products/agent-platform/dedicated-inference/)\ndelivers scalable production-grade LLM hosting on DigitalOcean. Create, list, get, update,\nand delete Dedicated Inference instances; manage accelerators, CA certificate, sizes,\nGPU model config, and access tokens.", + "name": "Dedicated Inference" + }, + { + "description": "Domain record resources are used to set or retrieve information about the\nindividual DNS records configured for a domain. This allows you to build\nand manage DNS zone files by adding and modifying individual records for a\ndomain.\n\nThe [DigitalOcean DNS management interface](https://docs.digitalocean.com/products/networking/dns/)\nallows you to configure the following DNS records:\n\nName | Description |\n------|----------------------------------------------------------------------------------------------------------------------------------------------------|\nA | This record type is used to map an IPv4 address to a hostname. |\nAAAA | This record type is used to map an IPv6 address to a hostname. |\nCAA | As specified in RFC-6844, this record type can be used to restrict which certificate authorities are permitted to issue certificates for a domain. |\nCNAME | This record type defines an alias for your canonical hostname (the one defined by an A or AAAA record). |\nMX | This record type is used to define the mail exchanges used for the domain. |\nNS | This record type defines the name servers that are used for this zone. |\nTXT | This record type is used to associate a string of text with a hostname, primarily used for verification. |\nSRV | This record type specifies the location (hostname and port number) of servers for specific services. |\nSOA | This record type defines administrative information about the zone. Can only have ttl changed, cannot be deleted |", + "name": "Domain Records" + }, + { + "description": "Domain resources are domain names that you have purchased from a domain\nname registrar that you are managing through the\n[DigitalOcean DNS interface](https://docs.digitalocean.com/products/networking/dns/).\n\nThis resource establishes top-level control over each domain. Actions that\naffect individual domain records should be taken on the\n[Domain Records](#tag/Domain-Records) resource.", + "name": "Domains" + }, + { + "description": "Droplet actions are tasks that can be executed on a Droplet. These can be\nthings like rebooting, resizing, snapshotting, etc.\n\nDroplet action requests are generally targeted at one of the \"actions\"\nendpoints for a specific Droplet. The specific actions are usually\ninitiated by sending a POST request with the action and arguments as\nparameters.\n\nDroplet action requests create a Droplet actions object, which can be used\nto get information about the status of an action. Creating a Droplet\naction is asynchronous: the HTTP call will return the action object before\nthe action has finished processing on the Droplet. The current status of\nan action can be retrieved from either the Droplet actions endpoint or the\nglobal actions endpoint. If a Droplet action is uncompleted it may block\nthe creation of a subsequent action for that Droplet, the locked attribute\nof the Droplet will be true and attempts to create a Droplet action will\nfail with a status of 422.", + "name": "Droplet Actions" + }, + { + "description": "A [Droplet](https://docs.digitalocean.com/products/droplets/) is a DigitalOcean\nvirtual machine. By sending requests to the Droplet endpoint, you can\nlist, create, or delete Droplets.\n\nSome of the attributes will have an object value. The `region` and `image`\nobjects will all contain the standard attributes of their associated\ntypes. Find more information about each of these objects in their\nrespective sections.", + "name": "Droplets" + }, + { + "description": "Droplet autoscale pools manage automatic horizontal scaling for your applications based on resource usage (CPU, memory, or both) or a static configuration.", + "name": "Droplet Autoscale Pools" + }, + { + "description": "Text embedding vectors via `POST /v1/embeddings` on the\n[Serverless Inference](https://docs.digitalocean.com/reference/api/api-reference/#tag/Serverless-Inference) base URL\n`https://inference.do-ai.run` (bearer model access key).", + "name": "Embeddings" + }, + { + "description": "[DigitalOcean Cloud Firewalls](https://docs.digitalocean.com/products/networking/firewalls/)\nprovide the ability to restrict network access to and from a Droplet\nallowing you to define which ports will accept inbound or outbound\nconnections. By sending requests to the `/v2/firewalls` endpoint, you can\nlist, create, or delete firewalls as well as modify access rules.", + "name": "Firewalls" + }, + { + "description": "As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs).\nThe Reserved IP product's endpoints function the exact same way as Floating IPs.\nThe only difference is the name change throughout the URLs and fields.\nFor example, the `floating_ips` field is now the `reserved_ips` field.\nThe Floating IP endpoints will remain active until fall 2023 before being\npermanently deprecated.\n\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\nwe will reflect this change as an additional field in the responses across the API\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\nFloating IPs retrieved using the Projects API will retain the original name.\n\nFloating IP actions are commands that can be given to a DigitalOcean\nfloating IP. These requests are made on the actions endpoint of a specific\nfloating IP.\n\nAn action object is returned. These objects hold the current status of the\nrequested action.", + "name": "Floating IP Actions" + }, + { + "description": "As of 16 June 2022, we have renamed the Floating IP product to [Reserved IPs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Reserved-IPs).\nThe Reserved IP product's endpoints function the exact same way as Floating IPs.\nThe only difference is the name change throughout the URLs and fields.\nFor example, the `floating_ips` field is now the `reserved_ips` field.\nThe Floating IP endpoints will remain active until fall 2023 before being\npermanently deprecated.\n\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\nwe will reflect this change as an additional field in the responses across the API\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\nFloating IPs retrieved using the Projects API will retain the original name.\n\n[DigitalOcean Floating IPs](https://docs.digitalocean.com/products/networking/reserved-ips/)\nare publicly-accessible static IP addresses that can be mapped to one of\nyour Droplets. They can be used to create highly available setups or other\nconfigurations requiring movable addresses.\n\nFloating IPs are bound to a specific region.", + "name": "Floating IPs" + }, + { + "description": "[Serverless functions](https://docs.digitalocean.com/products/functions) are blocks of code that run on demand without the need to manage any infrastructure.\nYou can develop functions on your local machine and then deploy them to a namespace using `doctl`, the [official DigitalOcean CLI tool](https://docs.digitalocean.com/reference/doctl).\n\nThe Serverless Functions API currently only supports creating and managing namespaces.", + "name": "Functions" + }, + { + "description": "The API lets you build GPU-powered AI agents with pre-built or custom foundation models, function and agent routes, and RAG pipelines with knowledge bases.", + "name": "GradientAI Platform" + }, + { + "description": "Image actions are commands that can be given to a DigitalOcean image. In\ngeneral, these requests are made on the actions endpoint of a specific\nimage.\n\nAn image action object is returned. These objects hold the current status\nof the requested action.", + "name": "Image Actions" + }, + { + "description": "A DigitalOcean [image](https://docs.digitalocean.com/products/images/) can be\nused to create a Droplet and may come in a number of flavors. Currently,\nthere are five types of images: snapshots, backups, applications,\ndistributions, and custom images.\n\n* [Snapshots](https://docs.digitalocean.com/products/snapshots/) provide\na full copy of an existing Droplet instance taken on demand.\n\n* [Backups](https://docs.digitalocean.com/products/backups/) are similar\nto snapshots but are created automatically at regular intervals when\nenabled for a Droplet.\n\n* [Custom images](https://docs.digitalocean.com/products/custom-images/)\nare Linux-based virtual machine images (raw, qcow2, vhdx, vdi, and vmdk\nformats are supported) that you may upload for use on DigitalOcean.\n\n* Distributions are the public Linux distributions that are available to\nbe used as a base to create Droplets.\n\n* Applications, or [1-Click Apps](https://docs.digitalocean.com/products/marketplace/),\nare distributions pre-configured with additional software.\n\nTo interact with images, you will generally send requests to the images\nendpoint at /v2/images.", + "name": "Images" + }, + { + "description": "[DigitalOcean Kubernetes](https://docs.digitalocean.com/products/kubernetes/)\nallows you to quickly deploy scalable and secure Kubernetes clusters. By\nsending requests to the `/v2/kubernetes/clusters` endpoint, you can list,\ncreate, or delete clusters as well as scale node pools up and down,\nrecycle individual nodes, and retrieve the kubeconfig file for use with\na cluster.", + "name": "Kubernetes" + }, + { + "description": "[DigitalOcean Load Balancers](https://docs.digitalocean.com/products/networking/load-balancers/)\nprovide a way to distribute traffic across multiple Droplets. By sending\nrequests to the `/v2/load_balancers` endpoint, you can list, create, or\ndelete load balancers as well as add or remove Droplets, forwarding rules,\nand other configuration details.", + "name": "Load Balancers" + }, + { + "description": "The DigitalOcean Monitoring API makes it possible to programmatically retrieve metrics as well as configure alert\npolicies based on these metrics. The Monitoring API can help you gain insight into how your apps are performing\nand consuming resources.", + "name": "Monitoring" + }, + { + "description": "NFS lets you create fully managed, POSIX-compliant network file storage that delivers secure,\nhigh-performance shared storage right inside your VPC. This enables seamless data sharing across Droplets in a VPC.", + "name": "NFS" + }, + { + "description": "NFS actions are tasks that can be executed on an NFS share. These can be\nthings like resizing, snapshotting, etc.", + "name": "NFS Actions" + }, + { + "description": "Partner Network Connect lets you establish high-bandwidth, low-latency\nnetwork connections directly between DigitalOcean VPC networks and other\npublic cloud providers or on-premises datacenters.", + "name": "Partner Network Connect" + }, + { + "description": "Project Resources are resources that can be grouped into your projects.\nYou can group resources (like Droplets, Spaces, load balancers, domains,\nand floating IPs) in ways that align with the applications you host on\nDigitalOcean.\n\n### Supported Resource Types Examples\n\nProjects resources are identified by uniform resource names or URNs. A\nvalid URN has the following format: `do:resource_type:resource_id`. The\nfollowing resource types are supported:\n\nResource Type | Example URN\n-------------------|------------\nApp Platform App | `do:app:be5aab85-851b-4cab-b2ed-98d5a63ba4e8`\nDatabase | `do:dbaas:83c7a55f-0d84-4760-9245-aba076ec2fb2`\nDomain | `do:domain:example.com`\nDroplet | `do:droplet:4126873`\nFloating IP | `do:floatingip:192.168.99.100`\nKubernetes Cluster | `do:kubernetes:bd5f5959-5e1e-4205-a714-a914373942af`\nLoad Balancer | `do:loadbalancer:39052d89-8dd4-4d49-8d5a-3c3b6b365b5b`\nSpace | `do:space:my-website-assets`\nVolume | `do:volume:6fc4c277-ea5c-448a-93cd-dd496cfef71f`\n\n### Resource Status Codes\n\nWhen assigning and retrieving resources in projects, a `status` attribute\nis returned that indicates if a resource was successfully retrieved or\nassigned. The status codes can be one of the following:\n\nStatus Code | Explanation\n-------------------|------------\n`ok` | There was no problem retrieving or assigning a resource.\n`not_found` | The resource was not found.\n`assigned` | The resource was successfully assigned.\n`already_assigned` | The resource was already assigned.\n`service_down` | There was a problem retrieving or assigning a resource. Please try again.", + "name": "Project Resources" + }, + { + "description": "Projects allow you to organize your resources into groups that fit the way\nyou work. You can group resources (like Droplets, Spaces, load balancers,\ndomains, and floating IPs) in ways that align with the applications\nyou host on DigitalOcean.", + "name": "Projects" + }, + { + "description": "Provides information about DigitalOcean data center regions.", + "name": "Regions" + }, + { + "description": "As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs)\nproduct to Reserved IPs. The Reserved IP product's endpoints function the exact\nsame way as Floating IPs. The only difference is the name change throughout the\nURLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field.\nThe Floating IP endpoints will remain active until fall 2023 before being\npermanently deprecated.\n\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\nwe will reflect this change as an additional field in the responses across the API\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\nFloating IPs retrieved using the Projects API will retain the original name.\n\nReserved IP actions are commands that can be given to a DigitalOcean\nreserved IP. These requests are made on the actions endpoint of a specific\nreserved IP.\n\nAn action object is returned. These objects hold the current status of the\nrequested action.", + "name": "Reserved IP Actions" + }, + { + "description": "As of 16 June 2022, we have renamed the [Floating IP](https://docs.digitalocean.com/reference/api/api-reference/#tag/Floating-IPs)\nproduct to Reserved IPs. The Reserved IP product's endpoints function the exact\nsame way as Floating IPs. The only difference is the name change throughout the\nURLs and fields. For example, the `floating_ips` field is now the `reserved_ips` field.\nThe Floating IP endpoints will remain active until fall 2023 before being\npermanently deprecated.\n\nWith the exception of the [Projects API](https://docs.digitalocean.com/reference/api/api-reference/#tag/Projects),\nwe will reflect this change as an additional field in the responses across the API\nwhere the `floating_ip` field is used. For example, the Droplet metadata response\nwill contain the field `reserved_ips` in addition to the `floating_ips` field.\nFloating IPs retrieved using the Projects API will retain the original name.\n\nDigitalOcean Reserved IPs are publicly-accessible static IP addresses that can be\nmapped to one of your Droplets. They can be used to create highly available\nsetups or other configurations requiring movable addresses.\n\nReserved IPs are bound to a specific region.", + "name": "Reserved IPs" + }, + { + "description": "DigitalOcean Reserved IPv6s are publicly-accessible static IP addresses that can be\nmapped to one of your Droplets. They can be used to create highly available\nsetups or other configurations requiring movable addresses.\n\nReserved IPv6s are bound to a specific region.", + "name": "Reserved IPv6" + }, + { + "description": "Reserved IPv6 actions requests are made on the actions endpoint of a specific\nreserved IPv6.\n\nAn action object is returned. These objects hold the current status of the\nrequested action.", + "name": "Reserved IPv6 Actions" + }, + { + "description": "Security CSPM endpoints for scans, scan findings, and settings.", + "name": "Security" + }, + { + "description": "The sizes objects represent different packages of hardware resources that\ncan be used for Droplets. When a Droplet is created, a size must be\nselected so that the correct resources can be allocated.\n\nEach size represents a plan that bundles together specific sets of\nresources. This includes the amount of RAM, the number of virtual CPUs,\ndisk space, and transfer. The size object also includes the pricing\ndetails and the regions that the size is available in.", + "name": "Sizes" + }, + { + "description": "[Snapshots](https://docs.digitalocean.com/products/snapshots/) are saved\ninstances of a Droplet or a block storage volume, which is reflected in\nthe `resource_type` attribute. In order to avoid problems with compressing\nfilesystems, each defines a `min_disk_size` attribute which is the minimum\nsize of the Droplet or volume disk when creating a new resource from the\nsaved snapshot.\n\nTo interact with snapshots, you will generally send requests to the\nsnapshots endpoint at `/v2/snapshots`.", + "name": "Snapshots" + }, + { + "description": "Spaces keys authenticate requests to DigitalOcean Spaces Buckets.\nYou can create, list, update, or delete Spaces keys by sending requests to\nto the `/v2/spaces/keys` endpoint.", + "name": "Spaces Keys" + }, + { + "description": "Manage SSH keys available on your account.", + "name": "SSH Keys" + }, + { + "description": "A tag is a label that can be applied to a resource (currently Droplets,\nImages, Volumes, Volume Snapshots, and Database clusters) in order to\nbetter organize or facilitate the lookups and actions on it.\n\nTags have two attributes: a user defined `name` attribute and an embedded\n`resources` attribute with information about resources that have been tagged.", + "name": "Tags" + }, + { + "description": "[DigitalOcean Uptime Checks](https://docs.digitalocean.com/products/uptime/) provide the ability to monitor your endpoints from around the world, and alert you when they're slow, unavailable, or SSL certificates are expiring.\nTo interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`.", + "name": "Uptime" + }, + { + "description": "Vector DB provides APIs for provisioning and managing vector database instances\non DigitalOcean. By sending requests to the `/v2/vector-databases` endpoint,\nyou can list, create, update, resize, and delete vector database instances,\nmanage tags, retrieve admin credentials, and work with backups and restores.", + "name": "Vector Databases" + }, + { + "description": "[VPC NAT Gateways](https://docs.digitalocean.com/products/networking/vpc/how-to/create-nat-gateway/)\nallow resources in a private VPC to access the public internet without\nexposing them to incoming traffic.\n\nBy sending requests to the `/v2/vpc_nat_gateways` endpoint, you can create,\nconfigure, list, and delete VPC NAT Gateways as well as retrieve information\nabout the resources assigned to them.", + "name": "VPC NAT Gateways" + }, + { + "description": "[VPC Peerings](https://docs.digitalocean.com/products/networking/vpc/how-to/create-peering/)\njoin two VPC networks with a secure, private connection. This allows\nresources in those networks to connect to each other's private IP addresses\nas if they were in the same network.", + "name": "VPC Peerings" + }, + { + "description": "[VPCs (virtual private clouds)](https://docs.digitalocean.com/products/networking/vpc/)\nallow you to create virtual networks containing resources that can\ncommunicate with each other in full isolation using private IP addresses.\n\nBy sending requests to the `/v2/vpcs` endpoint, you can create, configure,\nlist, and delete custom VPCs as well as retrieve information about the\nresources assigned to them.", + "name": "VPCs" + }, + { + "description": { + "$ref": "inference_description.yml#/introduction" + }, + "name": "Inference Introduction", + "x-displayName": "Introduction", + "x-traitTag": true + }, + { + "description": "DigitalOcean Gradient\u2122 AI Agentic Cloud allows access to serverless inference models.\nYou can access models by providing an inference key.\n\n**Note:** The Serverless Inference API uses a separate base URL (`https://inference.do-ai.run`)\nand is independent of the main DigitalOcean control-plane API (`https://api.digitalocean.com`).", + "name": "Serverless Inference" + }, + { + "description": "DigitalOcean Gradient\u2122 AI Agentic Cloud allows you to create multi-agent workflows\nto power your AI applications. This allows developers to integrate agents into your\nAI applications.\n\n**Note:** The Agent Inference API uses a customer-specific base URL (the agent endpoint)\nand is independent of the main DigitalOcean control-plane API (`https://api.digitalocean.com`).", + "name": "Agent Inference" + }, + { + "description": "Batch Inference is an asynchronous processing capability designed to help\nyou scale high-volume AI projects more efficiently. Ideal for heavy-duty\nworkloads like large-scale data classification, evaluations, and content\nenrichment, you can submit thousands or even millions of requests in a\nsingle job with a guaranteed results window of 24 hours. By utilizing\noff-peak GPU capacity, Batch Inference provides high-performance LLM\naccess at a significantly reduced price point compared to standard\nsynchronous APIs, making it a cost-effective choice for non-interactive\nworkloads.", + "name": "Batch Inference" + } + ], + "x-tagGroups": [ + { + "name": "Public APIs", + "tags": [ + "Public APIs Introduction", + "1-Click Applications", + "Account", + "Actions", + "Add-Ons", + "Apps", + "Billing", + "Block Storage", + "Block Storage Actions", + "BYOIP Prefixes", + "CDN Endpoints", + "Certificates", + "Container Registry", + "Container Registries", + "Databases", + "Dedicated Inference", + "Domain Records", + "Domains", + "Droplet Actions", + "Droplets", + "Droplet Autoscale Pools", + "Firewalls", + "Floating IP Actions", + "Floating IPs", + "Functions", + "GradientAI Platform", + "Image Actions", + "Images", + "Kubernetes", + "Load Balancers", + "Monitoring", + "NFS", + "NFS Actions", + "Partner Network Connect", + "Project Resources", + "Projects", + "Regions", + "Reserved IP Actions", + "Reserved IPs", + "Reserved IPv6", + "Reserved IPv6 Actions", + "Security", + "Sizes", + "Snapshots", + "Spaces Keys", + "SSH Keys", + "Tags", + "Uptime", + "Vector Databases", + "VPC NAT Gateways", + "VPC Peerings", + "VPCs" + ] + }, + { + "name": "Inference APIs", + "tags": [ + "Inference Introduction", + "Agent Inference", + "Batch Inference", + "Embeddings", + "Serverless Inference" + ] + } + ] +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..086fbda --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +# a2a-pack is installed by the platform base image. +deepagents>=0.5.0 +langchain>=0.3 +langchain-openai>=0.2 +langchain-core>=0.3 +langgraph>=0.6 +httpx>=0.27 diff --git a/skills/account/SKILL.md b/skills/account/SKILL.md new file mode 100644 index 0000000..bed3cf0 --- /dev/null +++ b/skills/account/SKILL.md @@ -0,0 +1,62 @@ +--- +name: account-routes +description: Handle 6 OpenAPI operation(s) under /v2/account for the account route group. +--- + +# account API Routes + +Handle 6 OpenAPI operation(s) under /v2/account for the account route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_account + +- Operation ID: `get_v2_account` +- Route: `GET /v2/account` +- Mode: READ +- Summary: get_/v2/account + +### get_v2_account_keys + +- Operation ID: `get_v2_account_keys` +- Route: `GET /v2/account/keys` +- Mode: READ +- Summary: get_/v2/account/keys + +### post_v2_account_keys + +- Operation ID: `post_v2_account_keys` +- Route: `POST /v2/account/keys` +- Mode: WRITE +- Summary: post_/v2/account/keys + +### get_v2_account_keys_ssh_key_identifier + +- Operation ID: `get_v2_account_keys_ssh_key_identifier` +- Route: `GET /v2/account/keys/{ssh_key_identifier}` +- Mode: READ +- Summary: get_/v2/account/keys/{ssh_key_identifier} +- Parameters: + - `ssh_key_identifier` in `path` required + +### put_v2_account_keys_ssh_key_identifier + +- Operation ID: `put_v2_account_keys_ssh_key_identifier` +- Route: `PUT /v2/account/keys/{ssh_key_identifier}` +- Mode: WRITE +- Summary: put_/v2/account/keys/{ssh_key_identifier} +- Parameters: + - `ssh_key_identifier` in `path` required + +### delete_v2_account_keys_ssh_key_identifier + +- Operation ID: `delete_v2_account_keys_ssh_key_identifier` +- Route: `DELETE /v2/account/keys/{ssh_key_identifier}` +- Mode: WRITE +- Summary: delete_/v2/account/keys/{ssh_key_identifier} +- Parameters: + - `ssh_key_identifier` in `path` required diff --git a/skills/actions/SKILL.md b/skills/actions/SKILL.md new file mode 100644 index 0000000..9466e4f --- /dev/null +++ b/skills/actions/SKILL.md @@ -0,0 +1,30 @@ +--- +name: actions-routes +description: Handle 2 OpenAPI operation(s) under /v2/actions for the actions route group. +--- + +# actions API Routes + +Handle 2 OpenAPI operation(s) under /v2/actions for the actions route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_actions + +- Operation ID: `get_v2_actions` +- Route: `GET /v2/actions` +- Mode: READ +- Summary: get_/v2/actions + +### get_v2_actions_action_id + +- Operation ID: `get_v2_actions_action_id` +- Route: `GET /v2/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/actions/{action_id} +- Parameters: + - `action_id` in `path` required diff --git a/skills/add-ons/SKILL.md b/skills/add-ons/SKILL.md new file mode 100644 index 0000000..8760053 --- /dev/null +++ b/skills/add-ons/SKILL.md @@ -0,0 +1,80 @@ +--- +name: add-ons-routes +description: Handle 8 OpenAPI operation(s) under /v2/add-ons for the add ons route group. +--- + +# add ons API Routes + +Handle 8 OpenAPI operation(s) under /v2/add-ons for the add ons route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_add_ons_apps + +- Operation ID: `get_v2_add_ons_apps` +- Route: `GET /v2/add-ons/apps` +- Mode: READ +- Summary: get_/v2/add-ons/apps + +### get_v2_add_ons_apps_app_slug_metadata + +- Operation ID: `get_v2_add_ons_apps_app_slug_metadata` +- Route: `GET /v2/add-ons/apps/{app_slug}/metadata` +- Mode: READ +- Summary: get_/v2/add-ons/apps/{app_slug}/metadata +- Parameters: + - `app_slug` in `path` required + +### get_v2_add_ons_saas + +- Operation ID: `get_v2_add_ons_saas` +- Route: `GET /v2/add-ons/saas` +- Mode: READ +- Summary: get_/v2/add-ons/saas + +### post_v2_add_ons_saas + +- Operation ID: `post_v2_add_ons_saas` +- Route: `POST /v2/add-ons/saas` +- Mode: WRITE +- Summary: post_/v2/add-ons/saas + +### get_v2_add_ons_saas_resource_uuid + +- Operation ID: `get_v2_add_ons_saas_resource_uuid` +- Route: `GET /v2/add-ons/saas/{resource_uuid}` +- Mode: READ +- Summary: get_/v2/add-ons/saas/{resource_uuid} +- Parameters: + - `resource_uuid` in `path` required + +### delete_v2_add_ons_saas_resource_uuid + +- Operation ID: `delete_v2_add_ons_saas_resource_uuid` +- Route: `DELETE /v2/add-ons/saas/{resource_uuid}` +- Mode: WRITE +- Summary: delete_/v2/add-ons/saas/{resource_uuid} +- Parameters: + - `resource_uuid` in `path` required + +### patch_v2_add_ons_saas_resource_uuid + +- Operation ID: `patch_v2_add_ons_saas_resource_uuid` +- Route: `PATCH /v2/add-ons/saas/{resource_uuid}` +- Mode: WRITE +- Summary: patch_/v2/add-ons/saas/{resource_uuid} +- Parameters: + - `resource_uuid` in `path` required + +### patch_v2_add_ons_saas_resource_uuid_plan + +- Operation ID: `patch_v2_add_ons_saas_resource_uuid_plan` +- Route: `PATCH /v2/add-ons/saas/{resource_uuid}/plan` +- Mode: WRITE +- Summary: patch_/v2/add-ons/saas/{resource_uuid}/plan +- Parameters: + - `resource_uuid` in `path` required diff --git a/skills/apps/SKILL.md b/skills/apps/SKILL.md new file mode 100644 index 0000000..97afbb5 --- /dev/null +++ b/skills/apps/SKILL.md @@ -0,0 +1,361 @@ +--- +name: apps-routes +description: Handle 38 OpenAPI operation(s) under /v2/apps for the apps route group. +--- + +# apps API Routes + +Handle 38 OpenAPI operation(s) under /v2/apps for the apps route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_apps + +- Operation ID: `get_v2_apps` +- Route: `GET /v2/apps` +- Mode: READ +- Summary: get_/v2/apps + +### post_v2_apps + +- Operation ID: `post_v2_apps` +- Route: `POST /v2/apps` +- Mode: WRITE +- Summary: post_/v2/apps + +### delete_v2_apps_id + +- Operation ID: `delete_v2_apps_id` +- Route: `DELETE /v2/apps/{id}` +- Mode: WRITE +- Summary: delete_/v2/apps/{id} +- Parameters: + - `id` in `path` required + +### get_v2_apps_id + +- Operation ID: `get_v2_apps_id` +- Route: `GET /v2/apps/{id}` +- Mode: READ +- Summary: get_/v2/apps/{id} +- Parameters: + - `id` in `path` required + +### put_v2_apps_id + +- Operation ID: `put_v2_apps_id` +- Route: `PUT /v2/apps/{id}` +- Mode: WRITE +- Summary: put_/v2/apps/{id} +- Parameters: + - `id` in `path` required + +### post_v2_apps_app_id_restart + +- Operation ID: `post_v2_apps_app_id_restart` +- Route: `POST /v2/apps/{app_id}/restart` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/restart +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_components_component_name_logs + +- Operation ID: `get_v2_apps_app_id_components_component_name_logs` +- Route: `GET /v2/apps/{app_id}/components/{component_name}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/components/{component_name}/logs +- Parameters: + - `app_id` in `path` required + - `component_name` in `path` required + +### get_v2_apps_app_id_components_component_name_exec + +- Operation ID: `get_v2_apps_app_id_components_component_name_exec` +- Route: `GET /v2/apps/{app_id}/components/{component_name}/exec` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/components/{component_name}/exec +- Parameters: + - `app_id` in `path` required + - `component_name` in `path` required + +### get_v2_apps_app_id_instances + +- Operation ID: `get_v2_apps_app_id_instances` +- Route: `GET /v2/apps/{app_id}/instances` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/instances +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_deployments + +- Operation ID: `get_v2_apps_app_id_deployments` +- Route: `GET /v2/apps/{app_id}/deployments` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/deployments +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_app_id_deployments + +- Operation ID: `post_v2_apps_app_id_deployments` +- Route: `POST /v2/apps/{app_id}/deployments` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/deployments +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_deployments_deployment_id + +- Operation ID: `get_v2_apps_app_id_deployments_deployment_id` +- Route: `GET /v2/apps/{app_id}/deployments/{deployment_id}` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/deployments/{deployment_id} +- Parameters: + - `app_id` in `path` required + - `deployment_id` in `path` required + +### post_v2_apps_app_id_deployments_deployment_id_cancel + +- Operation ID: `post_v2_apps_app_id_deployments_deployment_id_cancel` +- Route: `POST /v2/apps/{app_id}/deployments/{deployment_id}/cancel` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/deployments/{deployment_id}/cancel +- Parameters: + - `app_id` in `path` required + - `deployment_id` in `path` required + +### get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs + +- Operation ID: `get_v2_apps_app_id_deployments_deployment_id_components_component_name_logs` +- Route: `GET /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs +- Parameters: + - `app_id` in `path` required + - `deployment_id` in `path` required + - `component_name` in `path` required + +### get_v2_apps_app_id_deployments_deployment_id_logs + +- Operation ID: `get_v2_apps_app_id_deployments_deployment_id_logs` +- Route: `GET /v2/apps/{app_id}/deployments/{deployment_id}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/deployments/{deployment_id}/logs +- Parameters: + - `app_id` in `path` required + - `deployment_id` in `path` required + +### get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec + +- Operation ID: `get_v2_apps_app_id_deployments_deployment_id_components_component_name_exec` +- Route: `GET /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec +- Parameters: + - `app_id` in `path` required + - `deployment_id` in `path` required + - `component_name` in `path` required + +### get_v2_apps_app_id_logs + +- Operation ID: `get_v2_apps_app_id_logs` +- Route: `GET /v2/apps/{app_id}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/logs +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_job_invocations + +- Operation ID: `get_v2_apps_app_id_job_invocations` +- Route: `GET /v2/apps/{app_id}/job-invocations` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/job-invocations +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_job_invocations_job_invocation_id + +- Operation ID: `get_v2_apps_app_id_job_invocations_job_invocation_id` +- Route: `GET /v2/apps/{app_id}/job-invocations/{job_invocation_id}` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/job-invocations/{job_invocation_id} +- Parameters: + - `app_id` in `path` required + - `job_invocation_id` in `path` required + +### post_v2_apps_app_id_job_invocations_job_invocation_id_cancel + +- Operation ID: `post_v2_apps_app_id_job_invocations_job_invocation_id_cancel` +- Route: `POST /v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel +- Parameters: + - `app_id` in `path` required + - `job_invocation_id` in `path` required + +### get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs + +- Operation ID: `get_v2_apps_app_id_jobs_job_name_invocations_job_invocation_id_logs` +- Route: `GET /v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs +- Parameters: + - `app_id` in `path` required + - `job_name` in `path` required + - `job_invocation_id` in `path` required + +### get_v2_apps_app_id_events + +- Operation ID: `get_v2_apps_app_id_events` +- Route: `GET /v2/apps/{app_id}/events` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/events +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_events_event_id + +- Operation ID: `get_v2_apps_app_id_events_event_id` +- Route: `GET /v2/apps/{app_id}/events/{event_id}` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/events/{event_id} +- Parameters: + - `app_id` in `path` required + - `event_id` in `path` required + +### post_v2_apps_app_id_events_event_id_cancel + +- Operation ID: `post_v2_apps_app_id_events_event_id_cancel` +- Route: `POST /v2/apps/{app_id}/events/{event_id}/cancel` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/events/{event_id}/cancel +- Parameters: + - `app_id` in `path` required + - `event_id` in `path` required + +### get_v2_apps_app_id_events_event_id_logs + +- Operation ID: `get_v2_apps_app_id_events_event_id_logs` +- Route: `GET /v2/apps/{app_id}/events/{event_id}/logs` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/events/{event_id}/logs +- Parameters: + - `app_id` in `path` required + - `event_id` in `path` required + +### get_v2_apps_tiers_instance_sizes + +- Operation ID: `get_v2_apps_tiers_instance_sizes` +- Route: `GET /v2/apps/tiers/instance_sizes` +- Mode: READ +- Summary: get_/v2/apps/tiers/instance_sizes + +### get_v2_apps_tiers_instance_sizes_slug + +- Operation ID: `get_v2_apps_tiers_instance_sizes_slug` +- Route: `GET /v2/apps/tiers/instance_sizes/{slug}` +- Mode: READ +- Summary: get_/v2/apps/tiers/instance_sizes/{slug} +- Parameters: + - `slug` in `path` required + +### get_v2_apps_regions + +- Operation ID: `get_v2_apps_regions` +- Route: `GET /v2/apps/regions` +- Mode: READ +- Summary: get_/v2/apps/regions + +### post_v2_apps_propose + +- Operation ID: `post_v2_apps_propose` +- Route: `POST /v2/apps/propose` +- Mode: WRITE +- Summary: post_/v2/apps/propose + +### get_v2_apps_app_id_alerts + +- Operation ID: `get_v2_apps_app_id_alerts` +- Route: `GET /v2/apps/{app_id}/alerts` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/alerts +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_app_id_alerts_alert_id_destinations + +- Operation ID: `post_v2_apps_app_id_alerts_alert_id_destinations` +- Route: `POST /v2/apps/{app_id}/alerts/{alert_id}/destinations` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/alerts/{alert_id}/destinations +- Parameters: + - `app_id` in `path` required + - `alert_id` in `path` required + +### post_v2_apps_app_id_rollback + +- Operation ID: `post_v2_apps_app_id_rollback` +- Route: `POST /v2/apps/{app_id}/rollback` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/rollback +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_app_id_rollback_validate + +- Operation ID: `post_v2_apps_app_id_rollback_validate` +- Route: `POST /v2/apps/{app_id}/rollback/validate` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/rollback/validate +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_app_id_rollback_commit + +- Operation ID: `post_v2_apps_app_id_rollback_commit` +- Route: `POST /v2/apps/{app_id}/rollback/commit` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/rollback/commit +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_app_id_rollback_revert + +- Operation ID: `post_v2_apps_app_id_rollback_revert` +- Route: `POST /v2/apps/{app_id}/rollback/revert` +- Mode: WRITE +- Summary: post_/v2/apps/{app_id}/rollback/revert +- Parameters: + - `app_id` in `path` required + +### get_v2_apps_app_id_metrics_bandwidth_daily + +- Operation ID: `get_v2_apps_app_id_metrics_bandwidth_daily` +- Route: `GET /v2/apps/{app_id}/metrics/bandwidth_daily` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/metrics/bandwidth_daily +- Parameters: + - `app_id` in `path` required + +### post_v2_apps_metrics_bandwidth_daily + +- Operation ID: `post_v2_apps_metrics_bandwidth_daily` +- Route: `POST /v2/apps/metrics/bandwidth_daily` +- Mode: WRITE +- Summary: post_/v2/apps/metrics/bandwidth_daily + +### get_v2_apps_app_id_health + +- Operation ID: `get_v2_apps_app_id_health` +- Route: `GET /v2/apps/{app_id}/health` +- Mode: READ +- Summary: get_/v2/apps/{app_id}/health +- Parameters: + - `app_id` in `path` required diff --git a/skills/billing/SKILL.md b/skills/billing/SKILL.md new file mode 100644 index 0000000..7dd37cc --- /dev/null +++ b/skills/billing/SKILL.md @@ -0,0 +1,25 @@ +--- +name: billing-routes +description: Handle 1 OpenAPI operation(s) under /v2/billing/{account_urn}/insights/{start_date}/{end_date} for the billing route group. +--- + +# billing API Routes + +Handle 1 OpenAPI operation(s) under /v2/billing/{account_urn}/insights/{start_date}/{end_date} for the billing route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_billing_account_urn_insights_start_date_end_date + +- Operation ID: `get_v2_billing_account_urn_insights_start_date_end_date` +- Route: `GET /v2/billing/{account_urn}/insights/{start_date}/{end_date}` +- Mode: READ +- Summary: get_/v2/billing/{account_urn}/insights/{start_date}/{end_date} +- Parameters: + - `account_urn` in `path` required + - `start_date` in `path` required + - `end_date` in `path` required diff --git a/skills/byoip-prefixes/SKILL.md b/skills/byoip-prefixes/SKILL.md new file mode 100644 index 0000000..2dd2b10 --- /dev/null +++ b/skills/byoip-prefixes/SKILL.md @@ -0,0 +1,64 @@ +--- +name: byoip-prefixes-routes +description: Handle 6 OpenAPI operation(s) under /v2/byoip_prefixes for the byoip prefixes route group. +--- + +# byoip prefixes API Routes + +Handle 6 OpenAPI operation(s) under /v2/byoip_prefixes for the byoip prefixes route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### post_v2_byoip_prefixes + +- Operation ID: `post_v2_byoip_prefixes` +- Route: `POST /v2/byoip_prefixes` +- Mode: WRITE +- Summary: post_/v2/byoip_prefixes + +### get_v2_byoip_prefixes + +- Operation ID: `get_v2_byoip_prefixes` +- Route: `GET /v2/byoip_prefixes` +- Mode: READ +- Summary: get_/v2/byoip_prefixes + +### get_v2_byoip_prefixes_byoip_prefix_uuid + +- Operation ID: `get_v2_byoip_prefixes_byoip_prefix_uuid` +- Route: `GET /v2/byoip_prefixes/{byoip_prefix_uuid}` +- Mode: READ +- Summary: get_/v2/byoip_prefixes/{byoip_prefix_uuid} +- Parameters: + - `byoip_prefix_uuid` in `path` required + +### delete_v2_byoip_prefixes_byoip_prefix_uuid + +- Operation ID: `delete_v2_byoip_prefixes_byoip_prefix_uuid` +- Route: `DELETE /v2/byoip_prefixes/{byoip_prefix_uuid}` +- Mode: WRITE +- Summary: delete_/v2/byoip_prefixes/{byoip_prefix_uuid} +- Parameters: + - `byoip_prefix_uuid` in `path` required + +### patch_v2_byoip_prefixes_byoip_prefix_uuid + +- Operation ID: `patch_v2_byoip_prefixes_byoip_prefix_uuid` +- Route: `PATCH /v2/byoip_prefixes/{byoip_prefix_uuid}` +- Mode: WRITE +- Summary: patch_/v2/byoip_prefixes/{byoip_prefix_uuid} +- Parameters: + - `byoip_prefix_uuid` in `path` required + +### get_v2_byoip_prefixes_byoip_prefix_uuid_ips + +- Operation ID: `get_v2_byoip_prefixes_byoip_prefix_uuid_ips` +- Route: `GET /v2/byoip_prefixes/{byoip_prefix_uuid}/ips` +- Mode: READ +- Summary: get_/v2/byoip_prefixes/{byoip_prefix_uuid}/ips +- Parameters: + - `byoip_prefix_uuid` in `path` required diff --git a/skills/cdn/SKILL.md b/skills/cdn/SKILL.md new file mode 100644 index 0000000..04632f3 --- /dev/null +++ b/skills/cdn/SKILL.md @@ -0,0 +1,64 @@ +--- +name: cdn-routes +description: Handle 6 OpenAPI operation(s) under /v2/cdn/endpoints for the cdn route group. +--- + +# cdn API Routes + +Handle 6 OpenAPI operation(s) under /v2/cdn/endpoints for the cdn route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_cdn_endpoints + +- Operation ID: `get_v2_cdn_endpoints` +- Route: `GET /v2/cdn/endpoints` +- Mode: READ +- Summary: get_/v2/cdn/endpoints + +### post_v2_cdn_endpoints + +- Operation ID: `post_v2_cdn_endpoints` +- Route: `POST /v2/cdn/endpoints` +- Mode: WRITE +- Summary: post_/v2/cdn/endpoints + +### get_v2_cdn_endpoints_cdn_id + +- Operation ID: `get_v2_cdn_endpoints_cdn_id` +- Route: `GET /v2/cdn/endpoints/{cdn_id}` +- Mode: READ +- Summary: get_/v2/cdn/endpoints/{cdn_id} +- Parameters: + - `cdn_id` in `path` required + +### put_v2_cdn_endpoints_cdn_id + +- Operation ID: `put_v2_cdn_endpoints_cdn_id` +- Route: `PUT /v2/cdn/endpoints/{cdn_id}` +- Mode: WRITE +- Summary: put_/v2/cdn/endpoints/{cdn_id} +- Parameters: + - `cdn_id` in `path` required + +### delete_v2_cdn_endpoints_cdn_id + +- Operation ID: `delete_v2_cdn_endpoints_cdn_id` +- Route: `DELETE /v2/cdn/endpoints/{cdn_id}` +- Mode: WRITE +- Summary: delete_/v2/cdn/endpoints/{cdn_id} +- Parameters: + - `cdn_id` in `path` required + +### delete_v2_cdn_endpoints_cdn_id_cache + +- Operation ID: `delete_v2_cdn_endpoints_cdn_id_cache` +- Route: `DELETE /v2/cdn/endpoints/{cdn_id}/cache` +- Mode: WRITE +- Summary: delete_/v2/cdn/endpoints/{cdn_id}/cache +- Parameters: + - `cdn_id` in `path` required diff --git a/skills/certificates/SKILL.md b/skills/certificates/SKILL.md new file mode 100644 index 0000000..32f76ac --- /dev/null +++ b/skills/certificates/SKILL.md @@ -0,0 +1,46 @@ +--- +name: certificates-routes +description: Handle 4 OpenAPI operation(s) under /v2/certificates for the certificates route group. +--- + +# certificates API Routes + +Handle 4 OpenAPI operation(s) under /v2/certificates for the certificates route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_certificates + +- Operation ID: `get_v2_certificates` +- Route: `GET /v2/certificates` +- Mode: READ +- Summary: get_/v2/certificates + +### post_v2_certificates + +- Operation ID: `post_v2_certificates` +- Route: `POST /v2/certificates` +- Mode: WRITE +- Summary: post_/v2/certificates + +### get_v2_certificates_certificate_id + +- Operation ID: `get_v2_certificates_certificate_id` +- Route: `GET /v2/certificates/{certificate_id}` +- Mode: READ +- Summary: get_/v2/certificates/{certificate_id} +- Parameters: + - `certificate_id` in `path` required + +### delete_v2_certificates_certificate_id + +- Operation ID: `delete_v2_certificates_certificate_id` +- Route: `DELETE /v2/certificates/{certificate_id}` +- Mode: WRITE +- Summary: delete_/v2/certificates/{certificate_id} +- Parameters: + - `certificate_id` in `path` required diff --git a/skills/customers/SKILL.md b/skills/customers/SKILL.md new file mode 100644 index 0000000..c42a085 --- /dev/null +++ b/skills/customers/SKILL.md @@ -0,0 +1,71 @@ +--- +name: customers-routes +description: Handle 7 OpenAPI operation(s) under /v2/customers/my for the customers route group. +--- + +# customers API Routes + +Handle 7 OpenAPI operation(s) under /v2/customers/my for the customers route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_customers_my_balance + +- Operation ID: `get_v2_customers_my_balance` +- Route: `GET /v2/customers/my/balance` +- Mode: READ +- Summary: get_/v2/customers/my/balance + +### get_v2_customers_my_billing_history + +- Operation ID: `get_v2_customers_my_billing_history` +- Route: `GET /v2/customers/my/billing_history` +- Mode: READ +- Summary: get_/v2/customers/my/billing_history + +### get_v2_customers_my_invoices + +- Operation ID: `get_v2_customers_my_invoices` +- Route: `GET /v2/customers/my/invoices` +- Mode: READ +- Summary: get_/v2/customers/my/invoices + +### get_v2_customers_my_invoices_invoice_uuid + +- Operation ID: `get_v2_customers_my_invoices_invoice_uuid` +- Route: `GET /v2/customers/my/invoices/{invoice_uuid}` +- Mode: READ +- Summary: get_/v2/customers/my/invoices/{invoice_uuid} +- Parameters: + - `invoice_uuid` in `path` required + +### get_v2_customers_my_invoices_invoice_uuid_csv + +- Operation ID: `get_v2_customers_my_invoices_invoice_uuid_csv` +- Route: `GET /v2/customers/my/invoices/{invoice_uuid}/csv` +- Mode: READ +- Summary: get_/v2/customers/my/invoices/{invoice_uuid}/csv +- Parameters: + - `invoice_uuid` in `path` required + +### get_v2_customers_my_invoices_invoice_uuid_pdf + +- Operation ID: `get_v2_customers_my_invoices_invoice_uuid_pdf` +- Route: `GET /v2/customers/my/invoices/{invoice_uuid}/pdf` +- Mode: READ +- Summary: get_/v2/customers/my/invoices/{invoice_uuid}/pdf +- Parameters: + - `invoice_uuid` in `path` required + +### get_v2_customers_my_invoices_invoice_uuid_summary + +- Operation ID: `get_v2_customers_my_invoices_invoice_uuid_summary` +- Route: `GET /v2/customers/my/invoices/{invoice_uuid}/summary` +- Mode: READ +- Summary: get_/v2/customers/my/invoices/{invoice_uuid}/summary +- Parameters: + - `invoice_uuid` in `path` required diff --git a/skills/databases/SKILL.md b/skills/databases/SKILL.md new file mode 100644 index 0000000..227a354 --- /dev/null +++ b/skills/databases/SKILL.md @@ -0,0 +1,651 @@ +--- +name: databases-routes +description: Handle 69 OpenAPI operation(s) under /v2/databases for the databases route group. +--- + +# databases API Routes + +Handle 69 OpenAPI operation(s) under /v2/databases for the databases route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_databases_options + +- Operation ID: `get_v2_databases_options` +- Route: `GET /v2/databases/options` +- Mode: READ +- Summary: get_/v2/databases/options + +### get_v2_databases + +- Operation ID: `get_v2_databases` +- Route: `GET /v2/databases` +- Mode: READ +- Summary: get_/v2/databases + +### post_v2_databases + +- Operation ID: `post_v2_databases` +- Route: `POST /v2/databases` +- Mode: WRITE +- Summary: post_/v2/databases + +### get_v2_databases_database_cluster_uuid + +- Operation ID: `get_v2_databases_database_cluster_uuid` +- Route: `GET /v2/databases/{database_cluster_uuid}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid} +- Parameters: + - `database_cluster_uuid` in `path` required + +### delete_v2_databases_database_cluster_uuid + +- Operation ID: `delete_v2_databases_database_cluster_uuid` +- Route: `DELETE /v2/databases/{database_cluster_uuid}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid} +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_config + +- Operation ID: `get_v2_databases_database_cluster_uuid_config` +- Route: `GET /v2/databases/{database_cluster_uuid}/config` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/config +- Parameters: + - `database_cluster_uuid` in `path` required + +### patch_v2_databases_database_cluster_uuid_config + +- Operation ID: `patch_v2_databases_database_cluster_uuid_config` +- Route: `PATCH /v2/databases/{database_cluster_uuid}/config` +- Mode: WRITE +- Summary: patch_/v2/databases/{database_cluster_uuid}/config +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_ca + +- Operation ID: `get_v2_databases_database_cluster_uuid_ca` +- Route: `GET /v2/databases/{database_cluster_uuid}/ca` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/ca +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_online_migration + +- Operation ID: `get_v2_databases_database_cluster_uuid_online_migration` +- Route: `GET /v2/databases/{database_cluster_uuid}/online-migration` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/online-migration +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_online_migration + +- Operation ID: `put_v2_databases_database_cluster_uuid_online_migration` +- Route: `PUT /v2/databases/{database_cluster_uuid}/online-migration` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/online-migration +- Parameters: + - `database_cluster_uuid` in `path` required + +### delete_v2_databases_database_cluster_uuid_online_migration_migration_id + +- Operation ID: `delete_v2_databases_database_cluster_uuid_online_migration_migration_id` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/online-migration/{migration_id}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/online-migration/{migration_id} +- Parameters: + - `database_cluster_uuid` in `path` required + - `migration_id` in `path` required + +### put_v2_databases_database_cluster_uuid_migrate + +- Operation ID: `put_v2_databases_database_cluster_uuid_migrate` +- Route: `PUT /v2/databases/{database_cluster_uuid}/migrate` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/migrate +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_resize + +- Operation ID: `put_v2_databases_database_cluster_uuid_resize` +- Route: `PUT /v2/databases/{database_cluster_uuid}/resize` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/resize +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_firewall + +- Operation ID: `get_v2_databases_database_cluster_uuid_firewall` +- Route: `GET /v2/databases/{database_cluster_uuid}/firewall` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/firewall +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_firewall + +- Operation ID: `put_v2_databases_database_cluster_uuid_firewall` +- Route: `PUT /v2/databases/{database_cluster_uuid}/firewall` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/firewall +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_maintenance + +- Operation ID: `put_v2_databases_database_cluster_uuid_maintenance` +- Route: `PUT /v2/databases/{database_cluster_uuid}/maintenance` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/maintenance +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_install_update + +- Operation ID: `put_v2_databases_database_cluster_uuid_install_update` +- Route: `PUT /v2/databases/{database_cluster_uuid}/install_update` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/install_update +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_backups + +- Operation ID: `get_v2_databases_database_cluster_uuid_backups` +- Route: `GET /v2/databases/{database_cluster_uuid}/backups` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/backups +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_replicas + +- Operation ID: `get_v2_databases_database_cluster_uuid_replicas` +- Route: `GET /v2/databases/{database_cluster_uuid}/replicas` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/replicas +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_replicas + +- Operation ID: `post_v2_databases_database_cluster_uuid_replicas` +- Route: `POST /v2/databases/{database_cluster_uuid}/replicas` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/replicas +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_events + +- Operation ID: `get_v2_databases_database_cluster_uuid_events` +- Route: `GET /v2/databases/{database_cluster_uuid}/events` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/events +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_replicas_replica_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_replicas_replica_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/replicas/{replica_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/replicas/{replica_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `replica_name` in `path` required + +### delete_v2_databases_database_cluster_uuid_replicas_replica_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_replicas_replica_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/replicas/{replica_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/replicas/{replica_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `replica_name` in `path` required + +### put_v2_databases_database_cluster_uuid_replicas_replica_name_promote + +- Operation ID: `put_v2_databases_database_cluster_uuid_replicas_replica_name_promote` +- Route: `PUT /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote +- Parameters: + - `database_cluster_uuid` in `path` required + - `replica_name` in `path` required + +### get_v2_databases_database_cluster_uuid_users + +- Operation ID: `get_v2_databases_database_cluster_uuid_users` +- Route: `GET /v2/databases/{database_cluster_uuid}/users` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/users +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_users + +- Operation ID: `post_v2_databases_database_cluster_uuid_users` +- Route: `POST /v2/databases/{database_cluster_uuid}/users` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/users +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_users_username + +- Operation ID: `get_v2_databases_database_cluster_uuid_users_username` +- Route: `GET /v2/databases/{database_cluster_uuid}/users/{username}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/users/{username} +- Parameters: + - `database_cluster_uuid` in `path` required + - `username` in `path` required + +### delete_v2_databases_database_cluster_uuid_users_username + +- Operation ID: `delete_v2_databases_database_cluster_uuid_users_username` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/users/{username}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/users/{username} +- Parameters: + - `database_cluster_uuid` in `path` required + - `username` in `path` required + +### put_v2_databases_database_cluster_uuid_users_username + +- Operation ID: `put_v2_databases_database_cluster_uuid_users_username` +- Route: `PUT /v2/databases/{database_cluster_uuid}/users/{username}` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/users/{username} +- Parameters: + - `database_cluster_uuid` in `path` required + - `username` in `path` required + +### post_v2_databases_database_cluster_uuid_users_username_reset_auth + +- Operation ID: `post_v2_databases_database_cluster_uuid_users_username_reset_auth` +- Route: `POST /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth +- Parameters: + - `database_cluster_uuid` in `path` required + - `username` in `path` required + +### get_v2_databases_database_cluster_uuid_dbs + +- Operation ID: `get_v2_databases_database_cluster_uuid_dbs` +- Route: `GET /v2/databases/{database_cluster_uuid}/dbs` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/dbs +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_dbs + +- Operation ID: `post_v2_databases_database_cluster_uuid_dbs` +- Route: `POST /v2/databases/{database_cluster_uuid}/dbs` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/dbs +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_dbs_database_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_dbs_database_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/dbs/{database_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/dbs/{database_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `database_name` in `path` required + +### delete_v2_databases_database_cluster_uuid_dbs_database_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_dbs_database_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/dbs/{database_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/dbs/{database_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `database_name` in `path` required + +### get_v2_databases_database_cluster_uuid_pools + +- Operation ID: `get_v2_databases_database_cluster_uuid_pools` +- Route: `GET /v2/databases/{database_cluster_uuid}/pools` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/pools +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_pools + +- Operation ID: `post_v2_databases_database_cluster_uuid_pools` +- Route: `POST /v2/databases/{database_cluster_uuid}/pools` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/pools +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_pools_pool_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_pools_pool_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/pools/{pool_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/pools/{pool_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `pool_name` in `path` required + +### put_v2_databases_database_cluster_uuid_pools_pool_name + +- Operation ID: `put_v2_databases_database_cluster_uuid_pools_pool_name` +- Route: `PUT /v2/databases/{database_cluster_uuid}/pools/{pool_name}` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/pools/{pool_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `pool_name` in `path` required + +### delete_v2_databases_database_cluster_uuid_pools_pool_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_pools_pool_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/pools/{pool_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/pools/{pool_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `pool_name` in `path` required + +### get_v2_databases_database_cluster_uuid_eviction_policy + +- Operation ID: `get_v2_databases_database_cluster_uuid_eviction_policy` +- Route: `GET /v2/databases/{database_cluster_uuid}/eviction_policy` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/eviction_policy +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_eviction_policy + +- Operation ID: `put_v2_databases_database_cluster_uuid_eviction_policy` +- Route: `PUT /v2/databases/{database_cluster_uuid}/eviction_policy` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/eviction_policy +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_sql_mode + +- Operation ID: `get_v2_databases_database_cluster_uuid_sql_mode` +- Route: `GET /v2/databases/{database_cluster_uuid}/sql_mode` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/sql_mode +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_sql_mode + +- Operation ID: `put_v2_databases_database_cluster_uuid_sql_mode` +- Route: `PUT /v2/databases/{database_cluster_uuid}/sql_mode` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/sql_mode +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_upgrade + +- Operation ID: `put_v2_databases_database_cluster_uuid_upgrade` +- Route: `PUT /v2/databases/{database_cluster_uuid}/upgrade` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/upgrade +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_autoscale + +- Operation ID: `get_v2_databases_database_cluster_uuid_autoscale` +- Route: `GET /v2/databases/{database_cluster_uuid}/autoscale` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/autoscale +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_autoscale + +- Operation ID: `put_v2_databases_database_cluster_uuid_autoscale` +- Route: `PUT /v2/databases/{database_cluster_uuid}/autoscale` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/autoscale +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_topics + +- Operation ID: `get_v2_databases_database_cluster_uuid_topics` +- Route: `GET /v2/databases/{database_cluster_uuid}/topics` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/topics +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_topics + +- Operation ID: `post_v2_databases_database_cluster_uuid_topics` +- Route: `POST /v2/databases/{database_cluster_uuid}/topics` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/topics +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_topics_topic_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_topics_topic_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/topics/{topic_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/topics/{topic_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `topic_name` in `path` required + +### put_v2_databases_database_cluster_uuid_topics_topic_name + +- Operation ID: `put_v2_databases_database_cluster_uuid_topics_topic_name` +- Route: `PUT /v2/databases/{database_cluster_uuid}/topics/{topic_name}` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/topics/{topic_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `topic_name` in `path` required + +### delete_v2_databases_database_cluster_uuid_topics_topic_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_topics_topic_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/topics/{topic_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/topics/{topic_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `topic_name` in `path` required + +### get_v2_databases_database_cluster_uuid_logsink + +- Operation ID: `get_v2_databases_database_cluster_uuid_logsink` +- Route: `GET /v2/databases/{database_cluster_uuid}/logsink` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/logsink +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_logsink + +- Operation ID: `post_v2_databases_database_cluster_uuid_logsink` +- Route: `POST /v2/databases/{database_cluster_uuid}/logsink` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/logsink +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_logsink_logsink_id + +- Operation ID: `get_v2_databases_database_cluster_uuid_logsink_logsink_id` +- Route: `GET /v2/databases/{database_cluster_uuid}/logsink/{logsink_id}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id} +- Parameters: + - `database_cluster_uuid` in `path` required + - `logsink_id` in `path` required + +### put_v2_databases_database_cluster_uuid_logsink_logsink_id + +- Operation ID: `put_v2_databases_database_cluster_uuid_logsink_logsink_id` +- Route: `PUT /v2/databases/{database_cluster_uuid}/logsink/{logsink_id}` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id} +- Parameters: + - `database_cluster_uuid` in `path` required + - `logsink_id` in `path` required + +### delete_v2_databases_database_cluster_uuid_logsink_logsink_id + +- Operation ID: `delete_v2_databases_database_cluster_uuid_logsink_logsink_id` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/logsink/{logsink_id}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/logsink/{logsink_id} +- Parameters: + - `database_cluster_uuid` in `path` required + - `logsink_id` in `path` required + +### get_v2_databases_database_cluster_uuid_schema_registry + +- Operation ID: `get_v2_databases_database_cluster_uuid_schema_registry` +- Route: `GET /v2/databases/{database_cluster_uuid}/schema-registry` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/schema-registry +- Parameters: + - `database_cluster_uuid` in `path` required + +### post_v2_databases_database_cluster_uuid_schema_registry + +- Operation ID: `post_v2_databases_database_cluster_uuid_schema_registry` +- Route: `POST /v2/databases/{database_cluster_uuid}/schema-registry` +- Mode: WRITE +- Summary: post_/v2/databases/{database_cluster_uuid}/schema-registry +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_schema_registry_subject_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_schema_registry_subject_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `subject_name` in `path` required + +### delete_v2_databases_database_cluster_uuid_schema_registry_subject_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_schema_registry_subject_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `subject_name` in `path` required + +### get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver + +- Operation ID: `get_v2_databases_database_cluster_uuid_schema_registry_subject_name_versions_ver` +- Route: `GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version} +- Parameters: + - `database_cluster_uuid` in `path` required + - `subject_name` in `path` required + - `version` in `path` required + +### get_v2_databases_database_cluster_uuid_schema_registry_config + +- Operation ID: `get_v2_databases_database_cluster_uuid_schema_registry_config` +- Route: `GET /v2/databases/{database_cluster_uuid}/schema-registry/config` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/schema-registry/config +- Parameters: + - `database_cluster_uuid` in `path` required + +### put_v2_databases_database_cluster_uuid_schema_registry_config + +- Operation ID: `put_v2_databases_database_cluster_uuid_schema_registry_config` +- Route: `PUT /v2/databases/{database_cluster_uuid}/schema-registry/config` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/schema-registry/config +- Parameters: + - `database_cluster_uuid` in `path` required + +### get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name + +- Operation ID: `get_v2_databases_database_cluster_uuid_schema_registry_config_subject_name` +- Route: `GET /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `subject_name` in `path` required + +### put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name + +- Operation ID: `put_v2_databases_database_cluster_uuid_schema_registry_config_subject_name` +- Route: `PUT /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}` +- Mode: WRITE +- Summary: put_/v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `subject_name` in `path` required + +### get_v2_databases_metrics_credentials + +- Operation ID: `get_v2_databases_metrics_credentials` +- Route: `GET /v2/databases/metrics/credentials` +- Mode: READ +- Summary: get_/v2/databases/metrics/credentials + +### put_v2_databases_metrics_credentials + +- Operation ID: `put_v2_databases_metrics_credentials` +- Route: `PUT /v2/databases/metrics/credentials` +- Mode: WRITE +- Summary: put_/v2/databases/metrics/credentials + +### get_v2_databases_database_cluster_uuid_indexes + +- Operation ID: `get_v2_databases_database_cluster_uuid_indexes` +- Route: `GET /v2/databases/{database_cluster_uuid}/indexes` +- Mode: READ +- Summary: get_/v2/databases/{database_cluster_uuid}/indexes +- Parameters: + - `database_cluster_uuid` in `path` required + +### delete_v2_databases_database_cluster_uuid_indexes_index_name + +- Operation ID: `delete_v2_databases_database_cluster_uuid_indexes_index_name` +- Route: `DELETE /v2/databases/{database_cluster_uuid}/indexes/{index_name}` +- Mode: WRITE +- Summary: delete_/v2/databases/{database_cluster_uuid}/indexes/{index_name} +- Parameters: + - `database_cluster_uuid` in `path` required + - `index_name` in `path` required diff --git a/skills/dedicated-inferences/SKILL.md b/skills/dedicated-inferences/SKILL.md new file mode 100644 index 0000000..d5a08c4 --- /dev/null +++ b/skills/dedicated-inferences/SKILL.md @@ -0,0 +1,125 @@ +--- +name: dedicated-inferences-routes +description: Handle 13 OpenAPI operation(s) under /v2/dedicated-inferences for the dedicated inferences route group. +--- + +# dedicated inferences API Routes + +Handle 13 OpenAPI operation(s) under /v2/dedicated-inferences for the dedicated inferences route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_dedicated_inferences_dedicated_inference_id + +- Operation ID: `get_v2_dedicated_inferences_dedicated_inference_id` +- Route: `GET /v2/dedicated-inferences/{dedicated_inference_id}` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/{dedicated_inference_id} +- Parameters: + - `dedicated_inference_id` in `path` required + +### patch_v2_dedicated_inferences_dedicated_inference_id + +- Operation ID: `patch_v2_dedicated_inferences_dedicated_inference_id` +- Route: `PATCH /v2/dedicated-inferences/{dedicated_inference_id}` +- Mode: WRITE +- Summary: patch_/v2/dedicated-inferences/{dedicated_inference_id} +- Parameters: + - `dedicated_inference_id` in `path` required + +### delete_v2_dedicated_inferences_dedicated_inference_id + +- Operation ID: `delete_v2_dedicated_inferences_dedicated_inference_id` +- Route: `DELETE /v2/dedicated-inferences/{dedicated_inference_id}` +- Mode: WRITE +- Summary: delete_/v2/dedicated-inferences/{dedicated_inference_id} +- Parameters: + - `dedicated_inference_id` in `path` required + +### get_v2_dedicated_inferences + +- Operation ID: `get_v2_dedicated_inferences` +- Route: `GET /v2/dedicated-inferences` +- Mode: READ +- Summary: get_/v2/dedicated-inferences + +### post_v2_dedicated_inferences + +- Operation ID: `post_v2_dedicated_inferences` +- Route: `POST /v2/dedicated-inferences` +- Mode: WRITE +- Summary: post_/v2/dedicated-inferences + +### get_v2_dedicated_inferences_dedicated_inference_id_accelerators + +- Operation ID: `get_v2_dedicated_inferences_dedicated_inference_id_accelerators` +- Route: `GET /v2/dedicated-inferences/{dedicated_inference_id}/accelerators` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators +- Parameters: + - `dedicated_inference_id` in `path` required + +### get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id + +- Operation ID: `get_v2_dedicated_inferences_dedicated_inference_id_accelerators_accelerator_id` +- Route: `GET /v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id}` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/{dedicated_inference_id}/accelerators/{accelerator_id} +- Parameters: + - `dedicated_inference_id` in `path` required + - `accelerator_id` in `path` required + +### get_v2_dedicated_inferences_dedicated_inference_id_ca + +- Operation ID: `get_v2_dedicated_inferences_dedicated_inference_id_ca` +- Route: `GET /v2/dedicated-inferences/{dedicated_inference_id}/ca` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/{dedicated_inference_id}/ca +- Parameters: + - `dedicated_inference_id` in `path` required + +### get_v2_dedicated_inferences_dedicated_inference_id_tokens + +- Operation ID: `get_v2_dedicated_inferences_dedicated_inference_id_tokens` +- Route: `GET /v2/dedicated-inferences/{dedicated_inference_id}/tokens` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/{dedicated_inference_id}/tokens +- Parameters: + - `dedicated_inference_id` in `path` required + +### post_v2_dedicated_inferences_dedicated_inference_id_tokens + +- Operation ID: `post_v2_dedicated_inferences_dedicated_inference_id_tokens` +- Route: `POST /v2/dedicated-inferences/{dedicated_inference_id}/tokens` +- Mode: WRITE +- Summary: post_/v2/dedicated-inferences/{dedicated_inference_id}/tokens +- Parameters: + - `dedicated_inference_id` in `path` required + +### delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id + +- Operation ID: `delete_v2_dedicated_inferences_dedicated_inference_id_tokens_token_id` +- Route: `DELETE /v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id}` +- Mode: WRITE +- Summary: delete_/v2/dedicated-inferences/{dedicated_inference_id}/tokens/{token_id} +- Parameters: + - `dedicated_inference_id` in `path` required + - `token_id` in `path` required + +### get_v2_dedicated_inferences_sizes + +- Operation ID: `get_v2_dedicated_inferences_sizes` +- Route: `GET /v2/dedicated-inferences/sizes` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/sizes + +### get_v2_dedicated_inferences_gpu_model_config + +- Operation ID: `get_v2_dedicated_inferences_gpu_model_config` +- Route: `GET /v2/dedicated-inferences/gpu-model-config` +- Mode: READ +- Summary: get_/v2/dedicated-inferences/gpu-model-config diff --git a/skills/domains/SKILL.md b/skills/domains/SKILL.md new file mode 100644 index 0000000..ba3fc37 --- /dev/null +++ b/skills/domains/SKILL.md @@ -0,0 +1,104 @@ +--- +name: domains-routes +description: Handle 10 OpenAPI operation(s) under /v2/domains for the domains route group. +--- + +# domains API Routes + +Handle 10 OpenAPI operation(s) under /v2/domains for the domains route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_domains + +- Operation ID: `get_v2_domains` +- Route: `GET /v2/domains` +- Mode: READ +- Summary: get_/v2/domains + +### post_v2_domains + +- Operation ID: `post_v2_domains` +- Route: `POST /v2/domains` +- Mode: WRITE +- Summary: post_/v2/domains + +### get_v2_domains_domain_name + +- Operation ID: `get_v2_domains_domain_name` +- Route: `GET /v2/domains/{domain_name}` +- Mode: READ +- Summary: get_/v2/domains/{domain_name} +- Parameters: + - `domain_name` in `path` required + +### delete_v2_domains_domain_name + +- Operation ID: `delete_v2_domains_domain_name` +- Route: `DELETE /v2/domains/{domain_name}` +- Mode: WRITE +- Summary: delete_/v2/domains/{domain_name} +- Parameters: + - `domain_name` in `path` required + +### get_v2_domains_domain_name_records + +- Operation ID: `get_v2_domains_domain_name_records` +- Route: `GET /v2/domains/{domain_name}/records` +- Mode: READ +- Summary: get_/v2/domains/{domain_name}/records +- Parameters: + - `domain_name` in `path` required + +### post_v2_domains_domain_name_records + +- Operation ID: `post_v2_domains_domain_name_records` +- Route: `POST /v2/domains/{domain_name}/records` +- Mode: WRITE +- Summary: post_/v2/domains/{domain_name}/records +- Parameters: + - `domain_name` in `path` required + +### get_v2_domains_domain_name_records_domain_record_id + +- Operation ID: `get_v2_domains_domain_name_records_domain_record_id` +- Route: `GET /v2/domains/{domain_name}/records/{domain_record_id}` +- Mode: READ +- Summary: get_/v2/domains/{domain_name}/records/{domain_record_id} +- Parameters: + - `domain_name` in `path` required + - `domain_record_id` in `path` required + +### patch_v2_domains_domain_name_records_domain_record_id + +- Operation ID: `patch_v2_domains_domain_name_records_domain_record_id` +- Route: `PATCH /v2/domains/{domain_name}/records/{domain_record_id}` +- Mode: WRITE +- Summary: patch_/v2/domains/{domain_name}/records/{domain_record_id} +- Parameters: + - `domain_name` in `path` required + - `domain_record_id` in `path` required + +### put_v2_domains_domain_name_records_domain_record_id + +- Operation ID: `put_v2_domains_domain_name_records_domain_record_id` +- Route: `PUT /v2/domains/{domain_name}/records/{domain_record_id}` +- Mode: WRITE +- Summary: put_/v2/domains/{domain_name}/records/{domain_record_id} +- Parameters: + - `domain_name` in `path` required + - `domain_record_id` in `path` required + +### delete_v2_domains_domain_name_records_domain_record_id + +- Operation ID: `delete_v2_domains_domain_name_records_domain_record_id` +- Route: `DELETE /v2/domains/{domain_name}/records/{domain_record_id}` +- Mode: WRITE +- Summary: delete_/v2/domains/{domain_name}/records/{domain_record_id} +- Parameters: + - `domain_name` in `path` required + - `domain_record_id` in `path` required diff --git a/skills/droplets/SKILL.md b/skills/droplets/SKILL.md new file mode 100644 index 0000000..5f504a5 --- /dev/null +++ b/skills/droplets/SKILL.md @@ -0,0 +1,269 @@ +--- +name: droplets-routes +description: Handle 30 OpenAPI operation(s) under /v2/droplets for the droplets route group. +--- + +# droplets API Routes + +Handle 30 OpenAPI operation(s) under /v2/droplets for the droplets route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_droplets + +- Operation ID: `get_v2_droplets` +- Route: `GET /v2/droplets` +- Mode: READ +- Summary: get_/v2/droplets + +### post_v2_droplets + +- Operation ID: `post_v2_droplets` +- Route: `POST /v2/droplets` +- Mode: WRITE +- Summary: post_/v2/droplets + +### delete_v2_droplets + +- Operation ID: `delete_v2_droplets` +- Route: `DELETE /v2/droplets` +- Mode: WRITE +- Summary: delete_/v2/droplets + +### get_v2_droplets_droplet_id + +- Operation ID: `get_v2_droplets_droplet_id` +- Route: `GET /v2/droplets/{droplet_id}` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id} +- Parameters: + - `droplet_id` in `path` required + +### delete_v2_droplets_droplet_id + +- Operation ID: `delete_v2_droplets_droplet_id` +- Route: `DELETE /v2/droplets/{droplet_id}` +- Mode: WRITE +- Summary: delete_/v2/droplets/{droplet_id} +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_backups + +- Operation ID: `get_v2_droplets_droplet_id_backups` +- Route: `GET /v2/droplets/{droplet_id}/backups` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/backups +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_backups_policy + +- Operation ID: `get_v2_droplets_droplet_id_backups_policy` +- Route: `GET /v2/droplets/{droplet_id}/backups/policy` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/backups/policy +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_backups_policies + +- Operation ID: `get_v2_droplets_backups_policies` +- Route: `GET /v2/droplets/backups/policies` +- Mode: READ +- Summary: get_/v2/droplets/backups/policies + +### get_v2_droplets_backups_supported_policies + +- Operation ID: `get_v2_droplets_backups_supported_policies` +- Route: `GET /v2/droplets/backups/supported_policies` +- Mode: READ +- Summary: get_/v2/droplets/backups/supported_policies + +### get_v2_droplets_droplet_id_snapshots + +- Operation ID: `get_v2_droplets_droplet_id_snapshots` +- Route: `GET /v2/droplets/{droplet_id}/snapshots` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/snapshots +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_actions + +- Operation ID: `get_v2_droplets_droplet_id_actions` +- Route: `GET /v2/droplets/{droplet_id}/actions` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/actions +- Parameters: + - `droplet_id` in `path` required + +### post_v2_droplets_droplet_id_actions + +- Operation ID: `post_v2_droplets_droplet_id_actions` +- Route: `POST /v2/droplets/{droplet_id}/actions` +- Mode: WRITE +- Summary: post_/v2/droplets/{droplet_id}/actions +- Parameters: + - `droplet_id` in `path` required + +### post_v2_droplets_actions + +- Operation ID: `post_v2_droplets_actions` +- Route: `POST /v2/droplets/actions` +- Mode: WRITE +- Summary: post_/v2/droplets/actions + +### get_v2_droplets_droplet_id_actions_action_id + +- Operation ID: `get_v2_droplets_droplet_id_actions_action_id` +- Route: `GET /v2/droplets/{droplet_id}/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/actions/{action_id} +- Parameters: + - `droplet_id` in `path` required + - `action_id` in `path` required + +### get_v2_droplets_droplet_id_kernels + +- Operation ID: `get_v2_droplets_droplet_id_kernels` +- Route: `GET /v2/droplets/{droplet_id}/kernels` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/kernels +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_firewalls + +- Operation ID: `get_v2_droplets_droplet_id_firewalls` +- Route: `GET /v2/droplets/{droplet_id}/firewalls` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/firewalls +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_neighbors + +- Operation ID: `get_v2_droplets_droplet_id_neighbors` +- Route: `GET /v2/droplets/{droplet_id}/neighbors` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/neighbors +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_destroy_with_associated_resources + +- Operation ID: `get_v2_droplets_droplet_id_destroy_with_associated_resources` +- Route: `GET /v2/droplets/{droplet_id}/destroy_with_associated_resources` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/destroy_with_associated_resources +- Parameters: + - `droplet_id` in `path` required + +### delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective + +- Operation ID: `delete_v2_droplets_droplet_id_destroy_with_associated_resources_selective` +- Route: `DELETE /v2/droplets/{droplet_id}/destroy_with_associated_resources/selective` +- Mode: WRITE +- Summary: delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective +- Parameters: + - `droplet_id` in `path` required + +### delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous + +- Operation ID: `delete_v2_droplets_droplet_id_destroy_with_associated_resources_dangerous` +- Route: `DELETE /v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous` +- Mode: WRITE +- Summary: delete_/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_droplet_id_destroy_with_associated_resources_status + +- Operation ID: `get_v2_droplets_droplet_id_destroy_with_associated_resources_status` +- Route: `GET /v2/droplets/{droplet_id}/destroy_with_associated_resources/status` +- Mode: READ +- Summary: get_/v2/droplets/{droplet_id}/destroy_with_associated_resources/status +- Parameters: + - `droplet_id` in `path` required + +### post_v2_droplets_droplet_id_destroy_with_associated_resources_retry + +- Operation ID: `post_v2_droplets_droplet_id_destroy_with_associated_resources_retry` +- Route: `POST /v2/droplets/{droplet_id}/destroy_with_associated_resources/retry` +- Mode: WRITE +- Summary: post_/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry +- Parameters: + - `droplet_id` in `path` required + +### get_v2_droplets_autoscale + +- Operation ID: `get_v2_droplets_autoscale` +- Route: `GET /v2/droplets/autoscale` +- Mode: READ +- Summary: get_/v2/droplets/autoscale + +### post_v2_droplets_autoscale + +- Operation ID: `post_v2_droplets_autoscale` +- Route: `POST /v2/droplets/autoscale` +- Mode: WRITE +- Summary: post_/v2/droplets/autoscale + +### get_v2_droplets_autoscale_autoscale_pool_id + +- Operation ID: `get_v2_droplets_autoscale_autoscale_pool_id` +- Route: `GET /v2/droplets/autoscale/{autoscale_pool_id}` +- Mode: READ +- Summary: get_/v2/droplets/autoscale/{autoscale_pool_id} +- Parameters: + - `autoscale_pool_id` in `path` required + +### put_v2_droplets_autoscale_autoscale_pool_id + +- Operation ID: `put_v2_droplets_autoscale_autoscale_pool_id` +- Route: `PUT /v2/droplets/autoscale/{autoscale_pool_id}` +- Mode: WRITE +- Summary: put_/v2/droplets/autoscale/{autoscale_pool_id} +- Parameters: + - `autoscale_pool_id` in `path` required + +### delete_v2_droplets_autoscale_autoscale_pool_id + +- Operation ID: `delete_v2_droplets_autoscale_autoscale_pool_id` +- Route: `DELETE /v2/droplets/autoscale/{autoscale_pool_id}` +- Mode: WRITE +- Summary: delete_/v2/droplets/autoscale/{autoscale_pool_id} +- Parameters: + - `autoscale_pool_id` in `path` required + +### delete_v2_droplets_autoscale_autoscale_pool_id_dangerous + +- Operation ID: `delete_v2_droplets_autoscale_autoscale_pool_id_dangerous` +- Route: `DELETE /v2/droplets/autoscale/{autoscale_pool_id}/dangerous` +- Mode: WRITE +- Summary: delete_/v2/droplets/autoscale/{autoscale_pool_id}/dangerous +- Parameters: + - `autoscale_pool_id` in `path` required + +### get_v2_droplets_autoscale_autoscale_pool_id_members + +- Operation ID: `get_v2_droplets_autoscale_autoscale_pool_id_members` +- Route: `GET /v2/droplets/autoscale/{autoscale_pool_id}/members` +- Mode: READ +- Summary: get_/v2/droplets/autoscale/{autoscale_pool_id}/members +- Parameters: + - `autoscale_pool_id` in `path` required + +### get_v2_droplets_autoscale_autoscale_pool_id_history + +- Operation ID: `get_v2_droplets_autoscale_autoscale_pool_id_history` +- Route: `GET /v2/droplets/autoscale/{autoscale_pool_id}/history` +- Mode: READ +- Summary: get_/v2/droplets/autoscale/{autoscale_pool_id}/history +- Parameters: + - `autoscale_pool_id` in `path` required diff --git a/skills/firewalls/SKILL.md b/skills/firewalls/SKILL.md new file mode 100644 index 0000000..71627a4 --- /dev/null +++ b/skills/firewalls/SKILL.md @@ -0,0 +1,109 @@ +--- +name: firewalls-routes +description: Handle 11 OpenAPI operation(s) under /v2/firewalls for the firewalls route group. +--- + +# firewalls API Routes + +Handle 11 OpenAPI operation(s) under /v2/firewalls for the firewalls route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_firewalls + +- Operation ID: `get_v2_firewalls` +- Route: `GET /v2/firewalls` +- Mode: READ +- Summary: get_/v2/firewalls + +### post_v2_firewalls + +- Operation ID: `post_v2_firewalls` +- Route: `POST /v2/firewalls` +- Mode: WRITE +- Summary: post_/v2/firewalls + +### get_v2_firewalls_firewall_id + +- Operation ID: `get_v2_firewalls_firewall_id` +- Route: `GET /v2/firewalls/{firewall_id}` +- Mode: READ +- Summary: get_/v2/firewalls/{firewall_id} +- Parameters: + - `firewall_id` in `path` required + +### put_v2_firewalls_firewall_id + +- Operation ID: `put_v2_firewalls_firewall_id` +- Route: `PUT /v2/firewalls/{firewall_id}` +- Mode: WRITE +- Summary: put_/v2/firewalls/{firewall_id} +- Parameters: + - `firewall_id` in `path` required + +### delete_v2_firewalls_firewall_id + +- Operation ID: `delete_v2_firewalls_firewall_id` +- Route: `DELETE /v2/firewalls/{firewall_id}` +- Mode: WRITE +- Summary: delete_/v2/firewalls/{firewall_id} +- Parameters: + - `firewall_id` in `path` required + +### post_v2_firewalls_firewall_id_droplets + +- Operation ID: `post_v2_firewalls_firewall_id_droplets` +- Route: `POST /v2/firewalls/{firewall_id}/droplets` +- Mode: WRITE +- Summary: post_/v2/firewalls/{firewall_id}/droplets +- Parameters: + - `firewall_id` in `path` required + +### delete_v2_firewalls_firewall_id_droplets + +- Operation ID: `delete_v2_firewalls_firewall_id_droplets` +- Route: `DELETE /v2/firewalls/{firewall_id}/droplets` +- Mode: WRITE +- Summary: delete_/v2/firewalls/{firewall_id}/droplets +- Parameters: + - `firewall_id` in `path` required + +### post_v2_firewalls_firewall_id_tags + +- Operation ID: `post_v2_firewalls_firewall_id_tags` +- Route: `POST /v2/firewalls/{firewall_id}/tags` +- Mode: WRITE +- Summary: post_/v2/firewalls/{firewall_id}/tags +- Parameters: + - `firewall_id` in `path` required + +### delete_v2_firewalls_firewall_id_tags + +- Operation ID: `delete_v2_firewalls_firewall_id_tags` +- Route: `DELETE /v2/firewalls/{firewall_id}/tags` +- Mode: WRITE +- Summary: delete_/v2/firewalls/{firewall_id}/tags +- Parameters: + - `firewall_id` in `path` required + +### post_v2_firewalls_firewall_id_rules + +- Operation ID: `post_v2_firewalls_firewall_id_rules` +- Route: `POST /v2/firewalls/{firewall_id}/rules` +- Mode: WRITE +- Summary: post_/v2/firewalls/{firewall_id}/rules +- Parameters: + - `firewall_id` in `path` required + +### delete_v2_firewalls_firewall_id_rules + +- Operation ID: `delete_v2_firewalls_firewall_id_rules` +- Route: `DELETE /v2/firewalls/{firewall_id}/rules` +- Mode: WRITE +- Summary: delete_/v2/firewalls/{firewall_id}/rules +- Parameters: + - `firewall_id` in `path` required diff --git a/skills/floating-ips/SKILL.md b/skills/floating-ips/SKILL.md new file mode 100644 index 0000000..a8c1d41 --- /dev/null +++ b/skills/floating-ips/SKILL.md @@ -0,0 +1,74 @@ +--- +name: floating-ips-routes +description: Handle 7 OpenAPI operation(s) under /v2/floating_ips for the floating ips route group. +--- + +# floating ips API Routes + +Handle 7 OpenAPI operation(s) under /v2/floating_ips for the floating ips route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_floating_ips + +- Operation ID: `get_v2_floating_ips` +- Route: `GET /v2/floating_ips` +- Mode: READ +- Summary: get_/v2/floating_ips + +### post_v2_floating_ips + +- Operation ID: `post_v2_floating_ips` +- Route: `POST /v2/floating_ips` +- Mode: WRITE +- Summary: post_/v2/floating_ips + +### get_v2_floating_ips_floating_ip + +- Operation ID: `get_v2_floating_ips_floating_ip` +- Route: `GET /v2/floating_ips/{floating_ip}` +- Mode: READ +- Summary: get_/v2/floating_ips/{floating_ip} +- Parameters: + - `floating_ip` in `path` required + +### delete_v2_floating_ips_floating_ip + +- Operation ID: `delete_v2_floating_ips_floating_ip` +- Route: `DELETE /v2/floating_ips/{floating_ip}` +- Mode: WRITE +- Summary: delete_/v2/floating_ips/{floating_ip} +- Parameters: + - `floating_ip` in `path` required + +### get_v2_floating_ips_floating_ip_actions + +- Operation ID: `get_v2_floating_ips_floating_ip_actions` +- Route: `GET /v2/floating_ips/{floating_ip}/actions` +- Mode: READ +- Summary: get_/v2/floating_ips/{floating_ip}/actions +- Parameters: + - `floating_ip` in `path` required + +### post_v2_floating_ips_floating_ip_actions + +- Operation ID: `post_v2_floating_ips_floating_ip_actions` +- Route: `POST /v2/floating_ips/{floating_ip}/actions` +- Mode: WRITE +- Summary: post_/v2/floating_ips/{floating_ip}/actions +- Parameters: + - `floating_ip` in `path` required + +### get_v2_floating_ips_floating_ip_actions_action_id + +- Operation ID: `get_v2_floating_ips_floating_ip_actions_action_id` +- Route: `GET /v2/floating_ips/{floating_ip}/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/floating_ips/{floating_ip}/actions/{action_id} +- Parameters: + - `floating_ip` in `path` required + - `action_id` in `path` required diff --git a/skills/functions/SKILL.md b/skills/functions/SKILL.md new file mode 100644 index 0000000..4f367f7 --- /dev/null +++ b/skills/functions/SKILL.md @@ -0,0 +1,132 @@ +--- +name: functions-routes +description: Handle 13 OpenAPI operation(s) under /v2/functions/namespaces for the functions route group. +--- + +# functions API Routes + +Handle 13 OpenAPI operation(s) under /v2/functions/namespaces for the functions route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_functions_namespaces + +- Operation ID: `get_v2_functions_namespaces` +- Route: `GET /v2/functions/namespaces` +- Mode: READ +- Summary: get_/v2/functions/namespaces + +### post_v2_functions_namespaces + +- Operation ID: `post_v2_functions_namespaces` +- Route: `POST /v2/functions/namespaces` +- Mode: WRITE +- Summary: post_/v2/functions/namespaces + +### get_v2_functions_namespaces_namespace_id + +- Operation ID: `get_v2_functions_namespaces_namespace_id` +- Route: `GET /v2/functions/namespaces/{namespace_id}` +- Mode: READ +- Summary: get_/v2/functions/namespaces/{namespace_id} +- Parameters: + - `namespace_id` in `path` required + +### delete_v2_functions_namespaces_namespace_id + +- Operation ID: `delete_v2_functions_namespaces_namespace_id` +- Route: `DELETE /v2/functions/namespaces/{namespace_id}` +- Mode: WRITE +- Summary: delete_/v2/functions/namespaces/{namespace_id} +- Parameters: + - `namespace_id` in `path` required + +### get_v2_functions_namespaces_namespace_id_triggers + +- Operation ID: `get_v2_functions_namespaces_namespace_id_triggers` +- Route: `GET /v2/functions/namespaces/{namespace_id}/triggers` +- Mode: READ +- Summary: get_/v2/functions/namespaces/{namespace_id}/triggers +- Parameters: + - `namespace_id` in `path` required + +### post_v2_functions_namespaces_namespace_id_triggers + +- Operation ID: `post_v2_functions_namespaces_namespace_id_triggers` +- Route: `POST /v2/functions/namespaces/{namespace_id}/triggers` +- Mode: WRITE +- Summary: post_/v2/functions/namespaces/{namespace_id}/triggers +- Parameters: + - `namespace_id` in `path` required + +### get_v2_functions_namespaces_namespace_id_triggers_trigger_name + +- Operation ID: `get_v2_functions_namespaces_namespace_id_triggers_trigger_name` +- Route: `GET /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}` +- Mode: READ +- Summary: get_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} +- Parameters: + - `namespace_id` in `path` required + - `trigger_name` in `path` required + +### put_v2_functions_namespaces_namespace_id_triggers_trigger_name + +- Operation ID: `put_v2_functions_namespaces_namespace_id_triggers_trigger_name` +- Route: `PUT /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}` +- Mode: WRITE +- Summary: put_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} +- Parameters: + - `namespace_id` in `path` required + - `trigger_name` in `path` required + +### delete_v2_functions_namespaces_namespace_id_triggers_trigger_name + +- Operation ID: `delete_v2_functions_namespaces_namespace_id_triggers_trigger_name` +- Route: `DELETE /v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}` +- Mode: WRITE +- Summary: delete_/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name} +- Parameters: + - `namespace_id` in `path` required + - `trigger_name` in `path` required + +### get_v2_functions_namespaces_namespace_id_keys + +- Operation ID: `get_v2_functions_namespaces_namespace_id_keys` +- Route: `GET /v2/functions/namespaces/{namespace_id}/keys` +- Mode: READ +- Summary: get_/v2/functions/namespaces/{namespace_id}/keys +- Parameters: + - `namespace_id` in `path` required + +### post_v2_functions_namespaces_namespace_id_keys + +- Operation ID: `post_v2_functions_namespaces_namespace_id_keys` +- Route: `POST /v2/functions/namespaces/{namespace_id}/keys` +- Mode: WRITE +- Summary: post_/v2/functions/namespaces/{namespace_id}/keys +- Parameters: + - `namespace_id` in `path` required + +### put_v2_functions_namespaces_namespace_id_keys_key_id + +- Operation ID: `put_v2_functions_namespaces_namespace_id_keys_key_id` +- Route: `PUT /v2/functions/namespaces/{namespace_id}/keys/{key_id}` +- Mode: WRITE +- Summary: put_/v2/functions/namespaces/{namespace_id}/keys/{key_id} +- Parameters: + - `namespace_id` in `path` required + - `key_id` in `path` required + +### delete_v2_functions_namespaces_namespace_id_keys_key_id + +- Operation ID: `delete_v2_functions_namespaces_namespace_id_keys_key_id` +- Route: `DELETE /v2/functions/namespaces/{namespace_id}/keys/{key_id}` +- Mode: WRITE +- Summary: delete_/v2/functions/namespaces/{namespace_id}/keys/{key_id} +- Parameters: + - `namespace_id` in `path` required + - `key_id` in `path` required diff --git a/skills/images/SKILL.md b/skills/images/SKILL.md new file mode 100644 index 0000000..4d0e4cd --- /dev/null +++ b/skills/images/SKILL.md @@ -0,0 +1,119 @@ +--- +name: images-routes +description: Handle 12 OpenAPI operation(s) under /v2/images for the images route group. +--- + +# images API Routes + +Handle 12 OpenAPI operation(s) under /v2/images for the images route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_images + +- Operation ID: `get_v2_images` +- Route: `GET /v2/images` +- Mode: READ +- Summary: get_/v2/images + +### post_v2_images + +- Operation ID: `post_v2_images` +- Route: `POST /v2/images` +- Mode: WRITE +- Summary: post_/v2/images + +### get_v2_images_image_id + +- Operation ID: `get_v2_images_image_id` +- Route: `GET /v2/images/{image_id}` +- Mode: READ +- Summary: get_/v2/images/{image_id} +- Parameters: + - `image_id` in `path` required + +### put_v2_images_image_id + +- Operation ID: `put_v2_images_image_id` +- Route: `PUT /v2/images/{image_id}` +- Mode: WRITE +- Summary: put_/v2/images/{image_id} +- Parameters: + - `image_id` in `path` required + +### delete_v2_images_image_id + +- Operation ID: `delete_v2_images_image_id` +- Route: `DELETE /v2/images/{image_id}` +- Mode: WRITE +- Summary: delete_/v2/images/{image_id} +- Parameters: + - `image_id` in `path` required + +### post_v2_images_image_id_account_transfer + +- Operation ID: `post_v2_images_image_id_account_transfer` +- Route: `POST /v2/images/{image_id}/account_transfer` +- Mode: WRITE +- Summary: post_/v2/images/{image_id}/account_transfer +- Parameters: + - `image_id` in `path` required + +### post_v2_images_image_id_account_transfer_accept + +- Operation ID: `post_v2_images_image_id_account_transfer_accept` +- Route: `POST /v2/images/{image_id}/account_transfer/accept` +- Mode: WRITE +- Summary: post_/v2/images/{image_id}/account_transfer/accept +- Parameters: + - `image_id` in `path` required + +### post_v2_images_image_id_account_transfer_cancel + +- Operation ID: `post_v2_images_image_id_account_transfer_cancel` +- Route: `POST /v2/images/{image_id}/account_transfer/cancel` +- Mode: WRITE +- Summary: post_/v2/images/{image_id}/account_transfer/cancel +- Parameters: + - `image_id` in `path` required + +### post_v2_images_image_id_account_transfer_decline + +- Operation ID: `post_v2_images_image_id_account_transfer_decline` +- Route: `POST /v2/images/{image_id}/account_transfer/decline` +- Mode: WRITE +- Summary: post_/v2/images/{image_id}/account_transfer/decline +- Parameters: + - `image_id` in `path` required + +### get_v2_images_image_id_actions + +- Operation ID: `get_v2_images_image_id_actions` +- Route: `GET /v2/images/{image_id}/actions` +- Mode: READ +- Summary: get_/v2/images/{image_id}/actions +- Parameters: + - `image_id` in `path` required + +### post_v2_images_image_id_actions + +- Operation ID: `post_v2_images_image_id_actions` +- Route: `POST /v2/images/{image_id}/actions` +- Mode: WRITE +- Summary: post_/v2/images/{image_id}/actions +- Parameters: + - `image_id` in `path` required + +### get_v2_images_image_id_actions_action_id + +- Operation ID: `get_v2_images_image_id_actions_action_id` +- Route: `GET /v2/images/{image_id}/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/images/{image_id}/actions/{action_id} +- Parameters: + - `image_id` in `path` required + - `action_id` in `path` required diff --git a/skills/kubernetes/SKILL.md b/skills/kubernetes/SKILL.md new file mode 100644 index 0000000..943c1a8 --- /dev/null +++ b/skills/kubernetes/SKILL.md @@ -0,0 +1,258 @@ +--- +name: kubernetes-routes +description: Handle 28 OpenAPI operation(s) under /v2/kubernetes for the kubernetes route group. +--- + +# kubernetes API Routes + +Handle 28 OpenAPI operation(s) under /v2/kubernetes for the kubernetes route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_kubernetes_clusters + +- Operation ID: `get_v2_kubernetes_clusters` +- Route: `GET /v2/kubernetes/clusters` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters + +### post_v2_kubernetes_clusters + +- Operation ID: `post_v2_kubernetes_clusters` +- Route: `POST /v2/kubernetes/clusters` +- Mode: WRITE +- Summary: post_/v2/kubernetes/clusters + +### get_v2_kubernetes_clusters_cluster_id + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id} +- Parameters: + - `cluster_id` in `path` required + +### put_v2_kubernetes_clusters_cluster_id + +- Operation ID: `put_v2_kubernetes_clusters_cluster_id` +- Route: `PUT /v2/kubernetes/clusters/{cluster_id}` +- Mode: WRITE +- Summary: put_/v2/kubernetes/clusters/{cluster_id} +- Parameters: + - `cluster_id` in `path` required + +### delete_v2_kubernetes_clusters_cluster_id + +- Operation ID: `delete_v2_kubernetes_clusters_cluster_id` +- Route: `DELETE /v2/kubernetes/clusters/{cluster_id}` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/clusters/{cluster_id} +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources +- Parameters: + - `cluster_id` in `path` required + +### delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec + +- Operation ID: `delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_selec` +- Route: `DELETE /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective +- Parameters: + - `cluster_id` in `path` required + +### delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange + +- Operation ID: `delete_v2_kubernetes_clusters_cluster_id_destroy_with_associated_resources_dange` +- Route: `DELETE /v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_kubeconfig + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_kubeconfig` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/kubeconfig` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/kubeconfig +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_credentials + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_credentials` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/credentials` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/credentials +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_upgrades + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_upgrades` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/upgrades` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/upgrades +- Parameters: + - `cluster_id` in `path` required + +### post_v2_kubernetes_clusters_cluster_id_upgrade + +- Operation ID: `post_v2_kubernetes_clusters_cluster_id_upgrade` +- Route: `POST /v2/kubernetes/clusters/{cluster_id}/upgrade` +- Mode: WRITE +- Summary: post_/v2/kubernetes/clusters/{cluster_id}/upgrade +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_node_pools + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_node_pools` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/node_pools` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/node_pools +- Parameters: + - `cluster_id` in `path` required + +### post_v2_kubernetes_clusters_cluster_id_node_pools + +- Operation ID: `post_v2_kubernetes_clusters_cluster_id_node_pools` +- Route: `POST /v2/kubernetes/clusters/{cluster_id}/node_pools` +- Mode: WRITE +- Summary: post_/v2/kubernetes/clusters/{cluster_id}/node_pools +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} +- Parameters: + - `cluster_id` in `path` required + - `node_pool_id` in `path` required + +### put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id + +- Operation ID: `put_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id` +- Route: `PUT /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}` +- Mode: WRITE +- Summary: put_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} +- Parameters: + - `cluster_id` in `path` required + - `node_pool_id` in `path` required + +### delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id + +- Operation ID: `delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id` +- Route: `DELETE /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id} +- Parameters: + - `cluster_id` in `path` required + - `node_pool_id` in `path` required + +### delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id + +- Operation ID: `delete_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_nodes_node_id` +- Route: `DELETE /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id} +- Parameters: + - `cluster_id` in `path` required + - `node_pool_id` in `path` required + - `node_id` in `path` required + +### post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle + +- Operation ID: `post_v2_kubernetes_clusters_cluster_id_node_pools_node_pool_id_recycle` +- Route: `POST /v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle` +- Mode: WRITE +- Summary: post_/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle +- Parameters: + - `cluster_id` in `path` required + - `node_pool_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_user + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_user` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/user` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/user +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_options + +- Operation ID: `get_v2_kubernetes_options` +- Route: `GET /v2/kubernetes/options` +- Mode: READ +- Summary: get_/v2/kubernetes/options + +### post_v2_kubernetes_clusters_cluster_id_clusterlint + +- Operation ID: `post_v2_kubernetes_clusters_cluster_id_clusterlint` +- Route: `POST /v2/kubernetes/clusters/{cluster_id}/clusterlint` +- Mode: WRITE +- Summary: post_/v2/kubernetes/clusters/{cluster_id}/clusterlint +- Parameters: + - `cluster_id` in `path` required + +### get_v2_kubernetes_clusters_cluster_id_clusterlint + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_clusterlint` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/clusterlint` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/clusterlint +- Parameters: + - `cluster_id` in `path` required + +### post_v2_kubernetes_registry + +- Operation ID: `post_v2_kubernetes_registry` +- Route: `POST /v2/kubernetes/registry` +- Mode: WRITE +- Summary: post_/v2/kubernetes/registry + +### delete_v2_kubernetes_registry + +- Operation ID: `delete_v2_kubernetes_registry` +- Route: `DELETE /v2/kubernetes/registry` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/registry + +### post_v2_kubernetes_registries + +- Operation ID: `post_v2_kubernetes_registries` +- Route: `POST /v2/kubernetes/registries` +- Mode: WRITE +- Summary: post_/v2/kubernetes/registries + +### delete_v2_kubernetes_registries + +- Operation ID: `delete_v2_kubernetes_registries` +- Route: `DELETE /v2/kubernetes/registries` +- Mode: WRITE +- Summary: delete_/v2/kubernetes/registries + +### get_v2_kubernetes_clusters_cluster_id_status_messages + +- Operation ID: `get_v2_kubernetes_clusters_cluster_id_status_messages` +- Route: `GET /v2/kubernetes/clusters/{cluster_id}/status_messages` +- Mode: READ +- Summary: get_/v2/kubernetes/clusters/{cluster_id}/status_messages +- Parameters: + - `cluster_id` in `path` required diff --git a/skills/load-balancers/SKILL.md b/skills/load-balancers/SKILL.md new file mode 100644 index 0000000..c3cbf26 --- /dev/null +++ b/skills/load-balancers/SKILL.md @@ -0,0 +1,100 @@ +--- +name: load-balancers-routes +description: Handle 10 OpenAPI operation(s) under /v2/load_balancers for the load balancers route group. +--- + +# load balancers API Routes + +Handle 10 OpenAPI operation(s) under /v2/load_balancers for the load balancers route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### post_v2_load_balancers + +- Operation ID: `post_v2_load_balancers` +- Route: `POST /v2/load_balancers` +- Mode: WRITE +- Summary: post_/v2/load_balancers + +### get_v2_load_balancers + +- Operation ID: `get_v2_load_balancers` +- Route: `GET /v2/load_balancers` +- Mode: READ +- Summary: get_/v2/load_balancers + +### get_v2_load_balancers_lb_id + +- Operation ID: `get_v2_load_balancers_lb_id` +- Route: `GET /v2/load_balancers/{lb_id}` +- Mode: READ +- Summary: get_/v2/load_balancers/{lb_id} +- Parameters: + - `lb_id` in `path` required + +### put_v2_load_balancers_lb_id + +- Operation ID: `put_v2_load_balancers_lb_id` +- Route: `PUT /v2/load_balancers/{lb_id}` +- Mode: WRITE +- Summary: put_/v2/load_balancers/{lb_id} +- Parameters: + - `lb_id` in `path` required + +### delete_v2_load_balancers_lb_id + +- Operation ID: `delete_v2_load_balancers_lb_id` +- Route: `DELETE /v2/load_balancers/{lb_id}` +- Mode: WRITE +- Summary: delete_/v2/load_balancers/{lb_id} +- Parameters: + - `lb_id` in `path` required + +### delete_v2_load_balancers_lb_id_cache + +- Operation ID: `delete_v2_load_balancers_lb_id_cache` +- Route: `DELETE /v2/load_balancers/{lb_id}/cache` +- Mode: WRITE +- Summary: delete_/v2/load_balancers/{lb_id}/cache +- Parameters: + - `lb_id` in `path` required + +### post_v2_load_balancers_lb_id_droplets + +- Operation ID: `post_v2_load_balancers_lb_id_droplets` +- Route: `POST /v2/load_balancers/{lb_id}/droplets` +- Mode: WRITE +- Summary: post_/v2/load_balancers/{lb_id}/droplets +- Parameters: + - `lb_id` in `path` required + +### delete_v2_load_balancers_lb_id_droplets + +- Operation ID: `delete_v2_load_balancers_lb_id_droplets` +- Route: `DELETE /v2/load_balancers/{lb_id}/droplets` +- Mode: WRITE +- Summary: delete_/v2/load_balancers/{lb_id}/droplets +- Parameters: + - `lb_id` in `path` required + +### post_v2_load_balancers_lb_id_forwarding_rules + +- Operation ID: `post_v2_load_balancers_lb_id_forwarding_rules` +- Route: `POST /v2/load_balancers/{lb_id}/forwarding_rules` +- Mode: WRITE +- Summary: post_/v2/load_balancers/{lb_id}/forwarding_rules +- Parameters: + - `lb_id` in `path` required + +### delete_v2_load_balancers_lb_id_forwarding_rules + +- Operation ID: `delete_v2_load_balancers_lb_id_forwarding_rules` +- Route: `DELETE /v2/load_balancers/{lb_id}/forwarding_rules` +- Mode: WRITE +- Summary: delete_/v2/load_balancers/{lb_id}/forwarding_rules +- Parameters: + - `lb_id` in `path` required diff --git a/skills/monitoring/SKILL.md b/skills/monitoring/SKILL.md new file mode 100644 index 0000000..212239b --- /dev/null +++ b/skills/monitoring/SKILL.md @@ -0,0 +1,534 @@ +--- +name: monitoring-routes +description: Handle 72 OpenAPI operation(s) under /v2/monitoring for the monitoring route group. +--- + +# monitoring API Routes + +Handle 72 OpenAPI operation(s) under /v2/monitoring for the monitoring route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_monitoring_alerts + +- Operation ID: `get_v2_monitoring_alerts` +- Route: `GET /v2/monitoring/alerts` +- Mode: READ +- Summary: get_/v2/monitoring/alerts + +### post_v2_monitoring_alerts + +- Operation ID: `post_v2_monitoring_alerts` +- Route: `POST /v2/monitoring/alerts` +- Mode: WRITE +- Summary: post_/v2/monitoring/alerts + +### get_v2_monitoring_alerts_alert_uuid + +- Operation ID: `get_v2_monitoring_alerts_alert_uuid` +- Route: `GET /v2/monitoring/alerts/{alert_uuid}` +- Mode: READ +- Summary: get_/v2/monitoring/alerts/{alert_uuid} +- Parameters: + - `alert_uuid` in `path` required + +### put_v2_monitoring_alerts_alert_uuid + +- Operation ID: `put_v2_monitoring_alerts_alert_uuid` +- Route: `PUT /v2/monitoring/alerts/{alert_uuid}` +- Mode: WRITE +- Summary: put_/v2/monitoring/alerts/{alert_uuid} +- Parameters: + - `alert_uuid` in `path` required + +### delete_v2_monitoring_alerts_alert_uuid + +- Operation ID: `delete_v2_monitoring_alerts_alert_uuid` +- Route: `DELETE /v2/monitoring/alerts/{alert_uuid}` +- Mode: WRITE +- Summary: delete_/v2/monitoring/alerts/{alert_uuid} +- Parameters: + - `alert_uuid` in `path` required + +### get_v2_monitoring_metrics_droplet_bandwidth + +- Operation ID: `get_v2_monitoring_metrics_droplet_bandwidth` +- Route: `GET /v2/monitoring/metrics/droplet/bandwidth` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/bandwidth + +### get_v2_monitoring_metrics_droplet_cpu + +- Operation ID: `get_v2_monitoring_metrics_droplet_cpu` +- Route: `GET /v2/monitoring/metrics/droplet/cpu` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/cpu + +### get_v2_monitoring_metrics_droplet_filesystem_free + +- Operation ID: `get_v2_monitoring_metrics_droplet_filesystem_free` +- Route: `GET /v2/monitoring/metrics/droplet/filesystem_free` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/filesystem_free + +### get_v2_monitoring_metrics_droplet_filesystem_size + +- Operation ID: `get_v2_monitoring_metrics_droplet_filesystem_size` +- Route: `GET /v2/monitoring/metrics/droplet/filesystem_size` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/filesystem_size + +### get_v2_monitoring_metrics_droplet_load_1 + +- Operation ID: `get_v2_monitoring_metrics_droplet_load_1` +- Route: `GET /v2/monitoring/metrics/droplet/load_1` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/load_1 + +### get_v2_monitoring_metrics_droplet_load_5 + +- Operation ID: `get_v2_monitoring_metrics_droplet_load_5` +- Route: `GET /v2/monitoring/metrics/droplet/load_5` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/load_5 + +### get_v2_monitoring_metrics_droplet_load_15 + +- Operation ID: `get_v2_monitoring_metrics_droplet_load_15` +- Route: `GET /v2/monitoring/metrics/droplet/load_15` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/load_15 + +### get_v2_monitoring_metrics_droplet_memory_cached + +- Operation ID: `get_v2_monitoring_metrics_droplet_memory_cached` +- Route: `GET /v2/monitoring/metrics/droplet/memory_cached` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/memory_cached + +### get_v2_monitoring_metrics_droplet_memory_free + +- Operation ID: `get_v2_monitoring_metrics_droplet_memory_free` +- Route: `GET /v2/monitoring/metrics/droplet/memory_free` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/memory_free + +### get_v2_monitoring_metrics_droplet_memory_total + +- Operation ID: `get_v2_monitoring_metrics_droplet_memory_total` +- Route: `GET /v2/monitoring/metrics/droplet/memory_total` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/memory_total + +### get_v2_monitoring_metrics_droplet_memory_available + +- Operation ID: `get_v2_monitoring_metrics_droplet_memory_available` +- Route: `GET /v2/monitoring/metrics/droplet/memory_available` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet/memory_available + +### get_v2_monitoring_metrics_apps_memory_percentage + +- Operation ID: `get_v2_monitoring_metrics_apps_memory_percentage` +- Route: `GET /v2/monitoring/metrics/apps/memory_percentage` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/apps/memory_percentage + +### get_v2_monitoring_metrics_apps_cpu_percentage + +- Operation ID: `get_v2_monitoring_metrics_apps_cpu_percentage` +- Route: `GET /v2/monitoring/metrics/apps/cpu_percentage` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/apps/cpu_percentage + +### get_v2_monitoring_metrics_apps_restart_count + +- Operation ID: `get_v2_monitoring_metrics_apps_restart_count` +- Route: `GET /v2/monitoring/metrics/apps/restart_count` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/apps/restart_count + +### get_v2_monitoring_metrics_load_balancer_frontend_connections_current + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_connections_current` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_connections_current` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_connections_current + +### get_v2_monitoring_metrics_load_balancer_frontend_connections_limit + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_connections_limit` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_connections_limit` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_connections_limit + +### get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_cpu_utilization` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_cpu_utilization` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_cpu_utilization + +### get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_bytes` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_bytes + +### get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_firewall_dropped_packets` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_firewall_dropped_packets + +### get_v2_monitoring_metrics_load_balancer_frontend_http_responses + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_http_responses` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_http_responses` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_http_responses + +### get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_http_requests_per_second` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_http_requests_per_second + +### get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_http` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_http` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_http + +### get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_udp` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_udp + +### get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_network_throughput_tcp` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_network_throughput_tcp + +### get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_nlb_tcp_network_throughput` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_nlb_tcp_network_throughput + +### get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_nlb_udp_network_throughput` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_nlb_udp_network_throughput + +### get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_current` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_current` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_current + +### get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_limit` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_limit + +### get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_ + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_frontend_tls_connections_exceeding_rate_` +- Route: `GET /v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/frontend_tls_connections_exceeding_rate_limit + +### get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_avg` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_avg + +### get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_50p` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_50p + +### get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_session_duration_95p` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_session_duration_95p + +### get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_avg` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_avg + +### get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_50p` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_50p + +### get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_95p` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_95p + +### get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_response_time_99p` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_response_time_99p + +### get_v2_monitoring_metrics_load_balancer_droplets_queue_size + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_queue_size` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_queue_size` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_queue_size + +### get_v2_monitoring_metrics_load_balancer_droplets_http_responses + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_http_responses` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_http_responses` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_http_responses + +### get_v2_monitoring_metrics_load_balancer_droplets_connections + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_connections` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_connections` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_connections + +### get_v2_monitoring_metrics_load_balancer_droplets_health_checks + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_health_checks` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_health_checks` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_health_checks + +### get_v2_monitoring_metrics_load_balancer_droplets_downtime + +- Operation ID: `get_v2_monitoring_metrics_load_balancer_droplets_downtime` +- Route: `GET /v2/monitoring/metrics/load_balancer/droplets_downtime` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/load_balancer/droplets_downtime + +### get_v2_monitoring_metrics_droplet_autoscale_current_instances + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_current_instances` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/current_instances` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/current_instances + +### get_v2_monitoring_metrics_droplet_autoscale_target_instances + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_target_instances` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/target_instances` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/target_instances + +### get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_current_cpu_utilization` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/current_cpu_utilization + +### get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_target_cpu_utilization` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/target_cpu_utilization + +### get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_current_memory_utilization` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/current_memory_utilization` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/current_memory_utilization + +### get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization + +- Operation ID: `get_v2_monitoring_metrics_droplet_autoscale_target_memory_utilization` +- Route: `GET /v2/monitoring/metrics/droplet_autoscale/target_memory_utilization` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/droplet_autoscale/target_memory_utilization + +### get_v2_monitoring_metrics_database_mysql_cpu_usage + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_cpu_usage` +- Route: `GET /v2/monitoring/metrics/database/mysql/cpu_usage` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/cpu_usage + +### get_v2_monitoring_metrics_database_mysql_load + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_load` +- Route: `GET /v2/monitoring/metrics/database/mysql/load` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/load + +### get_v2_monitoring_metrics_database_mysql_memory_usage + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_memory_usage` +- Route: `GET /v2/monitoring/metrics/database/mysql/memory_usage` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/memory_usage + +### get_v2_monitoring_metrics_database_mysql_disk_usage + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_disk_usage` +- Route: `GET /v2/monitoring/metrics/database/mysql/disk_usage` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/disk_usage + +### get_v2_monitoring_metrics_database_mysql_threads_connected + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_threads_connected` +- Route: `GET /v2/monitoring/metrics/database/mysql/threads_connected` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/threads_connected + +### get_v2_monitoring_metrics_database_mysql_threads_created_rate + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_threads_created_rate` +- Route: `GET /v2/monitoring/metrics/database/mysql/threads_created_rate` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/threads_created_rate + +### get_v2_monitoring_metrics_database_mysql_threads_active + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_threads_active` +- Route: `GET /v2/monitoring/metrics/database/mysql/threads_active` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/threads_active + +### get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_index_vs_sequential_reads` +- Route: `GET /v2/monitoring/metrics/database/mysql/index_vs_sequential_reads` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/index_vs_sequential_reads + +### get_v2_monitoring_metrics_database_mysql_op_rates + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_op_rates` +- Route: `GET /v2/monitoring/metrics/database/mysql/op_rates` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/op_rates + +### get_v2_monitoring_metrics_database_mysql_schema_throughput + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_schema_throughput` +- Route: `GET /v2/monitoring/metrics/database/mysql/schema_throughput` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/schema_throughput + +### get_v2_monitoring_metrics_database_mysql_schema_latency + +- Operation ID: `get_v2_monitoring_metrics_database_mysql_schema_latency` +- Route: `GET /v2/monitoring/metrics/database/mysql/schema_latency` +- Mode: READ +- Summary: get_/v2/monitoring/metrics/database/mysql/schema_latency + +### post_v2_monitoring_sinks_destinations + +- Operation ID: `post_v2_monitoring_sinks_destinations` +- Route: `POST /v2/monitoring/sinks/destinations` +- Mode: WRITE +- Summary: post_/v2/monitoring/sinks/destinations + +### get_v2_monitoring_sinks_destinations + +- Operation ID: `get_v2_monitoring_sinks_destinations` +- Route: `GET /v2/monitoring/sinks/destinations` +- Mode: READ +- Summary: get_/v2/monitoring/sinks/destinations + +### get_v2_monitoring_sinks_destinations_destination_uuid + +- Operation ID: `get_v2_monitoring_sinks_destinations_destination_uuid` +- Route: `GET /v2/monitoring/sinks/destinations/{destination_uuid}` +- Mode: READ +- Summary: get_/v2/monitoring/sinks/destinations/{destination_uuid} +- Parameters: + - `destination_uuid` in `path` required + +### post_v2_monitoring_sinks_destinations_destination_uuid + +- Operation ID: `post_v2_monitoring_sinks_destinations_destination_uuid` +- Route: `POST /v2/monitoring/sinks/destinations/{destination_uuid}` +- Mode: WRITE +- Summary: post_/v2/monitoring/sinks/destinations/{destination_uuid} +- Parameters: + - `destination_uuid` in `path` required + +### delete_v2_monitoring_sinks_destinations_destination_uuid + +- Operation ID: `delete_v2_monitoring_sinks_destinations_destination_uuid` +- Route: `DELETE /v2/monitoring/sinks/destinations/{destination_uuid}` +- Mode: WRITE +- Summary: delete_/v2/monitoring/sinks/destinations/{destination_uuid} +- Parameters: + - `destination_uuid` in `path` required + +### post_v2_monitoring_sinks + +- Operation ID: `post_v2_monitoring_sinks` +- Route: `POST /v2/monitoring/sinks` +- Mode: WRITE +- Summary: post_/v2/monitoring/sinks + +### get_v2_monitoring_sinks + +- Operation ID: `get_v2_monitoring_sinks` +- Route: `GET /v2/monitoring/sinks` +- Mode: READ +- Summary: get_/v2/monitoring/sinks + +### get_v2_monitoring_sinks_sink_uuid + +- Operation ID: `get_v2_monitoring_sinks_sink_uuid` +- Route: `GET /v2/monitoring/sinks/{sink_uuid}` +- Mode: READ +- Summary: get_/v2/monitoring/sinks/{sink_uuid} +- Parameters: + - `sink_uuid` in `path` required + +### delete_v2_monitoring_sinks_sink_uuid + +- Operation ID: `delete_v2_monitoring_sinks_sink_uuid` +- Route: `DELETE /v2/monitoring/sinks/{sink_uuid}` +- Mode: WRITE +- Summary: delete_/v2/monitoring/sinks/{sink_uuid} +- Parameters: + - `sink_uuid` in `path` required diff --git a/skills/nfs/SKILL.md b/skills/nfs/SKILL.md new file mode 100644 index 0000000..20fb6c8 --- /dev/null +++ b/skills/nfs/SKILL.md @@ -0,0 +1,116 @@ +--- +name: nfs-routes +description: Handle 12 OpenAPI operation(s) under /v2/nfs for the nfs route group. +--- + +# nfs API Routes + +Handle 12 OpenAPI operation(s) under /v2/nfs for the nfs route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### post_v2_nfs + +- Operation ID: `post_v2_nfs` +- Route: `POST /v2/nfs` +- Mode: WRITE +- Summary: post_/v2/nfs + +### get_v2_nfs + +- Operation ID: `get_v2_nfs` +- Route: `GET /v2/nfs` +- Mode: READ +- Summary: get_/v2/nfs + +### get_v2_nfs_nfs_id + +- Operation ID: `get_v2_nfs_nfs_id` +- Route: `GET /v2/nfs/{nfs_id}` +- Mode: READ +- Summary: get_/v2/nfs/{nfs_id} +- Parameters: + - `nfs_id` in `path` required + +### delete_v2_nfs_nfs_id + +- Operation ID: `delete_v2_nfs_nfs_id` +- Route: `DELETE /v2/nfs/{nfs_id}` +- Mode: WRITE +- Summary: delete_/v2/nfs/{nfs_id} +- Parameters: + - `nfs_id` in `path` required + +### post_v2_nfs_nfs_id_actions + +- Operation ID: `post_v2_nfs_nfs_id_actions` +- Route: `POST /v2/nfs/{nfs_id}/actions` +- Mode: WRITE +- Summary: post_/v2/nfs/{nfs_id}/actions +- Parameters: + - `nfs_id` in `path` required + +### get_v2_nfs_snapshots + +- Operation ID: `get_v2_nfs_snapshots` +- Route: `GET /v2/nfs/snapshots` +- Mode: READ +- Summary: get_/v2/nfs/snapshots + +### get_v2_nfs_snapshots_nfs_snapshot_id + +- Operation ID: `get_v2_nfs_snapshots_nfs_snapshot_id` +- Route: `GET /v2/nfs/snapshots/{nfs_snapshot_id}` +- Mode: READ +- Summary: get_/v2/nfs/snapshots/{nfs_snapshot_id} +- Parameters: + - `nfs_snapshot_id` in `path` required + +### delete_v2_nfs_snapshots_nfs_snapshot_id + +- Operation ID: `delete_v2_nfs_snapshots_nfs_snapshot_id` +- Route: `DELETE /v2/nfs/snapshots/{nfs_snapshot_id}` +- Mode: WRITE +- Summary: delete_/v2/nfs/snapshots/{nfs_snapshot_id} +- Parameters: + - `nfs_snapshot_id` in `path` required + +### post_v2_nfs_shares_share_id_access_points + +- Operation ID: `post_v2_nfs_shares_share_id_access_points` +- Route: `POST /v2/nfs/shares/{share_id}/access_points` +- Mode: WRITE +- Summary: post_/v2/nfs/shares/{share_id}/access_points +- Parameters: + - `share_id` in `path` required + +### get_v2_nfs_shares_share_id_access_points + +- Operation ID: `get_v2_nfs_shares_share_id_access_points` +- Route: `GET /v2/nfs/shares/{share_id}/access_points` +- Mode: READ +- Summary: get_/v2/nfs/shares/{share_id}/access_points +- Parameters: + - `share_id` in `path` required + +### get_v2_nfs_access_points_access_point_id + +- Operation ID: `get_v2_nfs_access_points_access_point_id` +- Route: `GET /v2/nfs/access_points/{access_point_id}` +- Mode: READ +- Summary: get_/v2/nfs/access_points/{access_point_id} +- Parameters: + - `access_point_id` in `path` required + +### delete_v2_nfs_access_points_access_point_id + +- Operation ID: `delete_v2_nfs_access_points_access_point_id` +- Route: `DELETE /v2/nfs/access_points/{access_point_id}` +- Mode: WRITE +- Summary: delete_/v2/nfs/access_points/{access_point_id} +- Parameters: + - `access_point_id` in `path` required diff --git a/skills/op-1-clicks/SKILL.md b/skills/op-1-clicks/SKILL.md new file mode 100644 index 0000000..6a6c80e --- /dev/null +++ b/skills/op-1-clicks/SKILL.md @@ -0,0 +1,28 @@ +--- +name: op-1-clicks-routes +description: Handle 2 OpenAPI operation(s) under /v2/1-clicks for the 1 clicks route group. +--- + +# 1 clicks API Routes + +Handle 2 OpenAPI operation(s) under /v2/1-clicks for the 1 clicks route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_1_clicks + +- Operation ID: `get_v2_1_clicks` +- Route: `GET /v2/1-clicks` +- Mode: READ +- Summary: get_/v2/1-clicks + +### post_v2_1_clicks_kubernetes + +- Operation ID: `post_v2_1_clicks_kubernetes` +- Route: `POST /v2/1-clicks/kubernetes` +- Mode: WRITE +- Summary: post_/v2/1-clicks/kubernetes diff --git a/skills/partner-network-connect/SKILL.md b/skills/partner-network-connect/SKILL.md new file mode 100644 index 0000000..c12d865 --- /dev/null +++ b/skills/partner-network-connect/SKILL.md @@ -0,0 +1,91 @@ +--- +name: partner-network-connect-routes +description: Handle 9 OpenAPI operation(s) under /v2/partner_network_connect/attachments for the partner network connect route group. +--- + +# partner network connect API Routes + +Handle 9 OpenAPI operation(s) under /v2/partner_network_connect/attachments for the partner network connect route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_partner_network_connect_attachments + +- Operation ID: `get_v2_partner_network_connect_attachments` +- Route: `GET /v2/partner_network_connect/attachments` +- Mode: READ +- Summary: get_/v2/partner_network_connect/attachments + +### post_v2_partner_network_connect_attachments + +- Operation ID: `post_v2_partner_network_connect_attachments` +- Route: `POST /v2/partner_network_connect/attachments` +- Mode: WRITE +- Summary: post_/v2/partner_network_connect/attachments + +### get_v2_partner_network_connect_attachments_pa_id + +- Operation ID: `get_v2_partner_network_connect_attachments_pa_id` +- Route: `GET /v2/partner_network_connect/attachments/{pa_id}` +- Mode: READ +- Summary: get_/v2/partner_network_connect/attachments/{pa_id} +- Parameters: + - `pa_id` in `path` required + +### patch_v2_partner_network_connect_attachments_pa_id + +- Operation ID: `patch_v2_partner_network_connect_attachments_pa_id` +- Route: `PATCH /v2/partner_network_connect/attachments/{pa_id}` +- Mode: WRITE +- Summary: patch_/v2/partner_network_connect/attachments/{pa_id} +- Parameters: + - `pa_id` in `path` required + +### delete_v2_partner_network_connect_attachments_pa_id + +- Operation ID: `delete_v2_partner_network_connect_attachments_pa_id` +- Route: `DELETE /v2/partner_network_connect/attachments/{pa_id}` +- Mode: WRITE +- Summary: delete_/v2/partner_network_connect/attachments/{pa_id} +- Parameters: + - `pa_id` in `path` required + +### get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key + +- Operation ID: `get_v2_partner_network_connect_attachments_pa_id_bgp_auth_key` +- Route: `GET /v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key` +- Mode: READ +- Summary: get_/v2/partner_network_connect/attachments/{pa_id}/bgp_auth_key +- Parameters: + - `pa_id` in `path` required + +### get_v2_partner_network_connect_attachments_pa_id_remote_routes + +- Operation ID: `get_v2_partner_network_connect_attachments_pa_id_remote_routes` +- Route: `GET /v2/partner_network_connect/attachments/{pa_id}/remote_routes` +- Mode: READ +- Summary: get_/v2/partner_network_connect/attachments/{pa_id}/remote_routes +- Parameters: + - `pa_id` in `path` required + +### get_v2_partner_network_connect_attachments_pa_id_service_key + +- Operation ID: `get_v2_partner_network_connect_attachments_pa_id_service_key` +- Route: `GET /v2/partner_network_connect/attachments/{pa_id}/service_key` +- Mode: READ +- Summary: get_/v2/partner_network_connect/attachments/{pa_id}/service_key +- Parameters: + - `pa_id` in `path` required + +### post_v2_partner_network_connect_attachments_pa_id_service_key + +- Operation ID: `post_v2_partner_network_connect_attachments_pa_id_service_key` +- Route: `POST /v2/partner_network_connect/attachments/{pa_id}/service_key` +- Mode: WRITE +- Summary: post_/v2/partner_network_connect/attachments/{pa_id}/service_key +- Parameters: + - `pa_id` in `path` required diff --git a/skills/projects/SKILL.md b/skills/projects/SKILL.md new file mode 100644 index 0000000..11ef527 --- /dev/null +++ b/skills/projects/SKILL.md @@ -0,0 +1,117 @@ +--- +name: projects-routes +description: Handle 13 OpenAPI operation(s) under /v2/projects for the projects route group. +--- + +# projects API Routes + +Handle 13 OpenAPI operation(s) under /v2/projects for the projects route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_projects + +- Operation ID: `get_v2_projects` +- Route: `GET /v2/projects` +- Mode: READ +- Summary: get_/v2/projects + +### post_v2_projects + +- Operation ID: `post_v2_projects` +- Route: `POST /v2/projects` +- Mode: WRITE +- Summary: post_/v2/projects + +### get_v2_projects_default + +- Operation ID: `get_v2_projects_default` +- Route: `GET /v2/projects/default` +- Mode: READ +- Summary: get_/v2/projects/default + +### put_v2_projects_default + +- Operation ID: `put_v2_projects_default` +- Route: `PUT /v2/projects/default` +- Mode: WRITE +- Summary: put_/v2/projects/default + +### patch_v2_projects_default + +- Operation ID: `patch_v2_projects_default` +- Route: `PATCH /v2/projects/default` +- Mode: WRITE +- Summary: patch_/v2/projects/default + +### get_v2_projects_project_id + +- Operation ID: `get_v2_projects_project_id` +- Route: `GET /v2/projects/{project_id}` +- Mode: READ +- Summary: get_/v2/projects/{project_id} +- Parameters: + - `project_id` in `path` required + +### put_v2_projects_project_id + +- Operation ID: `put_v2_projects_project_id` +- Route: `PUT /v2/projects/{project_id}` +- Mode: WRITE +- Summary: put_/v2/projects/{project_id} +- Parameters: + - `project_id` in `path` required + +### patch_v2_projects_project_id + +- Operation ID: `patch_v2_projects_project_id` +- Route: `PATCH /v2/projects/{project_id}` +- Mode: WRITE +- Summary: patch_/v2/projects/{project_id} +- Parameters: + - `project_id` in `path` required + +### delete_v2_projects_project_id + +- Operation ID: `delete_v2_projects_project_id` +- Route: `DELETE /v2/projects/{project_id}` +- Mode: WRITE +- Summary: delete_/v2/projects/{project_id} +- Parameters: + - `project_id` in `path` required + +### get_v2_projects_project_id_resources + +- Operation ID: `get_v2_projects_project_id_resources` +- Route: `GET /v2/projects/{project_id}/resources` +- Mode: READ +- Summary: get_/v2/projects/{project_id}/resources +- Parameters: + - `project_id` in `path` required + +### post_v2_projects_project_id_resources + +- Operation ID: `post_v2_projects_project_id_resources` +- Route: `POST /v2/projects/{project_id}/resources` +- Mode: WRITE +- Summary: post_/v2/projects/{project_id}/resources +- Parameters: + - `project_id` in `path` required + +### get_v2_projects_default_resources + +- Operation ID: `get_v2_projects_default_resources` +- Route: `GET /v2/projects/default/resources` +- Mode: READ +- Summary: get_/v2/projects/default/resources + +### post_v2_projects_default_resources + +- Operation ID: `post_v2_projects_default_resources` +- Route: `POST /v2/projects/default/resources` +- Mode: WRITE +- Summary: post_/v2/projects/default/resources diff --git a/skills/regions/SKILL.md b/skills/regions/SKILL.md new file mode 100644 index 0000000..265c2df --- /dev/null +++ b/skills/regions/SKILL.md @@ -0,0 +1,21 @@ +--- +name: regions-routes +description: Handle 1 OpenAPI operation(s) under /v2/regions for the regions route group. +--- + +# regions API Routes + +Handle 1 OpenAPI operation(s) under /v2/regions for the regions route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_regions + +- Operation ID: `get_v2_regions` +- Route: `GET /v2/regions` +- Mode: READ +- Summary: get_/v2/regions diff --git a/skills/registries/SKILL.md b/skills/registries/SKILL.md new file mode 100644 index 0000000..141281a --- /dev/null +++ b/skills/registries/SKILL.md @@ -0,0 +1,181 @@ +--- +name: registries-routes +description: Handle 19 OpenAPI operation(s) under /v2/registries for the registries route group. +--- + +# registries API Routes + +Handle 19 OpenAPI operation(s) under /v2/registries for the registries route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_registries + +- Operation ID: `get_v2_registries` +- Route: `GET /v2/registries` +- Mode: READ +- Summary: get_/v2/registries + +### post_v2_registries + +- Operation ID: `post_v2_registries` +- Route: `POST /v2/registries` +- Mode: WRITE +- Summary: post_/v2/registries + +### get_v2_registries_registry_name + +- Operation ID: `get_v2_registries_registry_name` +- Route: `GET /v2/registries/{registry_name}` +- Mode: READ +- Summary: get_/v2/registries/{registry_name} +- Parameters: + - `registry_name` in `path` required + +### delete_v2_registries_registry_name + +- Operation ID: `delete_v2_registries_registry_name` +- Route: `DELETE /v2/registries/{registry_name}` +- Mode: WRITE +- Summary: delete_/v2/registries/{registry_name} +- Parameters: + - `registry_name` in `path` required + +### get_v2_registries_registry_name_docker_credentials + +- Operation ID: `get_v2_registries_registry_name_docker_credentials` +- Route: `GET /v2/registries/{registry_name}/docker-credentials` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/docker-credentials +- Parameters: + - `registry_name` in `path` required + +### get_v2_registries_subscription + +- Operation ID: `get_v2_registries_subscription` +- Route: `GET /v2/registries/subscription` +- Mode: READ +- Summary: get_/v2/registries/subscription + +### post_v2_registries_subscription + +- Operation ID: `post_v2_registries_subscription` +- Route: `POST /v2/registries/subscription` +- Mode: WRITE +- Summary: post_/v2/registries/subscription + +### get_v2_registries_options + +- Operation ID: `get_v2_registries_options` +- Route: `GET /v2/registries/options` +- Mode: READ +- Summary: get_/v2/registries/options + +### get_v2_registries_registry_name_garbage_collection + +- Operation ID: `get_v2_registries_registry_name_garbage_collection` +- Route: `GET /v2/registries/{registry_name}/garbage-collection` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/garbage-collection +- Parameters: + - `registry_name` in `path` required + +### post_v2_registries_registry_name_garbage_collection + +- Operation ID: `post_v2_registries_registry_name_garbage_collection` +- Route: `POST /v2/registries/{registry_name}/garbage-collection` +- Mode: WRITE +- Summary: post_/v2/registries/{registry_name}/garbage-collection +- Parameters: + - `registry_name` in `path` required + +### get_v2_registries_registry_name_garbage_collections + +- Operation ID: `get_v2_registries_registry_name_garbage_collections` +- Route: `GET /v2/registries/{registry_name}/garbage-collections` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/garbage-collections +- Parameters: + - `registry_name` in `path` required + +### put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid + +- Operation ID: `put_v2_registries_registry_name_garbage_collection_garbage_collection_uuid` +- Route: `PUT /v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid}` +- Mode: WRITE +- Summary: put_/v2/registries/{registry_name}/garbage-collection/{garbage_collection_uuid} +- Parameters: + - `registry_name` in `path` required + - `garbage_collection_uuid` in `path` required + +### get_v2_registries_registry_name_repositories_v2 + +- Operation ID: `get_v2_registries_registry_name_repositories_v2` +- Route: `GET /v2/registries/{registry_name}/repositoriesV2` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/repositoriesV2 +- Parameters: + - `registry_name` in `path` required + +### delete_v2_registries_registry_name_repositories_repository_name + +- Operation ID: `delete_v2_registries_registry_name_repositories_repository_name` +- Route: `DELETE /v2/registries/{registry_name}/repositories/{repository_name}` +- Mode: WRITE +- Summary: delete_/v2/registries/{registry_name}/repositories/{repository_name} +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + +### get_v2_registries_registry_name_repositories_repository_name_tags + +- Operation ID: `get_v2_registries_registry_name_repositories_repository_name_tags` +- Route: `GET /v2/registries/{registry_name}/repositories/{repository_name}/tags` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/repositories/{repository_name}/tags +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + +### delete_v2_registries_registry_name_repositories_repository_name_tags_repository_ + +- Operation ID: `delete_v2_registries_registry_name_repositories_repository_name_tags_repository_` +- Route: `DELETE /v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag}` +- Mode: WRITE +- Summary: delete_/v2/registries/{registry_name}/repositories/{repository_name}/tags/{repository_tag} +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + - `repository_tag` in `path` required + +### get_v2_registries_registry_name_repositories_repository_name_digests + +- Operation ID: `get_v2_registries_registry_name_repositories_repository_name_digests` +- Route: `GET /v2/registries/{registry_name}/repositories/{repository_name}/digests` +- Mode: READ +- Summary: get_/v2/registries/{registry_name}/repositories/{repository_name}/digests +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + +### delete_v2_registries_registry_name_repositories_repository_name_digests_manifest + +- Operation ID: `delete_v2_registries_registry_name_repositories_repository_name_digests_manifest` +- Route: `DELETE /v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}` +- Mode: WRITE +- Summary: delete_/v2/registries/{registry_name}/repositories/{repository_name}/digests/{manifest_digest} +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + - `manifest_digest` in `path` required + +### post_v2_registries_validate_name + +- Operation ID: `post_v2_registries_validate_name` +- Route: `POST /v2/registries/validate-name` +- Mode: WRITE +- Summary: post_/v2/registries/validate-name diff --git a/skills/registry/SKILL.md b/skills/registry/SKILL.md new file mode 100644 index 0000000..26d2807 --- /dev/null +++ b/skills/registry/SKILL.md @@ -0,0 +1,167 @@ +--- +name: registry-routes +description: Handle 18 OpenAPI operation(s) under /v2/registry for the registry route group. +--- + +# registry API Routes + +Handle 18 OpenAPI operation(s) under /v2/registry for the registry route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_registry + +- Operation ID: `get_v2_registry` +- Route: `GET /v2/registry` +- Mode: READ +- Summary: get_/v2/registry + +### post_v2_registry + +- Operation ID: `post_v2_registry` +- Route: `POST /v2/registry` +- Mode: WRITE +- Summary: post_/v2/registry + +### delete_v2_registry + +- Operation ID: `delete_v2_registry` +- Route: `DELETE /v2/registry` +- Mode: WRITE +- Summary: delete_/v2/registry + +### get_v2_registry_subscription + +- Operation ID: `get_v2_registry_subscription` +- Route: `GET /v2/registry/subscription` +- Mode: READ +- Summary: get_/v2/registry/subscription + +### post_v2_registry_subscription + +- Operation ID: `post_v2_registry_subscription` +- Route: `POST /v2/registry/subscription` +- Mode: WRITE +- Summary: post_/v2/registry/subscription + +### get_v2_registry_docker_credentials + +- Operation ID: `get_v2_registry_docker_credentials` +- Route: `GET /v2/registry/docker-credentials` +- Mode: READ +- Summary: get_/v2/registry/docker-credentials + +### post_v2_registry_validate_name + +- Operation ID: `post_v2_registry_validate_name` +- Route: `POST /v2/registry/validate-name` +- Mode: WRITE +- Summary: post_/v2/registry/validate-name + +### get_v2_registry_registry_name_repositories + +- Operation ID: `get_v2_registry_registry_name_repositories` +- Route: `GET /v2/registry/{registry_name}/repositories` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/repositories +- Parameters: + - `registry_name` in `path` required + +### get_v2_registry_registry_name_repositories_v2 + +- Operation ID: `get_v2_registry_registry_name_repositories_v2` +- Route: `GET /v2/registry/{registry_name}/repositoriesV2` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/repositoriesV2 +- Parameters: + - `registry_name` in `path` required + +### get_v2_registry_registry_name_repositories_repository_name_tags + +- Operation ID: `get_v2_registry_registry_name_repositories_repository_name_tags` +- Route: `GET /v2/registry/{registry_name}/repositories/{repository_name}/tags` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/repositories/{repository_name}/tags +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + +### delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta + +- Operation ID: `delete_v2_registry_registry_name_repositories_repository_name_tags_repository_ta` +- Route: `DELETE /v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}` +- Mode: WRITE +- Summary: delete_/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag} +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + - `repository_tag` in `path` required + +### get_v2_registry_registry_name_repositories_repository_name_digests + +- Operation ID: `get_v2_registry_registry_name_repositories_repository_name_digests` +- Route: `GET /v2/registry/{registry_name}/repositories/{repository_name}/digests` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/repositories/{repository_name}/digests +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + +### delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d + +- Operation ID: `delete_v2_registry_registry_name_repositories_repository_name_digests_manifest_d` +- Route: `DELETE /v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}` +- Mode: WRITE +- Summary: delete_/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest} +- Parameters: + - `registry_name` in `path` required + - `repository_name` in `path` required + - `manifest_digest` in `path` required + +### post_v2_registry_registry_name_garbage_collection + +- Operation ID: `post_v2_registry_registry_name_garbage_collection` +- Route: `POST /v2/registry/{registry_name}/garbage-collection` +- Mode: WRITE +- Summary: post_/v2/registry/{registry_name}/garbage-collection +- Parameters: + - `registry_name` in `path` required + +### get_v2_registry_registry_name_garbage_collection + +- Operation ID: `get_v2_registry_registry_name_garbage_collection` +- Route: `GET /v2/registry/{registry_name}/garbage-collection` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/garbage-collection +- Parameters: + - `registry_name` in `path` required + +### get_v2_registry_registry_name_garbage_collections + +- Operation ID: `get_v2_registry_registry_name_garbage_collections` +- Route: `GET /v2/registry/{registry_name}/garbage-collections` +- Mode: READ +- Summary: get_/v2/registry/{registry_name}/garbage-collections +- Parameters: + - `registry_name` in `path` required + +### put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid + +- Operation ID: `put_v2_registry_registry_name_garbage_collection_garbage_collection_uuid` +- Route: `PUT /v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}` +- Mode: WRITE +- Summary: put_/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid} +- Parameters: + - `registry_name` in `path` required + - `garbage_collection_uuid` in `path` required + +### get_v2_registry_options + +- Operation ID: `get_v2_registry_options` +- Route: `GET /v2/registry/options` +- Mode: READ +- Summary: get_/v2/registry/options diff --git a/skills/reports/SKILL.md b/skills/reports/SKILL.md new file mode 100644 index 0000000..7ce3eee --- /dev/null +++ b/skills/reports/SKILL.md @@ -0,0 +1,21 @@ +--- +name: reports-routes +description: Handle 1 OpenAPI operation(s) under /v2/reports/droplet_neighbors_ids for the reports route group. +--- + +# reports API Routes + +Handle 1 OpenAPI operation(s) under /v2/reports/droplet_neighbors_ids for the reports route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_reports_droplet_neighbors_ids + +- Operation ID: `get_v2_reports_droplet_neighbors_ids` +- Route: `GET /v2/reports/droplet_neighbors_ids` +- Mode: READ +- Summary: get_/v2/reports/droplet_neighbors_ids diff --git a/skills/reserved-ips/SKILL.md b/skills/reserved-ips/SKILL.md new file mode 100644 index 0000000..5aaa853 --- /dev/null +++ b/skills/reserved-ips/SKILL.md @@ -0,0 +1,74 @@ +--- +name: reserved-ips-routes +description: Handle 7 OpenAPI operation(s) under /v2/reserved_ips for the reserved ips route group. +--- + +# reserved ips API Routes + +Handle 7 OpenAPI operation(s) under /v2/reserved_ips for the reserved ips route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_reserved_ips + +- Operation ID: `get_v2_reserved_ips` +- Route: `GET /v2/reserved_ips` +- Mode: READ +- Summary: get_/v2/reserved_ips + +### post_v2_reserved_ips + +- Operation ID: `post_v2_reserved_ips` +- Route: `POST /v2/reserved_ips` +- Mode: WRITE +- Summary: post_/v2/reserved_ips + +### get_v2_reserved_ips_reserved_ip + +- Operation ID: `get_v2_reserved_ips_reserved_ip` +- Route: `GET /v2/reserved_ips/{reserved_ip}` +- Mode: READ +- Summary: get_/v2/reserved_ips/{reserved_ip} +- Parameters: + - `reserved_ip` in `path` required + +### delete_v2_reserved_ips_reserved_ip + +- Operation ID: `delete_v2_reserved_ips_reserved_ip` +- Route: `DELETE /v2/reserved_ips/{reserved_ip}` +- Mode: WRITE +- Summary: delete_/v2/reserved_ips/{reserved_ip} +- Parameters: + - `reserved_ip` in `path` required + +### get_v2_reserved_ips_reserved_ip_actions + +- Operation ID: `get_v2_reserved_ips_reserved_ip_actions` +- Route: `GET /v2/reserved_ips/{reserved_ip}/actions` +- Mode: READ +- Summary: get_/v2/reserved_ips/{reserved_ip}/actions +- Parameters: + - `reserved_ip` in `path` required + +### post_v2_reserved_ips_reserved_ip_actions + +- Operation ID: `post_v2_reserved_ips_reserved_ip_actions` +- Route: `POST /v2/reserved_ips/{reserved_ip}/actions` +- Mode: WRITE +- Summary: post_/v2/reserved_ips/{reserved_ip}/actions +- Parameters: + - `reserved_ip` in `path` required + +### get_v2_reserved_ips_reserved_ip_actions_action_id + +- Operation ID: `get_v2_reserved_ips_reserved_ip_actions_action_id` +- Route: `GET /v2/reserved_ips/{reserved_ip}/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/reserved_ips/{reserved_ip}/actions/{action_id} +- Parameters: + - `reserved_ip` in `path` required + - `action_id` in `path` required diff --git a/skills/reserved-ipv6/SKILL.md b/skills/reserved-ipv6/SKILL.md new file mode 100644 index 0000000..c1c7b49 --- /dev/null +++ b/skills/reserved-ipv6/SKILL.md @@ -0,0 +1,55 @@ +--- +name: reserved-ipv6-routes +description: Handle 5 OpenAPI operation(s) under /v2/reserved_ipv6 for the reserved ipv6 route group. +--- + +# reserved ipv6 API Routes + +Handle 5 OpenAPI operation(s) under /v2/reserved_ipv6 for the reserved ipv6 route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_reserved_ipv6 + +- Operation ID: `get_v2_reserved_ipv6` +- Route: `GET /v2/reserved_ipv6` +- Mode: READ +- Summary: get_/v2/reserved_ipv6 + +### post_v2_reserved_ipv6 + +- Operation ID: `post_v2_reserved_ipv6` +- Route: `POST /v2/reserved_ipv6` +- Mode: WRITE +- Summary: post_/v2/reserved_ipv6 + +### get_v2_reserved_ipv6_reserved_ipv6 + +- Operation ID: `get_v2_reserved_ipv6_reserved_ipv6` +- Route: `GET /v2/reserved_ipv6/{reserved_ipv6}` +- Mode: READ +- Summary: get_/v2/reserved_ipv6/{reserved_ipv6} +- Parameters: + - `reserved_ipv6` in `path` required + +### delete_v2_reserved_ipv6_reserved_ipv6 + +- Operation ID: `delete_v2_reserved_ipv6_reserved_ipv6` +- Route: `DELETE /v2/reserved_ipv6/{reserved_ipv6}` +- Mode: WRITE +- Summary: delete_/v2/reserved_ipv6/{reserved_ipv6} +- Parameters: + - `reserved_ipv6` in `path` required + +### post_v2_reserved_ipv6_reserved_ipv6_actions + +- Operation ID: `post_v2_reserved_ipv6_reserved_ipv6_actions` +- Route: `POST /v2/reserved_ipv6/{reserved_ipv6}/actions` +- Mode: WRITE +- Summary: post_/v2/reserved_ipv6/{reserved_ipv6}/actions +- Parameters: + - `reserved_ipv6` in `path` required diff --git a/skills/security/SKILL.md b/skills/security/SKILL.md new file mode 100644 index 0000000..2020e49 --- /dev/null +++ b/skills/security/SKILL.md @@ -0,0 +1,91 @@ +--- +name: security-routes +description: Handle 10 OpenAPI operation(s) under /v2/security for the security route group. +--- + +# security API Routes + +Handle 10 OpenAPI operation(s) under /v2/security for the security route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_security_scans + +- Operation ID: `get_v2_security_scans` +- Route: `GET /v2/security/scans` +- Mode: READ +- Summary: get_/v2/security/scans + +### post_v2_security_scans + +- Operation ID: `post_v2_security_scans` +- Route: `POST /v2/security/scans` +- Mode: WRITE +- Summary: post_/v2/security/scans + +### get_v2_security_scans_scan_id + +- Operation ID: `get_v2_security_scans_scan_id` +- Route: `GET /v2/security/scans/{scan_id}` +- Mode: READ +- Summary: get_/v2/security/scans/{scan_id} +- Parameters: + - `scan_id` in `path` required + +### get_v2_security_scans_latest + +- Operation ID: `get_v2_security_scans_latest` +- Route: `GET /v2/security/scans/latest` +- Mode: READ +- Summary: get_/v2/security/scans/latest + +### post_v2_security_scans_rules + +- Operation ID: `post_v2_security_scans_rules` +- Route: `POST /v2/security/scans/rules` +- Mode: WRITE +- Summary: post_/v2/security/scans/rules + +### get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources + +- Operation ID: `get_v2_security_scans_scan_id_findings_finding_uuid_affected_resources` +- Route: `GET /v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources` +- Mode: READ +- Summary: get_/v2/security/scans/{scan_id}/findings/{finding_uuid}/affected_resources +- Parameters: + - `scan_id` in `path` required + - `finding_uuid` in `path` required + +### get_v2_security_settings + +- Operation ID: `get_v2_security_settings` +- Route: `GET /v2/security/settings` +- Mode: READ +- Summary: get_/v2/security/settings + +### put_v2_security_settings_plan + +- Operation ID: `put_v2_security_settings_plan` +- Route: `PUT /v2/security/settings/plan` +- Mode: WRITE +- Summary: put_/v2/security/settings/plan + +### post_v2_security_settings_suppressions + +- Operation ID: `post_v2_security_settings_suppressions` +- Route: `POST /v2/security/settings/suppressions` +- Mode: WRITE +- Summary: post_/v2/security/settings/suppressions + +### delete_v2_security_settings_suppressions_suppression_uuid + +- Operation ID: `delete_v2_security_settings_suppressions_suppression_uuid` +- Route: `DELETE /v2/security/settings/suppressions/{suppression_uuid}` +- Mode: WRITE +- Summary: delete_/v2/security/settings/suppressions/{suppression_uuid} +- Parameters: + - `suppression_uuid` in `path` required diff --git a/skills/sizes/SKILL.md b/skills/sizes/SKILL.md new file mode 100644 index 0000000..763a979 --- /dev/null +++ b/skills/sizes/SKILL.md @@ -0,0 +1,21 @@ +--- +name: sizes-routes +description: Handle 1 OpenAPI operation(s) under /v2/sizes for the sizes route group. +--- + +# sizes API Routes + +Handle 1 OpenAPI operation(s) under /v2/sizes for the sizes route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_sizes + +- Operation ID: `get_v2_sizes` +- Route: `GET /v2/sizes` +- Mode: READ +- Summary: get_/v2/sizes diff --git a/skills/snapshots/SKILL.md b/skills/snapshots/SKILL.md new file mode 100644 index 0000000..1a4c699 --- /dev/null +++ b/skills/snapshots/SKILL.md @@ -0,0 +1,39 @@ +--- +name: snapshots-routes +description: Handle 3 OpenAPI operation(s) under /v2/snapshots for the snapshots route group. +--- + +# snapshots API Routes + +Handle 3 OpenAPI operation(s) under /v2/snapshots for the snapshots route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_snapshots + +- Operation ID: `get_v2_snapshots` +- Route: `GET /v2/snapshots` +- Mode: READ +- Summary: get_/v2/snapshots + +### get_v2_snapshots_snapshot_id + +- Operation ID: `get_v2_snapshots_snapshot_id` +- Route: `GET /v2/snapshots/{snapshot_id}` +- Mode: READ +- Summary: get_/v2/snapshots/{snapshot_id} +- Parameters: + - `snapshot_id` in `path` required + +### delete_v2_snapshots_snapshot_id + +- Operation ID: `delete_v2_snapshots_snapshot_id` +- Route: `DELETE /v2/snapshots/{snapshot_id}` +- Mode: WRITE +- Summary: delete_/v2/snapshots/{snapshot_id} +- Parameters: + - `snapshot_id` in `path` required diff --git a/skills/spaces/SKILL.md b/skills/spaces/SKILL.md new file mode 100644 index 0000000..ed2fc49 --- /dev/null +++ b/skills/spaces/SKILL.md @@ -0,0 +1,64 @@ +--- +name: spaces-routes +description: Handle 6 OpenAPI operation(s) under /v2/spaces/keys for the spaces route group. +--- + +# spaces API Routes + +Handle 6 OpenAPI operation(s) under /v2/spaces/keys for the spaces route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_spaces_keys + +- Operation ID: `get_v2_spaces_keys` +- Route: `GET /v2/spaces/keys` +- Mode: READ +- Summary: get_/v2/spaces/keys + +### post_v2_spaces_keys + +- Operation ID: `post_v2_spaces_keys` +- Route: `POST /v2/spaces/keys` +- Mode: WRITE +- Summary: post_/v2/spaces/keys + +### get_v2_spaces_keys_access_key + +- Operation ID: `get_v2_spaces_keys_access_key` +- Route: `GET /v2/spaces/keys/{access_key}` +- Mode: READ +- Summary: get_/v2/spaces/keys/{access_key} +- Parameters: + - `access_key` in `path` required + +### delete_v2_spaces_keys_access_key + +- Operation ID: `delete_v2_spaces_keys_access_key` +- Route: `DELETE /v2/spaces/keys/{access_key}` +- Mode: WRITE +- Summary: delete_/v2/spaces/keys/{access_key} +- Parameters: + - `access_key` in `path` required + +### put_v2_spaces_keys_access_key + +- Operation ID: `put_v2_spaces_keys_access_key` +- Route: `PUT /v2/spaces/keys/{access_key}` +- Mode: WRITE +- Summary: put_/v2/spaces/keys/{access_key} +- Parameters: + - `access_key` in `path` required + +### patch_v2_spaces_keys_access_key + +- Operation ID: `patch_v2_spaces_keys_access_key` +- Route: `PATCH /v2/spaces/keys/{access_key}` +- Mode: WRITE +- Summary: patch_/v2/spaces/keys/{access_key} +- Parameters: + - `access_key` in `path` required diff --git a/skills/tags/SKILL.md b/skills/tags/SKILL.md new file mode 100644 index 0000000..9ddb6d1 --- /dev/null +++ b/skills/tags/SKILL.md @@ -0,0 +1,64 @@ +--- +name: tags-routes +description: Handle 6 OpenAPI operation(s) under /v2/tags for the tags route group. +--- + +# tags API Routes + +Handle 6 OpenAPI operation(s) under /v2/tags for the tags route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_tags + +- Operation ID: `get_v2_tags` +- Route: `GET /v2/tags` +- Mode: READ +- Summary: get_/v2/tags + +### post_v2_tags + +- Operation ID: `post_v2_tags` +- Route: `POST /v2/tags` +- Mode: WRITE +- Summary: post_/v2/tags + +### get_v2_tags_tag_id + +- Operation ID: `get_v2_tags_tag_id` +- Route: `GET /v2/tags/{tag_id}` +- Mode: READ +- Summary: get_/v2/tags/{tag_id} +- Parameters: + - `tag_id` in `path` required + +### delete_v2_tags_tag_id + +- Operation ID: `delete_v2_tags_tag_id` +- Route: `DELETE /v2/tags/{tag_id}` +- Mode: WRITE +- Summary: delete_/v2/tags/{tag_id} +- Parameters: + - `tag_id` in `path` required + +### post_v2_tags_tag_id_resources + +- Operation ID: `post_v2_tags_tag_id_resources` +- Route: `POST /v2/tags/{tag_id}/resources` +- Mode: WRITE +- Summary: post_/v2/tags/{tag_id}/resources +- Parameters: + - `tag_id` in `path` required + +### delete_v2_tags_tag_id_resources + +- Operation ID: `delete_v2_tags_tag_id_resources` +- Route: `DELETE /v2/tags/{tag_id}/resources` +- Mode: WRITE +- Summary: delete_/v2/tags/{tag_id}/resources +- Parameters: + - `tag_id` in `path` required diff --git a/skills/vector-databases/SKILL.md b/skills/vector-databases/SKILL.md new file mode 100644 index 0000000..bc93b85 --- /dev/null +++ b/skills/vector-databases/SKILL.md @@ -0,0 +1,111 @@ +--- +name: vector-databases-routes +description: Handle 11 OpenAPI operation(s) under /v2/vector-databases for the vector databases route group. +--- + +# vector databases API Routes + +Handle 11 OpenAPI operation(s) under /v2/vector-databases for the vector databases route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_vector_databases + +- Operation ID: `get_v2_vector_databases` +- Route: `GET /v2/vector-databases` +- Mode: READ +- Summary: get_/v2/vector-databases + +### post_v2_vector_databases + +- Operation ID: `post_v2_vector_databases` +- Route: `POST /v2/vector-databases` +- Mode: WRITE +- Summary: post_/v2/vector-databases + +### get_v2_vector_databases_id + +- Operation ID: `get_v2_vector_databases_id` +- Route: `GET /v2/vector-databases/{id}` +- Mode: READ +- Summary: get_/v2/vector-databases/{id} +- Parameters: + - `id` in `path` required + +### put_v2_vector_databases_id + +- Operation ID: `put_v2_vector_databases_id` +- Route: `PUT /v2/vector-databases/{id}` +- Mode: WRITE +- Summary: put_/v2/vector-databases/{id} +- Parameters: + - `id` in `path` required + +### delete_v2_vector_databases_id + +- Operation ID: `delete_v2_vector_databases_id` +- Route: `DELETE /v2/vector-databases/{id}` +- Mode: WRITE +- Summary: delete_/v2/vector-databases/{id} +- Parameters: + - `id` in `path` required + +### get_v2_vector_databases_id_backups + +- Operation ID: `get_v2_vector_databases_id_backups` +- Route: `GET /v2/vector-databases/{id}/backups` +- Mode: READ +- Summary: get_/v2/vector-databases/{id}/backups +- Parameters: + - `id` in `path` required + +### get_v2_vector_databases_id_backups_backup_id_restore + +- Operation ID: `get_v2_vector_databases_id_backups_backup_id_restore` +- Route: `GET /v2/vector-databases/{id}/backups/{backup_id}/restore` +- Mode: READ +- Summary: get_/v2/vector-databases/{id}/backups/{backup_id}/restore +- Parameters: + - `id` in `path` required + - `backup_id` in `path` required + +### post_v2_vector_databases_id_backups_backup_id_restore + +- Operation ID: `post_v2_vector_databases_id_backups_backup_id_restore` +- Route: `POST /v2/vector-databases/{id}/backups/{backup_id}/restore` +- Mode: WRITE +- Summary: post_/v2/vector-databases/{id}/backups/{backup_id}/restore +- Parameters: + - `id` in `path` required + - `backup_id` in `path` required + +### get_v2_vector_databases_id_credentials + +- Operation ID: `get_v2_vector_databases_id_credentials` +- Route: `GET /v2/vector-databases/{id}/credentials` +- Mode: READ +- Summary: get_/v2/vector-databases/{id}/credentials +- Parameters: + - `id` in `path` required + +### post_v2_vector_databases_id_resize + +- Operation ID: `post_v2_vector_databases_id_resize` +- Route: `POST /v2/vector-databases/{id}/resize` +- Mode: WRITE +- Summary: post_/v2/vector-databases/{id}/resize +- Parameters: + - `id` in `path` required + +### put_v2_vector_databases_id_tags + +- Operation ID: `put_v2_vector_databases_id_tags` +- Route: `PUT /v2/vector-databases/{id}/tags` +- Mode: WRITE +- Summary: put_/v2/vector-databases/{id}/tags +- Parameters: + - `id` in `path` required diff --git a/skills/volumes/SKILL.md b/skills/volumes/SKILL.md new file mode 100644 index 0000000..455b230 --- /dev/null +++ b/skills/volumes/SKILL.md @@ -0,0 +1,124 @@ +--- +name: volumes-routes +description: Handle 13 OpenAPI operation(s) under /v2/volumes for the volumes route group. +--- + +# volumes API Routes + +Handle 13 OpenAPI operation(s) under /v2/volumes for the volumes route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_volumes + +- Operation ID: `get_v2_volumes` +- Route: `GET /v2/volumes` +- Mode: READ +- Summary: get_/v2/volumes + +### post_v2_volumes + +- Operation ID: `post_v2_volumes` +- Route: `POST /v2/volumes` +- Mode: WRITE +- Summary: post_/v2/volumes + +### delete_v2_volumes + +- Operation ID: `delete_v2_volumes` +- Route: `DELETE /v2/volumes` +- Mode: WRITE +- Summary: delete_/v2/volumes + +### post_v2_volumes_actions + +- Operation ID: `post_v2_volumes_actions` +- Route: `POST /v2/volumes/actions` +- Mode: WRITE +- Summary: post_/v2/volumes/actions + +### get_v2_volumes_snapshots_snapshot_id + +- Operation ID: `get_v2_volumes_snapshots_snapshot_id` +- Route: `GET /v2/volumes/snapshots/{snapshot_id}` +- Mode: READ +- Summary: get_/v2/volumes/snapshots/{snapshot_id} +- Parameters: + - `snapshot_id` in `path` required + +### delete_v2_volumes_snapshots_snapshot_id + +- Operation ID: `delete_v2_volumes_snapshots_snapshot_id` +- Route: `DELETE /v2/volumes/snapshots/{snapshot_id}` +- Mode: WRITE +- Summary: delete_/v2/volumes/snapshots/{snapshot_id} +- Parameters: + - `snapshot_id` in `path` required + +### get_v2_volumes_volume_id + +- Operation ID: `get_v2_volumes_volume_id` +- Route: `GET /v2/volumes/{volume_id}` +- Mode: READ +- Summary: get_/v2/volumes/{volume_id} +- Parameters: + - `volume_id` in `path` required + +### delete_v2_volumes_volume_id + +- Operation ID: `delete_v2_volumes_volume_id` +- Route: `DELETE /v2/volumes/{volume_id}` +- Mode: WRITE +- Summary: delete_/v2/volumes/{volume_id} +- Parameters: + - `volume_id` in `path` required + +### get_v2_volumes_volume_id_actions + +- Operation ID: `get_v2_volumes_volume_id_actions` +- Route: `GET /v2/volumes/{volume_id}/actions` +- Mode: READ +- Summary: get_/v2/volumes/{volume_id}/actions +- Parameters: + - `volume_id` in `path` required + +### post_v2_volumes_volume_id_actions + +- Operation ID: `post_v2_volumes_volume_id_actions` +- Route: `POST /v2/volumes/{volume_id}/actions` +- Mode: WRITE +- Summary: post_/v2/volumes/{volume_id}/actions +- Parameters: + - `volume_id` in `path` required + +### get_v2_volumes_volume_id_actions_action_id + +- Operation ID: `get_v2_volumes_volume_id_actions_action_id` +- Route: `GET /v2/volumes/{volume_id}/actions/{action_id}` +- Mode: READ +- Summary: get_/v2/volumes/{volume_id}/actions/{action_id} +- Parameters: + - `volume_id` in `path` required + - `action_id` in `path` required + +### get_v2_volumes_volume_id_snapshots + +- Operation ID: `get_v2_volumes_volume_id_snapshots` +- Route: `GET /v2/volumes/{volume_id}/snapshots` +- Mode: READ +- Summary: get_/v2/volumes/{volume_id}/snapshots +- Parameters: + - `volume_id` in `path` required + +### post_v2_volumes_volume_id_snapshots + +- Operation ID: `post_v2_volumes_volume_id_snapshots` +- Route: `POST /v2/volumes/{volume_id}/snapshots` +- Mode: WRITE +- Summary: post_/v2/volumes/{volume_id}/snapshots +- Parameters: + - `volume_id` in `path` required diff --git a/skills/vpcs/SKILL.md b/skills/vpcs/SKILL.md new file mode 100644 index 0000000..1398fec --- /dev/null +++ b/skills/vpcs/SKILL.md @@ -0,0 +1,101 @@ +--- +name: vpcs-routes +description: Handle 10 OpenAPI operation(s) under /v2/vpcs for the vpcs route group. +--- + +# vpcs API Routes + +Handle 10 OpenAPI operation(s) under /v2/vpcs for the vpcs route group. + +Use the generated operation tools to make real API calls. Do not invent API responses. +If a tool reports missing setup, return the exact setup field name to the caller. +For write, update, or delete operations, state the intended action before calling the tool. + +## Operations + +### get_v2_vpcs + +- Operation ID: `get_v2_vpcs` +- Route: `GET /v2/vpcs` +- Mode: READ +- Summary: get_/v2/vpcs + +### post_v2_vpcs + +- Operation ID: `post_v2_vpcs` +- Route: `POST /v2/vpcs` +- Mode: WRITE +- Summary: post_/v2/vpcs + +### get_v2_vpcs_vpc_id + +- Operation ID: `get_v2_vpcs_vpc_id` +- Route: `GET /v2/vpcs/{vpc_id}` +- Mode: READ +- Summary: get_/v2/vpcs/{vpc_id} +- Parameters: + - `vpc_id` in `path` required + +### put_v2_vpcs_vpc_id + +- Operation ID: `put_v2_vpcs_vpc_id` +- Route: `PUT /v2/vpcs/{vpc_id}` +- Mode: WRITE +- Summary: put_/v2/vpcs/{vpc_id} +- Parameters: + - `vpc_id` in `path` required + +### patch_v2_vpcs_vpc_id + +- Operation ID: `patch_v2_vpcs_vpc_id` +- Route: `PATCH /v2/vpcs/{vpc_id}` +- Mode: WRITE +- Summary: patch_/v2/vpcs/{vpc_id} +- Parameters: + - `vpc_id` in `path` required + +### delete_v2_vpcs_vpc_id + +- Operation ID: `delete_v2_vpcs_vpc_id` +- Route: `DELETE /v2/vpcs/{vpc_id}` +- Mode: WRITE +- Summary: delete_/v2/vpcs/{vpc_id} +- Parameters: + - `vpc_id` in `path` required + +### get_v2_vpcs_vpc_id_members + +- Operation ID: `get_v2_vpcs_vpc_id_members` +- Route: `GET /v2/vpcs/{vpc_id}/members` +- Mode: READ +- Summary: get_/v2/vpcs/{vpc_id}/members +- Parameters: + - `vpc_id` in `path` required + +### get_v2_vpcs_vpc_id_peerings + +- Operation ID: `get_v2_vpcs_vpc_id_peerings` +- Route: `GET /v2/vpcs/{vpc_id}/peerings` +- Mode: READ +- Summary: get_/v2/vpcs/{vpc_id}/peerings +- Parameters: + - `vpc_id` in `path` required + +### post_v2_vpcs_vpc_id_peerings + +- Operation ID: `post_v2_vpcs_vpc_id_peerings` +- Route: `POST /v2/vpcs/{vpc_id}/peerings` +- Mode: WRITE +- Summary: post_/v2/vpcs/{vpc_id}/peerings +- Parameters: + - `vpc_id` in `path` required + +### patch_v2_vpcs_vpc_id_peerings_vpc_peering_id + +- Operation ID: `patch_v2_vpcs_vpc_id_peerings_vpc_peering_id` +- Route: `PATCH /v2/vpcs/{vpc_id}/peerings/{vpc_peering_id}` +- Mode: WRITE +- Summary: patch_/v2/vpcs/{vpc_id}/peerings/{vpc_peering_id} +- Parameters: + - `vpc_id` in `path` required + - `vpc_peering_id` in `path` required