--- # generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "dokploy_dns_provider Resource - dokploy" subcategory: "" description: |- A DNS provider connection Dokploy uses to create records for domains automatically. config is a JSON object whose shape depends on providerType: # Cloudflare config = jsonencode({ providerType = "cloudflare", apiToken = var.cloudflare_token }) # AWS Route53 config = jsonencode({ providerType = "route53" accessKeyId = var.aws_access_key_id secretAccessKey = var.aws_secret_access_key }) ~> Dokploy masks the credentials when reading a provider back, so Terraform keeps the value you configured. Drift in config is not detected. --- # dokploy_dns_provider (Resource) A DNS provider connection Dokploy uses to create records for domains automatically. `config` is a JSON object whose shape depends on `providerType`: ```hcl # Cloudflare config = jsonencode({ providerType = "cloudflare", apiToken = var.cloudflare_token }) # AWS Route53 config = jsonencode({ providerType = "route53" accessKeyId = var.aws_access_key_id secretAccessKey = var.aws_secret_access_key }) ``` ~> Dokploy masks the credentials when reading a provider back, so Terraform keeps the value you configured. Drift in `config` is not detected. ## Schema ### Required - `config` (String, Sensitive) Provider credentials as a JSON object, including the `providerType` discriminator. - `name` (String) Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. ### Read-Only - `created_at` (String) RFC 3339 timestamp of when the connection was created. - `id` (String) Unique DNS provider identifier. - `organization_id` (String) Organization that owns the connection. - `provider_type` (String) Provider kind derived from `config`: `cloudflare` or `route53`.