-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathiam.tf
43 lines (30 loc) · 1.19 KB
/
iam.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
43
locals {
iam_map = { for iam in var.iam : iam.role => iam }
}
module "iam" {
source = "github.com/mineiros-io/terraform-google-cloud-run-iam?ref=v0.2.0"
for_each = var.policy_bindings == null ? local.iam_map : {}
module_enabled = var.module_enabled
module_depends_on = var.module_depends_on
project = var.project
service = try(google_cloud_run_service.service[0].name, null)
location = try(google_cloud_run_service.service[0].location, null)
role = try(each.value.role, null)
members = try(each.value.members, null)
authoritative = try(each.value.authoritative, true)
policy_bindings = try(each.value.policy_bindings, null)
}
moved {
from = module.iam["iam_policy"]
to = module.policy_bindings[0]
}
module "policy_bindings" {
source = "github.com/mineiros-io/terraform-google-cloud-run-iam?ref=v0.2.0"
count = var.policy_bindings != null ? 1 : 0
module_enabled = var.module_enabled
module_depends_on = var.module_depends_on
project = var.project
service = try(google_cloud_run_service.service[0].name, null)
location = try(google_cloud_run_service.service[0].location, null)
policy_bindings = try(each.value.policy_bindings, null)
}