variables.privatednszone.tf (91 lines of code) (raw):

variable "private_dns_zones" { type = map(object({ domain_name = string resource_group_name = string a_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number records = list(string) tags = optional(map(string), null) })), {}) aaaa_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number records = list(string) tags = optional(map(string), null) })), {}) cname_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number record = string tags = optional(map(string), null) })), {}) mx_records = optional(map(object({ name = optional(string, "@") resource_group_name = string zone_name = string ttl = number records = map(object({ preference = number exchange = string })) tags = optional(map(string), null) })), {}) ptr_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number records = list(string) tags = optional(map(string), null) })), {}) soa_record = optional(object({ email = string expire_time = optional(number, 2419200) minimum_ttl = optional(number, 10) refresh_time = optional(number, 3600) retry_time = optional(number, 300) ttl = optional(number, 3600) tags = optional(map(string), null) }), null) srv_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number records = map(object({ priority = number weight = number port = number target = string })) tags = optional(map(string), null) })), {}) tags = optional(map(string), null) txt_records = optional(map(object({ name = string resource_group_name = string zone_name = string ttl = number records = map(object({ value = string })) tags = optional(map(string), null) })), {}) virtual_network_links = optional(map(object({ vnetlinkname = string vnetid = string autoregistration = optional(bool, false) tags = optional(map(string), null) })), {}) })) default = { } description = "A map of private DNS zones to create and associate with the storage account and/or Function App." }