-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgoogle.tf
32 lines (27 loc) · 1.07 KB
/
google.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
26
27
28
29
30
31
32
resource "google_compute_global_address" "gateway" {
name = var.gateway_address_name
}
resource "google_certificate_manager_certificate" "gateway" {
for_each = tomap({
# Key change is required by Terraform best practices.
for v in var.gateway_certificates : replace(replace(v.domain, "-", "_"), ".", "_") => v
})
# Name change is required by the API specification.
name = replace(replace(each.value.domain, "_", "-"), ".", "-")
self_managed {
pem_certificate = each.value.certificate
pem_private_key = each.value.key
}
}
resource "google_certificate_manager_certificate_map" "gateway" {
name = "gateway"
}
resource "google_certificate_manager_certificate_map_entry" "gateway" {
for_each = tomap({
for v in var.gateway_certificates : replace(replace(v.domain, "-", "_"), ".", "_") => v
})
name = replace(replace(each.value.domain, "_", "-"), ".", "-")
map = google_certificate_manager_certificate_map.gateway.name
certificates = [google_certificate_manager_certificate.gateway[each.key].id]
hostname = each.value.domain
}