@@ -164,6 +164,30 @@ resource "aws_lb_listener" "this" {
164164 }
165165 }
166166
167+ dynamic "default_action" {
168+ for_each = each. value . jwt_validation != null ? [each . value . jwt_validation ] : []
169+
170+ content {
171+ jwt_validation {
172+ issuer = default_action. value . issuer
173+ jwks_endpoint = default_action. value . jwks_endpoint
174+
175+ dynamic "additional_claim" {
176+ for_each = default_action. value . additional_claim != null ? default_action. value . additional_claim : []
177+
178+ content {
179+ format = additional_claim. value . format
180+ name = additional_claim. value . name
181+ values = additional_claim. value . values
182+ }
183+ }
184+ }
185+
186+ order = each. value . order
187+ type = " jwt-validation"
188+ }
189+ }
190+
167191 dynamic "default_action" {
168192 for_each = each. value . fixed_response != null ? [each . value . fixed_response ] : []
169193
@@ -354,6 +378,35 @@ resource "aws_lb_listener_rule" "this" {
354378 }
355379 }
356380
381+ # JWT validation
382+ dynamic "action" {
383+ for_each = [for action in each . value . actions : action if action . jwt_validation != null ]
384+
385+ content {
386+ dynamic "jwt_validation" {
387+ for_each = [action . value . jwt_validation ]
388+
389+ content {
390+ issuer = jwt_validation. value . issuer
391+ jwks_endpoint = jwt_validation. value . jwks_endpoint
392+
393+ dynamic "additional_claim" {
394+ for_each = jwt_validation. value . additional_claim != null ? jwt_validation. value . additional_claim : []
395+
396+ content {
397+ format = additional_claim. value . format
398+ name = additional_claim. value . name
399+ values = additional_claim. value . values
400+ }
401+ }
402+ }
403+ }
404+
405+ order = action. value . order
406+ type = " jwt-validation"
407+ }
408+ }
409+
357410 # Fixed response
358411 dynamic "action" {
359412 for_each = [for action in each . value . actions : action if action . fixed_response != null ]
0 commit comments