Internal DNS
Record
Terraform reference for Record.
Schema Properties
| Property | Type | Description |
|---|---|---|
comments Computed | list(object) | List of comments related to this DNS record |
create_ptr | boolean | Whether to auto-create the matching PTR record(s) for a type A record. Defaults to true for type A, ignored otherwise. |
fqdn Computed | string | The exact DNS entry this record resolves as - 'name' + 'zone' concatenated (e.g. 'naftest1alias.services.sre.sb.eu.ginfra.net'). Derived automatically - never set this. |
lease_datacenter ForceNew | list(string) | Datacenters to lease from. Required (non-empty) for physical when leasing, one IP leased per datacenter. Must be empty/omitted for overlay, or when not leasing. |
lease_mac DefaultForceNew | list(string) | MAC address per leased IP, same order as 'lease_datacenter' (or a single entry for overlay). Derived deterministically from the leased IP when omitted. |
leased_ips Computed | list(object) | The network and IP of each lease, same order as 'records' when leasing. |
name RequiredForceNew | string | Relative label under the tenant's zone (e.g. 'myapp'), or '@' for the zone apex. Lowercase, without a trailing dot. Immutable, returned exactly as submitted. |
network_alias DefaultForceNew | string | Which network/zone this record targets: 'physical' or 'overlay' pick the tenant's physical or overlay (VIP) zone. For type A with 'records' empty, also leases an IP from this network. Defaults to 'overlay' for an empty-records type-A record with no lease_* field set, to 'physical' when 'lease_datacenter'/'lease_mac' is set but this is omitted, or - for CNAME/SRV - to 'overlay' when the record's own target ends in '.services' (or equals 'services') and isn't already a fully-qualified (dot-terminated) value; otherwise defaults to 'physical'. |
records Default | list(string) | List of DNS record contents (e.g. IP addresses, target domains). For type A, leave empty to request an IP lease instead - see 'network_alias'. For type CNAME, a target with no trailing dot is treated as relative and auto-qualified with the tenant's physical zone (e.g. 'myapp' becomes 'myapp.<physical zone>.'); end the target with a trailing dot to point to an already fully-qualified name (including external domains) unchanged. |
ttl Default | integer | Time to live for the record |
type RequiredForceNew | string | DNS record type (e.g., A, AAAA, CNAME, etc.) |
zone Computed | string | The DNS zone this record belongs to. Derived automatically from the tenant/platform/region and 'network_alias' - never set this. |
resource "gi_internal_dns_record" "example" { attributes = { name = "example-name" type = "CNAME" }}