@@ -121,21 +121,26 @@ resource "aws_lb_listener" "this" {
121
121
certificate_arn = var. certificate_arn
122
122
123
123
dynamic "default_action" {
124
- for_each = local. authenticate_cognito
124
+ for_each = local. default_actions
125
+
125
126
content {
126
- type = " authenticate-cognito"
127
- authenticate_cognito {
128
- user_pool_arn = lookup (authenticate_cognito. value , " user_pool_arn" , null )
129
- user_pool_client_id = lookup (authenticate_cognito. value , " user_pool_client_id" , null )
130
- user_pool_domain = lookup (authenticate_cognito. value , " user_pool_domain" , null )
127
+ type = lookup (default_action. value , " type" , null )
128
+
129
+ dynamic "authenticate_cognito" {
130
+ for_each = length (keys (lookup (default_action. value , " authenticate_cognito" , {}))) > 0 ? [lookup (default_action. value , " authenticate_cognito" , {})] : []
131
+
132
+ content {
133
+ user_pool_arn = lookup (authenticate_cognito. value , " user_pool_arn" , null )
134
+ user_pool_client_id = lookup (authenticate_cognito. value , " user_pool_client_id" , null )
135
+ user_pool_domain = lookup (authenticate_cognito. value , " user_pool_domain" , null )
136
+ }
131
137
}
132
138
}
133
139
}
134
140
135
141
default_action {
136
142
type = " forward"
137
143
target_group_arn = aws_lb_target_group. ui_static . id
138
- order = 100
139
144
}
140
145
}
141
146
@@ -144,13 +149,19 @@ resource "aws_lb_listener_rule" "ui_backend" {
144
149
priority = 1
145
150
146
151
dynamic "action" {
147
- for_each = local. authenticate_cognito
152
+ for_each = local. default_actions
153
+
148
154
content {
149
- type = " authenticate-cognito"
150
- authenticate_cognito {
151
- user_pool_arn = lookup (authenticate_cognito. value , " user_pool_arn" , null )
152
- user_pool_client_id = lookup (authenticate_cognito. value , " user_pool_client_id" , null )
153
- user_pool_domain = lookup (authenticate_cognito. value , " user_pool_domain" , null )
155
+ type = lookup (action. value , " type" , null )
156
+
157
+ dynamic "authenticate_cognito" {
158
+ for_each = length (keys (lookup (action. value , " authenticate_cognito" , {}))) > 0 ? [lookup (action. value , " authenticate_cognito" , {})] : []
159
+
160
+ content {
161
+ user_pool_arn = lookup (authenticate_cognito. value , " user_pool_arn" , null )
162
+ user_pool_client_id = lookup (authenticate_cognito. value , " user_pool_client_id" , null )
163
+ user_pool_domain = lookup (authenticate_cognito. value , " user_pool_domain" , null )
164
+ }
154
165
}
155
166
}
156
167
}
0 commit comments