Skip to main content

Digitalocean

@swamp/digitaloceanv2026.10.31.1· AGPL-3.0-or-later· 1d agoBEHAVIORS
01README

DigitalOcean infrastructure models

02Release Notes
  • Updated: agent_config, agent_session
03Behaviors59
action_gateway_connection.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
provider?stringRequired provider slug, from the provider list.
user_id?stringRequired. 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?arrayOptional OAuth scopes to request. Defaults to every scope the provider offers; scopes outside that set are rejected. Ignored for API-key credentials.
connection_parameters?recordValues for the provider's `connection_parameters`, validated against their specifications.
credential?objectOptional credential to connect through. Omitted uses DigitalOcean's shared OAuth application.
network?objectOptional private network for the connection's calls. Requires VPC networking to be enabled for your account (403 otherwise).
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the action gateway connection
fn delete(id: union)
Delete the action gateway connection
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
description?stringOptional description shown on the server's catalog card. At most 1024 characters.
serverRef?stringIdentifier for the server, unique within your team. Must match `^`[a-z]``[a-z0-9-]`{0,63}$`.
endpoint?stringHTTPS URL of the server's MCP endpoint. Its host must resolve only to public IP addresses. Required.
transport?enumOptional. `streamable_http`, the default and only accepted value.
credentialRefSource?enumHow 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?stringFor `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?stringFor `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?stringRequired 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?stringRequired for `credentialRefSource` connection. Write-only; no response returns it.
oauth_authorize_url?stringRequired 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?stringRequired for `credentialRefSource` connection: the OAuth token endpoint, under the same rules as `oauth_authorize_url`.
oauth_scopes?arrayRequired for `credentialRefSource` connection: the scopes to request from each user, 1 to 64 of them.
oauth_authorization_ttl_seconds?stringHow 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?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe ID of the action gateway mcp server
enabledToolSlugsarrayThe complete set of tool slugs (`<server_ref>_<name>`) to enable; every other tool of the server is disabled. Empty disables every tool.
user_id?stringRequired 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

ArgumentTypeDescription
tool?stringExactly 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?stringOpaque ID of the tool version; see tool.
namestringView name. Must match `^`[a-z]``[a-z0-9_-]`{0,63}$` and be unique per tool version within your team.
description?stringOptional description. At most 512 bytes.
fields?arrayOutput 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the action gateway output view
fn delete(id: union)
Delete the action gateway output view
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringRequired human-readable session name.
actorId?stringOptional 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?objectOptional tool-permission policy. Omitted asks before every call.
tools?arrayOmitted 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?objectOptional 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?objectProduct-level session network binding. When set, `vpc_uuid` must identify a VPC owned by the session's team.
insights?objectOmitted when the request omitted insights or explicitly sent null.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the action gateway session

Resources

