generated from Azure/terraform-azurerm-avm-template
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathlocals.roleassignments.tf
53 lines (53 loc) · 1.97 KB
/
locals.roleassignments.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
44
45
46
47
48
49
50
51
52
53
locals {
flatten_pe_role_assignments = flatten([
for pe_name, pe_params in local.normalized_private_endpoints : [
for role_key, role_params in pe_params.role_assignments : {
role_key = role_key
pe_name = pe_name
role_params = role_params
scope_type = local.private_endpoint_scope_type
}
]
])
flatten_queue_role_assignments = flatten([
for queue_name, queue_params in var.queues : [
for role_key, role_params in queue_params.role_assignments : {
role_key = role_key
queue_name = queue_name
role_params = role_params
scope_type = local.queue_scope_type
}
]
])
flatten_topic_role_assignments = flatten([
for topic_name, topic_params in local.normalized_topics : [
for role_key, role_params in topic_params.role_assignments : {
role_key = role_key
topic_name = topic_name
role_params = role_params
scope_type = local.topic_scope_type
}
]
])
namespace_role_assignments = {
for role_key, role_params in var.role_assignments :
"${local.namespace_scope_type}|${role_key}" => {
role_params = role_params
scope_type = local.namespace_scope_type
}
}
pe_role_assignments = {
for pe_role in local.flatten_pe_role_assignments :
"${pe_role.scope_type}|${pe_role.role_key}" => pe_role
}
queue_role_assignments = {
for queue_role in local.flatten_queue_role_assignments :
"${queue_role.scope_type}|${queue_role.role_key}|${queue_role.queue_name}" => queue_role
}
role_definition_resource_substring = "providers/Microsoft.Authorization/roleDefinitions"
topic_role_assignments = {
for topic_role in local.flatten_topic_role_assignments :
"${topic_role.scope_type}|${topic_role.role_key}|${topic_role.topic_name}" => topic_role
}
total_role_assignments = merge(local.namespace_role_assignments, local.queue_role_assignments, local.topic_role_assignments, local.pe_role_assignments)
}