Global InfraGlobal Infra Cloud
Internal DNS

Record

Terraform reference for Record.

Schema Properties

PropertyTypeDescription
comments
Computed
list(object)List of comments related to this DNS record
create_ptr
booleanWhether to auto-create the matching PTR record(s) for a type A record. Defaults to true for type A, ignored otherwise.
fqdn
Computed
stringThe 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
stringRelative 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
stringWhich 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
integerTime to live for the record
type
RequiredForceNew
stringDNS record type (e.g., A, AAAA, CNAME, etc.)
zone
Computed
stringThe 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"  }}

Usage Notes