diff --git a/modules/alb-instance-target-group/README.md b/modules/alb-instance-target-group/README.md index b7da957..87fd15c 100644 --- a/modules/alb-instance-target-group/README.md +++ b/modules/alb-instance-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 3.71 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -40,15 +40,16 @@ This module creates following resources. | [port](#input\_port) | (Required) The number of port on which targets receive traffic, unless overridden when registering a specific target. Valid values are either ports 1-65535. | `number` | n/a | yes | | [protocol](#input\_protocol) | (Required) The protocol to use for routing traffic to the targets. Valid values are `HTTP` and `HTTPS`. Defaults to `HTTP`. | `string` | n/a | yes | | [vpc\_id](#input\_vpc\_id) | (Required) The ID of the VPC which the target group belongs to. | `string` | n/a | yes | +| [anomaly\_mitigation\_enabled](#input\_anomaly\_mitigation\_enabled) | (Optional) Whether to enable target anomaly mitigation. When a target is determined to be anomalous, traffic is automatically routed away so the target has an opportunity to recover. Target anomaly mitigation is only supported by the `WEIGHTED_RANDOM` load balancing algorithm type. Not compatible with the `slow_start_duration` attribute. Defaults to `false`. | `bool` | `false` | no | | [deregistration\_delay](#input\_deregistration\_delay) | (Optional) The time to wait for in-flight requests to complete while deregistering a target. During this time, the state of the target is draining. | `number` | `300` | no | | [health\_check](#input\_health\_check) | (Optional) Health Check configuration block. The associated load balancer periodically sends requests to the registered targets to test their status. `health_check` block as defined below.
(Optional) `protocol` - Protocol to use to connect with the target. The possible values are `HTTP` and `HTTPS`. Defaults to `HTTP`.
(Optional) `port` - The port the load balancer uses when performing health checks on targets. The default is the port on which each target receives traffic from the load balancer. Valid values are either ports 1-65535.
(Optional) `port_override` - Whether to override the port on which each target receives trafficfrom the load balancer to a different port. Defaults to `false`.
(Optional) `path` - Use the default path of `/` to ping the root, or specify a custom path if preferred.
(Optional) `success_codes` - The HTTP codes to use when checking for a successful response from a target. You can specify multiple values (for example, `200,202`) or a range of values (for example, `200-299`).
(Optional) `healthy_threshold` - The number of consecutive health checks successes required before considering an unhealthy target healthy. Valid value range is 2 - 10. Defaults to `5`.
(Optional) `unhealthy_threshold` - The number of consecutive health check failures required before considering a target unhealthy. Valid value range is 2 - 10. Defaults to `2`.
(Optional) `interval` - Approximate amount of time, in seconds, between health checks of an individual target. Valid value range is 5 - 300. Defaults to `30`.
(Optional) `timeout` - The amount of time, in seconds, during which no response means a failed health check. Valid value range is 2 - 120. Defaults to `5`. |
object({
protocol = optional(string, "HTTP")
port = optional(number, null)
port_override = optional(bool, false)
path = optional(string, null)
success_codes = optional(string, null)

healthy_threshold = optional(number, 5)
unhealthy_threshold = optional(number, 2)
interval = optional(number, 30)
timeout = optional(number, 5)
})
| `{}` | no | -| [load\_balancing\_algorithm](#input\_load\_balancing\_algorithm) | (Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN` or `LEAST_OUTSTANDING_REQUESTS`. Defaults to `ROUND_ROBIN`. | `string` | `"ROUND_ROBIN"` | no | +| [load\_balancing\_algorithm](#input\_load\_balancing\_algorithm) | (Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` or `WEIGHTED_RANDOM`. Defaults to `ROUND_ROBIN`. | `string` | `"ROUND_ROBIN"` | no | | [module\_tags\_enabled](#input\_module\_tags\_enabled) | (Optional) Whether to create AWS Resource Tags for the module informations. | `bool` | `true` | no | | [protocol\_version](#input\_protocol\_version) | (Optional) Use `HTTP1` to send requests to targets using HTTP/1.1. Supported when the request protocol is HTTP/1.1 or HTTP/2. Use `HTTP2` to send requests to targets using HTTP/2. Supported when the request protocol is HTTP/2 or gRPC, but gRPC-specific features are not available. Use `GRPC` to send requests to targets using gRPC. Supported when the request protocol is gRPC. Defaults to `HTTP1`. | `string` | `"HTTP1"` | no | | [resource\_group\_description](#input\_resource\_group\_description) | (Optional) The description of Resource Group. | `string` | `"Managed by Terraform."` | no | | [resource\_group\_enabled](#input\_resource\_group\_enabled) | (Optional) Whether to create Resource Group to find and group AWS resources which are created by this module. | `bool` | `true` | no | | [resource\_group\_name](#input\_resource\_group\_name) | (Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with `AWS` or `aws`. | `string` | `""` | no | -| [slow\_start\_duration](#input\_slow\_start\_duration) | (Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm. | `number` | `0` | no | +| [slow\_start\_duration](#input\_slow\_start\_duration) | (Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms. | `number` | `0` | no | | [stickiness\_cookie](#input\_stickiness\_cookie) | (Optional) The name of the application based cookie. `AWSALB`, `AWSALBAPP`, and `AWSALBTG` prefixes are reserved and cannot be used. Only needed when `stickiness_type` is `APP_COOKIE`. | `string` | `null` | no | | [stickiness\_duration](#input\_stickiness\_duration) | (Optional) The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. Valid values are from `1` to `604800` (1 week). Defaults to `86400` (1 day). | `number` | `86400` | no | | [stickiness\_enabled](#input\_stickiness\_enabled) | (Optional) Whether to enable the type of stickiness associated with this target group. If enabled, the load balancer binds a client’s session to a specific instance within the target group. Defaults to `false`. | `bool` | `false` | no | @@ -65,6 +66,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the Instance target group of network load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/alb-instance-target-group/main.tf b/modules/alb-instance-target-group/main.tf index ad396dc..47f73b0 100644 --- a/modules/alb-instance-target-group/main.tf +++ b/modules/alb-instance-target-group/main.tf @@ -34,7 +34,11 @@ resource "aws_lb_target_group" "this" { ## Attributes deregistration_delay = var.deregistration_delay load_balancing_algorithm_type = lower(var.load_balancing_algorithm) - slow_start = var.slow_start_duration + load_balancing_anomaly_mitigation = (var.load_balancing_algorithm == "WEIGHTED_RANDOM" + ? var.anomaly_mitigation_enabled ? "on" : "off" + : null + ) + slow_start = var.slow_start_duration stickiness { enabled = var.stickiness_enabled diff --git a/modules/alb-instance-target-group/outputs.tf b/modules/alb-instance-target-group/outputs.tf index 1b87765..ecf4b58 100644 --- a/modules/alb-instance-target-group/outputs.tf +++ b/modules/alb-instance-target-group/outputs.tf @@ -61,6 +61,10 @@ output "targets" { output "attributes" { description = "Attributes of the Instance target group of network load balancer." value = { + anomaly_mitigation_enabled = (var.load_balancing_algorithm == "WEIGHTED_RANDOM" + ? var.anomaly_mitigation_enabled + : null + ) deregistration_delay = aws_lb_target_group.this.deregistration_delay load_balancing_algorithm = upper(aws_lb_target_group.this.load_balancing_algorithm_type) slow_start_duration = aws_lb_target_group.this.slow_start diff --git a/modules/alb-instance-target-group/variables.tf b/modules/alb-instance-target-group/variables.tf index de3b90e..cee5f5a 100644 --- a/modules/alb-instance-target-group/variables.tf +++ b/modules/alb-instance-target-group/variables.tf @@ -78,19 +78,26 @@ variable "deregistration_delay" { } variable "load_balancing_algorithm" { - description = "(Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN` or `LEAST_OUTSTANDING_REQUESTS`. Defaults to `ROUND_ROBIN`." + description = "(Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` or `WEIGHTED_RANDOM`. Defaults to `ROUND_ROBIN`." type = string default = "ROUND_ROBIN" nullable = false validation { - condition = contains(["ROUND_ROBIN", "LEAST_OUTSTANDING_REQUESTS"], var.load_balancing_algorithm) - error_message = "Valid values are `ROUND_ROBIN` and `LEAST_OUTSTANDING_REQUESTS`." + condition = contains(["ROUND_ROBIN", "LEAST_OUTSTANDING_REQUESTS", "WEIGHTED_RANDOM"], var.load_balancing_algorithm) + error_message = "Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` and `WEIGHTED_RANDOM`." } } +variable "anomaly_mitigation_enabled" { + description = "(Optional) Whether to enable target anomaly mitigation. When a target is determined to be anomalous, traffic is automatically routed away so the target has an opportunity to recover. Target anomaly mitigation is only supported by the `WEIGHTED_RANDOM` load balancing algorithm type. Not compatible with the `slow_start_duration` attribute. Defaults to `false`." + type = bool + default = false + nullable = false +} + variable "slow_start_duration" { - description = "(Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm." + description = "(Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms." type = number default = 0 nullable = false @@ -100,7 +107,7 @@ variable "slow_start_duration" { var.slow_start_duration == 0, var.slow_start_duration <= 900 && var.slow_start_duration >= 30 ]) - error_message = "Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm." + error_message = "Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms." } } diff --git a/modules/alb-ip-target-group/README.md b/modules/alb-ip-target-group/README.md index 3bfbc76..552cc5b 100644 --- a/modules/alb-ip-target-group/README.md +++ b/modules/alb-ip-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 4.37 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -41,16 +41,17 @@ This module creates following resources. | [port](#input\_port) | (Required) The number of port on which targets receive traffic, unless overridden when registering a specific target. Valid values are either ports 1-65535. | `number` | n/a | yes | | [protocol](#input\_protocol) | (Required) The protocol to use for routing traffic to the targets. Valid values are `HTTP` and `HTTPS`. Defaults to `HTTP`. | `string` | n/a | yes | | [vpc\_id](#input\_vpc\_id) | (Required) The ID of the VPC which the target group belongs to. | `string` | n/a | yes | +| [anomaly\_mitigation\_enabled](#input\_anomaly\_mitigation\_enabled) | (Optional) Whether to enable target anomaly mitigation. When a target is determined to be anomalous, traffic is automatically routed away so the target has an opportunity to recover. Target anomaly mitigation is only supported by the `WEIGHTED_RANDOM` load balancing algorithm type. Not compatible with the `slow_start_duration` attribute. Defaults to `false`. | `bool` | `false` | no | | [deregistration\_delay](#input\_deregistration\_delay) | (Optional) The time to wait for in-flight requests to complete while deregistering a target. During this time, the state of the target is draining. | `number` | `300` | no | | [health\_check](#input\_health\_check) | (Optional) Health Check configuration block. The associated load balancer periodically sends requests to the registered targets to test their status. `health_check` block as defined below.
(Optional) `protocol` - Protocol to use to connect with the target. The possible values are `HTTP` and `HTTPS`. Defaults to `HTTP`.
(Optional) `port` - The port the load balancer uses when performing health checks on targets. The default is the port on which each target receives traffic from the load balancer. Valid values are either ports 1-65535.
(Optional) `port_override` - Whether to override the port on which each target receives trafficfrom the load balancer to a different port. Defaults to `false`.
(Optional) `path` - Use the default path of `/` to ping the root, or specify a custom path if preferred.
(Optional) `success_codes` - The HTTP codes to use when checking for a successful response from a target. You can specify multiple values (for example, `200,202`) or a range of values (for example, `200-299`).
(Optional) `healthy_threshold` - The number of consecutive health checks successes required before considering an unhealthy target healthy. Valid value range is 2 - 10. Defaults to `5`.
(Optional) `unhealthy_threshold` - The number of consecutive health check failures required before considering a target unhealthy. Valid value range is 2 - 10. Defaults to `2`.
(Optional) `interval` - Approximate amount of time, in seconds, between health checks of an individual target. Valid value range is 5 - 300. Defaults to `30`.
(Optional) `timeout` - The amount of time, in seconds, during which no response means a failed health check. Valid value range is 2 - 120. Defaults to `5`. |
object({
protocol = optional(string, "HTTP")
port = optional(number, null)
port_override = optional(bool, false)
path = optional(string, null)
success_codes = optional(string, null)

healthy_threshold = optional(number, 5)
unhealthy_threshold = optional(number, 2)
interval = optional(number, 30)
timeout = optional(number, 5)
})
| `{}` | no | | [ip\_address\_type](#input\_ip\_address\_type) | (Required) The type of IP addresses used by the target group. Valid values are `IPV4` or `IPV6`. | `string` | `"IPV4"` | no | -| [load\_balancing\_algorithm](#input\_load\_balancing\_algorithm) | (Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN` or `LEAST_OUTSTANDING_REQUESTS`. Defaults to `ROUND_ROBIN`. | `string` | `"ROUND_ROBIN"` | no | +| [load\_balancing\_algorithm](#input\_load\_balancing\_algorithm) | (Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` or `WEIGHTED_RANDOM`. Defaults to `ROUND_ROBIN`. | `string` | `"ROUND_ROBIN"` | no | | [module\_tags\_enabled](#input\_module\_tags\_enabled) | (Optional) Whether to create AWS Resource Tags for the module informations. | `bool` | `true` | no | | [protocol\_version](#input\_protocol\_version) | (Optional) Use `HTTP1` to send requests to targets using HTTP/1.1. Supported when the request protocol is HTTP/1.1 or HTTP/2. Use `HTTP2` to send requests to targets using HTTP/2. Supported when the request protocol is HTTP/2 or gRPC, but gRPC-specific features are not available. Use `GRPC` to send requests to targets using gRPC. Supported when the request protocol is gRPC. Defaults to `HTTP1`. | `string` | `"HTTP1"` | no | | [resource\_group\_description](#input\_resource\_group\_description) | (Optional) The description of Resource Group. | `string` | `"Managed by Terraform."` | no | | [resource\_group\_enabled](#input\_resource\_group\_enabled) | (Optional) Whether to create Resource Group to find and group AWS resources which are created by this module. | `bool` | `true` | no | | [resource\_group\_name](#input\_resource\_group\_name) | (Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with `AWS` or `aws`. | `string` | `""` | no | -| [slow\_start\_duration](#input\_slow\_start\_duration) | (Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm. | `number` | `0` | no | +| [slow\_start\_duration](#input\_slow\_start\_duration) | (Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms. | `number` | `0` | no | | [stickiness\_cookie](#input\_stickiness\_cookie) | (Optional) The name of the application based cookie. `AWSALB`, `AWSALBAPP`, and `AWSALBTG` prefixes are reserved and cannot be used. Only needed when `stickiness_type` is `APP_COOKIE`. | `string` | `null` | no | | [stickiness\_duration](#input\_stickiness\_duration) | (Optional) The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. Valid values are from `1` to `604800` (1 week). Defaults to `86400` (1 day). | `number` | `86400` | no | | [stickiness\_enabled](#input\_stickiness\_enabled) | (Optional) Whether to enable the type of stickiness associated with this target group. If enabled, the load balancer binds a client’s session to a specific instance within the target group. Defaults to `false`. | `bool` | `false` | no | @@ -68,6 +69,7 @@ This module creates following resources. | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | | [ip\_address\_type](#output\_ip\_address\_type) | The type of IP addresses used by the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/alb-ip-target-group/main.tf b/modules/alb-ip-target-group/main.tf index a61122f..4cf2953 100644 --- a/modules/alb-ip-target-group/main.tf +++ b/modules/alb-ip-target-group/main.tf @@ -55,7 +55,11 @@ resource "aws_lb_target_group" "this" { ## Attributes deregistration_delay = var.deregistration_delay load_balancing_algorithm_type = lower(var.load_balancing_algorithm) - slow_start = var.slow_start_duration + load_balancing_anomaly_mitigation = (var.load_balancing_algorithm == "WEIGHTED_RANDOM" + ? var.anomaly_mitigation_enabled ? "on" : "off" + : null + ) + slow_start = var.slow_start_duration stickiness { enabled = var.stickiness_enabled diff --git a/modules/alb-ip-target-group/outputs.tf b/modules/alb-ip-target-group/outputs.tf index 75f8673..5babe2d 100644 --- a/modules/alb-ip-target-group/outputs.tf +++ b/modules/alb-ip-target-group/outputs.tf @@ -67,6 +67,10 @@ output "targets" { output "attributes" { description = "Attributes of the Instance target group of network load balancer." value = { + anomaly_mitigation_enabled = (var.load_balancing_algorithm == "WEIGHTED_RANDOM" + ? var.anomaly_mitigation_enabled + : null + ) deregistration_delay = aws_lb_target_group.this.deregistration_delay load_balancing_algorithm = upper(aws_lb_target_group.this.load_balancing_algorithm_type) slow_start_duration = aws_lb_target_group.this.slow_start diff --git a/modules/alb-ip-target-group/variables.tf b/modules/alb-ip-target-group/variables.tf index cec3eeb..dd04087 100644 --- a/modules/alb-ip-target-group/variables.tf +++ b/modules/alb-ip-target-group/variables.tf @@ -90,19 +90,26 @@ variable "deregistration_delay" { } variable "load_balancing_algorithm" { - description = "(Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN` or `LEAST_OUTSTANDING_REQUESTS`. Defaults to `ROUND_ROBIN`." + description = "(Optional) Determines how the load balancer selects targets when routing requests. Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` or `WEIGHTED_RANDOM`. Defaults to `ROUND_ROBIN`." type = string default = "ROUND_ROBIN" nullable = false validation { - condition = contains(["ROUND_ROBIN", "LEAST_OUTSTANDING_REQUESTS"], var.load_balancing_algorithm) - error_message = "Valid values are `ROUND_ROBIN` and `LEAST_OUTSTANDING_REQUESTS`." + condition = contains(["ROUND_ROBIN", "LEAST_OUTSTANDING_REQUESTS", "WEIGHTED_RANDOM"], var.load_balancing_algorithm) + error_message = "Valid values are `ROUND_ROBIN`, `LEAST_OUTSTANDING_REQUESTS` and `WEIGHTED_RANDOM`." } } +variable "anomaly_mitigation_enabled" { + description = "(Optional) Whether to enable target anomaly mitigation. When a target is determined to be anomalous, traffic is automatically routed away so the target has an opportunity to recover. Target anomaly mitigation is only supported by the `WEIGHTED_RANDOM` load balancing algorithm type. Not compatible with the `slow_start_duration` attribute. Defaults to `false`." + type = bool + default = false + nullable = false +} + variable "slow_start_duration" { - description = "(Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm." + description = "(Optional) The amount time for a newly registered targets to warm up before the load balancer sends them a full share of requests. During this period, targets receives an increasing share of requests until it reaches its fair share. Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms." type = number default = 0 nullable = false @@ -112,7 +119,7 @@ variable "slow_start_duration" { var.slow_start_duration == 0, var.slow_start_duration <= 900 && var.slow_start_duration >= 30 ]) - error_message = "Requires `30` to `900` seconds to enable, or `0` seconds to disable. This attribute cannot be combined with the Least outstanding requests algorithm." + error_message = "Requires `30` to `900` seconds to enable, or `0` seconds to disable. Not compatible with the Least outstanding requests and Weighted random routing algorithms." } } diff --git a/modules/alb-lambda-target-group/README.md b/modules/alb-lambda-target-group/README.md index 0220b80..2d95043 100644 --- a/modules/alb-lambda-target-group/README.md +++ b/modules/alb-lambda-target-group/README.md @@ -11,14 +11,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 3.71 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -57,6 +57,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the Lambda target group of application load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [targets](#output\_targets) | A list of targets in the target group. The Lambda target group is limited to a single Lambda function target. | | [type](#output\_type) | The target type of the target group. | diff --git a/modules/alb-lambda-target-group/main.tf b/modules/alb-lambda-target-group/main.tf index 593a750..0f6754f 100644 --- a/modules/alb-lambda-target-group/main.tf +++ b/modules/alb-lambda-target-group/main.tf @@ -20,6 +20,7 @@ locals { # - `deregistration_delay` # - `ip_address_type` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `preserve_client_ip` # - `protocol` # - `protocol_version` diff --git a/modules/gwlb-instance-target-group/README.md b/modules/gwlb-instance-target-group/README.md index 58d43b4..0ee5541 100644 --- a/modules/gwlb-instance-target-group/README.md +++ b/modules/gwlb-instance-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 3.71 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -56,6 +56,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the Instance target group of gateway load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/gwlb-instance-target-group/main.tf b/modules/gwlb-instance-target-group/main.tf index 316be00..f72e5ad 100644 --- a/modules/gwlb-instance-target-group/main.tf +++ b/modules/gwlb-instance-target-group/main.tf @@ -29,6 +29,7 @@ locals { # - `ip_address_type` # - `lambda_multi_value_headers_enabled` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `preserve_client_ip` # - `protocol_version` # - `proxy_protocol_v2` diff --git a/modules/gwlb-ip-target-group/README.md b/modules/gwlb-ip-target-group/README.md index e701e46..4fdaae5 100644 --- a/modules/gwlb-ip-target-group/README.md +++ b/modules/gwlb-ip-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 4.37 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -57,6 +57,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the IP target group of gateway load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/gwlb-ip-target-group/main.tf b/modules/gwlb-ip-target-group/main.tf index 6c86bef..0fa0993 100644 --- a/modules/gwlb-ip-target-group/main.tf +++ b/modules/gwlb-ip-target-group/main.tf @@ -42,6 +42,7 @@ locals { # - `ip_address_type` # - `lambda_multi_value_headers_enabled` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `preserve_client_ip` # - `protocol_version` # - `proxy_protocol_v2` diff --git a/modules/nlb-alb-target-group/README.md b/modules/nlb-alb-target-group/README.md index d5af56c..0b3924d 100644 --- a/modules/nlb-alb-target-group/README.md +++ b/modules/nlb-alb-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 3.71 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -56,6 +56,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the ALB target group of network load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/nlb-alb-target-group/main.tf b/modules/nlb-alb-target-group/main.tf index 5dcc2e4..3b905ef 100644 --- a/modules/nlb-alb-target-group/main.tf +++ b/modules/nlb-alb-target-group/main.tf @@ -20,6 +20,7 @@ locals { # - `ip_address_type` # - `lambda_multi_value_headers_enabled` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `protocol_version` # - `proxy_protocol_v2` # - `slow_start` diff --git a/modules/nlb-instance-target-group/README.md b/modules/nlb-instance-target-group/README.md index db95363..e30c74c 100644 --- a/modules/nlb-instance-target-group/README.md +++ b/modules/nlb-instance-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 3.71 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -62,6 +62,7 @@ This module creates following resources. | [attributes](#output\_attributes) | Attributes of the Instance target group of network load balancer. | | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/nlb-instance-target-group/main.tf b/modules/nlb-instance-target-group/main.tf index 3a9e231..4ddb556 100644 --- a/modules/nlb-instance-target-group/main.tf +++ b/modules/nlb-instance-target-group/main.tf @@ -19,6 +19,7 @@ locals { # - `ip_address_type` # - `lambda_multi_value_headers_enabled` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `protocol_version` # - `slow_start` resource "aws_lb_target_group" "this" { diff --git a/modules/nlb-ip-target-group/README.md b/modules/nlb-ip-target-group/README.md index 42c0dce..463ec12 100644 --- a/modules/nlb-ip-target-group/README.md +++ b/modules/nlb-ip-target-group/README.md @@ -10,14 +10,14 @@ This module creates following resources. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.5 | -| [aws](#requirement\_aws) | >= 4.37 | +| [terraform](#requirement\_terraform) | >= 1.6 | +| [aws](#requirement\_aws) | >= 5.38 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.19.0 | +| [aws](#provider\_aws) | 5.58.0 | ## Modules @@ -65,6 +65,7 @@ This module creates following resources. | [health\_check](#output\_health\_check) | Health Check configuration of the target group. | | [id](#output\_id) | The ID of the target group. | | [ip\_address\_type](#output\_ip\_address\_type) | The type of IP addresses used by the target group. | +| [load\_balancers](#output\_load\_balancers) | The ARNs (Amazon Resource Name) of the load balancers associated with the target group. | | [name](#output\_name) | The name of the target group. | | [port](#output\_port) | The port number on which the target receive trrafic. | | [protocol](#output\_protocol) | The protocol to use to connect with the target. | diff --git a/modules/nlb-ip-target-group/main.tf b/modules/nlb-ip-target-group/main.tf index 21e425c..10c743a 100644 --- a/modules/nlb-ip-target-group/main.tf +++ b/modules/nlb-ip-target-group/main.tf @@ -39,6 +39,7 @@ locals { # INFO: Not supported attributes # - `lambda_multi_value_headers_enabled` # - `load_balancing_algorithm_type` +# - `load_balancing_anomaly_mitigation` # - `protocol_version` # - `slow_start` resource "aws_lb_target_group" "this" {