Provides a DigitalOcean DNS record resource.
resource "digitalocean_domain" "default" {
name = "example.com"
}
# Add an A record to the domain for www.example.com.
resource "digitalocean_record" "www" {
domain = digitalocean_domain.default.id
type = "A"
name = "www"
value = "192.168.0.11"
}
# Add a MX record for the example.com domain itself.
resource "digitalocean_record" "mx" {
domain = digitalocean_domain.default.id
type = "MX"
name = "@"
priority = 10
value = "mail.example.com."
}
# Output the FQDN for the www A record.
output "www_fqdn" {
value = digitalocean_record.www.fqdn # => www.example.com
}
# Output the FQDN for the MX record.
output "mx_fqdn" {
value = digitalocean_record.mx.fqdn # => example.com
}
The following arguments are supported:
type
- (Required) The type of record. Must be one of A
, AAAA
, CAA
, CNAME
, MX
, NS
, TXT
, or SRV
.domain
- (Required) The domain to add the record to.value
- (Required) The value of the record.name
- (Required) The hostname of the record. Use @
for records on domain’s name itself.port
- (Optional) The port of the record. Only valid when type is SRV
. Must be between 1 and 65535.priority
- (Optional) The priority of the record. Only valid when type is MX
or SRV
. Must be between 0 and 65535.weight
- (Optional) The weight of the record. Only valid when type is SRV
. Must be between 0 and 65535.ttl
- (Optional) The time to live for the record, in seconds. Must be at least 0. Defaults to 1800.flags
- (Optional) The flags of the record. Only valid when type is CAA
. Must be between 0 and 255.tag
- (Optional) The tag of the record. Only valid when type is CAA
. Must be one of issue
, issuewild
, or iodef
.The following attributes are exported:
id
- The record IDfqdn
- The FQDN of the recordRecords can be imported using the domain name and record id
when joined with a comma. See the following example:
terraform import digitalocean_record.example_record example.com,12345678
You find the id
of the records using the DigitalOcean API or CLI. Run the follow command to list the IDs for all DNS records on a domain: doctl compute domain records list <domain.name>