-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathmain.tf
42 lines (39 loc) · 1.06 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
resource "cloudflare_workers_script" "this" {
account_id = var.account_id
script_name = format("maintenance-%s", replace(var.cloudflare_zone, ".", "-"))
content = templatefile("${path.module}/maintenance.js", {
company_name = var.company_name
logo_url = var.logo_url
favicon_url = var.favicon_url
font = var.font
email = var.email
statuspage_url = var.statuspage_url
google_font = replace(var.font, " ", "+")
})
bindings = [
{
name = "WHITELIST_IPS"
type = "plain_text"
text = var.whitelist_ips
},
{
name = "WHITELIST_PATH"
type = "plain_text"
text = var.whitelist_path
}
]
}
data "cloudflare_zone" "this" {
filter = {
account = {
id = var.account_id
}
name = var.cloudflare_zone
}
}
resource "cloudflare_workers_route" "this" {
count = var.enabled != false ? length(var.patterns) : 0
zone_id = data.cloudflare_zone.this.zone_id
pattern = var.patterns[count.index]
script = cloudflare_workers_script.this.script_name
}