@@ -7,23 +7,23 @@ data "aws_lb" "lb" {
77}
88
99data "aws_lb_target_group" "lb_http_target_groups" {
10- count = length (var. lb_http_tgs_arns )
11- arn = element (var . lb_http_tgs_arns , count . index )
10+ for_each = var . lb_http_tgs_arns != null ? toset (var. lb_http_tgs_arns ) : toset ([] )
11+ arn = each . key
1212}
1313
1414data "aws_lb_target_group" "lb_https_target_groups" {
15- count = length (var. lb_https_tgs_arns )
16- arn = element (var . lb_https_tgs_arns , count . index )
15+ for_each = toset (var. lb_https_tgs_arns )
16+ arn = each . key
1717}
1818
1919data "aws_lb_listener" "lb_http_listeners" {
20- count = length (var. lb_http_listeners_arns )
21- arn = element (var . lb_http_listeners_arns , count . index )
20+ for_each = var . lb_http_listeners_arns != null ? toset (var. lb_http_listeners_arns ) : toset ([] )
21+ arn = each . key
2222}
2323
2424data "aws_lb_listener" "lb_https_listeners" {
25- count = length (var. lb_https_listeners_arns )
26- arn = element (var . lb_https_listeners_arns , count . index )
25+ for_each = var . lb_https_listeners_arns != null ? toset (var. lb_https_listeners_arns ) : toset ([] )
26+ arn = each . key
2727}
2828
2929# ------------------------------------------------------------------------------
@@ -111,21 +111,21 @@ resource "aws_security_group" "ecs_tasks_sg" {
111111}
112112
113113resource "aws_security_group_rule" "ingress_through_http" {
114- count = length (data . aws_lb_target_group . lb_http_target_groups )
114+ for_each = var . lb_http_tgs_ports != null ? toset (var . lb_http_tgs_ports ) : toset ([] )
115115 security_group_id = aws_security_group. ecs_tasks_sg . id
116116 type = " ingress"
117- from_port = element (data . aws_lb_target_group . lb_http_target_groups . * . port , count . index )
118- to_port = element (data . aws_lb_target_group . lb_http_target_groups . * . port , count . index )
117+ from_port = each . key
118+ to_port = each . key
119119 protocol = " tcp"
120120 source_security_group_id = var. load_balancer_sg_id
121121}
122122
123123resource "aws_security_group_rule" "ingress_through_https" {
124- count = length (data . aws_lb_target_group . lb_https_target_groups )
124+ for_each = var . lb_https_tgs_ports != null ? toset (var . lb_https_tgs_ports ) : toset ([] )
125125 security_group_id = aws_security_group. ecs_tasks_sg . id
126126 type = " ingress"
127- from_port = element (data . aws_lb_target_group . lb_https_target_groups . * . port , count . index )
128- to_port = element (data . aws_lb_target_group . lb_https_target_groups . * . port , count . index )
127+ from_port = each . key
128+ to_port = each . key
129129 protocol = " tcp"
130130 source_security_group_id = var. load_balancer_sg_id
131131}
0 commit comments