11/* *
22* # dns
33*
4- * This module manages the hashicorp/azurerm dns resources.
4+ * This module manages the hashicorp/azurerm dns and private dns resources.
55* For more information see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs > dns
6+ * and https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs > private dns
67*
78*/
89
@@ -69,6 +70,18 @@ resource "azurerm_dns_a_record" "dns_a_record" {
6970 tags = local. dns_a_record [each . key ]. tags
7071}
7172
73+ resource "azurerm_private_dns_a_record" "private_dns_a_record" {
74+ for_each = var. private_dns_a_record
75+
76+ name = local. private_dns_a_record [each . key ]. name == " " ? each. key : local. private_dns_a_record [each . key ]. name
77+ resource_group_name = local. private_dns_a_record [each . key ]. resource_group_name
78+ zone_name = local. private_dns_a_record [each . key ]. zone_name
79+ ttl = local. private_dns_a_record [each . key ]. ttl
80+ records = local. private_dns_a_record [each . key ]. records
81+
82+ tags = local. private_dns_a_record [each . key ]. tags
83+ }
84+
7285resource "azurerm_dns_cname_record" "dns_cname_record" {
7386 for_each = var. dns_cname_record
7487
@@ -82,6 +95,18 @@ resource "azurerm_dns_cname_record" "dns_cname_record" {
8295 tags = local. dns_cname_record [each . key ]. tags
8396}
8497
98+ resource "azurerm_private_dns_cname_record" "private_dns_cname_record" {
99+ for_each = var. private_dns_cname_record
100+
101+ name = local. private_dns_cname_record [each . key ]. name == " " ? each. key : local. private_dns_cname_record [each . key ]. name
102+ resource_group_name = local. private_dns_cname_record [each . key ]. resource_group_name
103+ zone_name = local. private_dns_cname_record [each . key ]. zone_name
104+ ttl = local. private_dns_cname_record [each . key ]. ttl
105+ record = local. private_dns_cname_record [each . key ]. record
106+
107+ tags = local. private_dns_cname_record [each . key ]. tags
108+ }
109+
85110resource "azurerm_dns_txt_record" "dns_txt_record" {
86111 for_each = var. dns_txt_record
87112
@@ -101,6 +126,25 @@ resource "azurerm_dns_txt_record" "dns_txt_record" {
101126 tags = local. dns_txt_record [each . key ]. tags
102127}
103128
129+ resource "azurerm_private_dns_txt_record" "private_dns_txt_record" {
130+ for_each = var. private_dns_txt_record
131+
132+ name = local. private_dns_txt_record [each . key ]. name == " " ? each. key : local. private_dns_txt_record [each . key ]. name
133+ resource_group_name = local. private_dns_txt_record [each . key ]. resource_group_name
134+ zone_name = local. private_dns_txt_record [each . key ]. zone_name
135+ ttl = local. private_dns_txt_record [each . key ]. ttl
136+
137+ dynamic "record" {
138+ for_each = local. private_dns_txt_record [each . key ]. record
139+
140+ content {
141+ value = local. private_dns_txt_record [each . key ]. record [record . key ]. value
142+ }
143+ }
144+
145+ tags = local. private_dns_txt_record [each . key ]. tags
146+ }
147+
104148resource "azurerm_dns_mx_record" "dns_mx_record" {
105149 for_each = var. dns_mx_record
106150
@@ -121,6 +165,26 @@ resource "azurerm_dns_mx_record" "dns_mx_record" {
121165 tags = local. dns_mx_record [each . key ]. tags
122166}
123167
168+ resource "azurerm_private_dns_mx_record" "private_dns_mx_record" {
169+ for_each = var. private_dns_mx_record
170+
171+ name = local. private_dns_mx_record [each . key ]. name == " " ? each. key : local. private_dns_mx_record [each . key ]. name
172+ resource_group_name = local. private_dns_mx_record [each . key ]. resource_group_name
173+ zone_name = local. private_dns_mx_record [each . key ]. zone_name
174+ ttl = local. private_dns_mx_record [each . key ]. ttl
175+
176+ dynamic "record" {
177+ for_each = local. private_dns_mx_record [each . key ]. record
178+
179+ content {
180+ preference = local. private_dns_mx_record [each . key ]. record [record . key ]. preference
181+ exchange = local. private_dns_mx_record [each . key ]. record [record . key ]. exchange
182+ }
183+ }
184+
185+ tags = local. private_dns_mx_record [each . key ]. tags
186+ }
187+
124188resource "azurerm_private_dns_zone_virtual_network_link" "private_dns_zone_virtual_network_link" {
125189 for_each = var. private_dns_zone_virtual_network_link
126190
0 commit comments