/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a target group attribute.See Also:
AWS
* API Reference
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The name of the attribute.
The following attributes are supported by * all load balancers:
* deregistration_delay.timeout_seconds - The amount of time, in
* seconds, for Elastic Load Balancing to wait before changing the state of a
* deregistering target from draining to unused. The
* range is 0-3600 seconds. The default value is 300 seconds. If the target is a
* Lambda function, this attribute is not supported.
* stickiness.enabled - Indicates whether target stickiness is
* enabled. The value is true or false. The default is
* false.
stickiness.type - Indicates
* the type of stickiness. The possible values are:
* lb_cookie and app_cookie for Application Load
* Balancers.
source_ip for Network Load
* Balancers.
source_ip_dest_ip and
* source_ip_dest_ip_proto for Gateway Load Balancers.
The following attributes are supported by Application Load * Balancers and Network Load Balancers:
* load_balancing.cross_zone.enabled - Indicates whether cross zone
* load balancing is enabled. The value is true, false or
* use_load_balancer_configuration. The default is
* use_load_balancer_configuration.
* target_group_health.dns_failover.minimum_healthy_targets.count -
* The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, mark the zone as unhealthy in DNS, so that traffic
* is routed only to healthy zones. The possible values are off or an
* integer from 1 to the maximum number of targets. The default is
* off.
* target_group_health.dns_failover.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, mark the zone as unhealthy in DNS, so that
* traffic is routed only to healthy zones. The possible values are
* off or an integer from 1 to 100. The default is
* off.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
* - The minimum number of targets that must be healthy. If the number of healthy
* targets is below this value, send traffic to all targets, including unhealthy
* targets. The possible values are 1 to the maximum number of targets. The default
* is 1.
* target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
* - The minimum percentage of targets that must be healthy. If the percentage of
* healthy targets is below this value, send traffic to all targets, including
* unhealthy targets. The possible values are off or an integer from 1
* to 100. The default is off.
The following * attributes are supported only if the load balancer is an Application Load * Balancer and the target is an instance or an IP address:
* load_balancing.algorithm.type - The load balancing algorithm
* determines how the load balancer selects targets when routing requests. The
* value is round_robin or least_outstanding_requests.
* The default is round_robin.
* slow_start.duration_seconds - The time period, in seconds, during
* which a newly registered target receives an increasing share of the traffic to
* the target group. After this time period ends, the target receives its full
* share of traffic. The range is 30-900 seconds (15 minutes). The default is 0
* seconds (disabled).
* stickiness.app_cookie.cookie_name - Indicates the name of the
* application-based cookie. Names that start with the following prefixes are not
* allowed: AWSALB, AWSALBAPP, and AWSALBTG;
* they're reserved for use by the load balancer.
* stickiness.app_cookie.duration_seconds - The time period, in
* seconds, during which requests from a client should be routed to the same
* target. After this time period expires, the application-based cookie is
* considered stale. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
* stickiness.lb_cookie.duration_seconds - 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. The range is 1 second to 1 week (604800 seconds). The default
* value is 1 day (86400 seconds).
The following attribute is * supported only if the load balancer is an Application Load Balancer and the * target is a Lambda function:
* lambda.multi_value_headers.enabled - Indicates whether the request
* and response headers that are exchanged between the load balancer and the Lambda
* function include arrays of values or strings. The value is true or
* false. The default is false. If the value is
* false and the request contains a duplicate header field name or
* query parameter key, the load balancer uses the last value sent by the
* client.
The following attributes are supported only by * Network Load Balancers:
* deregistration_delay.connection_termination.enabled - Indicates
* whether the load balancer terminates connections at the end of the
* deregistration timeout. The value is true or false.
* The default is false.
* preserve_client_ip.enabled - Indicates whether client IP
* preservation is enabled. The value is true or false.
* The default is disabled if the target group type is IP address and the target
* group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP
* preservation cannot be disabled for UDP and TCP_UDP target groups.
proxy_protocol_v2.enabled - Indicates whether Proxy
* Protocol version 2 is enabled. The value is true or
* false. The default is false.
The * following attributes are supported only by Gateway Load Balancers:
target_failover.on_deregistration - Indicates how the Gateway
* Load Balancer handles existing flows when a target is deregistered. The possible
* values are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) can't be set independently. The value
* you set for both attributes must be the same.
* target_failover.on_unhealthy - Indicates how the Gateway Load
* Balancer handles existing flows when a target is unhealthy. The possible values
* are rebalance and no_rebalance. The default is
* no_rebalance. The two attributes
* (target_failover.on_deregistration and
* target_failover.on_unhealthy) cannot be set independently. The
* value you set for both attributes must be the same.
The value of the attribute.
*/ inline const Aws::String& GetValue() const{ return m_value; } /** *The value of the attribute.
*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *The value of the attribute.
*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *The value of the attribute.
*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *The value of the attribute.
*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *The value of the attribute.
*/ inline TargetGroupAttribute& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *The value of the attribute.
*/ inline TargetGroupAttribute& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *The value of the attribute.
*/ inline TargetGroupAttribute& WithValue(const char* value) { SetValue(value); return *this;} private: Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancingv2 } // namespace Aws