Skip to content

Commit 18c3958

Browse files
Adding tags variable
1 parent f7c1a13 commit 18c3958

19 files changed

+232
-36
lines changed

_variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ variable "volume_type" {
1919
description = "The EBS volume type"
2020
}
2121

22+
variable "tags" {
23+
description = "Map of tags that will be added to created resources. By default resources will be tagged with terraform=true."
24+
type = map(string)
25+
default = {}
26+
}
2227
variable "on_demand_percentage" {
2328
description = "Percentage of on-demand intances vs spot."
2429
default = 100

alb-internal.tf

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ resource "aws_lb" "ecs_internal" {
2424
}
2525
}
2626

27-
tags = {
28-
Name = "ecs-${var.name}-internal"
29-
}
27+
tags = merge(
28+
var.tags,
29+
{
30+
"Terraform" = true,
31+
Name = "ecs-${var.name}-internal"
32+
},
33+
)
3034
}
3135

3236
resource "aws_lb_listener" "ecs_https_internal" {
@@ -42,6 +46,13 @@ resource "aws_lb_listener" "ecs_https_internal" {
4246
type = "forward"
4347
target_group_arn = aws_lb_target_group.ecs_default_https_internal[0].arn
4448
}
49+
50+
tags = merge(
51+
var.tags,
52+
{
53+
"Terraform" = true
54+
},
55+
)
4556
}
4657

4758
resource "aws_lb_listener" "ecs_test_https_internal" {
@@ -58,6 +69,12 @@ resource "aws_lb_listener" "ecs_test_https_internal" {
5869
#target_group_arn = aws_lb_target_group.ecs_replacement_https[0].arn
5970
target_group_arn = aws_lb_target_group.ecs_default_https_internal[0].arn
6071
}
72+
tags = merge(
73+
var.tags,
74+
{
75+
"Terraform" = true
76+
},
77+
)
6178
}
6279

6380
# Generate a random string to add it to the name of the Target Group
@@ -75,6 +92,12 @@ resource "aws_lb_target_group" "ecs_default_https_internal" {
7592
port = 80
7693
protocol = "HTTP"
7794
vpc_id = var.vpc_id
95+
tags = merge(
96+
var.tags,
97+
{
98+
"Terraform" = true
99+
},
100+
)
78101

79102
lifecycle {
80103
create_before_destroy = true

alb.tf

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ resource "aws_lb" "ecs" {
2424
}
2525
}
2626

27-
tags = {
28-
Name = "ecs-${var.name}"
29-
}
27+
tags = merge(
28+
var.tags,
29+
{
30+
"Terraform" = true,
31+
"Name" = "ecs-${var.name}"
32+
},
33+
)
3034
}
3135

3236
resource "aws_lb_listener" "ecs_https" {
@@ -42,6 +46,13 @@ resource "aws_lb_listener" "ecs_https" {
4246
type = "forward"
4347
target_group_arn = aws_lb_target_group.ecs_default_https[0].arn
4448
}
49+
50+
tags = merge(
51+
var.tags,
52+
{
53+
"Terraform" = true
54+
},
55+
)
4556
}
4657

4758
resource "aws_lb_listener" "ecs_http_redirect" {
@@ -60,6 +71,12 @@ resource "aws_lb_listener" "ecs_http_redirect" {
6071
status_code = "HTTP_301"
6172
}
6273
}
74+
tags = merge(
75+
var.tags,
76+
{
77+
"Terraform" = true
78+
},
79+
)
6380
}
6481

6582
resource "aws_lb_listener" "ecs_test_https" {
@@ -76,6 +93,12 @@ resource "aws_lb_listener" "ecs_test_https" {
7693
#target_group_arn = aws_lb_target_group.ecs_replacement_https[0].arn
7794
target_group_arn = aws_lb_target_group.ecs_default_https[0].arn
7895
}
96+
tags = merge(
97+
var.tags,
98+
{
99+
"Terraform" = true
100+
},
101+
)
79102
}
80103

81104
resource "aws_lb_listener" "ecs_test_http_redirect" {
@@ -94,6 +117,12 @@ resource "aws_lb_listener" "ecs_test_http_redirect" {
94117
status_code = "HTTP_301"
95118
}
96119
}
120+
tags = merge(
121+
var.tags,
122+
{
123+
"Terraform" = true
124+
},
125+
)
97126
}
98127

