generated from kabisa/terraform-module-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tf
62 lines (60 loc) · 1.49 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
locals {
filters = ["env:${var.env}", "service:${var.service}"]
tag_specials_regex = "/[^a-z0-9\\-_:.\\/]/"
tags = concat(
[
"terraform:true",
"env:${var.env}",
"service:${var.service}",
],
var.additional_tags
)
# Normalize all the tags according to best practices defined by Datadog. The
# following changes are made:
#
# * Make all characters lowercase.
# * Replace special characters with an underscore.
# * Remove duplicate underscores.
# * Remove any non-letter leading characters.
# * Remove any trailing underscores.
#
# See: https://docs.datadoghq.com/developers/guide/what-best-practices-are-recommended-for-naming-metrics-and-tags
normalized_tags = [
for tag
in local.tags :
replace(
replace(
replace(
replace(lower(tag), local.tag_specials_regex, "_")
,
"/_+/",
"_"
),
"/^[^a-z]+/",
""
),
"/_+$/",
""
)
]
normalized_filters = [
for tag
in local.filters :
replace(
replace(
replace(
replace(lower(tag), local.tag_specials_regex, "_")
,
"/_+/",
"_"
),
"/^[^a-z]+/",
""
),
"/_+$/",
""
)
]
filter_str = var.filters_str_override != null ? var.filters_str_override : join(",", local.normalized_filters)
service_display_name = var.service_display_name != null ? var.service_display_name : var.service
}