state(infinite)— Action Gateway Session resource state
action_gateway_toolbelt.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
namestringToolbelt name, unique among your team's active toolbelts. Must match `^`[a-z]``[a-z0-9_-]`{0,63}$`; `search` is reserved.
version?stringOptional initial version number, a positive integer such as `1`. Defaults to 1.
display_name?stringOptional human-readable label, separate from name. At most 128 bytes.
description?stringOptional description. At most 255 bytes.
tools?arrayOptional 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the action gateway toolbelt
fn delete(name: string)
Delete the action gateway toolbelt
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
namestringConfig name, case-insensitively unique among the team's active configs.
manifest_yaml?stringCustomer environment-spec YAML text. The HTTP JSON body is capped at 1 MiB and this field is capped at 512 KiB.
insights?objectPer-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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the agent config
fn delete(id: union)
Delete the agent config
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
resume_on_topoff?booleanOpt 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).
namestringSession 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?enumOptional 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the agent session
fn update()
Update agent session attributes
fn delete(id: union)
Delete the agent session
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
source_oci_ref?string
base_template?stringBase template key. One of: coding-base, coding-claude-code, coding-codex, coding-hermes, coding-opencode, langgraph.
namestring
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the agent template
fn update()
Update agent template attributes
fn delete(id: union)
Delete the agent template
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringTeam-unique (among non-deleted triggers) trigger name. Same rules as session names; not UUID-form.
status?enumTrigger lifecycle state. Soft-deleted triggers are never returned (404).
prompt_template?stringThe prompt sent on each fire. For cron it must not contain payload-interpolation placeholders.
output?objectOutput-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?stringfresh only. Full agents.yaml Agent manifest (YAML or JSON). Any embedded env values are split out and encrypted server-side.
bound_session_id?stringreuse only. UUID of an existing session owned by the team.
cron?objectcron block on create.
kind?enumHow the trigger fires - on an event (webhook) or on a schedule (cron). Immutable after create.
session_mode?enumfresh = 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?objectwebhook block on create. Omitting provider defaults to custom.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the agent trigger
fn update()
Update agent trigger attributes
fn delete(id: union)
Delete the agent trigger
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
app_idstringParent resource identifier
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
force_build?boolean
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
spec?objectThe desired configuration of an application.
update_all_source_versions?booleanWhether 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?stringThe 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?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the app platform
fn update()
Update app platform attributes
fn delete(id: union)
Delete the app platform
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
advertise?booleanWhether the BYOIP prefix should be advertised
prefix?stringThe IP prefix in CIDR notation to bring
region?enumThe region where the prefix will be created
signature?stringThe signature hash for the prefix creation request
token?stringDigitalOcean 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
ArgumentTypeDescription
idstringThe UUID of the byoip prefix
fn update()
Update byoip prefix attributes
fn delete(id: string)
Delete the byoip prefix
ArgumentTypeDescription
idstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
ttl?unionThe 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?stringThe ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.
custom_domain?stringThe fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint.
origin?stringThe fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space.
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the cdn endpoint
fn update()
Update cdn endpoint attributes
fn delete(id: union)
Delete the cdn endpoint
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA 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?enumThe slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint.
region?enumSlug of the region where registry data is stored. When not provided, a region will be selected.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the container registry
fn delete(name: string)
Delete the container registry
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
namestringThe 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?enumThe 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?stringAn optional free-form text field to describe an image.
url?stringA 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?enumThe slug identifier for the region where the resource will initially be available.
tags?arrayA 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the custom image
fn update()
Update custom image attributes
fn delete(id: union)
Delete the custom image
ArgumentTypeDescription
idunionThe ID of the custom image
fn sync()
Sync custom image state from DigitalOcean
fn convert(id: union, waitForCompletion?: boolean)
convert the custom image
ArgumentTypeDescription
idunionThe ID of the custom image
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn transfer(id: union, region: enum, waitForCompletion?: boolean)
transfer the custom image
ArgumentTypeDescription
idunionThe ID of the custom image
regionenumThe slug identifier for the region where the resource will initially be available.
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringA unique, human-readable name referring to a database cluster.
engine?enumA 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?stringA string representing the version of the database engine in use for the cluster.
num_nodes?numberThe number of nodes in the database cluster.
size?stringThe slug identifier representing the size of the nodes in the database cluster.
region?enumThe slug identifier for the region where the database cluster is located.
private_network_uuid?stringA string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. <br><br>Requires `vpc:read` scope.
tags?arrayAn array of tags (as strings) to apply to the database cluster. <br><br>Requires `tag:create` scope.
ui_connection?objectThe connection details for OpenSearch dashboard.
schema_registry_connection?objectThe connection details for Schema Registry.
connection?object
private_connection?object
standby_connection?object
standby_private_connection?object
maintenance_window?object
project_id?stringThe 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?numberAdditional 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?objectAutoscaling configuration for the database cluster. Currently only supports storage autoscaling. If null, autoscaling is not configured for the cluster.
do_settings?objectDigitalOcean-specific settings for the database cluster.
backup_restore?object
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf true, check whether a resource with this name already exists before creating and fail if it does (default: false)
waitForReady?booleanWait for the resource to reach ready state after creation (default: true)
fn get(id: string)
Get a database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
fn delete(id: string)
Delete the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
fn sync()
Sync database cluster state from DigitalOcean
fn autoscale(id: string, storage?: record)
autoscale the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
storage?recordConfiguration for database cluster storage autoscaling
fn config(id: string, config?: record)
config the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
config?record
fn do_settings(id: string, do_settings: record)
do settings the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
do_settingsrecordDigitalOcean-specific settings for the database cluster.
fn eviction_policy(id: string, eviction_policy: enum)
eviction policy the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
eviction_policyenumA 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
ArgumentTypeDescription
idstringThe UUID of the database cluster
rules?array
fn install_update(id: string)
install update the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
fn maintenance(id: string, day: string, hour: string)
maintenance the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
daystringThe day of the week on which to apply maintenance updates.
hourstringThe hour in UTC at which maintenance updates will be applied in 24 hour format.
fn migrate(id: string, region: string)
migrate the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
regionstringA 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
ArgumentTypeDescription
idstringThe UUID of the database cluster
sizestringA slug identifier representing desired the size of the nodes in the database cluster.
num_nodesnumberThe 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?numberAdditional 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
ArgumentTypeDescription
idstringThe UUID of the database cluster
sql_modestringA string specifying the configured SQL modes for the MySQL cluster.
fn upgrade(id: string, version?: string)
upgrade the database cluster
ArgumentTypeDescription
idstringThe UUID of the database cluster
version?stringA 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
namestringThe name of the database.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the database db
fn delete(name: string)
Delete the database db
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
config?objectConfiguration for Datadog integration **applicable only to MongoDB clusters**.\n
sink_name?stringThe name of the Logsink
sink_type?enumType 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?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the database logsink
fn update()
Update database logsink attributes
fn delete(id: union)
Delete the database logsink
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
mode?stringThe PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.
size?numberThe 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?stringThe database for use with the connection pool.
user?stringThe name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user.
namestringA 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the database pool
fn update()
Update database pool attributes
fn delete(name: string)
Delete the database pool
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
namestringThe name to give the read-only replicating
region?enumA 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?stringA slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating.
tags?arrayA 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?stringA string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. <br><br>Requires `vpc:read` scope.
connection?object
private_connection?object
storage_size_mib?numberAdditional 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?objectDigitalOcean-specific settings for the database cluster.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the database replica
fn delete(name: string)
Delete the database replica
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
subject_name?stringThe name of the schema subject.
schema_type?enumThe type of the schema.
schema?stringThe schema definition in the specified format.
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the database schema registry
fn delete(id: union)
Delete the database schema registry
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
replication_factor?numberThe number of nodes to replicate data across the cluster.
partition_count?numberThe number of partitions available for the topic. On update, this value can only be increased.
config?object
namestringThe name of the Kafka topic.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the database topic
fn update()
Update database topic attributes
fn delete(name: string)
Delete the database topic
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
database_cluster_uuidstringParent resource identifier
settings?object
namestringThe 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the database user
fn update()
Update database user attributes
fn delete(name: string)
Delete the database user
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
spec?objectStructured configuration for a Dedicated Inference deployment.
access_tokens?recordKey-value pairs for provider tokens (e.g. Hugging Face).
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the dedicated inference
fn update()
Update dedicated inference attributes
fn delete(id: union)
Delete the dedicated inference
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
name?stringThe name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name.
ip_address?stringThis optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the domain
fn delete(name: string)
Delete the domain
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
domain_namestringParent resource identifier
instance_namestringInstance name for this resource (used as the unique identifier in the factory pattern)
type?stringThe type of the DNS record. For example: A, CNAME, TXT, ...
name?stringThe host name, alias, or service being defined by the record.
data?stringVariable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates.
priority?numberThe priority for SRV and MX records.
port?numberThe port for SRV records.
ttl?numberThis 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?numberThe weight for SRV records.
flags?numberAn unsigned integer between 0-255 used for CAA records.
tag?stringThe parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef"
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the domain record
fn update()
Update domain record attributes
fn delete(id: union)
Delete the domain record
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringThe 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?enumThe 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?stringThe slug identifier for the size that you wish to select for this Droplet.
image?stringThe 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?arrayAn 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?booleanA boolean indicating whether automated backups should be enabled for the Droplet.
backup_policy?objectAn object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
ipv6?booleanA boolean indicating whether to enable IPv6 on the Droplet.
monitoring?booleanA boolean indicating whether to install the DigitalOcean agent for monitoring.
tags?arrayA 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?stringA 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?booleanThis 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?arrayAn 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?stringA 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?stringAn 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?booleanA 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?booleanAn 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf true, check whether a resource with this name already exists before creating and fail if it does (default: false)
waitForReady?booleanWait for the resource to reach ready state after creation (default: true)
fn get(id: union)
Get a droplet
ArgumentTypeDescription
idunionThe ID of the droplet
fn delete(id: union)
Delete the droplet
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe ID of the droplet
backup_policyrecordAn object specifying the backup policy for the Droplet.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn change_kernel(id: union, kernel?: number, waitForCompletion?: boolean)
change kernel the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
kernel?numberA unique number used to identify and reference a specific kernel.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn disable_backups(id: union, waitForCompletion?: boolean)
disable backups the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn enable_backups(id: union, backup_policy?: record, waitForCompletion?: boolean)
enable backups the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
backup_policy?recordAn object specifying the backup policy for the Droplet. If omitted, the backup plan will default to daily.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn enable_ipv6(id: union, waitForCompletion?: boolean)
enable ipv6 the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn password_reset(id: union, waitForCompletion?: boolean)
password reset the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn power_cycle(id: union, waitForCompletion?: boolean)
power cycle the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn power_off(id: union, waitForCompletion?: boolean)
power off the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn power_on(id: union, waitForCompletion?: boolean)
power on the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn reboot(id: union, waitForCompletion?: boolean)
reboot the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn rebuild(id: union, image?: string, waitForCompletion?: boolean)
rebuild the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
image?stringThe 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?booleanWait for the action to complete before returning (default: true)
fn rename(id: union, name?: string, waitForCompletion?: boolean)
rename the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
name?stringThe new name for the Droplet.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn resize(id: union, disk?: boolean, size?: string, waitForCompletion?: boolean)
resize the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
disk?booleanWhen `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?stringThe slug identifier for the size to which you wish to resize the Droplet.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn restore(id: union, image?: number, waitForCompletion?: boolean)
restore the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
image?numberThe ID of a backup of the current Droplet instance to restore from.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn shutdown(id: union, waitForCompletion?: boolean)
shutdown the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn snapshot(id: union, name?: string, waitForCompletion?: boolean)
snapshot the droplet
ArgumentTypeDescription
idunionThe ID of the droplet
name?stringThe name to give the new snapshot of the Droplet.
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringThe human-readable name of the autoscale pool. This field cannot be updated
config?objectThe 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the droplet autoscale
fn update()
Update droplet autoscale attributes
fn delete(id: union)
Delete the droplet autoscale
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA 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?arrayAn array containing the IDs of the Droplets assigned to the firewall. <br><br>Requires `droplet:read` scope.
tags?arrayA flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request. <br><br>Requires `tag:create` and `tag:read` scopes.
inbound_rules?array
outbound_rules?array
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the firewall
fn update()
Update firewall attributes
fn delete(id: union)
Delete the firewall
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
droplet_id?numberThe ID of the Droplet that the floating IP will be assigned to.
region?enumThe slug identifier for the region the floating IP will be reserved to.
project_id?stringThe UUID of the project to which the floating IP will be assigned.
token?stringDigitalOcean 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
ArgumentTypeDescription
ipstringThe IP address of the floating ip
fn delete(ip: string)
Delete the floating ip
ArgumentTypeDescription
ipstringThe 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
ArgumentTypeDescription
ipstringThe IP address of the floating ip
droplet_idnumberThe ID of the Droplet that the floating IP will be assigned to.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn unassign(ip: string, waitForCompletion?: boolean)
unassign the floating ip
ArgumentTypeDescription
ipstringThe IP address of the floating ip
waitForCompletion?booleanWait 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

ArgumentTypeDescription
region?enumThe [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace.
labelstringThe namespace's unique name.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the function namespace
fn delete(id: union)
Delete the function namespace
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namespace_idstringParent resource identifier
is_enabled?booleanIndicates weather the trigger is paused or unpaused.
scheduled_details?objectTrigger details for SCHEDULED type, where body is optional.\n
namestringThe trigger's unique name within the namespace.
function?stringName of function(action) that exists in the given namespace.
type?stringOne of different type of triggers. Currently only SCHEDULED is supported.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the function namespace trigger
fn update()
Update function namespace trigger attributes
fn delete(name: string)
Delete the function namespace trigger
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
spec?objectSpec 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?enumDesired alert rule status. Allowed values:\n\n- `ALERT_RULE_STATUS_ACTIVE` = active\n- `ALERT_RULE_STATUS_PAUSED` = paused\n
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the insight alert rule
fn update()
Update insight alert rule attributes
fn delete(id: union)
Delete the insight alert rule
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA human-readable name for the notification channel.
email?objectEmail notification channel configuration. Recipients must be verified team\nmember email addresses.\n
slack?objectSlack 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?objectGeneric 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the insight notification channel
fn update()
Update insight notification channel attributes
fn delete(id: union)
Delete the insight notification channel
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA human-readable name for a Kubernetes cluster.
tags?arrayAn 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?objectAn object specifying the maintenance window policy for the Kubernetes cluster.
auto_upgrade?booleanA boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
surge_upgrade?booleanA boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes.
ha?booleanA boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. 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?booleanA 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?objectAn object specifying the control plane firewall for the Kubernetes cluster. Control plane firewall is in early availability (invite only).
cluster_autoscaler_configuration?objectAn object specifying custom cluster autoscaler configuration.
sso?objectAn object specifying Single Sign-On (SSO) configuration for the Kubernetes cluster.
routing_agent?objectAn object specifying whether the routing-agent component should be enabled for the Kubernetes cluster.
p2p_oci_registry_plugin?objectAn object specifying whether the Peer-to-peer OCI registry component should be enabled for the Kubernetes cluster.
nfs_csi_plugin?objectAn object specifying whether the NFS CSI plugin should be enabled for the Kubernetes cluster.
amd_gpu_device_plugin?objectAn object specifying whether the AMD GPU Device Plugin should be enabled in the Kubernetes cluster. It's enabled by default for clusters with an AMD GPU node pool.
amd_gpu_device_metrics_exporter_plugin?objectAn object specifying whether the AMD Device Metrics Exporter should be enabled in the Kubernetes cluster.
nvidia_gpu_device_plugin?objectAn 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?objectAn 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?objectAn 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?objectAn object specifying whether the RDMA shared device plugin should be enabled in the Kubernetes cluster.
coredns_autoscaler?objectAn object specifying whether the Cluster Proportional Autoscaler (CPA) add-on for CoreDNS should be enabled for the Kubernetes cluster.
region?enumThe slug identifier for the region where the Kubernetes cluster is located.
version?stringThe slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions.
cluster_subnet?stringThe range of IP addresses for the overlay network of the Kubernetes cluster in CIDR notation.
service_subnet?stringThe range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation.
vpc_uuid?stringA string specifying the UUID of the VPC to which the Kubernetes cluster is assigned.<br><br>Requires `vpc:read` scope.
worker_subnet_uuid?stringThe 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?arrayAn object specifying the details of the worker nodes available to the Kubernetes cluster.
isolated_workers?booleanA 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf true, check whether a resource with this name already exists before creating and fail if it does (default: false)
waitForReady?booleanWait for the resource to reach ready state after creation (default: true)
fn get(id: union)
Get a kubernetes cluster
ArgumentTypeDescription
idunionThe ID of the kubernetes cluster
fn update(waitForReady?: boolean)
Update kubernetes cluster attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach ready state after update (default: true)
fn delete(id: union)
Delete the kubernetes cluster
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
cluster_idstringParent resource identifier
namestringA human-readable name for the node pool.
count?numberThe number of Droplet instances in the node pool.
tags?arrayAn 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?recordAn 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?arrayAn array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool.
auto_scale?booleanA boolean value indicating whether auto-scaling is enabled for this node pool.
min_nodes?numberThe 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?numberThe 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?stringThe slug identifier for the type of Droplet used as workers in the node pool.
gpu_partition_mode?enumThe 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
droplet_ids?arrayAn array containing the IDs of the Droplets assigned to the load balancer.
region?enumThe slug identifier for the region where the resource will initially be available.
name?stringA human-readable name for a load balancer instance.
project_id?stringThe ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created.
size_unit?numberHow 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?enumThis 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?enumThis field has been deprecated. You can no longer specify an algorithm for load balancers.
forwarding_rules?arrayAn array of objects specifying the forwarding rules for a load balancer.
health_check?objectAn object specifying health check settings for the load balancer.
sticky_sessions?objectAn object specifying sticky sessions settings for the load balancer.
redirect_http_to_https?booleanA boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443.
enable_proxy_protocol?booleanA boolean value indicating whether PROXY Protocol is in use.
enable_backend_keepalive?booleanA boolean value indicating whether HTTP keepalive connections are maintained to target Droplets.
http_idle_timeout_seconds?numberAn integer value which configures the idle timeout for HTTP requests to the target droplets.
vpc_uuid?stringA string specifying the UUID of the VPC to which the load balancer is assigned.
subnet_uuid?stringA string specifying the UUID of the VPC subnet to which the load balancer is assigned.
disable_lets_encrypt_dns_records?booleanA boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer.
firewall?objectAn object specifying allow and deny rules to control traffic to the load balancer.
network?enumA 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?enumA 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?enumA 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?arrayAn array of objects specifying the domain configurations for a Global load balancer.
glb_settings?objectAn object specifying forwarding configurations for a Global load balancer.
target_load_balancer_ids?arrayAn array containing the UUIDs of the Regional load balancers to be used as target backends for a Global load balancer.
tls_cipher_policy?enumA 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?stringThe name of a Droplet tag corresponding to Droplets assigned to the load balancer.
ip?stringAn 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf true, check whether a resource with this name already exists before creating and fail if it does (default: false)
waitForReady?booleanWait for the resource to reach ready state after creation (default: true)
fn get(id: union)
Get a load balancer
ArgumentTypeDescription
idunionThe ID of the load balancer
fn update(waitForReady?: boolean)
Update load balancer attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach ready state after update (default: true)
fn delete(id: union)
Delete the load balancer
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringThe name of the MicroVM. Must be unique in the region and contain 1 to 63 lowercase letters, digits, and hyphens.
source?objectWhat the MicroVM runs. Set exactly one of `oci_ref` or `checkpoint_id`.
region?enumThe slug of the region to create the MicroVM in. Required with `source.oci_ref`.
size?objectThe 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?stringThe ID of a VPC network in the same region that belongs to your team. Required when `networking` is `vpc`.
auto_pause?objectAutomatic pause settings. A MicroVM always pauses after it is idle for `idle_timeout`. Sending `enabled` set to `false` is rejected.
auto_resume?booleanWhether an HTTP request, command, or console session resumes the MicroVM when it is paused. Set to `false` to require a manual resume.
http_port?numberThe 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?enumThe protocol the HTTP port serves.
ports?arrayThe 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?recordEnvironment variables passed into the MicroVM at boot, as key and value pairs. Not returned in responses.
tags?arrayTags to apply to the MicroVM.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the microvm
fn delete(id: union)
Delete the microvm
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance 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?stringDigitalOcean 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
ArgumentTypeDescription
uuidstringThe UUID of the monitoring alert policy
fn update()
Update monitoring alert policy attributes
fn delete(uuid: string)
Delete the monitoring alert policy
ArgumentTypeDescription
uuidstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
destination_uuid?stringA unique identifier for an already-existing destination.
resources?arrayList of resources identified by their URNs.
token?stringDigitalOcean 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
ArgumentTypeDescription
idstringThe UUID of the monitoring sink
fn delete(id: string)
Delete the monitoring sink
ArgumentTypeDescription
idstringThe 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

ArgumentTypeDescription
name?stringdestination name
type?enumThe destination type. `opensearch_dbaas` for a DigitalOcean managed OpenSearch\ncluster or `opensearch_ext` for an externally managed one.\n
config?object
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idstringThe UUID of the monitoring sink destination
fn delete(id: string)
Delete the monitoring sink destination
ArgumentTypeDescription
idstringThe 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

ArgumentTypeDescription
namestringThe human-readable name of the share.
size_gib?numberThe desired/provisioned size of the share in GiB (Gibibytes). Must be >= 50.
region?enumThe DigitalOcean region slug (e.g., nyc2, atl1) where the NFS share resides.
vpc_ids?arrayList of VPC IDs that should be able to access the share.
performance_tier?stringThe performance tier of the share.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the nfs
fn delete(id: union)
Delete the nfs
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
vpc_idstringThe ID of the VPC to which the NFS share will be attached
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn detach(id: union, region?: string, vpc_id: string, waitForCompletion?: boolean)
detach the nfs
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
vpc_idstringThe ID of the VPC from which the NFS share will be detached
waitForCompletion?booleanWait 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
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
old_vpc_idstringThe ID of the VPC from which the NFS share will be reassigned
new_vpc_idstringThe ID of the VPC to which the NFS share will be reassigned
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn resize(id: union, region?: string, size_gib: number, waitForCompletion?: boolean)
resize the nfs
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
size_gibnumberThe new size for the NFS share.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn snapshot(id: union, region?: string, name: string, waitForCompletion?: boolean)
snapshot the nfs
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
namestringSnapshot name of the NFS share
waitForCompletion?booleanWait 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
ArgumentTypeDescription
idunionThe ID of the nfs
region?stringThe DigitalOcean region slug (e.g. atl1, nyc2) where the NFS snapshot resides.
performance_tierstringThe performance tier to which the NFS share will be switched (e.g., standard, high).
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringThe name of the partner attachment. Must be unique and may only contain alphanumeric characters, dashes, and periods.
vpc_ids?arrayAn array of VPCs IDs.
bgp?objectOptional BGP configurations
connection_bandwidth_in_mbps?unionBandwidth (in Mbps) of the connection.
region?enumThe region to create the partner attachment.
naas_provider?string
parent_uuid?stringOptional associated partner attachment UUID
redundancy_zone?enumOptional redundancy zone for the partner attachment.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringThe human-readable name for the project. The maximum length is 175 characters and the name must be unique.
description?stringThe description of the project. The maximum length is 255 characters.
purpose?stringThe 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?enumThe environment of the project's resources.
is_default?booleanIf true, all resources will be added to this project if no project is specified.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the project
fn update()
Update project attributes
fn delete(id: union)
Delete the project
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
droplet_id?numberThe ID of the Droplet that the reserved IP will be assigned to.
region?enumThe slug identifier for the region the reserved IP will be reserved to.
project_id?stringThe UUID of the project to which the reserved IP will be assigned.
token?stringDigitalOcean 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
ArgumentTypeDescription
ipstringThe IP address of the reserved ip
fn delete(ip: string)
Delete the reserved ip
ArgumentTypeDescription
ipstringThe 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
ArgumentTypeDescription
ipstringThe IP address of the reserved ip
droplet_idnumberThe ID of the Droplet that the reserved IP will be assigned to.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn unassign(ip: string, waitForCompletion?: boolean)
unassign the reserved ip
ArgumentTypeDescription
ipstringThe IP address of the reserved ip
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
region_slug?stringThe slug identifier for the region the reserved IPv6 will be reserved to.
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe ID of the reserved ipv6
fn delete(id: union)
Delete the reserved ipv6
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe ID of the reserved ipv6
droplet_idnumberThe ID of the Droplet that the reserved IPv6 will be assigned to.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn unassign(id: union, waitForCompletion?: boolean)
unassign the reserved ipv6
ArgumentTypeDescription
idunionThe ID of the reserved ipv6
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
token?stringDigitalOcean 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
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
region?enumThe region where the secret will be stored.
version?numberThe current version of the secret to update.
values?recordKey-value pairs to store in the secret.
namestringThe name of the secret to create.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the security secret
fn update()
Update security secret attributes
fn delete(id: union)
Delete the security secret
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
name?stringThe access key's name.
grants?arrayThe list of permissions for the access key.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the space key
fn update()
Update space key attributes
fn delete(id: union)
Delete the space key
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA human-readable display name for this key, used to easily identify the SSH keys when they are displayed.
public_key?stringThe entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the ssh key
fn update()
Update ssh key attributes
fn delete(id: union)
Delete the ssh key
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringA unique human-readable name referring to a certificate.
type?enumA 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?arrayAn 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?stringThe contents of a PEM-formatted private-key corresponding to the SSL certificate.
leaf_certificate?stringThe contents of a PEM-formatted public SSL certificate.
certificate_chain?stringThe full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the ssl certificate
fn delete(id: union)
Delete the ssl certificate
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
name?stringThe 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
namestringThe name of the tag
fn delete(name: string)
Delete the tag
ArgumentTypeDescription
namestringThe 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

ArgumentTypeDescription
namestringA human-friendly display name.
type?enumThe type of health check to perform.
target?stringThe endpoint to perform healthchecks on.
regions?arrayAn array containing the selected regions to perform healthchecks from.
enabled?booleanA boolean value indicating whether the check is enabled/disabled.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the uptime check
fn update()
Update uptime check attributes
fn delete(id: union)
Delete the uptime check
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
check_idstringParent resource identifier
namestringA human-friendly display name.
type?enumThe type of alert.
threshold?numberThe threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.
comparison?enumThe comparison operator used against the alert's threshold.
notifications?objectThe notification settings for a trigger alert.
period?enumPeriod of time the threshold must be exceeded to trigger the alert.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the uptime check alert
fn update()
Update uptime check alert attributes
fn delete(id: union)
Delete the uptime check alert
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
config?objectVectorDBConfig holds optional, advanced cluster settings.
id?stringID of the vector database.
project_id?stringRequired. ID of the project to create the vector database in.
name?stringRequired. Human-readable name for the database.
region?enumRequired. Region slug where the database will be provisioned.
size?stringRequired. Resource tier: small, medium, or large.
tags?arrayA set of arbitrary tags to organize your vector database
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the vector database
fn update()
Update vector database attributes
fn delete(id: union)
Delete the vector database
ArgumentTypeDescription
idunionThe ID of the vector database
fn sync()
Sync vector database state from DigitalOcean
fn tags(id: union, tags?: array)
tags the vector database
ArgumentTypeDescription
idunionThe ID of the vector database
tags?arrayTags to set on the vector database. Replaces all existing tags.

Resources

state(infinite)— Vector Database resource state
volume.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
namestringA 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?stringAn optional free-form text field to describe a block storage volume.
size_gigabytes?numberThe size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot.
tags?arrayA 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?stringThe unique identifier for the volume snapshot from which to create the volume.
filesystem_type?stringThe 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?enumThe slug identifier for the region where the resource will initially be available.
filesystem_label?stringThe 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the volume
fn delete(id: union)
Delete the volume
ArgumentTypeDescription
idunionThe 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
ArgumentTypeDescription
idunionThe ID of the volume
region?enumThe slug identifier for the region where the resource will initially be available.
droplet_idnumberThe unique identifier for the Droplet the volume will be attached or detached from.
tags?arrayA 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?booleanWait for the action to complete before returning (default: true)
fn detach(id: union, region?: enum, droplet_id: number, waitForCompletion?: boolean)
detach the volume
ArgumentTypeDescription
idunionThe ID of the volume
region?enumThe slug identifier for the region where the resource will initially be available.
droplet_idnumberThe unique identifier for the Droplet the volume will be attached or detached from.
waitForCompletion?booleanWait for the action to complete before returning (default: true)
fn resize(id: union, region?: enum, size_gigabytes: number, waitForCompletion?: boolean)
resize the volume
ArgumentTypeDescription
idunionThe ID of the volume
region?enumThe slug identifier for the region where the resource will initially be available.
size_gigabytesnumberThe new size of the block storage volume in GiB (1024^3).
waitForCompletion?booleanWait 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

ArgumentTypeDescription
namestringThe name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods.
description?stringA free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters.
default?booleanA boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined.
region?enumThe slug identifier for the region where the VPC will be created.
ip_range?stringThe range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the vpc
fn update()
Update vpc attributes
fn delete(id: union)
Delete the vpc
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringThe human-readable name of the VPC NAT gateway.
size?numberThe size of the VPC NAT gateway.
vpcs?arrayAn array of VPCs associated with the VPC NAT gateway.
udp_timeout_seconds?numberThe UDP timeout in seconds for the VPC NAT gateway.
icmp_timeout_seconds?numberThe ICMP timeout in seconds for the VPC NAT gateway.
tcp_timeout_seconds?numberThe TCP timeout in seconds for the VPC NAT gateway.
type?enumThe type of the VPC NAT gateway.
region?enumThe region in which the VPC NAT gateway is created.
egresses?objectAn 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?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the vpc nat gateway
fn update()
Update vpc nat gateway attributes
fn delete(id: union)
Delete the vpc nat gateway
ArgumentTypeDescription
idunionThe 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

ArgumentTypeDescription
namestringThe name of the VPC peering. Must be unique within the team and may only contain alphanumeric characters and dashes.
vpc_ids?arrayAn array of the two peered VPCs IDs.
token?stringDigitalOcean 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
ArgumentTypeDescription
checkExists?booleanIf 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
ArgumentTypeDescription
idunionThe ID of the vpc peering
fn update()
Update vpc peering attributes
fn delete(id: union)
Delete the vpc peering
ArgumentTypeDescription
idunionThe ID of the vpc peering
fn sync()
Sync vpc peering state from DigitalOcean

Resources

state(infinite)— VPC Peering resource state
04Previous Versions19
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