This repository has been archived on 2026-08-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
beatzaplentyandClaude Sonnet 4.6 70bb75ad46
ci / test (push) Failing after 5m55s
bump to v0.2.0: complete provider implementation with live-tested DNS record types
- DYNU_API_KEY env var fallback in provider config
- dynu_domain resource: add 9 computed attributes (unicode_name, ipv4/ipv6 flags,
  wildcard aliases, allow_zone_transfer, dnssec, created_on, updated_on)
- dynu_dns_records data source: add 6 type-specific fields (priority, weight,
  port, flags, tag, value)
- Fix normalizeRecordContentForState for MX/SRV/NS/PTR (read host field) and CAA
  (read value field) to avoid plan/state inconsistency
- Allow underscore-prefixed DNS labels in hostname validator (RFC 2782 SRV)
- Preserve plan/state hostname across create/update/read to prevent inconsistent
  result errors when API returns full FQDN for node_name-style records
- Update all version references from 0.1.0 to 0.2.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFZyrmtKsezBwFWGTWsb2y
2026-08-03 23:40:27 +10:00

1.5 KiB

dynu_domain Resource

Manages a Dynu DNS root domain.

Example Usage

resource "dynu_domain" "example" {
  name         = "my-test-domain.example"
  ipv4_address = "203.0.113.10"
  ttl          = 300
}

resource "dynu_dns_record" "www" {
  hostname    = "www.${dynu_domain.example.name}"
  record_type = "A"
  content     = "203.0.113.20"
}

Schema

Required

  • name (String) Root domain name. Changing this forces replacement.

Optional + Computed

  • ipv4_address (String)
  • ipv6_address (String)
  • ttl (Number)
  • group (String)

These fields can be configured, and also reflect values returned by Dynu.

Computed

  • id (Number) Dynu numeric domain ID.
  • state (String) Dynu state.
  • token (String, Sensitive) Dynu domain token.
  • unicode_name (String) Unicode representation of the domain name.
  • ipv4 (Boolean) Whether IPv4 support is enabled.
  • ipv6 (Boolean) Whether IPv6 support is enabled.
  • ipv4_wildcard_alias (Boolean) Whether IPv4 wildcard alias is enabled.
  • ipv6_wildcard_alias (Boolean) Whether IPv6 wildcard alias is enabled.
  • allow_zone_transfer (Boolean) Whether zone transfer is allowed.
  • dnssec (Boolean) Whether DNSSEC is enabled.
  • created_on (String) Creation timestamp as returned by Dynu.
  • updated_on (String) Last update timestamp as returned by Dynu.

Import

Import using the numeric Dynu domain ID:

terraform import dynu_domain.example 1234

Warning

Deleting this resource deletes the entire Dynu DNS zone for that domain.