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
|
# locals =====================================================================
locals {
# Module-level tags stamped on every OU, merged with per-OU tags.
# Precedence: module defaults < per-OU tags
module_tags = {
ManagedBy = "terraform"
Module = "governance/ou"
}
ou_tags = {
for ou_key, ou in var.organizational_units :
ou_key => merge(local.module_tags, ou.tags)
}
# OUs separated by level for hierarchical creation order.
level1_ous = {
for ou_key, ou in var.organizational_units : ou_key => ou
if ou.parent_key == "root"
}
level2_ous = {
for ou_key, ou in var.organizational_units : ou_key => ou
if ou.parent_key != "root" && contains(keys(local.level1_ous), ou.parent_key)
}
level3_ous = {
for ou_key, ou in var.organizational_units : ou_key => ou
if ou.parent_key != "root" && !contains(keys(local.level1_ous), ou.parent_key)
}
}
|