-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdns.tf
More file actions
31 lines (28 loc) · 793 Bytes
/
dns.tf
File metadata and controls
31 lines (28 loc) · 793 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
data "local_file" "dns_override" {
filename = "${path.module}/dns_override.json"
}
locals {
dns_override = jsondecode(data.local_file.dns_override.content)
hosts = flatten([
for srv in local.dns_override : [
for h in srv.hostname : {
hostname = h
domain = srv.domain
server = srv.server
}
]
])
}
resource "opnsense_unbound_host_override" "dns_override" {
enabled = true
description = "${each.value.hostname}.${each.value.domain} managed by Terraform"
hostname = each.value.hostname
domain = each.value.domain
server = each.value.server
for_each = { for dns in local.hosts : dns.hostname => dns }
}
output "dns_override" {
value = {
for dns in local.hosts : "${dns.hostname}.${dns.domain}" => dns.server
}
}