forked from cloudposse/terraform-terraform-label
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
23 lines (20 loc) · 1.04 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
locals {
original_tags = join(var.delimiter, compact(concat(tolist([var.namespace, var.stage, var.name]), var.attributes)))
transformed_tags = var.convert_case ? lower(local.original_tags) : local.original_tags
}
locals {
id = var.enabled ? local.transformed_tags : ""
name = var.enabled ? (var.convert_case ? lower(format("%v", var.name)) : format("%v", var.name)) : ""
namespace = var.enabled ? (var.convert_case ? lower(format("%v", var.namespace)) : format("%v", var.namespace)) : ""
stage = var.enabled ? (var.convert_case ? lower(format("%v", var.stage)) : format("%v", var.stage)) : ""
delimiter = var.enabled ? (var.convert_case ? lower(format("%v", var.delimiter)) : format("%v", var.delimiter)) : ""
attributes = var.enabled ? (var.convert_case ? lower(format("%v", join(var.delimiter, compact(var.attributes)))) : format("%v", join(var.delimiter, compact(var.attributes)))) : ""
tags = merge(
{
"Name" = local.id
"Namespace" = local.namespace
"Stage" = local.stage
},
var.tags
)
}