@@ -217,14 +217,46 @@ resource "aws_lb_listener" "this" {
217217 }
218218 }
219219
220+ routing_http_response_server_enabled = try (each. value . routing_http_response_server_enabled , false )
221+ routing_http_response_strict_transport_security_header_value = try (each. value . routing_http_response_strict_transport_security_header_value , null )
222+ routing_http_response_access_control_allow_origin_header_value = try (each. value . routing_http_response_access_control_allow_origin_header_value , null )
223+ routing_http_response_access_control_allow_methods_header_value = try (each. value . routing_http_response_access_control_allow_methods_header_value , null )
224+ routing_http_response_access_control_allow_headers_header_value = try (each. value . routing_http_response_access_control_allow_headers_header_value , null )
225+ routing_http_response_access_control_allow_credentials_header_value = try (each. value . routing_http_response_access_control_allow_credentials_header_value , null )
226+ routing_http_response_access_control_expose_headers_header_value = try (each. value . routing_http_response_access_control_expose_headers_header_value , null )
227+ routing_http_response_access_control_max_age_header_value = try (each. value . routing_http_response_access_control_max_age_header_value , null )
228+ routing_http_response_content_security_policy_header_value = try (each. value . routing_http_response_content_security_policy_header_value , null )
229+ routing_http_response_x_content_type_options_header_value = try (each. value . routing_http_response_x_content_type_options_header_value , null )
230+ routing_http_response_x_frame_options_header_value = try (each. value . routing_http_response_x_frame_options_header_value , null )
231+
220232 load_balancer_arn = aws_lb. this [0 ]. arn
221233 port = try (each. value . port , var. default_port )
222234 protocol = try (each. value . protocol , var. default_protocol )
223235 ssl_policy = contains ([" HTTPS" , " TLS" ], try (each. value . protocol , var. default_protocol )) ? try (each. value . ssl_policy , " ELBSecurityPolicy-TLS13-1-2-Res-2021-06" ) : try (each. value . ssl_policy , null )
224236 tcp_idle_timeout_seconds = try (each. value . tcp_idle_timeout_seconds , null )
225237 tags = merge (local. tags , try (each. value . tags , {}))
238+
239+ lifecycle {
240+ replace_triggered_by = [terraform_data . listeaner_replacement_trigger [each . key ]]
241+ }
226242}
227243
244+ resource "terraform_data" "listeaner_replacement_trigger" {
245+ for_each = { for k , v in var . listeners : k => v if local . create }
246+ input = [
247+ try (each. value . routing_http_response_server_enabled , true ),
248+ try (each. value . routing_http_response_strict_transport_security_header_value , null ),
249+ try (each. value . routing_http_response_access_control_allow_origin_header_value , null ),
250+ try (each. value . routing_http_response_access_control_allow_methods_header_value , null ),
251+ try (each. value . routing_http_response_access_control_allow_headers_header_value , null ),
252+ try (each. value . routing_http_response_access_control_allow_credentials_header_value , null ),
253+ try (each. value . routing_http_response_access_control_expose_headers_header_value , null ),
254+ try (each. value . routing_http_response_access_control_max_age_header_value , null ),
255+ try (each. value . routing_http_response_content_security_policy_header_value , null ),
256+ try (each. value . routing_http_response_x_content_type_options_header_value , null ),
257+ try (each. value . routing_http_response_x_frame_options_header_value , null )
258+ ]
259+ }
228260# ###############################################################################
229261# Listener Rule(s)
230262# ###############################################################################
0 commit comments