Skip to content

Commit eb070dd

Browse files
authored
Merge pull request #20 from telekom-mms/issue_3
#3
2 parents 12beccc + 0141903 commit eb070dd

File tree

7 files changed

+101
-1
lines changed

7 files changed

+101
-1
lines changed

.github/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"azurerm-dns-a-record",
1313
"azurerm-dns-cname-record",
1414
"azurerm-dns-txt-record",
15-
"azurerm-dns-mx-record"
15+
"azurerm-dns-mx-record",
16+
"azurerm-private-dns-zone-virtual-network-link"
1617
]
1718
}
1819
}

examples/apply_main.tf

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
module "network" {
2+
source = "registry.terraform.io/telekom-mms/network/azurerm"
3+
virtual_network = {
4+
vn-app-mms = {
5+
location = "westeurope"
6+
resource_group_name = "rg-mms-github"
7+
address_space = ["173.0.0.0/23"]
8+
}
9+
}
10+
}
11+
112
module "dns" {
213
source = "registry.terraform.io/telekom-mms/dns/azurerm"
314
dns_zone = {
@@ -47,4 +58,11 @@ module "dns" {
4758
}
4859
}
4960
}
61+
private_dns_zone_virtual_network_link = {
62+
pl-mms-github = {
63+
resource_group_name = "rg-mms-github"
64+
private_dns_zone_name = module.dns.private_dns_zone["mms-github-privat-plattform.com"].name
65+
virtual_network_id = module.network.virtual_network["vn-app-mms"].id
66+
}
67+
}
5068
}

examples/full_main.tf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
module "network" {
2+
source = "registry.terraform.io/telekom-mms/network/azurerm"
3+
virtual_network = {
4+
vn-app-mms = {
5+
location = "westeurope"
6+
resource_group_name = "rg-mms-github"
7+
address_space = ["173.0.0.0/23"]
8+
}
9+
}
10+
}
11+
112
module "dns" {
213
source = "registry.terraform.io/telekom-mms/dns/azurerm"
314
dns_zone = {
@@ -87,4 +98,16 @@ module "dns" {
8798
}
8899
}
89100
}
101+
private_dns_zone_virtual_network_link = {
102+
pl-mms-github = {
103+
resource_group_name = "rg-mms-github"
104+
private_dns_zone_name = module.dns.private_dns_zone["mms-github-privat-plattform.com"].name
105+
virtual_network_id = module.network.virtual_network["vn-app-mms"].id
106+
tags = {
107+
project = "mms-github"
108+
environment = terraform.workspace
109+
managed-by = "terraform"
110+
}
111+
}
112+
}
90113
}

examples/min_main.tf

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
module "network" {
2+
source = "registry.terraform.io/telekom-mms/network/azurerm"
3+
virtual_network = {
4+
vn-app-mms = {
5+
location = "westeurope"
6+
resource_group_name = "rg-mms-github"
7+
address_space = ["173.0.0.0/23"]
8+
}
9+
}
10+
}
11+
112
module "dns" {
213
source = "registry.terraform.io/telekom-mms/dns/azurerm"
314
dns_zone = {
@@ -47,4 +58,11 @@ module "dns" {
4758
}
4859
}
4960
}
61+
private_dns_zone_virtual_network_link = {
62+
pl-mms-github = {
63+
resource_group_name = "rg-mms-github"
64+
private_dns_zone_name = module.dns.private_dns_zone["mms-github-privat-plattform.com"].name
65+
virtual_network_id = module.network.virtual_network["vn-app-mms"].id
66+
}
67+
}
5068
}

main.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,14 @@ resource "azurerm_dns_mx_record" "dns_mx_record" {
120120

121121
tags = local.dns_mx_record[each.key].tags
122122
}
123+
124+
resource "azurerm_private_dns_zone_virtual_network_link" "private_dns_zone_virtual_network_link" {
125+
for_each = var.private_dns_zone_virtual_network_link
126+
127+
name = local.private_dns_zone_virtual_network_link[each.key].name == "" ? each.key : local.private_dns_zone_virtual_network_link[each.key].name
128+
resource_group_name = local.private_dns_zone_virtual_network_link[each.key].resource_group_name
129+
private_dns_zone_name = local.private_dns_zone_virtual_network_link[each.key].private_dns_zone_name
130+
virtual_network_id = local.private_dns_zone_virtual_network_link[each.key].virtual_network_id
131+
registration_enabled = local.private_dns_zone_virtual_network_link[each.key].registration_enabled
132+
tags = local.private_dns_zone_virtual_network_link[each.key].tags
133+
}

outputs.tf

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,17 @@ output "dns_mx_record" {
6464
}
6565
}
6666

67+
output "private_dns_zone_virtual_network_link" {
68+
description = "Outputs all attributes of resource_type."
69+
value = {
70+
for private_dns_zone_virtual_network_link in keys(azurerm_private_dns_zone_virtual_network_link.private_dns_zone_virtual_network_link) :
71+
private_dns_zone_virtual_network_link => {
72+
for key, value in azurerm_private_dns_zone_virtual_network_link.private_dns_zone_virtual_network_link[private_dns_zone_virtual_network_link] :
73+
key => value
74+
}
75+
}
76+
}
77+
6778
output "variables" {
6879
description = "Displays all configurable variables passed by the module. __default__ = predefined values per module. __merged__ = result of merging the default values and custom values passed to the module"
6980
value = {
@@ -96,6 +107,10 @@ output "variables" {
96107
for key in keys(var.dns_mx_record) :
97108
key => local.dns_mx_record[key]
98109
}
110+
private_dns_zone_virtual_network_link = {
111+
for key in keys(var.private_dns_zone_virtual_network_link) :
112+
key => local.private_dns_zone_virtual_network_link[key]
113+
}
99114
}
100115
}
101116
}

variables.tf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ variable "dns_mx_record" {
2828
default = {}
2929
description = "resource definition, default settings are defined within locals and merged with var settings"
3030
}
31+
variable "private_dns_zone_virtual_network_link" {
32+
type = any
33+
default = {}
34+
description = "resource definition, default settings are defined within locals and merged with var settings"
35+
}
3136

3237
locals {
3338
default = {
@@ -84,6 +89,11 @@ locals {
8489
ttl = 3600 // define default
8590
tags = {}
8691
}
92+
private_dns_zone_virtual_network_link = {
93+
name = ""
94+
registration_enabled = null
95+
tags = {}
96+
}
8797
}
8898

8999
// compare and merge custom and default values
@@ -133,4 +143,8 @@ locals {
133143
for dns_mx_record in keys(var.dns_mx_record) :
134144
dns_mx_record => merge(local.default.dns_mx_record, var.dns_mx_record[dns_mx_record])
135145
}
146+
private_dns_zone_virtual_network_link = {
147+
for private_dns_zone_virtual_network_link in keys(var.private_dns_zone_virtual_network_link) :
148+
private_dns_zone_virtual_network_link => merge(local.default.private_dns_zone_virtual_network_link, var.private_dns_zone_virtual_network_link[private_dns_zone_virtual_network_link])
149+
}
136150
}

0 commit comments

Comments
 (0)