generated from clouddrove/terraform-module-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tf
25 lines (24 loc) · 1.13 KB
/
main.tf
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
##-------------------------------------------
## Provides a DigitalOcean domain resource.
##------------------------------------------
resource "digitalocean_domain" "main" {
count = var.enabled ? 1 : 0
name = var.name
ip_address = var.ip_address
}
##---------------------------------------------
## Provides a DigitalOcean DNS record resource.
##---------------------------------------------
resource "digitalocean_record" "main" {
for_each = var.enabled ? var.records : {}
domain = join("", digitalocean_domain.main[*].id)
type = lookup(each.value, "type", "A")
name = lookup(each.value, "name", "test")
value = lookup(each.value, "value", null)
port = each.value.type == "SRV" ? lookup(each.value, "port", 22) : null
priority = each.value.type == "MX" || each.value.type == "SRV" ? lookup(each.value, "priority", 1) : null
weight = each.value.type == "SRV" ? lookup(each.value, "weight", 10) : 0
ttl = lookup(each.value, "ttl", 1800)
flags = each.value.type == "CAA" ? lookup(each.value, "flags", 10) : null
tag = each.value.type == "CAA" ? lookup(each.value, "tag", "issue") : null
}