variable "dc_name" {
  description = "Short DC identifier used in resource naming and DNS (e.g. \"dc1\", \"dc2\", \"office1\"). Matches the D-106 naming convention (<service>.omega.<dc>.vr1.cloud.neumatrix.local)."
  type        = string
}

variable "domain_suffix" {
  description = "Base domain the per-plane libvirt DNS domain is built under. Anchor value: cloud.neumatrix.local (per D-106); NOT re-derived here, pass it in explicitly."
  type        = string
}

variable "planes" {
  description = <<-EOT
    Map of plane-name -> plane definition, one entry per D-052/D-100 six-plane
    template for this DC. CIDR values must come from NetBox (the IPAM apex,
    per D-101) or scripts/lib-net.sh for DC1 (which inherits the DC0 layout
    unchanged) -- never invent a CIDR here. DC2's CIDRs are NOT YET ASSIGNED
    (D-101 open sub-item); do not guess a default for them.
  EOT
  type = map(object({
    cidr = string # anchor fact only -- NOT applied to the libvirt_network
                   # resource (isolated planes carry no forward/ips block, see
                   # main.tf); recorded here purely so `tofu plan` output and
                   # `terraform output` reflect the intended assignment for
                   # cross-checking against NetBox.
  }))
}

variable "mtu" {
  description = "Underlay MTU for every plane network in this DC. MUST be a Phase-0 MEASURED value (buildout-design Section 3 / D-102), never assumed jumbo. No default -- pass explicitly."
  type        = number
}
