variable "zone_names" { description = "Domains to create as Hetzner DNS zones." type = list(string) } variable "records" { description = <<-EOT Records to create across the zones in var.zone_names. Use name = "@" for the zone apex. Entries sharing the same zone/name/type become a single Hetzner RRSet with multiple values (e.g. two TXT strings under the same name) - Hetzner has no concept of separate same-type records otherwise. For MX, embed the priority in value using standard zonefile syntax (e.g. "10 mail.example.com."); Hetzner's API has no separate priority field. For TXT, wrap value in escaped double quotes (e.g. "\"v=spf1 ...\""). EOT type = list(object({ zone = string name = string value = string type = optional(string, "A") ttl = optional(number, 300) })) default = [] }