Skip to content

Commit 21fa9a6

Browse files
committed
fix(alb): incorrect key values in alb listeners outputs
Change variable type for listeners to `map` instead of `list` for better referencing.
1 parent 1571102 commit 21fa9a6

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

modules/alb/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ No modules.
3030
| Name | Description | Type | Default | Required |
3131
|------|-------------|------|---------|:--------:|
3232
| <a name="input_internal"></a> [internal](#input\_internal) | Either the ALB is internal or internet-facing | `bool` | `false` | no |
33-
| <a name="input_listeners"></a> [listeners](#input\_listeners) | Listeners to forward ALB ingress to desired Target Groups | <pre>list(object({<br> default_action = list(object({<br> type = string<br> target_group = string<br> authenticate_cognito = optional(any, {})<br> authenticate_oidc = optional(any, {})<br> fixed_response = optional(any, {})<br> forward = optional(any, {})<br> order = optional(number)<br> redirect = optional(any, {})<br> }))<br> alpn_policy = optional(string)<br> certificate_arn = optional(string)<br> mutual_authentication = optional(any, {})<br> port = optional(number)<br> protocol = optional(string)<br> ssl_policy = optional(string)<br> tags = optional(map(any), {})<br> }))</pre> | n/a | yes |
33+
| <a name="input_listeners"></a> [listeners](#input\_listeners) | Listeners to forward ALB ingress to desired Target Groups | <pre>map(object({<br> default_action = list(object({<br> type = string<br> target_group = string<br> authenticate_cognito = optional(any, {})<br> authenticate_oidc = optional(any, {})<br> fixed_response = optional(any, {})<br> forward = optional(any, {})<br> order = optional(number)<br> redirect = optional(any, {})<br> }))<br> alpn_policy = optional(string)<br> certificate_arn = optional(string)<br> mutual_authentication = optional(any, {})<br> port = optional(number)<br> protocol = optional(string)<br> ssl_policy = optional(string)<br> tags = optional(map(any), {})<br> }))</pre> | n/a | yes |
3434
| <a name="input_name"></a> [name](#input\_name) | Name of the ALB | `string` | `""` | no |
3535
| <a name="input_preserve_host_header"></a> [preserve\_host\_header](#input\_preserve\_host\_header) | Whether the ALB should preserve the Host Header in HTTP requests and send it to the target without any changes | `bool` | `false` | no |
3636
| <a name="input_security_groups_ids"></a> [security\_groups\_ids](#input\_security\_groups\_ids) | Identifiers of Security Groups for the ALB | `list(string)` | `[]` | no |

modules/alb/main.tf

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,28 +54,28 @@ resource "aws_lb_target_group" "this" {
5454
################################################################################
5555

5656
resource "aws_lb_listener" "this" {
57-
count = length(var.listeners)
57+
for_each = var.listeners
5858

5959
load_balancer_arn = aws_lb.this.arn
6060

61-
alpn_policy = element(var.listeners, count.index).alpn_policy
62-
certificate_arn = element(var.listeners, count.index).certificate_arn
63-
port = element(var.listeners, count.index).port
64-
protocol = element(var.listeners, count.index).protocol
65-
ssl_policy = element(var.listeners, count.index).ssl_policy
61+
alpn_policy = each.value.alpn_policy
62+
certificate_arn = each.value.certificate_arn
63+
port = each.value.port
64+
protocol = each.value.protocol
65+
ssl_policy = each.value.ssl_policy
6666

6767
dynamic "mutual_authentication" {
68-
for_each = length(element(var.listeners, count.index).mutual_authentication != null ? element(var.listeners, count.index).mutual_authentication : {}) > 0 ? [1] : []
68+
for_each = length(each.value.mutual_authentication != null ? each.value.mutual_authentication : {}) > 0 ? [1] : []
6969

7070
content {
71-
mode = element(var.listeners, count.index).mutual_authentication.mode
72-
trust_store_arn = element(var.listeners, count.index).mutual_authentication.trust_store_arn
73-
ignore_client_certificate_expiry = try(element(var.listeners, count.index).mutual_authentication.ignore_client_certificate_expiry, null)
71+
mode = each.value.mutual_authentication.mode
72+
trust_store_arn = each.value.mutual_authentication.trust_store_arn
73+
ignore_client_certificate_expiry = try(each.value.mutual_authentication.ignore_client_certificate_expiry, null)
7474
}
7575
}
7676

7777
dynamic "default_action" {
78-
for_each = element(var.listeners, count.index).default_action
78+
for_each = each.value.default_action
7979
iterator = default_action
8080

8181
content {
@@ -166,5 +166,5 @@ resource "aws_lb_listener" "this" {
166166
}
167167
}
168168

169-
tags = element(var.listeners, count.index).tags
169+
tags = each.value.tags
170170
}

modules/alb/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ variable "target_groups" {
6161

6262
variable "listeners" {
6363
description = "Listeners to forward ALB ingress to desired Target Groups"
64-
type = list(object({
64+
type = map(object({
6565
default_action = list(object({
6666
type = string
6767
target_group = string

0 commit comments

Comments
 (0)