99128
# Generate a random string to add it to the name of the Target Group
@@ -111,6 +140,13 @@ resource "aws_lb_target_group" "ecs_default_http" {
111140
protocol = "HTTP"
112141
vpc_id = var.vpc_id
113142

143+
tags = merge(
144+
var.tags,
145+
{
146+
"Terraform" = true
147+
},
148+
)
149+
114150
lifecycle {
115151
create_before_destroy = true
116152
}
@@ -124,6 +160,13 @@ resource "aws_lb_target_group" "ecs_default_https" {
124160
protocol = "HTTP"
125161
vpc_id = var.vpc_id
126162

163+
tags = merge(
164+
var.tags,
165+
{
166+
"Terraform" = true
167+
},
168+
)
169+
127170
lifecycle {
128171
create_before_destroy = true
129172
}

asg.tf

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,18 @@ resource "aws_autoscaling_group" "ecs" {
3333

3434
protect_from_scale_in = var.asg_protect_from_scale_in
3535

36-
tag {
37-
key = "Name"
38-
value = "ecs-node-${var.name}"
39-
propagate_at_launch = true
36+
dynamic "tag" {
37+
for_each = merge(
38+
{
39+
Name = "ecs-node-${var.name}"
40+
},
41+
var.tags
42+
)
43+
content {
44+
key = tag.key
45+
value = tag.value
46+
propagate_at_launch = true
47+
}
4048
}
4149

4250
target_group_arns = var.target_group_arns

cloutwatch-alarms-alb.tf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ resource "aws_cloudwatch_metric_alarm" "alb_500_errors" {
1515
insufficient_data_actions = []
1616
treat_missing_data = "ignore"
1717

18+
tags = merge(
19+
var.tags,
20+
{
21+
"Terraform" = true
22+
},
23+
)
1824
dimensions = {
1925
LoadBalancer = aws_lb.ecs[0].arn_suffix
2026
}
@@ -37,6 +43,12 @@ resource "aws_cloudwatch_metric_alarm" "alb_400_errors" {
3743
insufficient_data_actions = []
3844
treat_missing_data = "ignore"
3945

46+
tags = merge(
47+
var.tags,
48+
{
49+
"Terraform" = true
50+
},
51+
)
4052
dimensions = {
4153
LoadBalancer = aws_lb.ecs[0].arn_suffix
4254
}
@@ -75,4 +87,11 @@ resource "aws_cloudwatch_metric_alarm" "alb_latency" {
7587
}
7688
}
7789
}
90+
91+
tags = merge(
92+
var.tags,
93+
{
94+
"Terraform" = true
95+
},
96+
)
7897
}

cloutwatch-alarms-asg.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,11 @@ resource "aws_cloudwatch_metric_alarm" "asg_high_cpu" {
1818
dimensions = {
1919
AutoScalingGroupName = aws_autoscaling_group.ecs[0].name
2020
}
21+
22+
tags = merge(
23+
var.tags,
24+
{
25+
"Terraform" = true
26+
},
27+
)
2128
}

cloutwatch-alarms-ecs.tf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ resource "aws_cloudwatch_metric_alarm" "ecs_high_memory" {
1818
dimensions = {
1919
ClusterName = aws_ecs_cluster.ecs.name
2020
}
21+
22+
tags = merge(
23+
var.tags,
24+
{
25+
"Terraform" = true
26+
},
27+
)
2128
}
2229

2330
resource "aws_cloudwatch_metric_alarm" "ecs_high_cpu" {
@@ -40,4 +47,11 @@ resource "aws_cloudwatch_metric_alarm" "ecs_high_cpu" {
4047
dimensions = {
4148
ClusterName = aws_ecs_cluster.ecs.name
4249
}
50+
51+
tags = merge(
52+
var.tags,
53+
{
54+
"Terraform" = true
55+
},
56+
)
4357
}

cloutwatch-alarms-efs.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,11 @@ resource "aws_cloudwatch_metric_alarm" "efs_credits_low" {
1818
dimensions = {
1919
FileSystemId = aws_efs_file_system.ecs[0].id
2020
}
21+
22+
tags = merge(
23+
var.tags,
24+
{
25+
"Terraform" = true
26+
},
27+
)
2128
}

ec2-launch-template.tf

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,31 @@ resource "aws_launch_template" "ecs" {
3232
lifecycle {
3333
create_before_destroy = true
3434
}
35+
36+
tags = merge(
37+
var.tags,
38+
{
39+
"Terraform" = true
40+
},
41+
)
3542
}
3643

3744
resource "tls_private_key" "algorithm" {
3845
count = var.ec2_key_enabled ? 1 : 0
3946
algorithm = "RSA"
4047
rsa_bits = 4096
48+
4149
}
4250

4351
resource "aws_key_pair" "generated_key" {
4452
count = var.ec2_key_enabled ? 1 : 0
4553
key_name = "${var.name}-key"
4654
public_key = tls_private_key.algorithm[0].public_key_openssh
55+
56+
tags = merge(
57+
var.tags,
58+
{
59+
"Terraform" = true
60+
},
61+
)
4762
}

ecs.tf

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ resource "aws_ecs_cluster" "ecs" {
66
value = var.container_insights ? "enabled" : "disabled"
77
}
88

9+
tags = merge(
10+
var.tags,
11+
{
12+
"Terraform" = true
13+
},
14+
)
915
lifecycle {
10-
ignore_changes = [
11-
tags
12-
]
16+
ignore_changes = []
17+
1318
}
1419
}
1520

0 commit comments

Comments
 (0)