/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A complex type for the endpoint group. An Amazon Web Services Region can have
* only one endpoint group for a specific listener. See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the endpoint group.
*/ inline const Aws::String& GetEndpointGroupArn() const{ return m_endpointGroupArn; } /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline bool EndpointGroupArnHasBeenSet() const { return m_endpointGroupArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline void SetEndpointGroupArn(const Aws::String& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = value; } /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline void SetEndpointGroupArn(Aws::String&& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline void SetEndpointGroupArn(const char* value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn.assign(value); } /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline EndpointGroup& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline EndpointGroup& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline EndpointGroup& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;} /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline const Aws::String& GetEndpointGroupRegion() const{ return m_endpointGroupRegion; } /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline bool EndpointGroupRegionHasBeenSet() const { return m_endpointGroupRegionHasBeenSet; } /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline void SetEndpointGroupRegion(const Aws::String& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = value; } /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline void SetEndpointGroupRegion(Aws::String&& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = std::move(value); } /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline void SetEndpointGroupRegion(const char* value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion.assign(value); } /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline EndpointGroup& WithEndpointGroupRegion(const Aws::String& value) { SetEndpointGroupRegion(value); return *this;} /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline EndpointGroup& WithEndpointGroupRegion(Aws::String&& value) { SetEndpointGroupRegion(std::move(value)); return *this;} /** *The Amazon Web Services Region where the endpoint group is located.
*/ inline EndpointGroup& WithEndpointGroupRegion(const char* value) { SetEndpointGroupRegion(value); return *this;} /** *The list of endpoint objects.
*/ inline const Aws::VectorThe list of endpoint objects.
*/ inline bool EndpointDescriptionsHasBeenSet() const { return m_endpointDescriptionsHasBeenSet; } /** *The list of endpoint objects.
*/ inline void SetEndpointDescriptions(const Aws::VectorThe list of endpoint objects.
*/ inline void SetEndpointDescriptions(Aws::VectorThe list of endpoint objects.
*/ inline EndpointGroup& WithEndpointDescriptions(const Aws::VectorThe list of endpoint objects.
*/ inline EndpointGroup& WithEndpointDescriptions(Aws::VectorThe list of endpoint objects.
*/ inline EndpointGroup& AddEndpointDescriptions(const EndpointDescription& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions.push_back(value); return *this; } /** *The list of endpoint objects.
*/ inline EndpointGroup& AddEndpointDescriptions(EndpointDescription&& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions.push_back(std::move(value)); return *this; } /** *The percentage of traffic to send to an Amazon Web Services Region. * Additional traffic is distributed to other endpoint groups for this listener. *
Use this action to increase (dial up) or decrease (dial down) traffic to * a specific Region. The percentage is applied to the traffic that would otherwise * have been routed to the Region based on optimal routing.
The default * value is 100.
*/ inline double GetTrafficDialPercentage() const{ return m_trafficDialPercentage; } /** *The percentage of traffic to send to an Amazon Web Services Region. * Additional traffic is distributed to other endpoint groups for this listener. *
Use this action to increase (dial up) or decrease (dial down) traffic to * a specific Region. The percentage is applied to the traffic that would otherwise * have been routed to the Region based on optimal routing.
The default * value is 100.
*/ inline bool TrafficDialPercentageHasBeenSet() const { return m_trafficDialPercentageHasBeenSet; } /** *The percentage of traffic to send to an Amazon Web Services Region. * Additional traffic is distributed to other endpoint groups for this listener. *
Use this action to increase (dial up) or decrease (dial down) traffic to * a specific Region. The percentage is applied to the traffic that would otherwise * have been routed to the Region based on optimal routing.
The default * value is 100.
*/ inline void SetTrafficDialPercentage(double value) { m_trafficDialPercentageHasBeenSet = true; m_trafficDialPercentage = value; } /** *The percentage of traffic to send to an Amazon Web Services Region. * Additional traffic is distributed to other endpoint groups for this listener. *
Use this action to increase (dial up) or decrease (dial down) traffic to * a specific Region. The percentage is applied to the traffic that would otherwise * have been routed to the Region based on optimal routing.
The default * value is 100.
*/ inline EndpointGroup& WithTrafficDialPercentage(double value) { SetTrafficDialPercentage(value); return *this;} /** *The port that Global Accelerator uses to perform health checks on endpoints * that are part of this endpoint group.
The default port is the port for * the listener that this endpoint group is associated with. If the listener port * is a list, Global Accelerator uses the first specified port in the list of * ports.
*/ inline int GetHealthCheckPort() const{ return m_healthCheckPort; } /** *The port that Global Accelerator uses to perform health checks on endpoints * that are part of this endpoint group.
The default port is the port for * the listener that this endpoint group is associated with. If the listener port * is a list, Global Accelerator uses the first specified port in the list of * ports.
*/ inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; } /** *The port that Global Accelerator uses to perform health checks on endpoints * that are part of this endpoint group.
The default port is the port for * the listener that this endpoint group is associated with. If the listener port * is a list, Global Accelerator uses the first specified port in the list of * ports.
*/ inline void SetHealthCheckPort(int value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; } /** *The port that Global Accelerator uses to perform health checks on endpoints * that are part of this endpoint group.
The default port is the port for * the listener that this endpoint group is associated with. If the listener port * is a list, Global Accelerator uses the first specified port in the list of * ports.
*/ inline EndpointGroup& WithHealthCheckPort(int value) { SetHealthCheckPort(value); return *this;} /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline const HealthCheckProtocol& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; } /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; } /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline void SetHealthCheckProtocol(const HealthCheckProtocol& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; } /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline void SetHealthCheckProtocol(HealthCheckProtocol&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); } /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline EndpointGroup& WithHealthCheckProtocol(const HealthCheckProtocol& value) { SetHealthCheckProtocol(value); return *this;} /** *The protocol that Global Accelerator uses to perform health checks on * endpoints that are part of this endpoint group. The default value is TCP.
*/ inline EndpointGroup& WithHealthCheckProtocol(HealthCheckProtocol&& value) { SetHealthCheckProtocol(std::move(value)); return *this;} /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; } /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; } /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; } /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); } /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); } /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline EndpointGroup& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;} /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline EndpointGroup& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;} /** *If the protocol is HTTP/S, then this value provides the ping path that Global * Accelerator uses for the destination on the endpoints for health checks. The * default is slash (/).
*/ inline EndpointGroup& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;} /** *The time—10 seconds or 30 seconds—between health checks for each endpoint. * The default value is 30.
*/ inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; } /** *The time—10 seconds or 30 seconds—between health checks for each endpoint. * The default value is 30.
*/ inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; } /** *The time—10 seconds or 30 seconds—between health checks for each endpoint. * The default value is 30.
*/ inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; } /** *The time—10 seconds or 30 seconds—between health checks for each endpoint. * The default value is 30.
*/ inline EndpointGroup& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;} /** *The number of consecutive health checks required to set the state of a * healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The * default value is 3.
*/ inline int GetThresholdCount() const{ return m_thresholdCount; } /** *The number of consecutive health checks required to set the state of a * healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The * default value is 3.
*/ inline bool ThresholdCountHasBeenSet() const { return m_thresholdCountHasBeenSet; } /** *The number of consecutive health checks required to set the state of a * healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The * default value is 3.
*/ inline void SetThresholdCount(int value) { m_thresholdCountHasBeenSet = true; m_thresholdCount = value; } /** *The number of consecutive health checks required to set the state of a * healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The * default value is 3.
*/ inline EndpointGroup& WithThresholdCount(int value) { SetThresholdCount(value); return *this;} /** *Allows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline const Aws::VectorAllows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline bool PortOverridesHasBeenSet() const { return m_portOverridesHasBeenSet; } /** *Allows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline void SetPortOverrides(const Aws::VectorAllows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline void SetPortOverrides(Aws::VectorAllows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline EndpointGroup& WithPortOverrides(const Aws::VectorAllows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline EndpointGroup& WithPortOverrides(Aws::VectorAllows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline EndpointGroup& AddPortOverrides(const PortOverride& value) { m_portOverridesHasBeenSet = true; m_portOverrides.push_back(value); return *this; } /** *Allows you to override the destination ports used to route traffic to an * endpoint. Using a port override lets you map a list of external destination * ports (that your users send traffic to) to a list of internal destination ports * that you want an application endpoint to receive traffic on.
*/ inline EndpointGroup& AddPortOverrides(PortOverride&& value) { m_portOverridesHasBeenSet = true; m_portOverrides.push_back(std::move(value)); return *this; } private: Aws::String m_endpointGroupArn; bool m_endpointGroupArnHasBeenSet = false; Aws::String m_endpointGroupRegion; bool m_endpointGroupRegionHasBeenSet = false; Aws::Vector