Skip to content

Commit d5b4590

Browse files
author
Sumit Sarkar
committed
FEAT: Allow user to pass in existing target group if any
1 parent 535ff4a commit d5b4590

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

main.tf

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,14 @@ resource "aws_ecs_service" "main" {
3535
}
3636

3737
load_balancer {
38-
target_group_arn = aws_alb_target_group.main.id
38+
target_group_arn = var.alb_target_group_id_override == "" ? aws_alb_target_group.main.id : var.alb_target_group_id_override
3939
container_name = var.container_name
4040
container_port = var.port
4141
}
42-
43-
depends_on = [aws_alb_listener_rule.attach_listener]
4442
}
4543

4644
resource "aws_alb_target_group" "main" {
45+
count = var.alb_target_group_id_override == "" ? 1 : 0
4746
name = "tg${var.environment}${var.service_name}"
4847

4948
health_check {
@@ -68,7 +67,7 @@ resource "aws_alb_target_group" "main" {
6867
}
6968

7069
resource "aws_alb_listener_rule" "attach_listener" {
71-
count = length(var.alb_listener_rule_arns)
70+
count = var.alb_target_group_id_override == "" ? length(var.alb_listener_rule_arns) : 0
7271

7372
priority = var.rule_priority
7473

@@ -91,7 +90,9 @@ resource "aws_alb_listener_rule" "attach_listener" {
9190
#
9291
# Application AutoScaling resources
9392
#
93+
9494
resource "aws_appautoscaling_target" "main" {
95+
count = var.disable_auto_scaling ? 1 : 0
9596
service_namespace = "ecs"
9697
resource_id = "service/${var.cluster_name}/${aws_ecs_service.main.name}"
9798
scalable_dimension = "ecs:service:DesiredCount"
@@ -102,6 +103,7 @@ resource "aws_appautoscaling_target" "main" {
102103
}
103104

104105
resource "aws_appautoscaling_policy" "up" {
106+
count = var.disable_auto_scaling ? 1 : 0
105107
name = "appScalingPolicy${var.environment}${title(var.service_name)}ScaleUp"
106108
service_namespace = "ecs"
107109
resource_id = "service/${var.cluster_name}/${aws_ecs_service.main.name}"
@@ -122,6 +124,7 @@ resource "aws_appautoscaling_policy" "up" {
122124
}
123125

124126
resource "aws_appautoscaling_policy" "down" {
127+
count = var.disable_auto_scaling ? 1 : 0
125128
name = "appScalingPolicy${title(var.environment)}${title(var.service_name)}ScaleDown"
126129
service_namespace = "ecs"
127130
resource_id = "service/${var.cluster_name}/${aws_ecs_service.main.name}"

variables.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ variable "task_definition_arn" {
2828

2929
variable "alb_listener_rule_arns" {
3030
type = list(string)
31+
default = []
3132
}
3233

3334
variable "rule_type" {
@@ -140,3 +141,12 @@ variable "placement_constraints" {
140141
]
141142
}
142143

144+
variable "disable_auto_scaling" {
145+
description = "Setting this setting to true will result in not creating auto scaling policies for the service"
146+
default = false
147+
}
148+
149+
variable "alb_target_group_id_override" {
150+
description = "User has the option to provide a AWS Target Group ID"
151+
default = ""
152+
}

0 commit comments

Comments
 (0)