From 51f3f20aae2c920b5291728dcf6b39e94e5d0cd6 Mon Sep 17 00:00:00 2001 From: Jared Watts Date: Mon, 3 Jun 2024 12:44:21 -0700 Subject: [PATCH 1/3] build: add check to enforce max allowed terraform version Signed-off-by: Jared Watts --- Makefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 52456ed..d14dc6d 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,12 @@ PROJECT_NAME ?= provider-upjet-digitalocean PROJECT_REPO ?= github.com/crossplane-contrib/$(PROJECT_NAME) -export TERRAFORM_VERSION ?= 1.8.1 +export TERRAFORM_VERSION ?= 1.5.7 + +# Do not allow a version of terraform greater than 1.5.x, due to versions 1.6+ being +# licensed under BSL, which is not permitted. +export TERRAFORM_VERSION_CEILING ?= 1.6 +TERRAFORM_VERSION_VALID := $(shell [ $(TERRAFORM_VERSION) = `echo "$(TERRAFORM_VERSION)\n$(TERRAFORM_VERSION_CEILING)" | sort -V | head -n1` ] && echo 1 || echo 0) export TERRAFORM_PROVIDER_SOURCE ?= digitalocean/digitalocean export TERRAFORM_PROVIDER_REPO ?= https://github.com/digitalocean/terraform-provider-digitalocean @@ -92,7 +97,7 @@ xpkg.build.provider-upjet-digitalocean: do.build.images # NOTE(hasheddan): we ensure up is installed prior to running platform-specific # build steps in parallel to avoid encountering an installation race condition. -build.init: $(UP) +build.init: $(UP) check-terraform-version # ==================================================================================== # Setup Terraform for fetching provider schema @@ -100,7 +105,12 @@ TERRAFORM := $(TOOLS_HOST_DIR)/terraform-$(TERRAFORM_VERSION) TERRAFORM_WORKDIR := $(WORK_DIR)/terraform TERRAFORM_PROVIDER_SCHEMA := config/schema.json -$(TERRAFORM): +check-terraform-version: +ifneq ($(TERRAFORM_VERSION_VALID),1) + $(error invalid TERRAFORM_VERSION $(TERRAFORM_VERSION), must be less than $(TERRAFORM_VERSION_CEILING)) +endif + +$(TERRAFORM): check-terraform-version @$(INFO) installing terraform $(HOSTOS)-$(HOSTARCH) @mkdir -p $(TOOLS_HOST_DIR)/tmp-terraform @curl -fsSL https://releases.hashicorp.com/terraform/$(TERRAFORM_VERSION)/terraform_$(TERRAFORM_VERSION)_$(SAFEHOST_PLATFORM).zip -o $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip @@ -126,7 +136,7 @@ pull-docs: generate.init: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs -.PHONY: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs +.PHONY: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs check-terraform-version # ==================================================================================== # Targets From 1f7744410541b6a9d58d397e9e62022229310843 Mon Sep 17 00:00:00 2001 From: Jared Watts Date: Tue, 4 Jun 2024 17:36:37 -0700 Subject: [PATCH 2/3] build: refine terraform version checking logic and messaging Signed-off-by: Jared Watts --- Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index d14dc6d..a3f3b51 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,7 @@ export TERRAFORM_VERSION ?= 1.5.7 # Do not allow a version of terraform greater than 1.5.x, due to versions 1.6+ being # licensed under BSL, which is not permitted. -export TERRAFORM_VERSION_CEILING ?= 1.6 -TERRAFORM_VERSION_VALID := $(shell [ $(TERRAFORM_VERSION) = `echo "$(TERRAFORM_VERSION)\n$(TERRAFORM_VERSION_CEILING)" | sort -V | head -n1` ] && echo 1 || echo 0) +TERRAFORM_VERSION_VALID := $(shell [ "$(TERRAFORM_VERSION)" = "`printf "$(TERRAFORM_VERSION)\n1.6" | sort -V | head -n1`" ] && echo 1 || echo 0) export TERRAFORM_PROVIDER_SOURCE ?= digitalocean/digitalocean export TERRAFORM_PROVIDER_REPO ?= https://github.com/digitalocean/terraform-provider-digitalocean @@ -107,7 +106,7 @@ TERRAFORM_PROVIDER_SCHEMA := config/schema.json check-terraform-version: ifneq ($(TERRAFORM_VERSION_VALID),1) - $(error invalid TERRAFORM_VERSION $(TERRAFORM_VERSION), must be less than $(TERRAFORM_VERSION_CEILING)) + $(error invalid TERRAFORM_VERSION $(TERRAFORM_VERSION), must be less than 1.6.0 since that version introduced a not permitted BSL license)) endif $(TERRAFORM): check-terraform-version From 757946178bcc7576111200dd57485fea4d1b4898 Mon Sep 17 00:00:00 2001 From: Jared Watts Date: Tue, 4 Jun 2024 17:37:01 -0700 Subject: [PATCH 3/3] config: updated schema.json from make generate Signed-off-by: Jared Watts --- config/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/schema.json b/config/schema.json index 698fcfd..93c0398 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/digitalocean/digitalocean":{"provider":{"version":0,"block":{"attributes":{"api_endpoint":{"type":"string","description":"The URL to use for the DigitalOcean API.","description_kind":"plain","optional":true},"http_retry_max":{"type":"number","description":"The maximum number of retries on a failed API request.","description_kind":"plain","optional":true},"http_retry_wait_max":{"type":"number","description":"The maximum wait time (in seconds) between failed API requests.","description_kind":"plain","optional":true},"http_retry_wait_min":{"type":"number","description":"The minimum wait time (in seconds) between failed API requests.","description_kind":"plain","optional":true},"requests_per_second":{"type":"number","description":"The rate of requests per second to limit the HTTP client.","description_kind":"plain","optional":true},"spaces_access_id":{"type":"string","description":"The access key ID for Spaces API operations.","description_kind":"plain","optional":true},"spaces_endpoint":{"type":"string","description":"The URL to use for the DigitalOcean Spaces API.","description_kind":"plain","optional":true},"spaces_secret_key":{"type":"string","description":"The secret access key for Spaces API operations.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The token key for API operations.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"digitalocean_app":{"version":0,"block":{"attributes":{"active_deployment_id":{"type":"string","description":"The ID the App's currently active deployment","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"The date and time of when the App was created","description_kind":"plain","computed":true},"default_ingress":{"type":"string","description":"The default URL to access the App","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"live_url":{"type":"string","description_kind":"plain","computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"updated_at":{"type":"string","description":"The date and time of when the App was last updated","description_kind":"plain","computed":true},"urn":{"type":"string","description":"The uniform resource identifier for the app","description_kind":"plain","computed":true}},"block_types":{"spec":{"nesting_mode":"list","block":{"attributes":{"domains":{"type":["set","string"],"description_kind":"plain","deprecated":true,"optional":true,"computed":true},"features":{"type":["set","string"],"description":"List of features which is applied to the app","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the app. Must be unique across all apps in the same account.","description_kind":"plain","required":true},"region":{"type":"string","description":"The slug for the DigitalOcean data center region hosting the app","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"rule":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"database":{"nesting_mode":"list","block":{"attributes":{"cluster_name":{"type":"string","description":"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.","description_kind":"plain","optional":true},"db_name":{"type":"string","description":"The name of the MySQL or PostgreSQL database to configure.","description_kind":"plain","optional":true},"db_user":{"type":"string","description":"The name of the MySQL or PostgreSQL user to configure.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The database engine to use.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","optional":true},"production":{"type":"bool","description":"Whether this is a production or dev database.","description_kind":"plain","optional":true},"version":{"type":"string","description":"The version of the database engine.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"domain":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The hostname for the domain.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of the domain.","description_kind":"plain","optional":true,"computed":true},"wildcard":{"type":"bool","description":"Indicates whether the domain includes all sub-domains, in addition to the given domain.","description_kind":"plain","optional":true,"computed":true},"zone":{"type":"string","description":"If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"function":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"ingress":{"nesting_mode":"list","block":{"block_types":{"rule":{"nesting_mode":"list","block":{"block_types":{"component":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"preserve_path_prefix":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"rewrite":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"match":{"nesting_mode":"list","block":{"block_types":{"path":{"nesting_mode":"list","block":{"attributes":{"prefix":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"redirect":{"nesting_mode":"list","block":{"attributes":{"authority":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"redirect_code":{"type":"number","description_kind":"plain","optional":true},"scheme":{"type":"string","description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"job":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"kind":{"type":"string","description":"The type of job and when it will be run during the deployment process.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}}},"description_kind":"plain"}},"service":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"http_port":{"type":"number","description":"The internal port on which this service's run command will listen.","description_kind":"plain","optional":true,"computed":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"internal_ports":{"type":["set","number"],"description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true,"computed":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"health_check":{"nesting_mode":"list","block":{"attributes":{"failure_threshold":{"type":"number","description":"The number of failed health checks before considered unhealthy.","description_kind":"plain","optional":true},"http_path":{"type":"string","description":"The route path used for the HTTP health check ping.","description_kind":"plain","optional":true},"initial_delay_seconds":{"type":"number","description":"The number of seconds to wait before beginning health checks.","description_kind":"plain","optional":true},"period_seconds":{"type":"number","description":"The number of seconds to wait between health checks.","description_kind":"plain","optional":true},"port":{"type":"number","description":"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.","description_kind":"plain","optional":true},"success_threshold":{"type":"number","description":"The number of successful health checks before considered healthy.","description_kind":"plain","optional":true},"timeout_seconds":{"type":"number","description":"The number of seconds after which the check times out.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"static_site":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"catchall_document":{"type":"string","description":"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"error_document":{"type":"string","description":"The name of the error document to use when serving this static site.","description_kind":"plain","optional":true},"index_document":{"type":"string","description":"The name of the index document to use when serving this static site.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"output_dir":{"type":"string","description":"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"worker":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}}},"description_kind":"plain"}}},"description":"A DigitalOcean App Platform Spec","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_cdn":{"version":1,"block":{"attributes":{"certificate_id":{"type":"string","description":"ID of a DigitalOcean managed TLS certificate for use with custom domains","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"certificate_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"The date and time (ISO8601) of when the CDN endpoint was created.","description_kind":"plain","computed":true},"custom_domain":{"type":"string","description":"fully qualified domain name (FQDN) for custom subdomain, (requires certificate_id)","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"fully qualified domain name (FQDN) to serve the CDN content","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"origin":{"type":"string","description":"fully qualified domain name (FQDN) for the origin server","description_kind":"plain","required":true},"ttl":{"type":"number","description":"The amount of time the content is cached in the CDN","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_certificate":{"version":1,"block":{"attributes":{"certificate_chain":{"type":"string","description_kind":"plain","optional":true},"domains":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"leaf_certificate":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"not_after":{"type":"string","description_kind":"plain","computed":true},"private_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"sha1_fingerprint":{"type":"string","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","optional":true},"uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_container_registry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_url":{"type":"string","description_kind":"plain","computed":true},"storage_usage_bytes":{"type":"number","description_kind":"plain","computed":true},"subscription_tier_slug":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_container_registry_docker_credentials":{"version":0,"block":{"attributes":{"credential_expiration_time":{"type":"string","description_kind":"plain","computed":true},"docker_credentials":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"expiry_seconds":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_name":{"type":"string","description_kind":"plain","required":true},"write":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_custom_image":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"distribution":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image_id":{"type":"number","description_kind":"plain","computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"public":{"type":"bool","description_kind":"plain","computed":true},"regions":{"type":["set","string"],"description_kind":"plain","required":true},"size_gigabytes":{"type":"number","description_kind":"plain","computed":true},"slug":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","computed":true},"url":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_cluster":{"version":0,"block":{"attributes":{"database":{"type":"string","description_kind":"plain","computed":true},"engine":{"type":"string","description_kind":"plain","required":true},"eviction_policy":{"type":"string","description_kind":"plain","optional":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"size":{"type":"string","description_kind":"plain","required":true},"sql_mode":{"type":"string","description_kind":"plain","optional":true},"storage_size_mib":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"backup_restore":{"nesting_mode":"list","block":{"attributes":{"backup_created_at":{"type":"string","description_kind":"plain","optional":true},"database_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"maintenance_window":{"nesting_mode":"list","block":{"attributes":{"day":{"type":"string","description_kind":"plain","required":true},"hour":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"db_name":{"type":"string","description_kind":"plain","required":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"size":{"type":"number","description_kind":"plain","required":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_database_db":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_database_firewall":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"rule":{"nesting_mode":"set","block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","required":true},"uuid":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"digitalocean_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"partition_count":{"type":"number","description_kind":"plain","optional":true},"replication_factor":{"type":"number","description_kind":"plain","optional":true},"state":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cleanup_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"compression_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"delete_retention_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"file_delete_delay_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"flush_messages":{"type":"string","description_kind":"plain","optional":true,"computed":true},"flush_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"index_interval_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_compaction_lag_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_message_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_down_conversion_enable":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"message_format_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_timestamp_difference_max_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_timestamp_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_cleanable_dirty_ratio":{"type":"number","description_kind":"plain","optional":true,"computed":true},"min_compaction_lag_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description_kind":"plain","optional":true},"preallocate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"retention_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_index_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_jitter_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_mysql_config":{"version":0,"block":{"attributes":{"backup_hour":{"type":"number","description_kind":"plain","optional":true,"computed":true},"backup_minute":{"type":"number","description_kind":"plain","optional":true,"computed":true},"binlog_retention_period":{"type":"number","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"connect_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_time_zone":{"type":"string","description_kind":"plain","optional":true,"computed":true},"group_concat_max_len":{"type":"number","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"information_schema_stats_expiry":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_ft_min_token_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_ft_server_stopword_table":{"type":"string","description_kind":"plain","optional":true,"computed":true},"innodb_lock_wait_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_log_buffer_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_online_alter_log_max_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_print_all_deadlocks":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"innodb_rollback_on_timeout":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"interactive_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"internal_tmp_mem_storage_engine":{"type":"string","description_kind":"plain","optional":true,"computed":true},"long_query_time":{"type":"number","description_kind":"plain","optional":true,"computed":true},"max_allowed_packet":{"type":"number","description_kind":"plain","optional":true,"computed":true},"max_heap_table_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"net_read_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"net_write_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"slow_query_log":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"sort_buffer_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"sql_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"sql_require_primary_key":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"tmp_table_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"wait_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_redis_config":{"version":0,"block":{"attributes":{"acl_channels_default":{"type":"string","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"io_threads":{"type":"number","description_kind":"plain","optional":true,"computed":true},"lfu_decay_time":{"type":"number","description_kind":"plain","optional":true,"computed":true},"lfu_log_factor":{"type":"number","description_kind":"plain","optional":true,"computed":true},"maxmemory_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"notify_keyspace_events":{"type":"string","description_kind":"plain","optional":true,"computed":true},"number_of_databases":{"type":"number","description_kind":"plain","optional":true,"computed":true},"persistence":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pubsub_client_output_buffer_limit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"ssl":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_replica":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"database":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"region":{"type":"string","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","optional":true},"storage_size_mib":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"The unique universal identifier for the database replica.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_user":{"version":0,"block":{"attributes":{"access_cert":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mysql_auth_plugin":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"settings":{"nesting_mode":"list","block":{"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","computed":true},"permission":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_domain":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplet":{"version":1,"block":{"attributes":{"backups":{"type":"bool","description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"disk":{"type":"number","description_kind":"plain","computed":true},"droplet_agent":{"type":"bool","description_kind":"plain","optional":true},"graceful_shutdown":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description_kind":"plain","required":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"ipv4_address_private":{"type":"string","description_kind":"plain","computed":true},"ipv6":{"type":"bool","description_kind":"plain","optional":true},"ipv6_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"locked":{"type":"bool","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"price_hourly":{"type":"number","description_kind":"plain","computed":true},"price_monthly":{"type":"number","description_kind":"plain","computed":true},"private_networking":{"type":"bool","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resize_disk":{"type":"bool","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","required":true},"ssh_keys":{"type":["set","string"],"description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user_data":{"type":"string","description_kind":"plain","optional":true},"vcpus":{"type":"number","description_kind":"plain","computed":true},"volume_ids":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_droplet_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_firewall":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"pending_changes":{"type":["list",["object",{"droplet_id":"number","removing":"bool","status":"string"}]],"description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"inbound_rule":{"nesting_mode":"set","block":{"attributes":{"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true},"source_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"source_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"source_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"}},"outbound_rule":{"nesting_mode":"set","block":{"attributes":{"destination_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"destination_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_tags":{"type":["set","string"],"description_kind":"plain","optional":true},"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_floating_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the floating ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_floating_ip_assignment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_kubernetes_cluster":{"version":3,"block":{"attributes":{"auto_upgrade":{"type":"bool","description_kind":"plain","optional":true},"cluster_subnet":{"type":"string","description_kind":"plain","computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"destroy_all_associated_resources":{"type":"bool","description_kind":"plain","optional":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"ha":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"kube_config":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","expires_at":"string","host":"string","raw_config":"string","token":"string"}]],"description_kind":"plain","computed":true,"sensitive":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"registry_integration":{"type":"bool","description_kind":"plain","optional":true},"service_subnet":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"surge_upgrade":{"type":"bool","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","required":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"maintenance_policy":{"nesting_mode":"list","block":{"attributes":{"day":{"type":"string","description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description_kind":"plain","computed":true},"start_time":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"node_pool":{"nesting_mode":"list","block":{"attributes":{"actual_node_count":{"type":"number","description_kind":"plain","computed":true},"auto_scale":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"max_nodes":{"type":"number","description_kind":"plain","optional":true},"min_nodes":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","optional":true},"nodes":{"type":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"taint":{"nesting_mode":"set","block":{"attributes":{"effect":{"type":"string","description_kind":"plain","required":true},"key":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_kubernetes_node_pool":{"version":1,"block":{"attributes":{"actual_node_count":{"type":"number","description_kind":"plain","computed":true},"auto_scale":{"type":"bool","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"max_nodes":{"type":"number","description_kind":"plain","optional":true},"min_nodes":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","optional":true},"nodes":{"type":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"taint":{"nesting_mode":"set","block":{"attributes":{"effect":{"type":"string","description_kind":"plain","required":true},"key":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_loadbalancer":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description_kind":"plain","optional":true},"disable_lets_encrypt_dns_records":{"type":"bool","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true,"computed":true},"droplet_tag":{"type":"string","description_kind":"plain","optional":true},"enable_backend_keepalive":{"type":"bool","description_kind":"plain","optional":true},"enable_proxy_protocol":{"type":"bool","description_kind":"plain","optional":true},"http_idle_timeout_seconds":{"type":"number","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"redirect_http_to_https":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","optional":true},"size_unit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"the type of the load balancer (GLOBAL or REGIONAL)","description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the load balancer","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"firewall":{"nesting_mode":"set","block":{"attributes":{"allow":{"type":["list","string"],"description":"the rules for ALLOWING traffic to the LB (strings in the form: 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')","description_kind":"plain","optional":true},"deny":{"type":["list","string"],"description":"the rules for DENYING traffic to the LB (strings in the form: 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"forwarding_rule":{"nesting_mode":"set","block":{"attributes":{"certificate_id":{"type":"string","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"certificate_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"entry_port":{"type":"number","description_kind":"plain","required":true},"entry_protocol":{"type":"string","description_kind":"plain","required":true},"target_port":{"type":"number","description_kind":"plain","required":true},"target_protocol":{"type":"string","description_kind":"plain","required":true},"tls_passthrough":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"healthcheck":{"nesting_mode":"list","block":{"attributes":{"check_interval_seconds":{"type":"number","description_kind":"plain","optional":true},"healthy_threshold":{"type":"number","description_kind":"plain","optional":true},"path":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"response_timeout_seconds":{"type":"number","description_kind":"plain","optional":true},"unhealthy_threshold":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"sticky_sessions":{"nesting_mode":"list","block":{"attributes":{"cookie_name":{"type":"string","description_kind":"plain","optional":true},"cookie_ttl_seconds":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"digitalocean_monitor_alert":{"version":0,"block":{"attributes":{"compare":{"type":"string","description":"The comparison operator to use for value","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the alert policy","description_kind":"plain","required":true},"enabled":{"type":"bool","description_kind":"plain","optional":true},"entities":{"type":["set","string"],"description":"The droplets to apply the alert policy to","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"uuid":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"block_types":{"alerts":{"nesting_mode":"list","block":{"attributes":{"email":{"type":["list","string"],"description":"List of email addresses to sent notifications to","description_kind":"plain","optional":true}},"block_types":{"slack":{"nesting_mode":"list","block":{"attributes":{"channel":{"type":"string","description":"The Slack channel to send alerts to","description_kind":"plain","required":true},"url":{"type":"string","description":"The webhook URL for Slack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"List with details how to notify about the alert. Support for Slack or email.","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"digitalocean_project":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"the date and time when the project was created, (ISO8601)","description_kind":"plain","computed":true},"description":{"type":"string","description":"the description of the project","description_kind":"plain","optional":true},"environment":{"type":"string","description":"the environment of the project's resources","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"determine if the project is the default or not.","description_kind":"plain","optional":true},"name":{"type":"string","description":"the human-readable name for the project","description_kind":"plain","required":true},"owner_id":{"type":"number","description":"the id of the project owner.","description_kind":"plain","computed":true},"owner_uuid":{"type":"string","description":"the unique universal identifier of the project owner.","description_kind":"plain","computed":true},"purpose":{"type":"string","description":"the purpose of the project","description_kind":"plain","optional":true},"resources":{"type":["set","string"],"description":"the resources associated with the project","description_kind":"plain","optional":true,"computed":true},"updated_at":{"type":"string","description":"the date and time when the project was last updated, (ISO8601)","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_project_resources":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project":{"type":"string","description":"project ID","description_kind":"plain","required":true},"resources":{"type":["set","string"],"description":"the resources associated with the project","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_record":{"version":0,"block":{"attributes":{"domain":{"type":"string","description_kind":"plain","required":true},"flags":{"type":"number","description_kind":"plain","optional":true},"fqdn":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"port":{"type":"number","description_kind":"plain","optional":true},"priority":{"type":"number","description_kind":"plain","optional":true},"tag":{"type":"string","description_kind":"plain","optional":true},"ttl":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_reserved_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the reserved ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_reserved_ip_assignment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket":{"version":0,"block":{"attributes":{"acl":{"type":"string","description":"Canned ACL applied on bucket creation","description_kind":"plain","optional":true},"bucket_domain_name":{"type":"string","description":"The FQDN of the bucket","description_kind":"plain","computed":true},"endpoint":{"type":"string","description":"The FQDN of the bucket without the bucket name","description_kind":"plain","computed":true},"force_destroy":{"type":"bool","description":"Unless true, the bucket will only be destroyed if empty","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Bucket name","description_kind":"plain","required":true},"region":{"type":"string","description":"Bucket region","description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the bucket","description_kind":"plain","computed":true}},"block_types":{"cors_rule":{"nesting_mode":"list","block":{"attributes":{"allowed_headers":{"type":["list","string"],"description":"A list of headers that will be included in the CORS preflight request's Access-Control-Request-Headers. A header may contain one wildcard (e.g. x-amz-*).","description_kind":"plain","optional":true},"allowed_methods":{"type":["list","string"],"description":"A list of HTTP methods (e.g. GET) which are allowed from the specified origin.","description_kind":"plain","required":true},"allowed_origins":{"type":["list","string"],"description":"A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com).","description_kind":"plain","required":true},"max_age_seconds":{"type":"number","description_kind":"plain","optional":true}},"description":"A container holding a list of elements describing allowed methods for a specific origin.","description_kind":"plain","deprecated":true}},"lifecycle_rule":{"nesting_mode":"list","block":{"attributes":{"abort_incomplete_multipart_upload_days":{"type":"number","description_kind":"plain","optional":true},"enabled":{"type":"bool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"prefix":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"expiration":{"nesting_mode":"set","block":{"attributes":{"date":{"type":"string","description_kind":"plain","optional":true},"days":{"type":"number","description_kind":"plain","optional":true},"expired_object_delete_marker":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"noncurrent_version_expiration":{"nesting_mode":"set","block":{"attributes":{"days":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"versioning":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"digitalocean_spaces_bucket_cors_configuration":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description":"Bucket ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true}},"block_types":{"cors_rule":{"nesting_mode":"set","block":{"attributes":{"allowed_headers":{"type":["set","string"],"description_kind":"plain","optional":true},"allowed_methods":{"type":["set","string"],"description_kind":"plain","required":true},"allowed_origins":{"type":["set","string"],"description_kind":"plain","required":true},"expose_headers":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true},"max_age_seconds":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":100}},"description_kind":"plain"}},"digitalocean_spaces_bucket_object":{"version":0,"block":{"attributes":{"acl":{"type":"string","description_kind":"plain","optional":true},"bucket":{"type":"string","description_kind":"plain","required":true},"cache_control":{"type":"string","description_kind":"plain","optional":true},"content":{"type":"string","description_kind":"plain","optional":true},"content_base64":{"type":"string","description_kind":"plain","optional":true},"content_disposition":{"type":"string","description_kind":"plain","optional":true},"content_encoding":{"type":"string","description_kind":"plain","optional":true},"content_language":{"type":"string","description_kind":"plain","optional":true},"content_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"etag":{"type":"string","description_kind":"plain","optional":true,"computed":true},"force_destroy":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description_kind":"plain","required":true},"metadata":{"type":["map","string"],"description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"source":{"type":"string","description_kind":"plain","optional":true},"version_id":{"type":"string","description_kind":"plain","computed":true},"website_redirect":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_policy":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_ssh_key":{"version":0,"block":{"attributes":{"fingerprint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"public_key":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_tag":{"version":0,"block":{"attributes":{"databases_count":{"type":"number","description_kind":"plain","computed":true},"droplets_count":{"type":"number","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images_count":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"total_resource_count":{"type":"number","description_kind":"plain","computed":true},"volume_snapshots_count":{"type":"number","description_kind":"plain","computed":true},"volumes_count":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_uptime_alert":{"version":0,"block":{"attributes":{"check_id":{"type":"string","description":"A unique identifier for a check.","description_kind":"plain","required":true},"comparison":{"type":"string","description":"The comparison operator used against the alert's threshold. Enum: 'greater_than' 'less_than","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description":"A human-friendly display name for the alert.","description_kind":"plain","required":true},"period":{"type":"string","description":"Period of time the threshold must be exceeded to trigger the alert. Enum '2m' '3m' '5m' '10m' '15m' '30m' '1h'","description_kind":"plain","optional":true},"threshold":{"type":"number","description":"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of health check to perform. Enum: 'latency' 'down' 'down_global' 'ssl_expiry'","description_kind":"plain","required":true}},"block_types":{"notifications":{"nesting_mode":"list","block":{"attributes":{"email":{"type":["list","string"],"description":"List of email addresses to sent notifications to","description_kind":"plain","optional":true}},"block_types":{"slack":{"nesting_mode":"list","block":{"attributes":{"channel":{"type":"string","description":"The Slack channel to send alerts to","description_kind":"plain","required":true},"url":{"type":"string","description":"The webhook URL for Slack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The notification settings for a trigger alert.","description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"digitalocean_uptime_check":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description":"A boolean value indicating whether the check is enabled/disabled.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description":"A human-friendly display name for the check.","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description":"An array containing the selected regions to perform healthchecks from.","description_kind":"plain","optional":true},"target":{"type":"string","description":"The endpoint to perform healthchecks on.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of health check to perform. Enum: 'ping' 'http' 'https'","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_volume":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","computed":true},"filesystem_label":{"type":"string","description_kind":"plain","computed":true},"filesystem_type":{"type":"string","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_filesystem_label":{"type":"string","description_kind":"plain","optional":true},"initial_filesystem_type":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"snapshot_id":{"type":"string","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the volume.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_volume_attachment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"volume_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_volume_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"volume_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_vpc":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"The date and time of when the VPC was created","description_kind":"plain","computed":true},"default":{"type":"bool","description":"Whether or not the VPC is the default one for the region","description_kind":"plain","computed":true},"description":{"type":"string","description":"A free-form description for the VPC","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_range":{"type":"string","description":"The range of IP addresses for the VPC in CIDR notation","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the VPC","description_kind":"plain","required":true},"region":{"type":"string","description":"DigitalOcean region slug for the VPC's location","description_kind":"plain","required":true},"urn":{"type":"string","description":"The uniform resource name (URN) for the VPC","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"digitalocean_account":{"version":0,"block":{"attributes":{"droplet_limit":{"type":"number","description":"The total number of Droplets current user or team may have active at one time.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address used by the current user to register for DigitalOcean.","description_kind":"plain","computed":true},"email_verified":{"type":"bool","description":"If true, the user has verified their account via email. False otherwise.","description_kind":"plain","computed":true},"floating_ip_limit":{"type":"number","description":"The total number of Floating IPs the current user or team may have.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description":"This value is one of \"active\", \"warning\" or \"locked\".","description_kind":"plain","computed":true},"status_message":{"type":"string","description":"A human-readable message giving more details about the status of the account.","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"The unique universal identifier for the current user.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_app":{"version":0,"block":{"attributes":{"active_deployment_id":{"type":"string","description":"The ID the App's currently active deployment","description_kind":"plain","computed":true},"app_id":{"type":"string","description_kind":"plain","required":true},"created_at":{"type":"string","description":"The date and time of when the App was created","description_kind":"plain","computed":true},"default_ingress":{"type":"string","description":"The default URL to access the App","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"live_url":{"type":"string","description_kind":"plain","computed":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"spec":{"type":["list",["object",{"alert":["set",["object",{"disabled":"bool","rule":"string"}]],"database":["list",["object",{"cluster_name":"string","db_name":"string","db_user":"string","engine":"string","name":"string","production":"bool","version":"string"}]],"domain":["list",["object",{"name":"string","type":"string","wildcard":"bool","zone":"string"}]],"domains":["set","string"],"env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"features":["set","string"],"function":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"source_dir":"string"}]],"ingress":["list",["object",{"rule":["list",["object",{"component":["list",["object",{"name":"string","preserve_path_prefix":"bool","rewrite":"string"}]],"cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"match":["list",["object",{"path":["list",["object",{"prefix":"string"}]]}]],"redirect":["list",["object",{"authority":"string","port":"number","redirect_code":"number","scheme":"string","uri":"string"}]]}]]}]],"job":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","kind":"string","log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","run_command":"string","source_dir":"string"}]],"name":"string","region":"string","service":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"health_check":["list",["object",{"failure_threshold":"number","http_path":"string","initial_delay_seconds":"number","period_seconds":"number","port":"number","success_threshold":"number","timeout_seconds":"number"}]],"http_port":"number","image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","internal_ports":["set","number"],"log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"run_command":"string","source_dir":"string"}]],"static_site":["list",["object",{"build_command":"string","catchall_document":"string","cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","error_document":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"index_document":"string","name":"string","output_dir":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"source_dir":"string"}]],"worker":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","run_command":"string","source_dir":"string"}]]}]],"description":"A DigitalOcean App Platform Spec","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"The date and time of when the App was last updated","description_kind":"plain","computed":true},"urn":{"type":"string","description":"The uniform resource identifier for the app","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_certificate":{"version":0,"block":{"attributes":{"domains":{"type":["set","string"],"description":"domains for which the certificate was issued","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the certificate","description_kind":"plain","required":true},"not_after":{"type":"string","description":"expiration date and time of the certificate","description_kind":"plain","computed":true},"sha1_fingerprint":{"type":"string","description":"SHA1 fingerprint of the certificate","description_kind":"plain","computed":true},"state":{"type":"string","description":"current state of the certificate","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the certificate","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"uuid of the certificate","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_container_registry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the container registry","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","computed":true},"server_url":{"type":"string","description_kind":"plain","computed":true},"storage_usage_bytes":{"type":"number","description_kind":"plain","computed":true},"subscription_tier_slug":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_ca":{"version":0,"block":{"attributes":{"certificate":{"type":"string","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_cluster":{"version":0,"block":{"attributes":{"database":{"type":"string","description_kind":"plain","computed":true},"engine":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maintenance_window":{"type":["list",["object",{"day":"string","hour":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","computed":true},"storage_size_mib":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"db_name":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"size":{"type":"number","description_kind":"plain","computed":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_replica":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"database":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"region":{"type":"string","description_kind":"plain","computed":true},"storage_size_mib":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true},"uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_user":{"version":0,"block":{"attributes":{"access_cert":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mysql_auth_plugin":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role":{"type":"string","description_kind":"plain","computed":true},"settings":{"type":["list",["object",{"acl":["list",["object",{"id":"string","permission":"string","topic":"string"}]]}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_domain":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the domain","description_kind":"plain","required":true},"ttl":{"type":"number","description":"ttl of the domain","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the domain","description_kind":"plain","computed":true},"zone_file":{"type":"string","description":"zone file of the domain","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_domains":{"version":0,"block":{"attributes":{"domains":{"type":["list",["object",{"name":"string","ttl":"number","urn":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_droplet":{"version":0,"block":{"attributes":{"backups":{"type":"bool","description":"whether the Droplet has backups enabled","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"the creation date for the Droplet","description_kind":"plain","computed":true},"disk":{"type":"number","description":"the size of the Droplets disk in gigabytes","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the Droplet","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"the image id or slug of the Droplet","description_kind":"plain","computed":true},"ipv4_address":{"type":"string","description":"the Droplets public ipv4 address","description_kind":"plain","computed":true},"ipv4_address_private":{"type":"string","description":"the Droplets private ipv4 address","description_kind":"plain","computed":true},"ipv6":{"type":"bool","description":"whether the Droplet has ipv6 enabled","description_kind":"plain","computed":true},"ipv6_address":{"type":"string","description":"the Droplets public ipv6 address","description_kind":"plain","computed":true},"ipv6_address_private":{"type":"string","description":"the Droplets private ipv4 address","description_kind":"plain","computed":true},"locked":{"type":"bool","description":"whether the Droplet has been locked","description_kind":"plain","computed":true},"memory":{"type":"number","description":"memory of the Droplet in megabytes","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"whether the Droplet has monitoring enabled","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the Droplet","description_kind":"plain","optional":true,"computed":true},"price_hourly":{"type":"number","description":"the Droplets hourly price","description_kind":"plain","computed":true},"price_monthly":{"type":"number","description":"the Droplets monthly price","description_kind":"plain","computed":true},"private_networking":{"type":"bool","description":"whether the Droplet has private networking enabled","description_kind":"plain","computed":true},"region":{"type":"string","description":"the region that the Droplet instance is deployed in","description_kind":"plain","computed":true},"size":{"type":"string","description":"the current size of the Droplet","description_kind":"plain","computed":true},"status":{"type":"string","description":"state of the Droplet instance","description_kind":"plain","computed":true},"tag":{"type":"string","description":"unique tag of the Droplet","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the Droplet","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"the number of virtual cpus","description_kind":"plain","computed":true},"volume_ids":{"type":["set","string"],"description":"list of volumes attached to the Droplet","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description":"UUID of the VPC in which the Droplet is located","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplet_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"most_recent":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"name_regex":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplets":{"version":0,"block":{"attributes":{"droplets":{"type":["list",["object",{"backups":"bool","created_at":"string","disk":"number","id":"number","image":"string","ipv4_address":"string","ipv4_address_private":"string","ipv6":"bool","ipv6_address":"string","ipv6_address_private":"string","locked":"bool","memory":"number","monitoring":"bool","name":"string","price_hourly":"number","price_monthly":"number","private_networking":"bool","region":"string","size":"string","status":"string","tags":["set","string"],"urn":"string","vcpus":"number","volume_ids":["set","string"],"vpc_uuid":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_firewall":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"pending_changes":{"type":["list",["object",{"droplet_id":"number","removing":"bool","status":"string"}]],"description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"block_types":{"inbound_rule":{"nesting_mode":"set","block":{"attributes":{"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true},"source_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"source_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"source_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"}},"outbound_rule":{"nesting_mode":"set","block":{"attributes":{"destination_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"destination_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_tags":{"type":["set","string"],"description_kind":"plain","optional":true},"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_floating_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description":"the droplet id that the floating ip has been assigned to.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description":"floating ip address","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the floating ip is reserved to","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the floating ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_image":{"version":0,"block":{"attributes":{"created":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"a description of the image","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"distribution of the OS of the image","description_kind":"plain","computed":true},"error_message":{"type":"string","description":"error message associated with the image","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the image","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"slug or id of the image","description_kind":"plain","computed":true},"min_disk_size":{"type":"number","description":"minimum disk size required by the image","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the image","description_kind":"plain","optional":true,"computed":true},"private":{"type":"bool","description":"Is the image private or non-private","description_kind":"plain","computed":true},"regions":{"type":["set","string"],"description":"list of the regions that the image is available in","description_kind":"plain","computed":true},"size_gigabytes":{"type":"number","description":"size in GB of the image","description_kind":"plain","computed":true},"slug":{"type":"string","description":"slug of the image","description_kind":"plain","optional":true,"computed":true},"source":{"type":"string","description_kind":"plain","optional":true},"status":{"type":"string","description":"status of the image","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"tags applied to the image","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the image","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_images":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images":{"type":["list",["object",{"created":"string","description":"string","distribution":"string","error_message":"string","id":"number","image":"string","min_disk_size":"number","name":"string","private":"bool","regions":["set","string"],"size_gigabytes":"number","slug":"string","status":"string","tags":["set","string"],"type":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_kubernetes_cluster":{"version":0,"block":{"attributes":{"auto_upgrade":{"type":"bool","description_kind":"plain","computed":true},"cluster_subnet":{"type":"string","description_kind":"plain","computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"ha":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"kube_config":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","expires_at":"string","host":"string","raw_config":"string","token":"string"}]],"description_kind":"plain","computed":true,"sensitive":true},"maintenance_policy":{"type":["list",["object",{"day":"string","duration":"string","start_time":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_pool":{"type":["list",["object",{"actual_node_count":"number","auto_scale":"bool","id":"string","labels":["map","string"],"max_nodes":"number","min_nodes":"number","name":"string","node_count":"number","nodes":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"size":"string","tags":["set","string"],"taint":["set",["object",{"effect":"string","key":"string","value":"string"}]]}]],"description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_subnet":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"surge_upgrade":{"type":"bool","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_kubernetes_versions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"latest_version":{"type":"string","description_kind":"plain","computed":true},"valid_versions":{"type":["list","string"],"description_kind":"plain","computed":true},"version_prefix":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_loadbalancer":{"version":0,"block":{"attributes":{"algorithm":{"type":"string","description":"algorithm used to determine which backend Droplet will be selected by a client","description_kind":"plain","computed":true},"disable_lets_encrypt_dns_records":{"type":"bool","description":"whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description":"ids of the droplets assigned to the load balancer","description_kind":"plain","computed":true},"droplet_tag":{"type":"string","description":"the name of a tag corresponding to droplets assigned to the load balancer","description_kind":"plain","computed":true},"enable_backend_keepalive":{"type":"bool","description":"whether HTTP keepalive connections are maintained to target Droplets","description_kind":"plain","computed":true},"enable_proxy_protocol":{"type":"bool","description":"whether PROXY Protocol should be used to pass information from connecting client requests to the backend service","description_kind":"plain","computed":true},"firewall":{"type":["list",["object",{"allow":["set","string"],"deny":["set","string"]}]],"description":"the firewall rules for allowing/denying traffic to the load balancer","description_kind":"plain","computed":true},"forwarding_rule":{"type":["set",["object",{"certificate_id":"string","certificate_name":"string","entry_port":"number","entry_protocol":"string","target_port":"number","target_protocol":"string","tls_passthrough":"bool"}]],"description":"list of forwarding rules of the load balancer","description_kind":"plain","computed":true},"healthcheck":{"type":["list",["object",{"check_interval_seconds":"number","healthy_threshold":"number","path":"string","port":"number","protocol":"string","response_timeout_seconds":"number","unhealthy_threshold":"number"}]],"description":"health check settings for the load balancer","description_kind":"plain","computed":true},"http_idle_timeout_seconds":{"type":"number","description":" Specifies the idle timeout for HTTPS connections on the load balancer.","description_kind":"plain","computed":true},"id":{"type":"string","description":"id of the load balancer","description_kind":"plain","optional":true},"ip":{"type":"string","description":"public-facing IP address of the load balancer","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the load balancer","description_kind":"plain","optional":true},"project_id":{"type":"string","description":"The ID of the project that the load balancer is associated with.","description_kind":"plain","computed":true},"redirect_http_to_https":{"type":"bool","description":"whether http requests will be redirected to https","description_kind":"plain","computed":true},"region":{"type":"string","description":"the region that the load balancer is deployed in","description_kind":"plain","computed":true},"size":{"type":"string","description":"the size of the load balancer","description_kind":"plain","computed":true},"size_unit":{"type":"number","description":"the size of the load balancer.","description_kind":"plain","computed":true},"status":{"type":"string","description":"current state of the Load Balancer","description_kind":"plain","computed":true},"sticky_sessions":{"type":["list",["object",{"cookie_name":"string","cookie_ttl_seconds":"number","type":"string"}]],"description":"sticky sessions settings for the load balancer","description_kind":"plain","computed":true},"type":{"type":"string","description":"the type of the load balancer (GLOBAL or REGIONAL)","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description":"the uniform resource name for the load balancer","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description":"UUID of the VPC in which the load balancer is located","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_project":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"the date and time when the project was created, (ISO8601)","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"environment":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"owner_id":{"type":"number","description_kind":"plain","computed":true},"owner_uuid":{"type":"string","description_kind":"plain","computed":true},"purpose":{"type":"string","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"the date and time when the project was last updated, (ISO8601)","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_projects":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"projects":{"type":["list",["object",{"created_at":"string","description":"string","environment":"string","id":"string","is_default":"bool","name":"string","owner_id":"number","owner_uuid":"string","purpose":"string","resources":["set","string"],"updated_at":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_record":{"version":0,"block":{"attributes":{"data":{"type":"string","description":"name record data","description_kind":"plain","computed":true},"domain":{"type":"string","description":"domain of the name record","description_kind":"plain","required":true},"flags":{"type":"number","description":"flags of the name record","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the record","description_kind":"plain","required":true},"port":{"type":"number","description":"port of the name record","description_kind":"plain","computed":true},"priority":{"type":"number","description":"priority of the name record","description_kind":"plain","computed":true},"tag":{"type":"string","description":"tag of the name record","description_kind":"plain","computed":true},"ttl":{"type":"number","description":"ttl of the name record","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the name record","description_kind":"plain","computed":true},"weight":{"type":"number","description":"weight of the name record","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_records":{"version":0,"block":{"attributes":{"domain":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"records":{"type":["list",["object",{"domain":"string","flags":"number","id":"number","name":"string","port":"number","priority":"number","tag":"string","ttl":"number","type":"string","value":"string","weight":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_region":{"version":0,"block":{"attributes":{"available":{"type":"bool","description_kind":"plain","computed":true},"features":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"sizes":{"type":["set","string"],"description_kind":"plain","computed":true},"slug":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_regions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"regions":{"type":["list",["object",{"available":"bool","features":["set","string"],"name":"string","sizes":["set","string"],"slug":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_reserved_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description":"the droplet id that the reserved ip has been assigned to.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description":"reserved ip address","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the reserved ip is reserved to","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the reserved ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_sizes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"sizes":{"type":["list",["object",{"available":"bool","disk":"number","memory":"number","price_hourly":"number","price_monthly":"number","regions":["set","string"],"slug":"string","transfer":"number","vcpus":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_spaces_bucket":{"version":0,"block":{"attributes":{"bucket_domain_name":{"type":"string","description":"The FQDN of the bucket","description_kind":"plain","computed":true},"endpoint":{"type":"string","description":"The FQDN of the bucket without the bucket name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Bucket name","description_kind":"plain","required":true},"region":{"type":"string","description":"Bucket region","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the bucket","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_object":{"version":0,"block":{"attributes":{"body":{"type":"string","description_kind":"plain","computed":true},"bucket":{"type":"string","description_kind":"plain","required":true},"cache_control":{"type":"string","description_kind":"plain","computed":true},"content_disposition":{"type":"string","description_kind":"plain","computed":true},"content_encoding":{"type":"string","description_kind":"plain","computed":true},"content_language":{"type":"string","description_kind":"plain","computed":true},"content_length":{"type":"number","description_kind":"plain","computed":true},"content_type":{"type":"string","description_kind":"plain","computed":true},"etag":{"type":"string","description_kind":"plain","computed":true},"expiration":{"type":"string","description_kind":"plain","computed":true},"expires":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description_kind":"plain","required":true},"last_modified":{"type":"string","description_kind":"plain","computed":true},"metadata":{"type":["map","string"],"description_kind":"plain","computed":true},"range":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"version_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"website_redirect_location":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_objects":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description_kind":"plain","required":true},"common_prefixes":{"type":["list","string"],"description_kind":"plain","computed":true},"delimiter":{"type":"string","description_kind":"plain","optional":true},"encoding_type":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["list","string"],"description_kind":"plain","computed":true},"max_keys":{"type":"number","description_kind":"plain","optional":true},"owners":{"type":["list","string"],"description_kind":"plain","computed":true},"prefix":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_spaces_buckets":{"version":0,"block":{"attributes":{"buckets":{"type":["list",["object",{"bucket_domain_name":"string","endpoint":"string","name":"string","region":"string","urn":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_ssh_key":{"version":0,"block":{"attributes":{"fingerprint":{"type":"string","description":"fingerprint of the ssh key","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the ssh key","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the ssh key","description_kind":"plain","required":true},"public_key":{"type":"string","description":"public key part of the ssh key","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_ssh_keys":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssh_keys":{"type":["list",["object",{"fingerprint":"string","id":"number","name":"string","public_key":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_tag":{"version":0,"block":{"attributes":{"databases_count":{"type":"number","description_kind":"plain","computed":true},"droplets_count":{"type":"number","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images_count":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the tag","description_kind":"plain","required":true},"total_resource_count":{"type":"number","description_kind":"plain","computed":true},"volume_snapshots_count":{"type":"number","description_kind":"plain","computed":true},"volumes_count":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_tags":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["list",["object",{"databases_count":"number","droplets_count":"number","images_count":"number","name":"string","total_resource_count":"number","volume_snapshots_count":"number","volumes_count":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_volume":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"volume description","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description":"list of droplet ids the volume is attached to","description_kind":"plain","computed":true},"filesystem_label":{"type":"string","description":"the label currently applied to the filesystem","description_kind":"plain","computed":true},"filesystem_type":{"type":"string","description":"the type of filesystem currently in-use on the volume","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the volume","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the volume is provisioned in","description_kind":"plain","optional":true},"size":{"type":"number","description":"the size of the volume in gigabytes","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description":"the iniform resource name for the volume","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_volume_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"most_recent":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"name_regex":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"volume_id":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_vpc":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_range":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/digitalocean/digitalocean":{"provider":{"version":0,"block":{"attributes":{"api_endpoint":{"type":"string","description":"The URL to use for the DigitalOcean API.","description_kind":"plain","optional":true},"http_retry_max":{"type":"number","description":"The maximum number of retries on a failed API request.","description_kind":"plain","optional":true},"http_retry_wait_max":{"type":"number","description":"The maximum wait time (in seconds) between failed API requests.","description_kind":"plain","optional":true},"http_retry_wait_min":{"type":"number","description":"The minimum wait time (in seconds) between failed API requests.","description_kind":"plain","optional":true},"requests_per_second":{"type":"number","description":"The rate of requests per second to limit the HTTP client.","description_kind":"plain","optional":true},"spaces_access_id":{"type":"string","description":"The access key ID for Spaces API operations.","description_kind":"plain","optional":true},"spaces_endpoint":{"type":"string","description":"The URL to use for the DigitalOcean Spaces API.","description_kind":"plain","optional":true},"spaces_secret_key":{"type":"string","description":"The secret access key for Spaces API operations.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The token key for API operations.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"digitalocean_app":{"version":0,"block":{"attributes":{"active_deployment_id":{"type":"string","description":"The ID the App's currently active deployment","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"The date and time of when the App was created","description_kind":"plain","computed":true},"default_ingress":{"type":"string","description":"The default URL to access the App","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"live_url":{"type":"string","description_kind":"plain","computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"updated_at":{"type":"string","description":"The date and time of when the App was last updated","description_kind":"plain","computed":true},"urn":{"type":"string","description":"The uniform resource identifier for the app","description_kind":"plain","computed":true}},"block_types":{"spec":{"nesting_mode":"list","block":{"attributes":{"domains":{"type":["set","string"],"description_kind":"plain","deprecated":true,"optional":true,"computed":true},"features":{"type":["set","string"],"description":"List of features which is applied to the app","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the app. Must be unique across all apps in the same account.","description_kind":"plain","required":true},"region":{"type":"string","description":"The slug for the DigitalOcean data center region hosting the app","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"rule":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"database":{"nesting_mode":"list","block":{"attributes":{"cluster_name":{"type":"string","description":"The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.","description_kind":"plain","optional":true},"db_name":{"type":"string","description":"The name of the MySQL or PostgreSQL database to configure.","description_kind":"plain","optional":true},"db_user":{"type":"string","description":"The name of the MySQL or PostgreSQL user to configure.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The database engine to use.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","optional":true},"production":{"type":"bool","description":"Whether this is a production or dev database.","description_kind":"plain","optional":true},"version":{"type":"string","description":"The version of the database engine.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"domain":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The hostname for the domain.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of the domain.","description_kind":"plain","optional":true,"computed":true},"wildcard":{"type":"bool","description":"Indicates whether the domain includes all sub-domains, in addition to the given domain.","description_kind":"plain","optional":true,"computed":true},"zone":{"type":"string","description":"If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"function":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"ingress":{"nesting_mode":"list","block":{"block_types":{"rule":{"nesting_mode":"list","block":{"block_types":{"component":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"preserve_path_prefix":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"rewrite":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"match":{"nesting_mode":"list","block":{"block_types":{"path":{"nesting_mode":"list","block":{"attributes":{"prefix":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"redirect":{"nesting_mode":"list","block":{"attributes":{"authority":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"redirect_code":{"type":"number","description_kind":"plain","optional":true},"scheme":{"type":"string","description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"job":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"kind":{"type":"string","description":"The type of job and when it will be run during the deployment process.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}}},"description_kind":"plain"}},"service":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"http_port":{"type":"number","description":"The internal port on which this service's run command will listen.","description_kind":"plain","optional":true,"computed":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"internal_ports":{"type":["set","number"],"description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true,"computed":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"health_check":{"nesting_mode":"list","block":{"attributes":{"failure_threshold":{"type":"number","description":"The number of failed health checks before considered unhealthy.","description_kind":"plain","optional":true},"http_path":{"type":"string","description":"The route path used for the HTTP health check ping.","description_kind":"plain","optional":true},"initial_delay_seconds":{"type":"number","description":"The number of seconds to wait before beginning health checks.","description_kind":"plain","optional":true},"period_seconds":{"type":"number","description":"The number of seconds to wait between health checks.","description_kind":"plain","optional":true},"port":{"type":"number","description":"The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port.","description_kind":"plain","optional":true},"success_threshold":{"type":"number","description":"The number of successful health checks before considered healthy.","description_kind":"plain","optional":true},"timeout_seconds":{"type":"number","description":"The number of seconds after which the check times out.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"static_site":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"catchall_document":{"type":"string","description":"The name of the document to use as the fallback for any requests to documents that are not found when serving this static site.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"error_document":{"type":"string","description":"The name of the error document to use when serving this static site.","description_kind":"plain","optional":true},"index_document":{"type":"string","description":"The name of the index document to use when serving this static site.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"output_dir":{"type":"string","description":"An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"cors":{"nesting_mode":"list","block":{"attributes":{"allow_credentials":{"type":"bool","description":"Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.","description_kind":"plain","optional":true},"allow_headers":{"type":["set","string"],"description":"The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.","description_kind":"plain","optional":true},"allow_methods":{"type":["set","string"],"description":"The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.","description_kind":"plain","optional":true},"expose_headers":{"type":["set","string"],"description":"The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers header.","description_kind":"plain","optional":true},"max_age":{"type":"string","description":"An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.","description_kind":"plain","optional":true}},"block_types":{"allow_origins":{"nesting_mode":"list","block":{"attributes":{"exact":{"type":"string","description":"Exact string match.","description_kind":"plain","optional":true},"prefix":{"type":"string","description":"Prefix-based match. ","description_kind":"plain","optional":true},"regex":{"type":"string","description":"RE2 style regex-based match.","description_kind":"plain","optional":true}},"description":"The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.","description_kind":"plain"},"max_items":1}},"description_kind":"plain","deprecated":true},"max_items":1},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"routes":{"nesting_mode":"list","block":{"attributes":{"path":{"type":"string","description":"Path specifies an route by HTTP path prefix. Paths must start with / and must be unique within the app.","description_kind":"plain","optional":true},"preserve_path_prefix":{"type":"bool","description":" An optional flag to preserve the path that is forwarded to the backend service.","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain"}},"worker":{"nesting_mode":"list","block":{"attributes":{"build_command":{"type":"string","description":"An optional build command to run while building this component from source.","description_kind":"plain","optional":true},"dockerfile_path":{"type":"string","description":"The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks.","description_kind":"plain","optional":true},"environment_slug":{"type":"string","description":"An environment slug describing the type of this app.","description_kind":"plain","optional":true},"instance_count":{"type":"number","description":"The amount of instances that this component should be scaled to.","description_kind":"plain","optional":true},"instance_size_slug":{"type":"string","description":"The instance size to use for this component.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the component","description_kind":"plain","required":true},"run_command":{"type":"string","description":"An optional run command to override the component's default.","description_kind":"plain","optional":true},"source_dir":{"type":"string","description":"An optional path to the working directory to use for the build.","description_kind":"plain","optional":true}},"block_types":{"alert":{"nesting_mode":"list","block":{"attributes":{"disabled":{"type":"bool","description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"description":"Alert policies for the app component","description_kind":"plain"}},"env":{"nesting_mode":"set","block":{"attributes":{"key":{"type":"string","description":"The name of the environment variable.","description_kind":"plain","optional":true},"scope":{"type":"string","description":"The visibility scope of the environment variable.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of the environment variable.","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The value of the environment variable.","description_kind":"plain","optional":true,"sensitive":true}},"description_kind":"plain"}},"git":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"repo_clone_url":{"type":"string","description":"The clone URL of the repo.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"github":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"gitlab":{"nesting_mode":"list","block":{"attributes":{"branch":{"type":"string","description":"The name of the branch to use.","description_kind":"plain","optional":true},"deploy_on_push":{"type":"bool","description":"Whether to automatically deploy new commits made to the repo","description_kind":"plain","optional":true},"repo":{"type":"string","description":"The name of the repo in the format `owner/repo`.","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"image":{"nesting_mode":"list","block":{"attributes":{"registry":{"type":"string","description":"The registry name. Must be left empty for the DOCR registry type.","description_kind":"plain","optional":true},"registry_type":{"type":"string","description":"The registry type.","description_kind":"plain","required":true},"repository":{"type":"string","description":"The repository name.","description_kind":"plain","required":true},"tag":{"type":"string","description":"The repository tag. Defaults to latest if not provided.","description_kind":"plain","optional":true}},"block_types":{"deploy_on_push":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether to automatically deploy images pushed to DOCR.","description_kind":"plain","optional":true}},"description":"Configures automatically deploying images pushed to DOCR.","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"log_destination":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"Name of the log destination","description_kind":"plain","required":true}},"block_types":{"datadog":{"nesting_mode":"list","block":{"attributes":{"api_key":{"type":"string","description":"Datadog API key.","description_kind":"plain","required":true},"endpoint":{"type":"string","description":"Datadog HTTP log intake endpoint.","description_kind":"plain","optional":true}},"description":"Datadog configuration.","description_kind":"plain"},"max_items":1},"logtail":{"nesting_mode":"list","block":{"attributes":{"token":{"type":"string","description":"Logtail token.","description_kind":"plain","required":true}},"description":"Logtail configuration.","description_kind":"plain"},"max_items":1},"papertrail":{"nesting_mode":"list","block":{"attributes":{"endpoint":{"type":"string","description":"Papertrail syslog endpoint.","description_kind":"plain","required":true}},"description":"Papertrail configuration.","description_kind":"plain"},"max_items":1}},"description":"Logs","description_kind":"plain"}}},"description_kind":"plain"}}},"description":"A DigitalOcean App Platform Spec","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_cdn":{"version":1,"block":{"attributes":{"certificate_id":{"type":"string","description":"ID of a DigitalOcean managed TLS certificate for use with custom domains","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"certificate_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"The date and time (ISO8601) of when the CDN endpoint was created.","description_kind":"plain","computed":true},"custom_domain":{"type":"string","description":"fully qualified domain name (FQDN) for custom subdomain, (requires certificate_id)","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"fully qualified domain name (FQDN) to serve the CDN content","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"origin":{"type":"string","description":"fully qualified domain name (FQDN) for the origin server","description_kind":"plain","required":true},"ttl":{"type":"number","description":"The amount of time the content is cached in the CDN","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_certificate":{"version":1,"block":{"attributes":{"certificate_chain":{"type":"string","description_kind":"plain","optional":true},"domains":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"leaf_certificate":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"not_after":{"type":"string","description_kind":"plain","computed":true},"private_key":{"type":"string","description_kind":"plain","optional":true,"sensitive":true},"sha1_fingerprint":{"type":"string","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","optional":true},"uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_container_registry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_url":{"type":"string","description_kind":"plain","computed":true},"storage_usage_bytes":{"type":"number","description_kind":"plain","computed":true},"subscription_tier_slug":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_container_registry_docker_credentials":{"version":0,"block":{"attributes":{"credential_expiration_time":{"type":"string","description_kind":"plain","computed":true},"docker_credentials":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"expiry_seconds":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_name":{"type":"string","description_kind":"plain","required":true},"write":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_custom_image":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"distribution":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image_id":{"type":"number","description_kind":"plain","computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"public":{"type":"bool","description_kind":"plain","computed":true},"regions":{"type":["set","string"],"description_kind":"plain","required":true},"size_gigabytes":{"type":"number","description_kind":"plain","computed":true},"slug":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","computed":true},"url":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_cluster":{"version":0,"block":{"attributes":{"database":{"type":"string","description_kind":"plain","computed":true},"engine":{"type":"string","description_kind":"plain","required":true},"eviction_policy":{"type":"string","description_kind":"plain","optional":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"size":{"type":"string","description_kind":"plain","required":true},"sql_mode":{"type":"string","description_kind":"plain","optional":true},"storage_size_mib":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"backup_restore":{"nesting_mode":"list","block":{"attributes":{"backup_created_at":{"type":"string","description_kind":"plain","optional":true},"database_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"maintenance_window":{"nesting_mode":"list","block":{"attributes":{"day":{"type":"string","description_kind":"plain","required":true},"hour":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"db_name":{"type":"string","description_kind":"plain","required":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"size":{"type":"number","description_kind":"plain","required":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_database_db":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_database_firewall":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"rule":{"nesting_mode":"set","block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","required":true},"uuid":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"digitalocean_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"partition_count":{"type":"number","description_kind":"plain","optional":true},"replication_factor":{"type":"number","description_kind":"plain","optional":true},"state":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"config":{"nesting_mode":"list","block":{"attributes":{"cleanup_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"compression_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"delete_retention_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"file_delete_delay_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"flush_messages":{"type":"string","description_kind":"plain","optional":true,"computed":true},"flush_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"index_interval_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_compaction_lag_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_message_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_down_conversion_enable":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"message_format_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_timestamp_difference_max_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"message_timestamp_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_cleanable_dirty_ratio":{"type":"number","description_kind":"plain","optional":true,"computed":true},"min_compaction_lag_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description_kind":"plain","optional":true},"preallocate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"retention_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_index_bytes":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_jitter_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true},"segment_ms":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_database_mysql_config":{"version":0,"block":{"attributes":{"backup_hour":{"type":"number","description_kind":"plain","optional":true,"computed":true},"backup_minute":{"type":"number","description_kind":"plain","optional":true,"computed":true},"binlog_retention_period":{"type":"number","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"connect_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_time_zone":{"type":"string","description_kind":"plain","optional":true,"computed":true},"group_concat_max_len":{"type":"number","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"information_schema_stats_expiry":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_ft_min_token_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_ft_server_stopword_table":{"type":"string","description_kind":"plain","optional":true,"computed":true},"innodb_lock_wait_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_log_buffer_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_online_alter_log_max_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"innodb_print_all_deadlocks":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"innodb_rollback_on_timeout":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"interactive_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"internal_tmp_mem_storage_engine":{"type":"string","description_kind":"plain","optional":true,"computed":true},"long_query_time":{"type":"number","description_kind":"plain","optional":true,"computed":true},"max_allowed_packet":{"type":"number","description_kind":"plain","optional":true,"computed":true},"max_heap_table_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"net_read_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"net_write_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true},"slow_query_log":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"sort_buffer_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"sql_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"sql_require_primary_key":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"tmp_table_size":{"type":"number","description_kind":"plain","optional":true,"computed":true},"wait_timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_redis_config":{"version":0,"block":{"attributes":{"acl_channels_default":{"type":"string","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"io_threads":{"type":"number","description_kind":"plain","optional":true,"computed":true},"lfu_decay_time":{"type":"number","description_kind":"plain","optional":true,"computed":true},"lfu_log_factor":{"type":"number","description_kind":"plain","optional":true,"computed":true},"maxmemory_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"notify_keyspace_events":{"type":"string","description_kind":"plain","optional":true,"computed":true},"number_of_databases":{"type":"number","description_kind":"plain","optional":true,"computed":true},"persistence":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pubsub_client_output_buffer_limit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"ssl":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"timeout":{"type":"number","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_replica":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"database":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"region":{"type":"string","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","optional":true},"storage_size_mib":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"The unique universal identifier for the database replica.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_user":{"version":0,"block":{"attributes":{"access_cert":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mysql_auth_plugin":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"settings":{"nesting_mode":"list","block":{"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","computed":true},"permission":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_domain":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplet":{"version":1,"block":{"attributes":{"backups":{"type":"bool","description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"disk":{"type":"number","description_kind":"plain","computed":true},"droplet_agent":{"type":"bool","description_kind":"plain","optional":true},"graceful_shutdown":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description_kind":"plain","required":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"ipv4_address_private":{"type":"string","description_kind":"plain","computed":true},"ipv6":{"type":"bool","description_kind":"plain","optional":true},"ipv6_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"locked":{"type":"bool","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"price_hourly":{"type":"number","description_kind":"plain","computed":true},"price_monthly":{"type":"number","description_kind":"plain","computed":true},"private_networking":{"type":"bool","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resize_disk":{"type":"bool","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","required":true},"ssh_keys":{"type":["set","string"],"description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user_data":{"type":"string","description_kind":"plain","optional":true},"vcpus":{"type":"number","description_kind":"plain","computed":true},"volume_ids":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_droplet_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_firewall":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"pending_changes":{"type":["list",["object",{"droplet_id":"number","removing":"bool","status":"string"}]],"description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"inbound_rule":{"nesting_mode":"set","block":{"attributes":{"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true},"source_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"source_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"source_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"}},"outbound_rule":{"nesting_mode":"set","block":{"attributes":{"destination_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"destination_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_tags":{"type":["set","string"],"description_kind":"plain","optional":true},"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_floating_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the floating ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_floating_ip_assignment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_kubernetes_cluster":{"version":3,"block":{"attributes":{"auto_upgrade":{"type":"bool","description_kind":"plain","optional":true},"cluster_subnet":{"type":"string","description_kind":"plain","computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"destroy_all_associated_resources":{"type":"bool","description_kind":"plain","optional":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"ha":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"kube_config":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","expires_at":"string","host":"string","raw_config":"string","token":"string"}]],"description_kind":"plain","computed":true,"sensitive":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"registry_integration":{"type":"bool","description_kind":"plain","optional":true},"service_subnet":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"surge_upgrade":{"type":"bool","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","required":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"maintenance_policy":{"nesting_mode":"list","block":{"attributes":{"day":{"type":"string","description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description_kind":"plain","computed":true},"start_time":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"node_pool":{"nesting_mode":"list","block":{"attributes":{"actual_node_count":{"type":"number","description_kind":"plain","computed":true},"auto_scale":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"max_nodes":{"type":"number","description_kind":"plain","optional":true},"min_nodes":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","optional":true},"nodes":{"type":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"taint":{"nesting_mode":"set","block":{"attributes":{"effect":{"type":"string","description_kind":"plain","required":true},"key":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_kubernetes_node_pool":{"version":1,"block":{"attributes":{"actual_node_count":{"type":"number","description_kind":"plain","computed":true},"auto_scale":{"type":"bool","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"labels":{"type":["map","string"],"description_kind":"plain","optional":true},"max_nodes":{"type":"number","description_kind":"plain","optional":true},"min_nodes":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","optional":true},"nodes":{"type":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","required":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"block_types":{"taint":{"nesting_mode":"set","block":{"attributes":{"effect":{"type":"string","description_kind":"plain","required":true},"key":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_loadbalancer":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description_kind":"plain","optional":true},"disable_lets_encrypt_dns_records":{"type":"bool","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true,"computed":true},"droplet_tag":{"type":"string","description_kind":"plain","optional":true},"enable_backend_keepalive":{"type":"bool","description_kind":"plain","optional":true},"enable_proxy_protocol":{"type":"bool","description_kind":"plain","optional":true},"http_idle_timeout_seconds":{"type":"number","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"project_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"redirect_http_to_https":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"size":{"type":"string","description_kind":"plain","optional":true},"size_unit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"the type of the load balancer (GLOBAL or REGIONAL)","description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the load balancer","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"firewall":{"nesting_mode":"set","block":{"attributes":{"allow":{"type":["list","string"],"description":"the rules for ALLOWING traffic to the LB (strings in the form: 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')","description_kind":"plain","optional":true},"deny":{"type":["list","string"],"description":"the rules for DENYING traffic to the LB (strings in the form: 'ip:1.2.3.4' or 'cidr:1.2.0.0/16')","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"forwarding_rule":{"nesting_mode":"set","block":{"attributes":{"certificate_id":{"type":"string","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"certificate_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"entry_port":{"type":"number","description_kind":"plain","required":true},"entry_protocol":{"type":"string","description_kind":"plain","required":true},"target_port":{"type":"number","description_kind":"plain","required":true},"target_protocol":{"type":"string","description_kind":"plain","required":true},"tls_passthrough":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1},"healthcheck":{"nesting_mode":"list","block":{"attributes":{"check_interval_seconds":{"type":"number","description_kind":"plain","optional":true},"healthy_threshold":{"type":"number","description_kind":"plain","optional":true},"path":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"response_timeout_seconds":{"type":"number","description_kind":"plain","optional":true},"unhealthy_threshold":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"sticky_sessions":{"nesting_mode":"list","block":{"attributes":{"cookie_name":{"type":"string","description_kind":"plain","optional":true},"cookie_ttl_seconds":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"digitalocean_monitor_alert":{"version":0,"block":{"attributes":{"compare":{"type":"string","description":"The comparison operator to use for value","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the alert policy","description_kind":"plain","required":true},"enabled":{"type":"bool","description_kind":"plain","optional":true},"entities":{"type":["set","string"],"description":"The droplets to apply the alert policy to","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"uuid":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","required":true},"window":{"type":"string","description_kind":"plain","required":true}},"block_types":{"alerts":{"nesting_mode":"list","block":{"attributes":{"email":{"type":["list","string"],"description":"List of email addresses to sent notifications to","description_kind":"plain","optional":true}},"block_types":{"slack":{"nesting_mode":"list","block":{"attributes":{"channel":{"type":"string","description":"The Slack channel to send alerts to","description_kind":"plain","required":true},"url":{"type":"string","description":"The webhook URL for Slack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"List with details how to notify about the alert. Support for Slack or email.","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"digitalocean_project":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"the date and time when the project was created, (ISO8601)","description_kind":"plain","computed":true},"description":{"type":"string","description":"the description of the project","description_kind":"plain","optional":true},"environment":{"type":"string","description":"the environment of the project's resources","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"determine if the project is the default or not.","description_kind":"plain","optional":true},"name":{"type":"string","description":"the human-readable name for the project","description_kind":"plain","required":true},"owner_id":{"type":"number","description":"the id of the project owner.","description_kind":"plain","computed":true},"owner_uuid":{"type":"string","description":"the unique universal identifier of the project owner.","description_kind":"plain","computed":true},"purpose":{"type":"string","description":"the purpose of the project","description_kind":"plain","optional":true},"resources":{"type":["set","string"],"description":"the resources associated with the project","description_kind":"plain","optional":true,"computed":true},"updated_at":{"type":"string","description":"the date and time when the project was last updated, (ISO8601)","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_project_resources":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project":{"type":"string","description":"project ID","description_kind":"plain","required":true},"resources":{"type":["set","string"],"description":"the resources associated with the project","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_record":{"version":0,"block":{"attributes":{"domain":{"type":"string","description_kind":"plain","required":true},"flags":{"type":"number","description_kind":"plain","optional":true},"fqdn":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"port":{"type":"number","description_kind":"plain","optional":true},"priority":{"type":"number","description_kind":"plain","optional":true},"tag":{"type":"string","description_kind":"plain","optional":true},"ttl":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"value":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_reserved_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the reserved ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_reserved_ip_assignment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket":{"version":0,"block":{"attributes":{"acl":{"type":"string","description":"Canned ACL applied on bucket creation","description_kind":"plain","optional":true},"bucket_domain_name":{"type":"string","description":"The FQDN of the bucket","description_kind":"plain","computed":true},"endpoint":{"type":"string","description":"The FQDN of the bucket without the bucket name","description_kind":"plain","computed":true},"force_destroy":{"type":"bool","description":"Unless true, the bucket will only be destroyed if empty","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Bucket name","description_kind":"plain","required":true},"region":{"type":"string","description":"Bucket region","description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the bucket","description_kind":"plain","computed":true}},"block_types":{"cors_rule":{"nesting_mode":"list","block":{"attributes":{"allowed_headers":{"type":["list","string"],"description":"A list of headers that will be included in the CORS preflight request's Access-Control-Request-Headers. A header may contain one wildcard (e.g. x-amz-*).","description_kind":"plain","optional":true},"allowed_methods":{"type":["list","string"],"description":"A list of HTTP methods (e.g. GET) which are allowed from the specified origin.","description_kind":"plain","required":true},"allowed_origins":{"type":["list","string"],"description":"A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com).","description_kind":"plain","required":true},"max_age_seconds":{"type":"number","description_kind":"plain","optional":true}},"description":"A container holding a list of elements describing allowed methods for a specific origin.","description_kind":"plain","deprecated":true}},"lifecycle_rule":{"nesting_mode":"list","block":{"attributes":{"abort_incomplete_multipart_upload_days":{"type":"number","description_kind":"plain","optional":true},"enabled":{"type":"bool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"prefix":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"expiration":{"nesting_mode":"set","block":{"attributes":{"date":{"type":"string","description_kind":"plain","optional":true},"days":{"type":"number","description_kind":"plain","optional":true},"expired_object_delete_marker":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"noncurrent_version_expiration":{"nesting_mode":"set","block":{"attributes":{"days":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"versioning":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"digitalocean_spaces_bucket_cors_configuration":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description":"Bucket ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","required":true}},"block_types":{"cors_rule":{"nesting_mode":"set","block":{"attributes":{"allowed_headers":{"type":["set","string"],"description_kind":"plain","optional":true},"allowed_methods":{"type":["set","string"],"description_kind":"plain","required":true},"allowed_origins":{"type":["set","string"],"description_kind":"plain","required":true},"expose_headers":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true},"max_age_seconds":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":100}},"description_kind":"plain"}},"digitalocean_spaces_bucket_object":{"version":0,"block":{"attributes":{"acl":{"type":"string","description_kind":"plain","optional":true},"bucket":{"type":"string","description_kind":"plain","required":true},"cache_control":{"type":"string","description_kind":"plain","optional":true},"content":{"type":"string","description_kind":"plain","optional":true},"content_base64":{"type":"string","description_kind":"plain","optional":true},"content_disposition":{"type":"string","description_kind":"plain","optional":true},"content_encoding":{"type":"string","description_kind":"plain","optional":true},"content_language":{"type":"string","description_kind":"plain","optional":true},"content_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"etag":{"type":"string","description_kind":"plain","optional":true,"computed":true},"force_destroy":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description_kind":"plain","required":true},"metadata":{"type":["map","string"],"description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"source":{"type":"string","description_kind":"plain","optional":true},"version_id":{"type":"string","description_kind":"plain","computed":true},"website_redirect":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_policy":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_ssh_key":{"version":0,"block":{"attributes":{"fingerprint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"public_key":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_tag":{"version":0,"block":{"attributes":{"databases_count":{"type":"number","description_kind":"plain","computed":true},"droplets_count":{"type":"number","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images_count":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"total_resource_count":{"type":"number","description_kind":"plain","computed":true},"volume_snapshots_count":{"type":"number","description_kind":"plain","computed":true},"volumes_count":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_uptime_alert":{"version":0,"block":{"attributes":{"check_id":{"type":"string","description":"A unique identifier for a check.","description_kind":"plain","required":true},"comparison":{"type":"string","description":"The comparison operator used against the alert's threshold. Enum: 'greater_than' 'less_than","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description":"A human-friendly display name for the alert.","description_kind":"plain","required":true},"period":{"type":"string","description":"Period of time the threshold must be exceeded to trigger the alert. Enum '2m' '3m' '5m' '10m' '15m' '30m' '1h'","description_kind":"plain","optional":true},"threshold":{"type":"number","description":"The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.","description_kind":"plain","optional":true},"type":{"type":"string","description":"The type of health check to perform. Enum: 'latency' 'down' 'down_global' 'ssl_expiry'","description_kind":"plain","required":true}},"block_types":{"notifications":{"nesting_mode":"list","block":{"attributes":{"email":{"type":["list","string"],"description":"List of email addresses to sent notifications to","description_kind":"plain","optional":true}},"block_types":{"slack":{"nesting_mode":"list","block":{"attributes":{"channel":{"type":"string","description":"The Slack channel to send alerts to","description_kind":"plain","required":true},"url":{"type":"string","description":"The webhook URL for Slack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description":"The notification settings for a trigger alert.","description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"digitalocean_uptime_check":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description":"A boolean value indicating whether the check is enabled/disabled.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description":"A human-friendly display name for the check.","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description":"An array containing the selected regions to perform healthchecks from.","description_kind":"plain","optional":true},"target":{"type":"string","description":"The endpoint to perform healthchecks on.","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of health check to perform. Enum: 'ping' 'http' 'https'","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_volume":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","computed":true},"filesystem_label":{"type":"string","description_kind":"plain","computed":true},"filesystem_type":{"type":"string","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_filesystem_label":{"type":"string","description_kind":"plain","optional":true},"initial_filesystem_type":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"snapshot_id":{"type":"string","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"urn":{"type":"string","description":"the uniform resource name for the volume.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_volume_attachment":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"volume_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_volume_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"volume_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_vpc":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"The date and time of when the VPC was created","description_kind":"plain","computed":true},"default":{"type":"bool","description":"Whether or not the VPC is the default one for the region","description_kind":"plain","computed":true},"description":{"type":"string","description":"A free-form description for the VPC","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_range":{"type":"string","description":"The range of IP addresses for the VPC in CIDR notation","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the VPC","description_kind":"plain","required":true},"region":{"type":"string","description":"DigitalOcean region slug for the VPC's location","description_kind":"plain","required":true},"urn":{"type":"string","description":"The uniform resource name (URN) for the VPC","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"digitalocean_account":{"version":0,"block":{"attributes":{"droplet_limit":{"type":"number","description":"The total number of Droplets current user or team may have active at one time.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address used by the current user to register for DigitalOcean.","description_kind":"plain","computed":true},"email_verified":{"type":"bool","description":"If true, the user has verified their account via email. False otherwise.","description_kind":"plain","computed":true},"floating_ip_limit":{"type":"number","description":"The total number of Floating IPs the current user or team may have.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description":"This value is one of \"active\", \"warning\" or \"locked\".","description_kind":"plain","computed":true},"status_message":{"type":"string","description":"A human-readable message giving more details about the status of the account.","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"The unique universal identifier for the current user.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_app":{"version":0,"block":{"attributes":{"active_deployment_id":{"type":"string","description":"The ID the App's currently active deployment","description_kind":"plain","computed":true},"app_id":{"type":"string","description_kind":"plain","required":true},"created_at":{"type":"string","description":"The date and time of when the App was created","description_kind":"plain","computed":true},"default_ingress":{"type":"string","description":"The default URL to access the App","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"live_url":{"type":"string","description_kind":"plain","computed":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"spec":{"type":["list",["object",{"alert":["set",["object",{"disabled":"bool","rule":"string"}]],"database":["list",["object",{"cluster_name":"string","db_name":"string","db_user":"string","engine":"string","name":"string","production":"bool","version":"string"}]],"domain":["list",["object",{"name":"string","type":"string","wildcard":"bool","zone":"string"}]],"domains":["set","string"],"env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"features":["set","string"],"function":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"source_dir":"string"}]],"ingress":["list",["object",{"rule":["list",["object",{"component":["list",["object",{"name":"string","preserve_path_prefix":"bool","rewrite":"string"}]],"cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"match":["list",["object",{"path":["list",["object",{"prefix":"string"}]]}]],"redirect":["list",["object",{"authority":"string","port":"number","redirect_code":"number","scheme":"string","uri":"string"}]]}]]}]],"job":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","kind":"string","log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","run_command":"string","source_dir":"string"}]],"name":"string","region":"string","service":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"health_check":["list",["object",{"failure_threshold":"number","http_path":"string","initial_delay_seconds":"number","period_seconds":"number","port":"number","success_threshold":"number","timeout_seconds":"number"}]],"http_port":"number","image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","internal_ports":["set","number"],"log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"run_command":"string","source_dir":"string"}]],"static_site":["list",["object",{"build_command":"string","catchall_document":"string","cors":["list",["object",{"allow_credentials":"bool","allow_headers":["set","string"],"allow_methods":["set","string"],"allow_origins":["list",["object",{"exact":"string","prefix":"string","regex":"string"}]],"expose_headers":["set","string"],"max_age":"string"}]],"dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","error_document":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"index_document":"string","name":"string","output_dir":"string","routes":["list",["object",{"path":"string","preserve_path_prefix":"bool"}]],"source_dir":"string"}]],"worker":["list",["object",{"alert":["list",["object",{"disabled":"bool","operator":"string","rule":"string","value":"number","window":"string"}]],"build_command":"string","dockerfile_path":"string","env":["set",["object",{"key":"string","scope":"string","type":"string","value":"string"}]],"environment_slug":"string","git":["list",["object",{"branch":"string","repo_clone_url":"string"}]],"github":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"gitlab":["list",["object",{"branch":"string","deploy_on_push":"bool","repo":"string"}]],"image":["list",["object",{"deploy_on_push":["list",["object",{"enabled":"bool"}]],"registry":"string","registry_type":"string","repository":"string","tag":"string"}]],"instance_count":"number","instance_size_slug":"string","log_destination":["list",["object",{"datadog":["list",["object",{"api_key":"string","endpoint":"string"}]],"logtail":["list",["object",{"token":"string"}]],"name":"string","papertrail":["list",["object",{"endpoint":"string"}]]}]],"name":"string","run_command":"string","source_dir":"string"}]]}]],"description":"A DigitalOcean App Platform Spec","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"The date and time of when the App was last updated","description_kind":"plain","computed":true},"urn":{"type":"string","description":"The uniform resource identifier for the app","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_certificate":{"version":1,"block":{"attributes":{"domains":{"type":["set","string"],"description":"domains for which the certificate was issued","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the certificate","description_kind":"plain","required":true},"not_after":{"type":"string","description":"expiration date and time of the certificate","description_kind":"plain","computed":true},"sha1_fingerprint":{"type":"string","description":"SHA1 fingerprint of the certificate","description_kind":"plain","computed":true},"state":{"type":"string","description":"current state of the certificate","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the certificate","description_kind":"plain","computed":true},"uuid":{"type":"string","description":"uuid of the certificate","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_container_registry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the container registry","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","computed":true},"server_url":{"type":"string","description_kind":"plain","computed":true},"storage_usage_bytes":{"type":"number","description_kind":"plain","computed":true},"subscription_tier_slug":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_ca":{"version":0,"block":{"attributes":{"certificate":{"type":"string","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"digitalocean_database_cluster":{"version":0,"block":{"attributes":{"database":{"type":"string","description_kind":"plain","computed":true},"engine":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"maintenance_window":{"type":["list",["object",{"day":"string","hour":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_count":{"type":"number","description_kind":"plain","computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"size":{"type":"string","description_kind":"plain","computed":true},"storage_size_mib":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"db_name":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"size":{"type":"number","description_kind":"plain","computed":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_replica":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description_kind":"plain","required":true},"database":{"type":"string","description_kind":"plain","computed":true},"host":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"port":{"type":"number","description_kind":"plain","computed":true},"private_host":{"type":"string","description_kind":"plain","computed":true},"private_network_uuid":{"type":"string","description_kind":"plain","computed":true},"private_uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"region":{"type":"string","description_kind":"plain","computed":true},"storage_size_mib":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"uri":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"user":{"type":"string","description_kind":"plain","computed":true},"uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_database_user":{"version":0,"block":{"attributes":{"access_cert":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"cluster_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mysql_auth_plugin":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role":{"type":"string","description_kind":"plain","computed":true},"settings":{"type":["list",["object",{"acl":["list",["object",{"id":"string","permission":"string","topic":"string"}]]}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_domain":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the domain","description_kind":"plain","required":true},"ttl":{"type":"number","description":"ttl of the domain","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the domain","description_kind":"plain","computed":true},"zone_file":{"type":"string","description":"zone file of the domain","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_domains":{"version":0,"block":{"attributes":{"domains":{"type":["list",["object",{"name":"string","ttl":"number","urn":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_droplet":{"version":1,"block":{"attributes":{"backups":{"type":"bool","description":"whether the Droplet has backups enabled","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"the creation date for the Droplet","description_kind":"plain","computed":true},"disk":{"type":"number","description":"the size of the Droplets disk in gigabytes","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the Droplet","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"the image id or slug of the Droplet","description_kind":"plain","computed":true},"ipv4_address":{"type":"string","description":"the Droplets public ipv4 address","description_kind":"plain","computed":true},"ipv4_address_private":{"type":"string","description":"the Droplets private ipv4 address","description_kind":"plain","computed":true},"ipv6":{"type":"bool","description":"whether the Droplet has ipv6 enabled","description_kind":"plain","computed":true},"ipv6_address":{"type":"string","description":"the Droplets public ipv6 address","description_kind":"plain","computed":true},"ipv6_address_private":{"type":"string","description":"the Droplets private ipv4 address","description_kind":"plain","computed":true},"locked":{"type":"bool","description":"whether the Droplet has been locked","description_kind":"plain","computed":true},"memory":{"type":"number","description":"memory of the Droplet in megabytes","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"whether the Droplet has monitoring enabled","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the Droplet","description_kind":"plain","optional":true,"computed":true},"price_hourly":{"type":"number","description":"the Droplets hourly price","description_kind":"plain","computed":true},"price_monthly":{"type":"number","description":"the Droplets monthly price","description_kind":"plain","computed":true},"private_networking":{"type":"bool","description":"whether the Droplet has private networking enabled","description_kind":"plain","computed":true},"region":{"type":"string","description":"the region that the Droplet instance is deployed in","description_kind":"plain","computed":true},"size":{"type":"string","description":"the current size of the Droplet","description_kind":"plain","computed":true},"status":{"type":"string","description":"state of the Droplet instance","description_kind":"plain","computed":true},"tag":{"type":"string","description":"unique tag of the Droplet","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the Droplet","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"the number of virtual cpus","description_kind":"plain","computed":true},"volume_ids":{"type":["set","string"],"description":"list of volumes attached to the Droplet","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description":"UUID of the VPC in which the Droplet is located","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplet_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"most_recent":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"name_regex":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_droplets":{"version":0,"block":{"attributes":{"droplets":{"type":["list",["object",{"backups":"bool","created_at":"string","disk":"number","id":"number","image":"string","ipv4_address":"string","ipv4_address_private":"string","ipv6":"bool","ipv6_address":"string","ipv6_address_private":"string","locked":"bool","memory":"number","monitoring":"bool","name":"string","price_hourly":"number","price_monthly":"number","private_networking":"bool","region":"string","size":"string","status":"string","tags":["set","string"],"urn":"string","vcpus":"number","volume_ids":["set","string"],"vpc_uuid":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_firewall":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"pending_changes":{"type":["list",["object",{"droplet_id":"number","removing":"bool","status":"string"}]],"description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"block_types":{"inbound_rule":{"nesting_mode":"set","block":{"attributes":{"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true},"source_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"source_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"source_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"source_tags":{"type":["set","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"}},"outbound_rule":{"nesting_mode":"set","block":{"attributes":{"destination_addresses":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_droplet_ids":{"type":["set","number"],"description_kind":"plain","optional":true},"destination_kubernetes_ids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_load_balancer_uids":{"type":["set","string"],"description_kind":"plain","optional":true},"destination_tags":{"type":["set","string"],"description_kind":"plain","optional":true},"port_range":{"type":"string","description_kind":"plain","optional":true},"protocol":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_floating_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description":"the droplet id that the floating ip has been assigned to.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description":"floating ip address","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the floating ip is reserved to","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the floating ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_image":{"version":0,"block":{"attributes":{"created":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"a description of the image","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"distribution of the OS of the image","description_kind":"plain","computed":true},"error_message":{"type":"string","description":"error message associated with the image","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the image","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"slug or id of the image","description_kind":"plain","computed":true},"min_disk_size":{"type":"number","description":"minimum disk size required by the image","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the image","description_kind":"plain","optional":true,"computed":true},"private":{"type":"bool","description":"Is the image private or non-private","description_kind":"plain","computed":true},"regions":{"type":["set","string"],"description":"list of the regions that the image is available in","description_kind":"plain","computed":true},"size_gigabytes":{"type":"number","description":"size in GB of the image","description_kind":"plain","computed":true},"slug":{"type":"string","description":"slug of the image","description_kind":"plain","optional":true,"computed":true},"source":{"type":"string","description_kind":"plain","optional":true},"status":{"type":"string","description":"status of the image","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"tags applied to the image","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the image","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_images":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images":{"type":["list",["object",{"created":"string","description":"string","distribution":"string","error_message":"string","id":"number","image":"string","min_disk_size":"number","name":"string","private":"bool","regions":["set","string"],"size_gigabytes":"number","slug":"string","status":"string","tags":["set","string"],"type":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_kubernetes_cluster":{"version":3,"block":{"attributes":{"auto_upgrade":{"type":"bool","description_kind":"plain","computed":true},"cluster_subnet":{"type":"string","description_kind":"plain","computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"endpoint":{"type":"string","description_kind":"plain","computed":true},"ha":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4_address":{"type":"string","description_kind":"plain","computed":true},"kube_config":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","expires_at":"string","host":"string","raw_config":"string","token":"string"}]],"description_kind":"plain","computed":true,"sensitive":true},"maintenance_policy":{"type":["list",["object",{"day":"string","duration":"string","start_time":"string"}]],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"node_pool":{"type":["list",["object",{"actual_node_count":"number","auto_scale":"bool","id":"string","labels":["map","string"],"max_nodes":"number","min_nodes":"number","name":"string","node_count":"number","nodes":["list",["object",{"created_at":"string","droplet_id":"string","id":"string","name":"string","status":"string","updated_at":"string"}]],"size":"string","tags":["set","string"],"taint":["set",["object",{"effect":"string","key":"string","value":"string"}]]}]],"description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_subnet":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"surge_upgrade":{"type":"bool","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_kubernetes_versions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"latest_version":{"type":"string","description_kind":"plain","computed":true},"valid_versions":{"type":["list","string"],"description_kind":"plain","computed":true},"version_prefix":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"digitalocean_loadbalancer":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description":"algorithm used to determine which backend Droplet will be selected by a client","description_kind":"plain","computed":true},"disable_lets_encrypt_dns_records":{"type":"bool","description":"whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer","description_kind":"plain","computed":true},"droplet_ids":{"type":["set","number"],"description":"ids of the droplets assigned to the load balancer","description_kind":"plain","computed":true},"droplet_tag":{"type":"string","description":"the name of a tag corresponding to droplets assigned to the load balancer","description_kind":"plain","computed":true},"enable_backend_keepalive":{"type":"bool","description":"whether HTTP keepalive connections are maintained to target Droplets","description_kind":"plain","computed":true},"enable_proxy_protocol":{"type":"bool","description":"whether PROXY Protocol should be used to pass information from connecting client requests to the backend service","description_kind":"plain","computed":true},"firewall":{"type":["list",["object",{"allow":["set","string"],"deny":["set","string"]}]],"description":"the firewall rules for allowing/denying traffic to the load balancer","description_kind":"plain","computed":true},"forwarding_rule":{"type":["set",["object",{"certificate_id":"string","certificate_name":"string","entry_port":"number","entry_protocol":"string","target_port":"number","target_protocol":"string","tls_passthrough":"bool"}]],"description":"list of forwarding rules of the load balancer","description_kind":"plain","computed":true},"healthcheck":{"type":["list",["object",{"check_interval_seconds":"number","healthy_threshold":"number","path":"string","port":"number","protocol":"string","response_timeout_seconds":"number","unhealthy_threshold":"number"}]],"description":"health check settings for the load balancer","description_kind":"plain","computed":true},"http_idle_timeout_seconds":{"type":"number","description":" Specifies the idle timeout for HTTPS connections on the load balancer.","description_kind":"plain","computed":true},"id":{"type":"string","description":"id of the load balancer","description_kind":"plain","optional":true},"ip":{"type":"string","description":"public-facing IP address of the load balancer","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the load balancer","description_kind":"plain","optional":true},"project_id":{"type":"string","description":"The ID of the project that the load balancer is associated with.","description_kind":"plain","computed":true},"redirect_http_to_https":{"type":"bool","description":"whether http requests will be redirected to https","description_kind":"plain","computed":true},"region":{"type":"string","description":"the region that the load balancer is deployed in","description_kind":"plain","computed":true},"size":{"type":"string","description":"the size of the load balancer","description_kind":"plain","computed":true},"size_unit":{"type":"number","description":"the size of the load balancer.","description_kind":"plain","computed":true},"status":{"type":"string","description":"current state of the Load Balancer","description_kind":"plain","computed":true},"sticky_sessions":{"type":["list",["object",{"cookie_name":"string","cookie_ttl_seconds":"number","type":"string"}]],"description":"sticky sessions settings for the load balancer","description_kind":"plain","computed":true},"type":{"type":"string","description":"the type of the load balancer (GLOBAL or REGIONAL)","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description":"the uniform resource name for the load balancer","description_kind":"plain","computed":true},"vpc_uuid":{"type":"string","description":"UUID of the VPC in which the load balancer is located","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_project":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"the date and time when the project was created, (ISO8601)","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"environment":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"owner_id":{"type":"number","description_kind":"plain","computed":true},"owner_uuid":{"type":"string","description_kind":"plain","computed":true},"purpose":{"type":"string","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"the date and time when the project was last updated, (ISO8601)","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_projects":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"projects":{"type":["list",["object",{"created_at":"string","description":"string","environment":"string","id":"string","is_default":"bool","name":"string","owner_id":"number","owner_uuid":"string","purpose":"string","resources":["set","string"],"updated_at":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_record":{"version":0,"block":{"attributes":{"data":{"type":"string","description":"name record data","description_kind":"plain","computed":true},"domain":{"type":"string","description":"domain of the name record","description_kind":"plain","required":true},"flags":{"type":"number","description":"flags of the name record","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the record","description_kind":"plain","required":true},"port":{"type":"number","description":"port of the name record","description_kind":"plain","computed":true},"priority":{"type":"number","description":"priority of the name record","description_kind":"plain","computed":true},"tag":{"type":"string","description":"tag of the name record","description_kind":"plain","computed":true},"ttl":{"type":"number","description":"ttl of the name record","description_kind":"plain","computed":true},"type":{"type":"string","description":"type of the name record","description_kind":"plain","computed":true},"weight":{"type":"number","description":"weight of the name record","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_records":{"version":0,"block":{"attributes":{"domain":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"records":{"type":["list",["object",{"domain":"string","flags":"number","id":"number","name":"string","port":"number","priority":"number","tag":"string","ttl":"number","type":"string","value":"string","weight":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_region":{"version":0,"block":{"attributes":{"available":{"type":"bool","description_kind":"plain","computed":true},"features":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"sizes":{"type":["set","string"],"description_kind":"plain","computed":true},"slug":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_regions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"regions":{"type":["list",["object",{"available":"bool","features":["set","string"],"name":"string","sizes":["set","string"],"slug":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_reserved_ip":{"version":0,"block":{"attributes":{"droplet_id":{"type":"number","description":"the droplet id that the reserved ip has been assigned to.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_address":{"type":"string","description":"reserved ip address","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the reserved ip is reserved to","description_kind":"plain","computed":true},"urn":{"type":"string","description":"the uniform resource name for the reserved ip","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_sizes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"sizes":{"type":["list",["object",{"available":"bool","disk":"number","memory":"number","price_hourly":"number","price_monthly":"number","regions":["set","string"],"slug":"string","transfer":"number","vcpus":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_spaces_bucket":{"version":0,"block":{"attributes":{"bucket_domain_name":{"type":"string","description":"The FQDN of the bucket","description_kind":"plain","computed":true},"endpoint":{"type":"string","description":"The FQDN of the bucket without the bucket name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Bucket name","description_kind":"plain","required":true},"region":{"type":"string","description":"Bucket region","description_kind":"plain","required":true},"urn":{"type":"string","description":"the uniform resource name for the bucket","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_object":{"version":0,"block":{"attributes":{"body":{"type":"string","description_kind":"plain","computed":true},"bucket":{"type":"string","description_kind":"plain","required":true},"cache_control":{"type":"string","description_kind":"plain","computed":true},"content_disposition":{"type":"string","description_kind":"plain","computed":true},"content_encoding":{"type":"string","description_kind":"plain","computed":true},"content_language":{"type":"string","description_kind":"plain","computed":true},"content_length":{"type":"number","description_kind":"plain","computed":true},"content_type":{"type":"string","description_kind":"plain","computed":true},"etag":{"type":"string","description_kind":"plain","computed":true},"expiration":{"type":"string","description_kind":"plain","computed":true},"expires":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description_kind":"plain","required":true},"last_modified":{"type":"string","description_kind":"plain","computed":true},"metadata":{"type":["map","string"],"description_kind":"plain","computed":true},"range":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"version_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"website_redirect_location":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_spaces_bucket_objects":{"version":0,"block":{"attributes":{"bucket":{"type":"string","description_kind":"plain","required":true},"common_prefixes":{"type":["list","string"],"description_kind":"plain","computed":true},"delimiter":{"type":"string","description_kind":"plain","optional":true},"encoding_type":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["list","string"],"description_kind":"plain","computed":true},"max_keys":{"type":"number","description_kind":"plain","optional":true},"owners":{"type":["list","string"],"description_kind":"plain","computed":true},"prefix":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"digitalocean_spaces_buckets":{"version":0,"block":{"attributes":{"buckets":{"type":["list",["object",{"bucket_domain_name":"string","endpoint":"string","name":"string","region":"string","urn":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_ssh_key":{"version":0,"block":{"attributes":{"fingerprint":{"type":"string","description":"fingerprint of the ssh key","description_kind":"plain","computed":true},"id":{"type":"number","description":"id of the ssh key","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the ssh key","description_kind":"plain","required":true},"public_key":{"type":"string","description":"public key part of the ssh key","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_ssh_keys":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssh_keys":{"type":["list",["object",{"fingerprint":"string","id":"number","name":"string","public_key":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_tag":{"version":0,"block":{"attributes":{"databases_count":{"type":"number","description_kind":"plain","computed":true},"droplets_count":{"type":"number","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"images_count":{"type":"number","description_kind":"plain","computed":true},"name":{"type":"string","description":"name of the tag","description_kind":"plain","required":true},"total_resource_count":{"type":"number","description_kind":"plain","computed":true},"volume_snapshots_count":{"type":"number","description_kind":"plain","computed":true},"volumes_count":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_tags":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["list",["object",{"databases_count":"number","droplets_count":"number","images_count":"number","name":"string","total_resource_count":"number","volume_snapshots_count":"number","volumes_count":"number"}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"all":{"type":"bool","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true},"match_by":{"type":"string","description_kind":"plain","optional":true},"values":{"type":["list","string"],"description_kind":"plain","required":true}},"description":"One or more key/value pairs on which to filter results","description_kind":"plain"}},"sort":{"nesting_mode":"list","block":{"attributes":{"direction":{"type":"string","description_kind":"plain","optional":true},"key":{"type":"string","description_kind":"plain","required":true}},"description":"One or more key/direction pairs on which to sort results","description_kind":"plain"}}},"description_kind":"plain"}},"digitalocean_volume":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"volume description","description_kind":"plain","optional":true},"droplet_ids":{"type":["set","number"],"description":"list of droplet ids the volume is attached to","description_kind":"plain","computed":true},"filesystem_label":{"type":"string","description":"the label currently applied to the filesystem","description_kind":"plain","computed":true},"filesystem_type":{"type":"string","description":"the type of filesystem currently in-use on the volume","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of the volume","description_kind":"plain","required":true},"region":{"type":"string","description":"the region that the volume is provisioned in","description_kind":"plain","optional":true},"size":{"type":"number","description":"the size of the volume in gigabytes","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description":"the iniform resource name for the volume","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_volume_snapshot":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_disk_size":{"type":"number","description_kind":"plain","computed":true},"most_recent":{"type":"bool","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"name_regex":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","optional":true},"regions":{"type":["set","string"],"description_kind":"plain","computed":true},"size":{"type":"number","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description_kind":"plain","computed":true},"volume_id":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"digitalocean_vpc":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_range":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}}