Digitalocean
@swamp/digitaloceanv2026.10.31.1
01README
DigitalOcean infrastructure models
02Release Notes
- Updated: agent_config, agent_session
03Behaviors
action_gateway_connection.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| provider? | string | Required provider slug, from the provider list. |
| user_id? | string | Required. Your identifier for the user the connection acts for: 1 to 64 characters from `[A-Za-z0-9._-]`. A session whose `actor_id` equals it uses this connection. |
| scopes? | array | Optional OAuth scopes to request. Defaults to every scope the provider offers; scopes outside that set are rejected. Ignored for API-key credentials. |
| connection_parameters? | record | Values for the provider's `connection_parameters`, validated against their specifications. |
| credential? | object | Optional credential to connect through. Omitted uses DigitalOcean's shared OAuth application. |
| network? | object | Optional private network for the connection's calls. Requires VPC networking to be enabled for your account (403 otherwise). |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a action gateway connection
fn get(id: union)
Get a action gateway connection
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway connection |
fn delete(id: union)
Delete the action gateway connection
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway connection |
fn sync()
Sync action gateway connection state from DigitalOcean
Resources
state(infinite)— Action Gateway Connection resource state
action_gateway_mcp_server.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| description? | string | Optional description shown on the server's catalog card. At most 1024 characters. |
| serverRef? | string | Identifier for the server, unique within your team. Must match `^`[a-z]``[a-z0-9-]`{0,63}$`. |
| endpoint? | string | HTTPS URL of the server's MCP endpoint. Its host must resolve only to public IP addresses. Required. |
| transport? | enum | Optional. `streamable_http`, the default and only accepted value. |
| credentialRefSource? | enum | How requests to the server authenticate: none (the default), secret, or connection. With secret, the value from `credentialRef` or `api_key` is sent in the Authorization header, prefixed with "Bearer " unless it already contains a space. |
| credentialRef? | string | For `credentialRefSource` secret: a reference to a secret your team stores with DigitalOcean. Must match `^`[A-Za-z0-9]``[A-Za-z0-9:/_.-]`{0,254}$`. Set exactly one of `credentialRef` and `api_key`. |
| api_key? | string | For `credentialRefSource` secret: the key or token itself. DigitalOcean stores it; it is write-only and no response returns it. Set exactly one of `credentialRef` and `api_key`. |
| oauth_client_id? | string | Required for `credentialRefSource` connection: the client ID of your team's OAuth client for the server. Each user of the server then authorizes individually. |
| oauth_client_secret? | string | Required for `credentialRefSource` connection. Write-only; no response returns it. |
| oauth_authorize_url? | string | Required for `credentialRefSource` connection: the OAuth authorization endpoint. It must use the endpoint's scheme and port, on the endpoint's host or another host under the same registrable domain. |
| oauth_token_url? | string | Required for `credentialRefSource` connection: the OAuth token endpoint, under the same rules as `oauth_authorize_url`. |
| oauth_scopes? | array | Required for `credentialRefSource` connection: the scopes to request from each user, 1 to 64 of them. |
| oauth_authorization_ttl_seconds? | string | How long, in seconds, a user's authorization may be reused before they must consent again. Optional;\n0 means 30 days, and the maximum is 100 years.\n\nAuthorizations are not refreshed automatically, so this window, not the provider's token lifetime,\ndecides how often a user is sent back through consent. Set it no longer than the provider's own\ntoken lifetime, so the prompt arrives before a tool call fails against an expired token. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a action gateway mcp server
fn get(id: union)
Get a action gateway mcp server
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway mcp server |
fn update()
Update action gateway mcp server attributes
fn delete(id: union)
Delete the action gateway mcp server
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway mcp server |
fn sync()
Sync action gateway mcp server state from DigitalOcean
fn tools(id: union, enabledToolSlugs: array, user_id?: string)
tools the action gateway mcp server
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway mcp server |
| enabledToolSlugs | array | The complete set of tool slugs (`<server_ref>_<name>`) to enable; every other tool of the server is disabled. Empty disables every tool. |
| user_id? | string | Required for a server registered with `credentialRefSource` connection when a tool needs verification against the live server, which can only be reached as a user who has authorized it. Ignored otherwise. |
Resources
state(infinite)— Action Gateway Mcp Server resource state
action_gateway_output_view.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| tool? | string | Exactly one of tool or `tool_id` selects the tool version. tool is a provider-qualified slug, optionally pinned as `<tool>@<version>`. You can bind only the released version your catalog exposes: an unpinned slug resolves it and the response echoes it as version; a pin must equal it, and a `tool_id` (the opaque identity from tool search) must be that version. Any other version returns 404. |
| tool_id? | string | Opaque ID of the tool version; see tool. |
| name | string | View name. Must match `^`[a-z]``[a-z0-9_-]`{0,63}$` and be unique per tool version within your team. |
| description? | string | Optional description. At most 512 bytes. |
| fields? | array | Output paths to keep, 1 to 64 of them. Each is a dotted path of up to 8 segments made of `[A-Za-z0-9_-]`, and must be declared by the tool's output schema; arrays are traversed element-wise. Paths may not repeat or be a prefix of one another. The tool version must declare an object output schema. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a action gateway output view
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a action gateway output view
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway output view |
fn delete(id: union)
Delete the action gateway output view
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway output view |
fn sync()
Sync action gateway output view state from DigitalOcean
Resources
state(infinite)— Action Gateway Output View resource state
action_gateway_session.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Required human-readable session name. |
| actorId? | string | Optional actor binding: the user whose connections the session's tool calls use, matched against connection `user_id`. When set it must use the same alphabet as a connection's `user_id`, `[A-Za-z0-9._-]`, at most 64 characters; anything else is rejected with 400. |
| policy? | object | Optional tool-permission policy. Omitted asks before every call. |
| tools? | array | Omitted enables every tool. An explicit empty array enables no tools. Direct tools may be `<tool>` or `<tool>@<version>`, using provider-qualified tool slugs, and a pinned version must be the released one; toolbelt references must be version-pinned as `toolbelt:<belt-name>@<version>`. |
| config? | object | Optional session options. config.preloadTools may contain concrete tool names (optionally version-pinned) and version-pinned toolbelt references. config.customInstructions is a string of at most 1000 characters. config.outputViews maps up to 100 tool slugs to the name of an output view to apply to that tool's results. config.cache opts eligible tools into result caching for this session. |
| network? | object | Product-level session network binding. When set, `vpc_uuid` must identify a VPC owned by the session's team. |
| insights? | object | Omitted when the request omitted insights or explicitly sent null. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a action gateway session
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn delete(id: union)
Delete the action gateway session
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the action gateway session |
Resources
state(infinite)— Action Gateway Session resource state
action_gateway_toolbelt.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Toolbelt name, unique among your team's active toolbelts. Must match `^`[a-z]``[a-z0-9_-]`{0,63}$`; `search` is reserved. |
| version? | string | Optional initial version number, a positive integer such as `1`. Defaults to 1. |
| display_name? | string | Optional human-readable label, separate from name. At most 128 bytes. |
| description? | string | Optional description. At most 255 bytes. |
| tools? | array | Optional initial members, as catalog tool slugs (`<provider>_<name>`). Each may be pinned as `<tool_slug>@<version>`; a pin must equal the tool's current released version, and an unpinned tool is pinned to that version. Every tool must be an active catalog tool. Duplicates are merged; at most 500 tools. Empty creates a toolbelt with no tools. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a action gateway toolbelt
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a action gateway toolbelt
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the action gateway toolbelt |
fn delete(name: string)
Delete the action gateway toolbelt
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the action gateway toolbelt |
fn sync()
Sync action gateway toolbelt state from DigitalOcean
Resources
state(infinite)— Action Gateway Toolbelt resource state
agent_config.tsv2026.10.31.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Config name, case-insensitively unique among the team's active configs. |
| manifest_yaml? | string | Customer environment-spec YAML text. The HTTP JSON body is capped at 1 MiB and this field is capped at 512 KiB. |
| insights? | object | Per-signal DigitalOcean Insights telemetry opt-in, mirroring the Insights-owned schema insights.telemetry.opt_in. Each signal is independently optional and tri-state: omitted or null records that the customer expressed no choice and falls back to the product default, which is NOT equivalent to false. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a agent config
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a agent config
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent config |
fn delete(id: union)
Delete the agent config
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent config |
fn sync()
Sync agent config state from DigitalOcean
Resources
state(infinite)— Agent Config resource state
agent_session.tsv2026.10.31.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| resume_on_topoff? | boolean | Opt the new session in to automatic resumption when the team's prepayment balance is restored. Defaults to false. Session-scoped, not config-scoped: the referenced config never confers this, so one shared config cannot enrol every session created from it. Omit to leave the default (or to let the ?resume_on_topoff= query parameter supply it). |
| name | string | Session name, independent of the config name. Must satisfy the existing environment-spec metadata.name rules and must not be UUID-shaped. |
| config_id? | string | |
| region? | enum | Optional placement check, not a placement choice: the session is always created in the region whose API host served the request. If set, it must equal that region, or the request fails with 400 and a region_mismatch message. Honored only for teams on the regional routing rollout; ignored otherwise. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a agent session
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a agent session
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent session |
fn update()
Update agent session attributes
fn delete(id: union)
Delete the agent session
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent session |
fn sync()
Sync agent session state from DigitalOcean
Resources
state(infinite)— Agent Session resource state
agent_template.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| source_oci_ref? | string | |
| base_template? | string | Base template key. One of: coding-base, coding-claude-code, coding-codex, coding-hermes, coding-opencode, langgraph. |
| name | string | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a agent template
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a agent template
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent template |
fn update()
Update agent template attributes
fn delete(id: union)
Delete the agent template
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent template |
fn sync()
Sync agent template state from DigitalOcean
Resources
state(infinite)— Agent Template resource state
agent_trigger.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Team-unique (among non-deleted triggers) trigger name. Same rules as session names; not UUID-form. |
| status? | enum | Trigger lifecycle state. Soft-deleted triggers are never returned (404). |
| prompt_template? | string | The prompt sent on each fire. For cron it must not contain payload-interpolation placeholders. |
| output? | object | Output-delivery configuration on create/update. Exactly one of email / slack is required for the matching mode and forbidden otherwise; destinations are stored encrypted and never returned. |
| session_template? | string | fresh only. Full agents.yaml Agent manifest (YAML or JSON). Any embedded env values are split out and encrypted server-side. |
| bound_session_id? | string | reuse only. UUID of an existing session owned by the team. |
| cron? | object | cron block on create. |
| kind? | enum | How the trigger fires - on an event (webhook) or on a schedule (cron). Immutable after create. |
| session_mode? | enum | fresh = a new session is created from the trigger's spec on every firing and destroyed after. reuse = the trigger binds an existing PAUSED session, resumed on each firing and paused after; multiple triggers may bind one session. |
| webhook? | object | webhook block on create. Omitting provider defaults to custom. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a agent trigger
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a agent trigger
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent trigger |
fn update()
Update agent trigger attributes
fn delete(id: union)
Delete the agent trigger
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the agent trigger |
fn sync()
Sync agent trigger state from DigitalOcean
Resources
state(infinite)— Agent Trigger resource state
app_deployment.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| app_id | string | Parent resource identifier |
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| force_build? | boolean | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a app deployment
fn get(id: union)
Get a app deployment
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the app deployment |
fn sync()
Sync app deployment state from DigitalOcean
Resources
state(infinite)— App Deployment resource state
app_platform.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| spec? | object | The desired configuration of an application. |
| update_all_source_versions? | boolean | Whether or not to update the source versions (for example fetching a new commit or image digest) of all components. By default (when this is false) only newly added sources will be updated to avoid changes like updating the scale of a component from also updating the respective code. |
| project_id? | string | The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project.\n<br><br>Requires `project:assign_resource` and `project:update` scopes.\n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a app platform
fn get(id: union)
Get a app platform
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the app platform |
fn update()
Update app platform attributes
fn delete(id: union)
Delete the app platform
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the app platform |
fn sync()
Sync app platform state from DigitalOcean
Resources
state(infinite)— App Platform resource state
byoip_prefix.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| advertise? | boolean | Whether the BYOIP prefix should be advertised |
| prefix? | string | The IP prefix in CIDR notation to bring |
| region? | enum | The region where the prefix will be created |
| signature? | string | The signature hash for the prefix creation request |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a byoip prefix
fn get(id: string)
Get a byoip prefix
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the byoip prefix |
fn update()
Update byoip prefix attributes
fn delete(id: string)
Delete the byoip prefix
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the byoip prefix |
fn sync()
Sync byoip prefix state from DigitalOcean
Resources
state(infinite)— BYOIP Prefix resource state
cdn_endpoint.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| ttl? | union | The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. |
| certificate_id? | string | The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. |
| custom_domain? | string | The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. |
| origin? | string | The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a cdn endpoint
fn get(id: union)
Get a cdn endpoint
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the cdn endpoint |
fn update()
Update cdn endpoint attributes
fn delete(id: union)
Delete the cdn endpoint
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the cdn endpoint |
fn sync()
Sync cdn endpoint state from DigitalOcean
Resources
state(infinite)— CDN Endpoint resource state
container_registry.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. |
| subscription_tier_slug? | enum | The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint. |
| region? | enum | Slug of the region where registry data is stored. When not provided, a region will be selected. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a container registry
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a container registry
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the container registry |
fn delete(name: string)
Delete the container registry
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the container registry |
fn sync()
Sync container registry state from DigitalOcean
fn list_options()
List available options for container registry (versions, sizes, regions)
Resources
state(infinite)— Container Registry resource state
custom_image.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. |
| distribution? | enum | The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. |
| description? | string | An optional free-form text field to describe an image. |
| url? | string | A URL from which the custom Linux virtual machine image may be retrieved. The image it points to must be in the raw, qcow2, vhdx, vdi, or vmdk format. It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed. |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| tags? | array | A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. <br><br>Requires `tag:create` scope. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a custom image
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a custom image
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the custom image |
fn update()
Update custom image attributes
fn delete(id: union)
Delete the custom image
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the custom image |
fn sync()
Sync custom image state from DigitalOcean
fn convert(id: union, waitForCompletion?: boolean)
convert the custom image
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the custom image |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn transfer(id: union, region: enum, waitForCompletion?: boolean)
transfer the custom image
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the custom image |
| region | enum | The slug identifier for the region where the resource will initially be available. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Custom Image resource state
custom_image_action(ephemeral)— Custom Image action result
database_cluster.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A unique, human-readable name referring to a database cluster. |
| engine? | enum | A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Caching, "mongodb" for MongoDB, "kafka" for Kafka, "opensearch" for OpenSearch, "valkey" for Valkey, "advanced_pg" for PostgreSQL Advanced Edition, and "advanced_mysql" for MySQL Advanced Edition. Advanced Edition engines are currently in public preview. |
| version? | string | A string representing the version of the database engine in use for the cluster. |
| num_nodes? | number | The number of nodes in the database cluster. |
| size? | string | The slug identifier representing the size of the nodes in the database cluster. |
| region? | enum | The slug identifier for the region where the database cluster is located. |
| private_network_uuid? | string | A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. <br><br>Requires `vpc:read` scope. |
| tags? | array | An array of tags (as strings) to apply to the database cluster. <br><br>Requires `tag:create` scope. |
| ui_connection? | object | The connection details for OpenSearch dashboard. |
| schema_registry_connection? | object | The connection details for Schema Registry. |
| connection? | object | |
| private_connection? | object | |
| standby_connection? | object | |
| standby_private_connection? | object | |
| maintenance_window? | object | |
| project_id? | string | The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.<br><br>Requires `project:assign_resource` scope. |
| rules? | array | |
| storage_size_mib? | number | Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. |
| autoscale? | object | Autoscaling configuration for the database cluster. Currently only supports storage autoscaling. If null, autoscaling is not configured for the cluster. |
| do_settings? | object | DigitalOcean-specific settings for the database cluster. |
| backup_restore? | object | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean, waitForReady?: boolean)
Create a database cluster
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
| waitForReady? | boolean | Wait for the resource to reach ready state after creation (default: true) |
fn get(id: string)
Get a database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
fn delete(id: string)
Delete the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
fn sync()
Sync database cluster state from DigitalOcean
fn autoscale(id: string, storage?: record)
autoscale the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| storage? | record | Configuration for database cluster storage autoscaling |
fn config(id: string, config?: record)
config the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| config? | record |
fn do_settings(id: string, do_settings: record)
do settings the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| do_settings | record | DigitalOcean-specific settings for the database cluster. |
fn eviction_policy(id: string, eviction_policy: enum)
eviction policy the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| eviction_policy | enum | A string specifying the desired eviction policy for a Caching or Valkey cluster.\n\n- `noeviction`: Don't evict any data, returns error when memory limit is reached.\n- `allkeys_lru:` Evict any key, least recently used (LRU) first.\n- `allkeys_random`: Evict keys in a random order.\n- `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first.\n- `volatile_random`: Evict keys with expiration only in a random order.\n- `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. |
fn firewall(id: string, rules?: array)
firewall the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| rules? | array |
fn install_update(id: string)
install update the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
fn maintenance(id: string, day: string, hour: string)
maintenance the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| day | string | The day of the week on which to apply maintenance updates. |
| hour | string | The hour in UTC at which maintenance updates will be applied in 24 hour format. |
fn migrate(id: string, region: string)
migrate the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| region | string | A slug identifier for the region to which the database cluster will be migrated. |
fn resize(id: string, size: string, num_nodes: number, storage_size_mib?: number)
resize the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| size | string | A slug identifier representing desired the size of the nodes in the database cluster. |
| num_nodes | number | The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations. |
| storage_size_mib? | number | Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. |
fn sql_mode(id: string, sql_mode: string)
sql mode the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| sql_mode | string | A string specifying the configured SQL modes for the MySQL cluster. |
fn upgrade(id: string, version?: string)
upgrade the database cluster
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the database cluster |
| version? | string | A string representing the version of the database engine in use for the cluster. |
fn list_options()
List available options for database cluster (versions, sizes, regions)
Resources
state(infinite)— Database Cluster resource state
database_db.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| name | string | The name of the database. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a database db
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a database db
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database db |
fn delete(name: string)
Delete the database db
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database db |
fn sync()
Sync database db state from DigitalOcean
Resources
state(infinite)— Database Db resource state
database_logsink.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| config? | object | Configuration for Datadog integration **applicable only to MongoDB clusters**.\n |
| sink_name? | string | The name of the Logsink |
| sink_type? | enum | Type of logsink integration.\n\n- Use `datadog` for Datadog integration **only with MongoDB clusters**.\n- For non-MongoDB clusters, use `rsyslog` for general syslog forwarding.\n- Other supported types include `elasticsearch` and `opensearch`.\n\nMore details about the configuration can be found in the `config` property.\n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a database logsink
fn get(id: union)
Get a database logsink
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the database logsink |
fn update()
Update database logsink attributes
fn delete(id: union)
Delete the database logsink
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the database logsink |
fn sync()
Sync database logsink state from DigitalOcean
Resources
state(infinite)— Database Logsink resource state
database_pool.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| mode? | string | The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. |
| size? | number | The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. |
| db? | string | The database for use with the connection pool. |
| user? | string | The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. |
| name | string | A unique name for the connection pool. Must be between 3 and 60 characters. |
| connection? | object | |
| private_connection? | object | |
| standby_connection? | object | |
| standby_private_connection? | object | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a database pool
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a database pool
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database pool |
fn update()
Update database pool attributes
fn delete(name: string)
Delete the database pool
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database pool |
fn sync()
Sync database pool state from DigitalOcean
Resources
state(infinite)— Database Pool resource state
database_replica.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| name | string | The name to give the read-only replicating |
| region? | enum | A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. |
| size? | string | A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. |
| tags? | array | A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. <br><br>Requires `tag:create` scope. |
| private_network_uuid? | string | A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. <br><br>Requires `vpc:read` scope. |
| connection? | object | |
| private_connection? | object | |
| storage_size_mib? | number | Additional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage. |
| do_settings? | object | DigitalOcean-specific settings for the database cluster. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a database replica
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a database replica
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database replica |
fn delete(name: string)
Delete the database replica
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database replica |
fn sync()
Sync database replica state from DigitalOcean
Resources
state(infinite)— Database Replica resource state
database_schema_registry.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| subject_name? | string | The name of the schema subject. |
| schema_type? | enum | The type of the schema. |
| schema? | string | The schema definition in the specified format. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a database schema registry
fn get(id: union)
Get a database schema registry
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the database schema registry |
fn delete(id: union)
Delete the database schema registry
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the database schema registry |
fn sync()
Sync database schema registry state from DigitalOcean
Resources
state(infinite)— Database Schema Registry resource state
database_topic.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| replication_factor? | number | The number of nodes to replicate data across the cluster. |
| partition_count? | number | The number of partitions available for the topic. On update, this value can only be increased. |
| config? | object | |
| name | string | The name of the Kafka topic. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a database topic
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a database topic
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database topic |
fn update()
Update database topic attributes
fn delete(name: string)
Delete the database topic
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database topic |
fn sync()
Sync database topic state from DigitalOcean
Resources
state(infinite)— Database Topic resource state
database_user.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| database_cluster_uuid | string | Parent resource identifier |
| settings? | object | |
| name | string | The name of a database user. |
| mysql_settings? | object | |
| readonly? | boolean | (To be deprecated: use settings.mongo_user_settings.role instead for access controls to MongoDB databases). \nFor MongoDB clusters, set to `true` to create a read-only user.\nThis option is not currently supported for other database engines.\n \n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a database user
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a database user
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database user |
fn update()
Update database user attributes
fn delete(name: string)
Delete the database user
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the database user |
fn sync()
Sync database user state from DigitalOcean
Resources
state(infinite)— Database User resource state
dedicated_inference.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| spec? | object | Structured configuration for a Dedicated Inference deployment. |
| access_tokens? | record | Key-value pairs for provider tokens (e.g. Hugging Face). |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a dedicated inference
fn get(id: union)
Get a dedicated inference
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the dedicated inference |
fn update()
Update dedicated inference attributes
fn delete(id: union)
Delete the dedicated inference
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the dedicated inference |
fn sync()
Sync dedicated inference state from DigitalOcean
Resources
state(infinite)— Dedicated Inference resource state
domain.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name? | string | The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. |
| ip_address? | string | This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a domain
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a domain
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the domain |
fn delete(name: string)
Delete the domain
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the domain |
fn sync()
Sync domain state from DigitalOcean
Resources
state(infinite)— Domain resource state
domain_record.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| domain_name | string | Parent resource identifier |
| instance_name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| type? | string | The type of the DNS record. For example: A, CNAME, TXT, ... |
| name? | string | The host name, alias, or service being defined by the record. |
| data? | string | Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. |
| priority? | number | The priority for SRV and MX records. |
| port? | number | The port for SRV records. |
| ttl? | number | This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. |
| weight? | number | The weight for SRV records. |
| flags? | number | An unsigned integer between 0-255 used for CAA records. |
| tag? | string | The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a domain record
fn get(id: union)
Get a domain record
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the domain record |
fn update()
Update domain record attributes
fn delete(id: union)
Delete the domain record
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the domain record |
fn sync()
Sync domain record state from DigitalOcean
Resources
state(infinite)— Domain Record resource state
droplet.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration. |
| region? | enum | The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. |
| size? | string | The slug identifier for the size that you wish to select for this Droplet. |
| image? | string | The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet.<br>Requires `image:read` scope. |
| ssh_keys? | array | An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. You must add the keys to your team before they can be embedded on a Droplet.<br>Requires `ssh_key:read` scope. |
| backups? | boolean | A boolean indicating whether automated backups should be enabled for the Droplet. |
| backup_policy? | object | An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily. |
| ipv6? | boolean | A boolean indicating whether to enable IPv6 on the Droplet. |
| monitoring? | boolean | A boolean indicating whether to install the DigitalOcean agent for monitoring. |
| tags? | array | A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.<br>Requires `tag:create` scope. |
| user_data? | string | A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. |
| private_networking? | boolean | This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. |
| volumes? | array | An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet.<br>Requires `block_storage:read` scpoe. |
| vpc_uuid? | string | A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region.<br>Requires `vpc:read` scope. |
| subnet_uuid? | string | An optional string specifying the UUID of the VPC subnet to which the Droplet will be assigned. If excluded, the Droplet will be assigned to a default subnet of the VPC.<br>Requires `vpc:read` scope. |
| with_droplet_agent? | boolean | A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. |
| public_networking? | boolean | An optional boolean indicating whether this Droplet should be created with public networking or not. By default, all Droplets are created with public networking available. If explicitly set to `false`, only private networking will be enabled, and public networking will be disabled; currently this means that it will not have any public static or Reserved IPv4 or IPv6 address, nor can one be assigned later. If explicitly set to `false`, `ipv6` must also be `false`. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean, waitForReady?: boolean)
Create a droplet
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
| waitForReady? | boolean | Wait for the resource to reach ready state after creation (default: true) |
fn get(id: union)
Get a droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
fn delete(id: union)
Delete the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
fn sync()
Sync droplet state from DigitalOcean
fn change_backup_policy(id: union, backup_policy: record, waitForCompletion?: boolean)
change backup policy the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| backup_policy | record | An object specifying the backup policy for the Droplet. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn change_kernel(id: union, kernel?: number, waitForCompletion?: boolean)
change kernel the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| kernel? | number | A unique number used to identify and reference a specific kernel. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn disable_backups(id: union, waitForCompletion?: boolean)
disable backups the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn enable_backups(id: union, backup_policy?: record, waitForCompletion?: boolean)
enable backups the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| backup_policy? | record | An object specifying the backup policy for the Droplet. If omitted, the backup plan will default to daily. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn enable_ipv6(id: union, waitForCompletion?: boolean)
enable ipv6 the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn password_reset(id: union, waitForCompletion?: boolean)
password reset the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn power_cycle(id: union, waitForCompletion?: boolean)
power cycle the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn power_off(id: union, waitForCompletion?: boolean)
power off the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn power_on(id: union, waitForCompletion?: boolean)
power on the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn reboot(id: union, waitForCompletion?: boolean)
reboot the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn rebuild(id: union, image?: string, waitForCompletion?: boolean)
rebuild the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| image? | string | The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn rename(id: union, name?: string, waitForCompletion?: boolean)
rename the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| name? | string | The new name for the Droplet. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn resize(id: union, disk?: boolean, size?: string, waitForCompletion?: boolean)
resize the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| disk? | boolean | When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased. |
| size? | string | The slug identifier for the size to which you wish to resize the Droplet. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn restore(id: union, image?: number, waitForCompletion?: boolean)
restore the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| image? | number | The ID of a backup of the current Droplet instance to restore from. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn shutdown(id: union, waitForCompletion?: boolean)
shutdown the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn snapshot(id: union, name?: string, waitForCompletion?: boolean)
snapshot the droplet
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet |
| name? | string | The name to give the new snapshot of the Droplet. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Droplet resource state
droplet_action(ephemeral)— Droplet action result
droplet_autoscale.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The human-readable name of the autoscale pool. This field cannot be updated |
| config? | object | The scaling configuration for an autoscale pool, which is how the pool scales up and down (either by resource utilization or static configuration). |
| droplet_template? | object | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a droplet autoscale
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a droplet autoscale
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet autoscale |
fn update()
Update droplet autoscale attributes
fn delete(id: union)
Delete the droplet autoscale
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the droplet autoscale |
fn sync()
Sync droplet autoscale state from DigitalOcean
Resources
state(infinite)— Droplet Autoscale resource state
firewall.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). |
| droplet_ids? | array | An array containing the IDs of the Droplets assigned to the firewall. <br><br>Requires `droplet:read` scope. |
| tags? | array | A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request. <br><br>Requires `tag:create` and `tag:read` scopes. |
| inbound_rules? | array | |
| outbound_rules? | array | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a firewall
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a firewall
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the firewall |
fn update()
Update firewall attributes
fn delete(id: union)
Delete the firewall
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the firewall |
fn sync()
Sync firewall state from DigitalOcean
Resources
state(infinite)— Firewall resource state
floating_ip.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| droplet_id? | number | The ID of the Droplet that the floating IP will be assigned to. |
| region? | enum | The slug identifier for the region the floating IP will be reserved to. |
| project_id? | string | The UUID of the project to which the floating IP will be assigned. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a floating ip
fn get(ip: string)
Get a floating ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the floating ip |
fn delete(ip: string)
Delete the floating ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the floating ip |
fn sync()
Sync floating ip state from DigitalOcean
fn assign(ip: string, droplet_id: number, waitForCompletion?: boolean)
assign the floating ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the floating ip |
| droplet_id | number | The ID of the Droplet that the floating IP will be assigned to. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn unassign(ip: string, waitForCompletion?: boolean)
unassign the floating ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the floating ip |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Floating IP resource state
floating_ip_action(ephemeral)— Floating IP action result
function_namespace.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| region? | enum | The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace. |
| label | string | The namespace's unique name. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a function namespace
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a function namespace
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the function namespace |
fn delete(id: union)
Delete the function namespace
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the function namespace |
fn sync()
Sync function namespace state from DigitalOcean
Resources
state(infinite)— Function Namespace resource state
function_namespace_trigger.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | Parent resource identifier |
| is_enabled? | boolean | Indicates weather the trigger is paused or unpaused. |
| scheduled_details? | object | Trigger details for SCHEDULED type, where body is optional.\n |
| name | string | The trigger's unique name within the namespace. |
| function? | string | Name of function(action) that exists in the given namespace. |
| type? | string | One of different type of triggers. Currently only SCHEDULED is supported. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a function namespace trigger
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a function namespace trigger
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the function namespace trigger |
fn update()
Update function namespace trigger attributes
fn delete(name: string)
Delete the function namespace trigger
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the function namespace trigger |
fn sync()
Sync function namespace trigger state from DigitalOcean
Resources
state(infinite)— Function Namespace Trigger resource state
insight_alert_rule.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| spec? | object | Spec for an Insights alert rule. On create, `name`, `query`, `thresholds`,\nand at least one `notification_channels` binding are required. On update,\nomit `notification_channels` to keep existing bindings; an explicit empty\nlist is rejected.\n |
| status? | enum | Desired alert rule status. Allowed values:\n\n- `ALERT_RULE_STATUS_ACTIVE` = active\n- `ALERT_RULE_STATUS_PAUSED` = paused\n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a insight alert rule
fn get(id: union)
Get a insight alert rule
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the insight alert rule |
fn update()
Update insight alert rule attributes
fn delete(id: union)
Delete the insight alert rule
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the insight alert rule |
fn sync()
Sync insight alert rule state from DigitalOcean
Resources
state(infinite)— Insight Alert Rule resource state
insight_notification_channel.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-readable name for the notification channel. |
| email? | object | Email notification channel configuration. Recipients must be verified team\nmember email addresses.\n |
| slack? | object | Slack notification channel configuration for create and update requests.\n`webhook_url` is write-only: send the full value to set or rotate. Omit\n`webhook_url` on update to keep the existing secret.\n |
| webhook? | object | Generic HTTPS webhook notification channel configuration for create and\nupdate requests. The URL must use HTTPS and must not include userinfo.\nOptionally configure either `basic_auth` or `bearer_token` (not both),\ncustom headers, and a signing secret.\n\n`url` is not a secret and is returned in full on read. Credential fields\n(`basic_auth.password`, `bearer_token.token`, `signature.secret`) are\nwrite-only: send the full value to set or rotate. Omit a secret field on\nupdate to keep the existing value. Responses return nested `*_status`\nobjects instead of secret values.\n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a insight notification channel
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a insight notification channel
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the insight notification channel |
fn update()
Update insight notification channel attributes
fn delete(id: union)
Delete the insight notification channel
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the insight notification channel |
fn sync()
Sync insight notification channel state from DigitalOcean
Resources
state(infinite)— Insight Notification Channel resource state
kubernetes_cluster.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-readable name for a Kubernetes cluster. |
| tags? | array | An array of tags to apply to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. <br><br>Requires `tag:read` and `tag:create` scope, as well as `tag:delete` if existing tags are getting removed. |
| maintenance_policy? | object | An object specifying the maintenance window policy for the Kubernetes cluster. |
| auto_upgrade? | boolean | A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. |
| surge_upgrade? | boolean | A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. |
| ha? | boolean | A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. When omitted on create, the default is version-dependent; for DOKS 1.36.0 and later, the default is true; for earlier versions, the default is false. |
| gpu_operator_ready? | boolean | A boolean value indicating whether GPU nodes in the cluster are launched with images that do not include pre-installed GPU drivers, allowing GPU drivers to be managed by a GPU operator instead. Mutually exclusive with other GPU-related cluster options, such as `nvidia_gpu_dra_driver` and `amd_gpu_dra_driver`. When omitted on create, the default value is false. |
| control_plane_firewall? | object | An object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only). |
| cluster_autoscaler_configuration? | object | An object specifying custom cluster autoscaler configuration. |
| sso? | object | An object specifying Single Sign-On (SSO) configuration for the Kubernetes cluster. |
| routing_agent? | object | An object specifying whether the routing-agent component should be enabled for the Kubernetes cluster. |
| p2p_oci_registry_plugin? | object | An object specifying whether the Peer-to-peer OCI registry component should be enabled for the Kubernetes cluster. |
| nfs_csi_plugin? | object | An object specifying whether the NFS CSI plugin should be enabled for the Kubernetes cluster. |
| amd_gpu_device_plugin? | object | An object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool. |
| amd_gpu_device_metrics_exporter_plugin? | object | An object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster. |
| nvidia_gpu_device_plugin? | object | An object specifying whether the Nvidia GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an Nvidia GPU node pool. |
| nvidia_gpu_dra_driver? | object | An object specifying whether the NVIDIA GPU DRA Driver should be enabled in the Kubernetes cluster. Mutually exclusive with `nvidia_gpu_device_plugin`. |
| amd_gpu_dra_driver? | object | An object specifying whether the AMD GPU DRA Driver should be enabled in the Kubernetes cluster. Mutually exclusive with `amd_gpu_device_plugin`. |
| rdma_shared_dev_plugin? | object | An object specifying whether the RDMA shared device plugin should be enabled in the Kubernetes cluster. |
| coredns_autoscaler? | object | An object specifying whether the Cluster Proportional Autoscaler (CPA) add-on for CoreDNS should be enabled for the Kubernetes cluster. |
| region? | enum | The slug identifier for the region where the Kubernetes cluster is located. |
| version? | string | The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. |
| cluster_subnet? | string | The range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation. |
| service_subnet? | string | The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. |
| vpc_uuid? | string | A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.<br><br>Requires `vpc:read` scope. |
| worker_subnet_uuid? | string | The UUID of the VPC subnet to attach worker nodes to. When omitted on\ncreate, the default subnet for the VPC is used. This value cannot be changed\nafter the cluster is created.\n\n`vpc_uuid` must also be set.\n<br><br>Requires `vpc:read` scope.\n |
| node_pools? | array | An object specifying the details of the worker nodes available to the Kubernetes cluster. |
| isolated_workers? | boolean | A boolean value indicating whether worker nodes in the cluster are not assigned public IP addresses. When omitted on create, the default value is false. When enabled, a NAT gateway must exist in the VPC where the cluster is created. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean, waitForReady?: boolean)
Create a kubernetes cluster
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
| waitForReady? | boolean | Wait for the resource to reach ready state after creation (default: true) |
fn get(id: union)
Get a kubernetes cluster
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the kubernetes cluster |
fn update(waitForReady?: boolean)
Update kubernetes cluster attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach ready state after update (default: true) |
fn delete(id: union)
Delete the kubernetes cluster
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the kubernetes cluster |
fn sync()
Sync kubernetes cluster state from DigitalOcean
fn list_options()
List available options for kubernetes cluster (versions, sizes, regions)
Resources
state(infinite)— Kubernetes Cluster resource state
kubernetes_cluster_node_pool.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| cluster_id | string | Parent resource identifier |
| name | string | A human-readable name for the node pool. |
| count? | number | The number of Droplet instances in the node pool. |
| tags? | array | An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. <br><br>Requires `tag:read` scope. |
| labels? | record | An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. |
| taints? | array | An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. |
| auto_scale? | boolean | A boolean value indicating whether auto-scaling is enabled for this node pool. |
| min_nodes? | number | The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. |
| max_nodes? | number | The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. |
| size? | string | The slug identifier for the type of Droplet used as workers in the node pool. |
| gpu_partition_mode? | enum | The AMD GPU partition mode for this node pool. Only applicable to AMD GPU sizes that support partitioning. Immutable after the node pool is created. When omitted, the GPUs in the pool are left unpartitioned. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a kubernetes cluster node pool
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a kubernetes cluster node pool
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the kubernetes cluster node pool |
fn update()
Update kubernetes cluster node pool attributes
fn delete(id: union)
Delete the kubernetes cluster node pool
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the kubernetes cluster node pool |
fn sync()
Sync kubernetes cluster node pool state from DigitalOcean
Resources
state(infinite)— Kubernetes Cluster Node Pool resource state
load_balancer.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| droplet_ids? | array | An array containing the IDs of the Droplets assigned to the load balancer. |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| name? | string | A human-readable name for a load balancer instance. |
| project_id? | string | The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. |
| size_unit? | number | How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. |
| size? | enum | This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes.\n* `lb-small` = 1 node\n* `lb-medium` = 3 nodes\n* `lb-large` = 6 nodes\n\nYou can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. |
| algorithm? | enum | This field has been deprecated. You can no longer specify an algorithm for load balancers. |
| forwarding_rules? | array | An array of objects specifying the forwarding rules for a load balancer. |
| health_check? | object | An object specifying health check settings for the load balancer. |
| sticky_sessions? | object | An object specifying sticky sessions settings for the load balancer. |
| redirect_http_to_https? | boolean | A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. |
| enable_proxy_protocol? | boolean | A boolean value indicating whether PROXY Protocol is in use. |
| enable_backend_keepalive? | boolean | A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. |
| http_idle_timeout_seconds? | number | An integer value which configures the idle timeout for HTTP requests to the target droplets. |
| vpc_uuid? | string | A string specifying the UUID of the VPC to which the load balancer is assigned. |
| subnet_uuid? | string | A string specifying the UUID of the VPC subnet to which the load balancer is assigned. |
| disable_lets_encrypt_dns_records? | boolean | A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. |
| firewall? | object | An object specifying allow and deny rules to control traffic to the load balancer. |
| network? | enum | A string indicating whether the load balancer should be external or internal. Internal load balancers have no public IPs and are only accessible to resources on the same VPC network. This property cannot be updated after creating the load balancer. |
| network_stack? | enum | A string indicating whether the load balancer will support IPv4 or both IPv4 and IPv6 networking. This property cannot be updated after creating the load balancer. |
| type? | enum | A string indicating whether the load balancer should be a standard regional HTTP load balancer, a regional network load balancer that routes traffic at the TCP/UDP transport layer, or a global load balancer. |
| domains? | array | An array of objects specifying the domain configurations for a Global load balancer. |
| glb_settings? | object | An object specifying forwarding configurations for a Global load balancer. |
| target_load_balancer_ids? | array | An array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer. |
| tls_cipher_policy? | enum | A string indicating the policy for the TLS cipher suites used by the load balancer. The possible values are `DEFAULT` or `STRONG`. The default value is `DEFAULT`. |
| tag? | string | The name of a Droplet tag corresponding to Droplets assigned to the load balancer. |
| ip? | string | An optional IP address to assign to the load balancer from one of your Bring Your Own IP (BYOIP) prefixes. The address must be an unassigned BYOIP address on your account in the same region as the load balancer. If omitted, DigitalOcean assigns a public IP address automatically. This field is only applied when creating the load balancer, cannot be changed afterward, and is not supported for `GLOBAL` or `INTERNAL` load balancers. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean, waitForReady?: boolean)
Create a load balancer
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
| waitForReady? | boolean | Wait for the resource to reach ready state after creation (default: true) |
fn get(id: union)
Get a load balancer
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the load balancer |
fn update(waitForReady?: boolean)
Update load balancer attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach ready state after update (default: true) |
fn delete(id: union)
Delete the load balancer
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the load balancer |
fn sync()
Sync load balancer state from DigitalOcean
Resources
state(infinite)— Load Balancer resource state
microvm.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the MicroVM. Must be unique in the region and contain 1 to 63 lowercase letters, digits, and hyphens. |
| source? | object | What the MicroVM runs. Set exactly one of `oci_ref` or `checkpoint_id`. |
| region? | enum | The slug of the region to create the MicroVM in. Required with `source.oci_ref`. |
| size? | object | The MicroVM's size. `cpu` and `memory` must be one of the pairs `1`/`2048`, `2`/`4096`, `8`/`16384`, or `16`/`32768`. The size sets the disk, which is returned in responses. |
| networking? | enum | `public` sends outbound traffic through a shared NAT gateway. `vpc` places the MicroVM in the VPC network set by `vpc_uuid`. |
| vpc_uuid? | string | The ID of a VPC network in the same region that belongs to your team. Required when `networking` is `vpc`. |
| auto_pause? | object | Automatic pause settings. A MicroVM always pauses after it is idle for `idle_timeout`. Sending `enabled` set to `false` is rejected. |
| auto_resume? | boolean | Whether an HTTP request, command, or console session resumes the MicroVM when it is paused. Set to `false` to require a manual resume. |
| http_port? | number | The guest port the workload serves HTTP on. Defaults to `8080`. Not returned in responses. When creating from a checkpoint without `ports`, must be one of the checkpoint's ports. |
| http_protocol? | enum | The protocol the HTTP port serves. |
| ports? | array | The guest ports to declare, up to five. Must include `http_port`. Defaults to only the HTTP port. During the public preview, only the HTTP port is reachable through the MicroVM's endpoint. |
| environment? | record | Environment variables passed into the MicroVM at boot, as key and value pairs. Not returned in responses. |
| tags? | array | Tags to apply to the MicroVM. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a microvm
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a microvm
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the microvm |
fn delete(id: union)
Delete the microvm
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the microvm |
fn sync()
Sync microvm state from DigitalOcean
fn list_options()
List available options for microvm (versions, sizes, regions)
Resources
state(infinite)— Microvm resource state
monitoring_alert_policy.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| alerts? | object | |
| compare? | enum | |
| description? | string | |
| enabled? | boolean | |
| entities? | array | |
| tags? | array | |
| type? | enum | |
| value? | number | |
| window? | enum | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a monitoring alert policy
fn get(uuid: string)
Get a monitoring alert policy
| Argument | Type | Description |
|---|---|---|
| uuid | string | The UUID of the monitoring alert policy |
fn update()
Update monitoring alert policy attributes
fn delete(uuid: string)
Delete the monitoring alert policy
| Argument | Type | Description |
|---|---|---|
| uuid | string | The UUID of the monitoring alert policy |
fn sync()
Sync monitoring alert policy state from DigitalOcean
Resources
state(infinite)— Monitoring Alert Policy resource state
monitoring_sink.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| destination_uuid? | string | A unique identifier for an already-existing destination. |
| resources? | array | List of resources identified by their URNs. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a monitoring sink
fn get(id: string)
Get a monitoring sink
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the monitoring sink |
fn delete(id: string)
Delete the monitoring sink
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the monitoring sink |
fn sync()
Sync monitoring sink state from DigitalOcean
Resources
state(infinite)— Monitoring Sink resource state
monitoring_sink_destination.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name? | string | destination name |
| type? | enum | The destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch\ncluster or `opensearch_ext` for an externally managed one.\n |
| config? | object | |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a monitoring sink destination
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: string)
Get a monitoring sink destination
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the monitoring sink destination |
fn delete(id: string)
Delete the monitoring sink destination
| Argument | Type | Description |
|---|---|---|
| id | string | The UUID of the monitoring sink destination |
fn sync()
Sync monitoring sink destination state from DigitalOcean
Resources
state(infinite)— Monitoring Sink Destination resource state
nfs.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The human-readable name of the share. |
| size_gib? | number | The desired/provisioned size of the share in GiB (Gibibytes). Must be >= 50. |
| region? | enum | The DigitalOcean region slug (e.g., nyc2, atl1) where the NFS share resides. |
| vpc_ids? | array | List of VPC IDs that should be able to access the share. |
| performance_tier? | string | The performance tier of the share. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a nfs
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
fn delete(id: union)
Delete the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
fn sync()
Sync nfs state from DigitalOcean
fn attach(id: union, region?: string, vpc_id: string, waitForCompletion?: boolean)
attach the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| vpc_id | string | The ID of the VPC to which the NFS share will be attached |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn detach(id: union, region?: string, vpc_id: string, waitForCompletion?: boolean)
detach the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| vpc_id | string | The ID of the VPC from which the NFS share will be detached |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn reassign(id: union, region?: string, old_vpc_id: string, new_vpc_id: string, waitForCompletion?: boolean)
reassign the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| old_vpc_id | string | The ID of the VPC from which the NFS share will be reassigned |
| new_vpc_id | string | The ID of the VPC to which the NFS share will be reassigned |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn resize(id: union, region?: string, size_gib: number, waitForCompletion?: boolean)
resize the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| size_gib | number | The new size for the NFS share. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn snapshot(id: union, region?: string, name: string, waitForCompletion?: boolean)
snapshot the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| name | string | Snapshot name of the NFS share |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn switch_performance_tier(id: union, region?: string, performance_tier: string, waitForCompletion?: boolean)
switch performance tier the nfs
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the nfs |
| region? | string | The DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides. |
| performance_tier | string | The performance tier to which the NFS share will be switched (e.g., standard, high). |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— NFS resource state
nfs_action(ephemeral)— NFS action result
partner_network_connect_attachment.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the partner attachment. Must be unique and may only contain alphanumeric characters, dashes, and periods. |
| vpc_ids? | array | An array of VPCs IDs. |
| bgp? | object | Optional BGP configurations |
| connection_bandwidth_in_mbps? | union | Bandwidth (in Mbps) of the connection. |
| region? | enum | The region to create the partner attachment. |
| naas_provider? | string | |
| parent_uuid? | string | Optional associated partner attachment UUID |
| redundancy_zone? | enum | Optional redundancy zone for the partner attachment. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a partner network connect attachment
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a partner network connect attachment
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the partner network connect attachment |
fn update()
Update partner network connect attachment attributes
fn delete(id: union)
Delete the partner network connect attachment
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the partner network connect attachment |
fn sync()
Sync partner network connect attachment state from DigitalOcean
Resources
state(infinite)— Partner Network Connect Attachment resource state
project.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The human-readable name for the project. The maximum length is 175 characters and the name must be unique. |
| description? | string | The description of the project. The maximum length is 255 characters. |
| purpose? | string | The purpose of the project. The maximum length is 255 characters. It can\nhave one of the following values:\n\n- Just trying out DigitalOcean\n- Class project / Educational purposes\n- Website or blog\n- Web Application\n- Service or API\n- Mobile Application\n- Machine learning / AI / Data processing\n- IoT\n- Operational / Developer tooling\n\nIf another value for purpose is specified, for example, "your custom purpose",\nyour purpose will be stored as `Other: your custom purpose`.\n |
| environment? | enum | The environment of the project's resources. |
| is_default? | boolean | If true, all resources will be added to this project if no project is specified. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a project
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a project
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the project |
fn update()
Update project attributes
fn delete(id: union)
Delete the project
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the project |
fn sync()
Sync project state from DigitalOcean
Resources
state(infinite)— Project resource state
reserved_ip.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| droplet_id? | number | The ID of the Droplet that the reserved IP will be assigned to. |
| region? | enum | The slug identifier for the region the reserved IP will be reserved to. |
| project_id? | string | The UUID of the project to which the reserved IP will be assigned. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a reserved ip
fn get(ip: string)
Get a reserved ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the reserved ip |
fn delete(ip: string)
Delete the reserved ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the reserved ip |
fn sync()
Sync reserved ip state from DigitalOcean
fn assign(ip: string, droplet_id: number, waitForCompletion?: boolean)
assign the reserved ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the reserved ip |
| droplet_id | number | The ID of the Droplet that the reserved IP will be assigned to. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn unassign(ip: string, waitForCompletion?: boolean)
unassign the reserved ip
| Argument | Type | Description |
|---|---|---|
| ip | string | The IP address of the reserved ip |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Reserved IP resource state
reserved_ip_action(ephemeral)— Reserved IP action result
reserved_ipv6.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| region_slug? | string | The slug identifier for the region the reserved IPv6 will be reserved to. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a reserved ipv6
fn get(id: union)
Get a reserved ipv6
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the reserved ipv6 |
fn delete(id: union)
Delete the reserved ipv6
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the reserved ipv6 |
fn sync()
Sync reserved ipv6 state from DigitalOcean
fn assign(id: union, droplet_id: number, waitForCompletion?: boolean)
assign the reserved ipv6
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the reserved ipv6 |
| droplet_id | number | The ID of the Droplet that the reserved IPv6 will be assigned to. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn unassign(id: union, waitForCompletion?: boolean)
unassign the reserved ipv6
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the reserved ipv6 |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Reserved IPV6 resource state
reserved_ipv6_action(ephemeral)— Reserved IPV6 action result
security_scan.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create()
Create a security scan
fn get(id: union)
Get a security scan
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the security scan |
fn sync()
Sync security scan state from DigitalOcean
Resources
state(infinite)— Security Scan resource state
security_secret.tsv2026.10.30.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| region? | enum | The region where the secret will be stored. |
| version? | number | The current version of the secret to update. |
| values? | record | Key-value pairs to store in the secret. |
| name | string | The name of the secret to create. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a security secret
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a security secret
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the security secret |
fn update()
Update security secret attributes
fn delete(id: union)
Delete the security secret
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the security secret |
fn sync()
Sync security secret state from DigitalOcean
Resources
state(infinite)— Security Secret resource state
space_key.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name? | string | The access key's name. |
| grants? | array | The list of permissions for the access key. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a space key
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a space key
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the space key |
fn update()
Update space key attributes
fn delete(id: union)
Delete the space key
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the space key |
fn sync()
Sync space key state from DigitalOcean
Resources
state(infinite)— Space Key resource state
ssh_key.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. |
| public_key? | string | The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a ssh key
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a ssh key
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the ssh key |
fn update()
Update ssh key attributes
fn delete(id: union)
Delete the ssh key
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the ssh key |
fn sync()
Sync ssh key state from DigitalOcean
Resources
state(infinite)— SSH Key resource state
ssl_certificate.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A unique human-readable name referring to a certificate. |
| type? | enum | A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. |
| dns_names? | array | An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). |
| private_key? | string | The contents of a PEM-formatted private-key corresponding to the SSL certificate. |
| leaf_certificate? | string | The contents of a PEM-formatted public SSL certificate. |
| certificate_chain? | string | The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a ssl certificate
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a ssl certificate
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the ssl certificate |
fn delete(id: union)
Delete the ssl certificate
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the ssl certificate |
fn sync()
Sync ssl certificate state from DigitalOcean
Resources
state(infinite)— SSL Certificate resource state
tag.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name? | string | The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.\nThere is a limit of 255 characters per tag.\n\n**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.\n\nWhen working with tags in the API, you must use the tag\'s canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).\n\nTagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD".\n |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a tag
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(name: string)
Get a tag
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the tag |
fn delete(name: string)
Delete the tag
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the tag |
fn sync()
Sync tag state from DigitalOcean
Resources
state(infinite)— Tag resource state
uptime_check.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-friendly display name. |
| type? | enum | The type of health check to perform. |
| target? | string | The endpoint to perform healthchecks on. |
| regions? | array | An array containing the selected regions to perform healthchecks from. |
| enabled? | boolean | A boolean value indicating whether the check is enabled/disabled. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a uptime check
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a uptime check
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the uptime check |
fn update()
Update uptime check attributes
fn delete(id: union)
Delete the uptime check
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the uptime check |
fn sync()
Sync uptime check state from DigitalOcean
Resources
state(infinite)— Uptime Check resource state
uptime_check_alert.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| check_id | string | Parent resource identifier |
| name | string | A human-friendly display name. |
| type? | enum | The type of alert. |
| threshold? | number | The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. |
| comparison? | enum | The comparison operator used against the alert's threshold. |
| notifications? | object | The notification settings for a trigger alert. |
| period? | enum | Period of time the threshold must be exceeded to trigger the alert. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a uptime check alert
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a uptime check alert
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the uptime check alert |
fn update()
Update uptime check alert attributes
fn delete(id: union)
Delete the uptime check alert
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the uptime check alert |
fn sync()
Sync uptime check alert state from DigitalOcean
Resources
state(infinite)— Uptime Check Alert resource state
vector_database.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| config? | object | VectorDBConfig holds optional, advanced cluster settings. |
| id? | string | ID of the vector database. |
| project_id? | string | Required. ID of the project to create the vector database in. |
| name? | string | Required. Human-readable name for the database. |
| region? | enum | Required. Region slug where the database will be provisioned. |
| size? | string | Required. Resource tier: small, medium, or large. |
| tags? | array | A set of arbitrary tags to organize your vector database |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a vector database
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a vector database
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vector database |
fn update()
Update vector database attributes
fn delete(id: union)
Delete the vector database
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vector database |
fn sync()
Sync vector database state from DigitalOcean
fn tags(id: union, tags?: array)
tags the vector database
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vector database |
| tags? | array | Tags to set on the vector database. Replaces all existing tags. |
Resources
state(infinite)— Vector Database resource state
volume.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. |
| description? | string | An optional free-form text field to describe a block storage volume. |
| size_gigabytes? | number | The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. |
| tags? | array | A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. <br><br>Requires `tag:create` scope. |
| snapshot_id? | string | The unique identifier for the volume snapshot from which to create the volume. |
| filesystem_type? | string | The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| filesystem_label? | string | The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a volume
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a volume
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the volume |
fn delete(id: union)
Delete the volume
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the volume |
fn sync()
Sync volume state from DigitalOcean
fn attach(id: union, region?: enum, droplet_id: number, tags?: array, waitForCompletion?: boolean)
attach the volume
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the volume |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| droplet_id | number | The unique identifier for the Droplet the volume will be attached or detached from. |
| tags? | array | A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. <br><br>Requires `tag:create` scope. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn detach(id: union, region?: enum, droplet_id: number, waitForCompletion?: boolean)
detach the volume
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the volume |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| droplet_id | number | The unique identifier for the Droplet the volume will be attached or detached from. |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
fn resize(id: union, region?: enum, size_gigabytes: number, waitForCompletion?: boolean)
resize the volume
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the volume |
| region? | enum | The slug identifier for the region where the resource will initially be available. |
| size_gigabytes | number | The new size of the block storage volume in GiB (1024^3). |
| waitForCompletion? | boolean | Wait for the action to complete before returning (default: true) |
Resources
state(infinite)— Volume resource state
volume_action(ephemeral)— Volume action result
vpc.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. |
| description? | string | A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. |
| default? | boolean | A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. |
| region? | enum | The slug identifier for the region where the VPC will be created. |
| ip_range? | string | The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a vpc
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a vpc
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc |
fn update()
Update vpc attributes
fn delete(id: union)
Delete the vpc
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc |
fn sync()
Sync vpc state from DigitalOcean
Resources
state(infinite)— VPC resource state
vpc_nat_gateway.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The human-readable name of the VPC NAT gateway. |
| size? | number | The size of the VPC NAT gateway. |
| vpcs? | array | An array of VPCs associated with the VPC NAT gateway. |
| udp_timeout_seconds? | number | The UDP timeout in seconds for the VPC NAT gateway. |
| icmp_timeout_seconds? | number | The ICMP timeout in seconds for the VPC NAT gateway. |
| tcp_timeout_seconds? | number | The TCP timeout in seconds for the VPC NAT gateway. |
| type? | enum | The type of the VPC NAT gateway. |
| region? | enum | The region in which the VPC NAT gateway is created. |
| egresses? | object | An optional object specifying the public egress IP address to assign to the VPC NAT gateway. Provide this only to use a specific address. If omitted, DigitalOcean allocates a public IP address automatically. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a vpc nat gateway
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a vpc nat gateway
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc nat gateway |
fn update()
Update vpc nat gateway attributes
fn delete(id: union)
Delete the vpc nat gateway
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc nat gateway |
fn sync()
Sync vpc nat gateway state from DigitalOcean
Resources
state(infinite)— VPC Nat Gateway resource state
vpc_peering.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | The name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes. |
| vpc_ids? | array | An array of the two peered VPCs IDs. |
| token? | string | DigitalOcean API token; overrides the DO_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
fn create(checkExists?: boolean)
Create a vpc peering
| Argument | Type | Description |
|---|---|---|
| checkExists? | boolean | If true, check whether a resource with this name already exists before creating and fail if it does (default: false) |
fn get(id: union)
Get a vpc peering
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc peering |
fn update()
Update vpc peering attributes
fn delete(id: union)
Delete the vpc peering
| Argument | Type | Description |
|---|---|---|
| id | union | The ID of the vpc peering |
fn sync()
Sync vpc peering state from DigitalOcean
Resources
state(infinite)— VPC Peering resource state
04Previous Versions
2026.10.30.1AGPL-3.0-or-later
- Added: security_secret
- Updated: action_gateway_session, droplet, floating_ip, reserved_ip, reserved_ipv6
2026.10.28.1AGPL-3.0-or-later
- Updated: droplet, floating_ip, reserved_ip, reserved_ipv6
2026.10.23.1AGPL-3.0-or-later
- Updated: action_gateway_connection, action_gateway_mcp_server, action_gateway_output_view, action_gateway_session, action_gateway_toolbelt, agent_config, agent_session, agent_template, agent_trigger, app_deployment, app_platform, byoip_prefix, cdn_endpoint, container_registry, custom_image, database_cluster, database_db, database_logsink, database_pool, database_replica, database_schema_registry, database_topic, database_user, dedicated_inference, domain, domain_record, droplet, droplet_autoscale, firewall, floating_ip, function_namespace, function_namespace_trigger, insight_alert_rule, insight_notification_channel, kubernetes_cluster, kubernetes_cluster_node_pool, load_balancer, microvm, monitoring_alert_policy, monitoring_sink, monitoring_sink_destination, nfs, partner_network_connect_attachment, project, reserved_ip, reserved_ipv6, security_scan, space_key, ssh_key, ssl_certificate, tag, uptime_check, uptime_check_alert, vector_database, volume, vpc, vpc_nat_gateway, vpc_peering
2026.10.16.1AGPL-3.0-or-later(was none)
- Updated: kubernetes_cluster
2026.10.13.1
- Added: agent_config, agent_session, agent_template, agent_trigger
- Updated: action_gateway_connection, action_gateway_mcp_server, action_gateway_output_view, action_gateway_session, action_gateway_toolbelt, app_deployment, app_platform, byoip_prefix, cdn_endpoint, container_registry, custom_image, database_cluster, database_db, database_logsink, database_pool, database_replica, database_schema_registry, database_topic, database_user, dedicated_inference, domain, domain_record, droplet, droplet_autoscale, firewall, floating_ip, function_namespace, function_namespace_trigger, insight_alert_rule, insight_notification_channel, kubernetes_cluster, kubernetes_cluster_node_pool, load_balancer, microvm, monitoring_alert_policy, monitoring_sink, monitoring_sink_destination, nfs, partner_network_connect_attachment, project, reserved_ip, reserved_ipv6, security_scan, space_key, ssh_key, ssl_certificate, tag, uptime_check, uptime_check_alert, vector_database, volume, vpc, vpc_nat_gateway, vpc_peering
2026.10.08.2
- Updated: action_gateway_connection, action_gateway_mcp_server, action_gateway_output_view, action_gateway_session, action_gateway_toolbelt, app_platform, byoip_prefix, cdn_endpoint, container_registry, custom_image, database_cluster, database_db, database_logsink, database_pool, database_replica, database_schema_registry, database_topic, database_user, dedicated_inference, domain_record, droplet, droplet_autoscale, firewall, function_namespace, function_namespace_trigger, insight_alert_rule, insight_notification_channel, kubernetes_cluster, kubernetes_cluster_node_pool, load_balancer, monitoring_alert_policy, monitoring_sink_destination, nfs, partner_network_connect_attachment, project, reserved_ipv6, ssh_key, ssl_certificate, uptime_check, uptime_check_alert, volume, vpc, vpc_nat_gateway, vpc_peering
2026.10.08.1
- Updated: app_platform
2026.10.06.2
- Updated: action_gateway_connection, action_gateway_mcp_server, action_gateway_output_view, action_gateway_session, action_gateway_toolbelt, app_deployment, app_platform, byoip_prefix, cdn_endpoint, container_registry, custom_image, database_cluster, database_db, database_logsink, database_pool, database_replica, database_schema_registry, database_topic, database_user, dedicated_inference, domain, domain_record, droplet, droplet_autoscale, firewall, floating_ip, function_namespace, function_namespace_trigger, insight_alert_rule, insight_notification_channel, kubernetes_cluster, kubernetes_cluster_node_pool, load_balancer, monitoring_alert_policy, monitoring_sink, monitoring_sink_destination, nfs, partner_network_connect_attachment, project, reserved_ip, reserved_ipv6, security_scan, space_key, ssh_key, ssl_certificate, tag, uptime_check, uptime_check_alert, vector_database, volume, vpc, vpc_nat_gateway, vpc_peering
2026.10.02.1
- Added: insight_alert_rule, insight_notification_channel
- Updated: load_balancer
2026.10.01.1
- Added: action_gateway_mcp_server, action_gateway_output_view
- Updated: action_gateway_connection, action_gateway_session, action_gateway_toolbelt
Added 1, removed 49 behaviors
2026.09.29.1
- Updated: app_platform, cdn_endpoint, custom_image, database_logsink, database_pool, database_topic, database_user, droplet_autoscale, firewall, function_namespace_trigger, kubernetes_cluster, kubernetes_cluster_node_pool, load_balancer, monitoring_alert_policy, ssh_key, uptime_check, uptime_check_alert, vector_database, vpc_nat_gateway
2026.09.24.1
- Added: action_gateway_connection, action_gateway_session, action_gateway_toolbelt
- Updated: kubernetes_cluster
Added 3 behaviors
2026.09.23.1
- Updated: droplet, floating_ip, reserved_ip, reserved_ipv6
2026.09.22.1
- Updated: load_balancer, vpc_nat_gateway
2026.09.16.1
- Updated: firewall
2026.09.04.1
- Updated: load_balancer, vpc_nat_gateway
2026.08.15.1
- Updated: kubernetes_cluster, kubernetes_cluster_node_pool
2026.08.04.1
- Updated: kubernetes_cluster
2026.08.01.1
Removed 1 behaviors
05Stats
A
100 / 100
Downloads
1,530
Archive size
189.4 KB
Verified by Swamp
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Docs keep secrets in a vault1/1earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned
06Platforms
07Labels