/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a target group.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the target group.
*/ inline const Aws::String& GetTargetGroupArn() const{ return m_targetGroupArn; } /** *The Amazon Resource Name (ARN) of the target group.
*/ inline bool TargetGroupArnHasBeenSet() const { return m_targetGroupArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the target group.
*/ inline void SetTargetGroupArn(const Aws::String& value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn = value; } /** *The Amazon Resource Name (ARN) of the target group.
*/ inline void SetTargetGroupArn(Aws::String&& value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the target group.
*/ inline void SetTargetGroupArn(const char* value) { m_targetGroupArnHasBeenSet = true; m_targetGroupArn.assign(value); } /** *The Amazon Resource Name (ARN) of the target group.
*/ inline TargetGroup& WithTargetGroupArn(const Aws::String& value) { SetTargetGroupArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the target group.
*/ inline TargetGroup& WithTargetGroupArn(Aws::String&& value) { SetTargetGroupArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the target group.
*/ inline TargetGroup& WithTargetGroupArn(const char* value) { SetTargetGroupArn(value); return *this;} /** *The name of the target group.
*/ inline const Aws::String& GetTargetGroupName() const{ return m_targetGroupName; } /** *The name of the target group.
*/ inline bool TargetGroupNameHasBeenSet() const { return m_targetGroupNameHasBeenSet; } /** *The name of the target group.
*/ inline void SetTargetGroupName(const Aws::String& value) { m_targetGroupNameHasBeenSet = true; m_targetGroupName = value; } /** *The name of the target group.
*/ inline void SetTargetGroupName(Aws::String&& value) { m_targetGroupNameHasBeenSet = true; m_targetGroupName = std::move(value); } /** *The name of the target group.
*/ inline void SetTargetGroupName(const char* value) { m_targetGroupNameHasBeenSet = true; m_targetGroupName.assign(value); } /** *The name of the target group.
*/ inline TargetGroup& WithTargetGroupName(const Aws::String& value) { SetTargetGroupName(value); return *this;} /** *The name of the target group.
*/ inline TargetGroup& WithTargetGroupName(Aws::String&& value) { SetTargetGroupName(std::move(value)); return *this;} /** *The name of the target group.
*/ inline TargetGroup& WithTargetGroupName(const char* value) { SetTargetGroupName(value); return *this;} /** *The protocol to use for routing traffic to the targets.
*/ inline const ProtocolEnum& GetProtocol() const{ return m_protocol; } /** *The protocol to use for routing traffic to the targets.
*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *The protocol to use for routing traffic to the targets.
*/ inline void SetProtocol(const ProtocolEnum& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *The protocol to use for routing traffic to the targets.
*/ inline void SetProtocol(ProtocolEnum&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *The protocol to use for routing traffic to the targets.
*/ inline TargetGroup& WithProtocol(const ProtocolEnum& value) { SetProtocol(value); return *this;} /** *The protocol to use for routing traffic to the targets.
*/ inline TargetGroup& WithProtocol(ProtocolEnum&& value) { SetProtocol(std::move(value)); return *this;} /** *The port on which the targets are listening. Not used if the target is a * Lambda function.
*/ inline int GetPort() const{ return m_port; } /** *The port on which the targets are listening. Not used if the target is a * Lambda function.
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *The port on which the targets are listening. Not used if the target is a * Lambda function.
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *The port on which the targets are listening. Not used if the target is a * Lambda function.
*/ inline TargetGroup& WithPort(int value) { SetPort(value); return *this;} /** *The ID of the VPC for the targets.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC for the targets.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC for the targets.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC for the targets.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC for the targets.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC for the targets.
*/ inline TargetGroup& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC for the targets.
*/ inline TargetGroup& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC for the targets.
*/ inline TargetGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline const ProtocolEnum& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; } /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; } /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline void SetHealthCheckProtocol(const ProtocolEnum& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; } /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline void SetHealthCheckProtocol(ProtocolEnum&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); } /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline TargetGroup& WithHealthCheckProtocol(const ProtocolEnum& value) { SetHealthCheckProtocol(value); return *this;} /** *The protocol to use to connect with the target. The GENEVE, TLS, UDP, and * TCP_UDP protocols are not supported for health checks.
*/ inline TargetGroup& WithHealthCheckProtocol(ProtocolEnum&& value) { SetHealthCheckProtocol(std::move(value)); return *this;} /** *The port to use to connect with the target.
*/ inline const Aws::String& GetHealthCheckPort() const{ return m_healthCheckPort; } /** *The port to use to connect with the target.
*/ inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; } /** *The port to use to connect with the target.
*/ inline void SetHealthCheckPort(const Aws::String& value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; } /** *The port to use to connect with the target.
*/ inline void SetHealthCheckPort(Aws::String&& value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = std::move(value); } /** *The port to use to connect with the target.
*/ inline void SetHealthCheckPort(const char* value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort.assign(value); } /** *The port to use to connect with the target.
*/ inline TargetGroup& WithHealthCheckPort(const Aws::String& value) { SetHealthCheckPort(value); return *this;} /** *The port to use to connect with the target.
*/ inline TargetGroup& WithHealthCheckPort(Aws::String&& value) { SetHealthCheckPort(std::move(value)); return *this;} /** *The port to use to connect with the target.
*/ inline TargetGroup& WithHealthCheckPort(const char* value) { SetHealthCheckPort(value); return *this;} /** *Indicates whether health checks are enabled.
*/ inline bool GetHealthCheckEnabled() const{ return m_healthCheckEnabled; } /** *Indicates whether health checks are enabled.
*/ inline bool HealthCheckEnabledHasBeenSet() const { return m_healthCheckEnabledHasBeenSet; } /** *Indicates whether health checks are enabled.
*/ inline void SetHealthCheckEnabled(bool value) { m_healthCheckEnabledHasBeenSet = true; m_healthCheckEnabled = value; } /** *Indicates whether health checks are enabled.
*/ inline TargetGroup& WithHealthCheckEnabled(bool value) { SetHealthCheckEnabled(value); return *this;} /** *The approximate amount of time, in seconds, between health checks of an * individual target.
*/ inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; } /** *The approximate amount of time, in seconds, between health checks of an * individual target.
*/ inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; } /** *The approximate amount of time, in seconds, between health checks of an * individual target.
*/ inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; } /** *The approximate amount of time, in seconds, between health checks of an * individual target.
*/ inline TargetGroup& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;} /** *The amount of time, in seconds, during which no response means a failed * health check.
*/ inline int GetHealthCheckTimeoutSeconds() const{ return m_healthCheckTimeoutSeconds; } /** *The amount of time, in seconds, during which no response means a failed * health check.
*/ inline bool HealthCheckTimeoutSecondsHasBeenSet() const { return m_healthCheckTimeoutSecondsHasBeenSet; } /** *The amount of time, in seconds, during which no response means a failed * health check.
*/ inline void SetHealthCheckTimeoutSeconds(int value) { m_healthCheckTimeoutSecondsHasBeenSet = true; m_healthCheckTimeoutSeconds = value; } /** *The amount of time, in seconds, during which no response means a failed * health check.
*/ inline TargetGroup& WithHealthCheckTimeoutSeconds(int value) { SetHealthCheckTimeoutSeconds(value); return *this;} /** *The number of consecutive health checks successes required before considering * an unhealthy target healthy.
*/ inline int GetHealthyThresholdCount() const{ return m_healthyThresholdCount; } /** *The number of consecutive health checks successes required before considering * an unhealthy target healthy.
*/ inline bool HealthyThresholdCountHasBeenSet() const { return m_healthyThresholdCountHasBeenSet; } /** *The number of consecutive health checks successes required before considering * an unhealthy target healthy.
*/ inline void SetHealthyThresholdCount(int value) { m_healthyThresholdCountHasBeenSet = true; m_healthyThresholdCount = value; } /** *The number of consecutive health checks successes required before considering * an unhealthy target healthy.
*/ inline TargetGroup& WithHealthyThresholdCount(int value) { SetHealthyThresholdCount(value); return *this;} /** *The number of consecutive health check failures required before considering * the target unhealthy.
*/ inline int GetUnhealthyThresholdCount() const{ return m_unhealthyThresholdCount; } /** *The number of consecutive health check failures required before considering * the target unhealthy.
*/ inline bool UnhealthyThresholdCountHasBeenSet() const { return m_unhealthyThresholdCountHasBeenSet; } /** *The number of consecutive health check failures required before considering * the target unhealthy.
*/ inline void SetUnhealthyThresholdCount(int value) { m_unhealthyThresholdCountHasBeenSet = true; m_unhealthyThresholdCount = value; } /** *The number of consecutive health check failures required before considering * the target unhealthy.
*/ inline TargetGroup& WithUnhealthyThresholdCount(int value) { SetUnhealthyThresholdCount(value); return *this;} /** *The destination for health checks on the targets.
*/ inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; } /** *The destination for health checks on the targets.
*/ inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; } /** *The destination for health checks on the targets.
*/ inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; } /** *The destination for health checks on the targets.
*/ inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); } /** *The destination for health checks on the targets.
*/ inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); } /** *The destination for health checks on the targets.
*/ inline TargetGroup& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;} /** *The destination for health checks on the targets.
*/ inline TargetGroup& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;} /** *The destination for health checks on the targets.
*/ inline TargetGroup& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;} /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline const Matcher& GetMatcher() const{ return m_matcher; } /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline bool MatcherHasBeenSet() const { return m_matcherHasBeenSet; } /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline void SetMatcher(const Matcher& value) { m_matcherHasBeenSet = true; m_matcher = value; } /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline void SetMatcher(Matcher&& value) { m_matcherHasBeenSet = true; m_matcher = std::move(value); } /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline TargetGroup& WithMatcher(const Matcher& value) { SetMatcher(value); return *this;} /** *The HTTP or gRPC codes to use when checking for a successful response from a * target.
*/ inline TargetGroup& WithMatcher(Matcher&& value) { SetMatcher(std::move(value)); return *this;} /** *The Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline const Aws::VectorThe Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline bool LoadBalancerArnsHasBeenSet() const { return m_loadBalancerArnsHasBeenSet; } /** *The Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline void SetLoadBalancerArns(const Aws::VectorThe Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline void SetLoadBalancerArns(Aws::VectorThe Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline TargetGroup& WithLoadBalancerArns(const Aws::VectorThe Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline TargetGroup& WithLoadBalancerArns(Aws::VectorThe Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline TargetGroup& AddLoadBalancerArns(const Aws::String& value) { m_loadBalancerArnsHasBeenSet = true; m_loadBalancerArns.push_back(value); return *this; } /** *The Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline TargetGroup& AddLoadBalancerArns(Aws::String&& value) { m_loadBalancerArnsHasBeenSet = true; m_loadBalancerArns.push_back(std::move(value)); return *this; } /** *The Amazon Resource Names (ARN) of the load balancers that route traffic to * this target group.
*/ inline TargetGroup& AddLoadBalancerArns(const char* value) { m_loadBalancerArnsHasBeenSet = true; m_loadBalancerArns.push_back(value); return *this; } /** *The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
The type of target that you must specify when registering targets with this
* target group. The possible values are instance
(register targets by
* instance ID), ip
(register targets by IP address),
* lambda
(register a single Lambda function as a target), or
* alb
(register a single Application Load Balancer as a target).
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
[HTTP/HTTPS protocol] The protocol version. The possible values are
* GRPC
, HTTP1
, and HTTP2
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.
The type of IP address used for this target group. The possible values are
* ipv4
and ipv6
. This is an optional parameter. If not
* specified, the IP address type defaults to ipv4
.