/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Returns the ports and associated IP addresses and ports of Amazon EC2
* instances in your virtual private cloud (VPC) subnets. Custom routing is a port
* mapping protocol in Global Accelerator that statically associates port ranges
* with VPC subnets, which allows Global Accelerator to route to specific instances
* and ports within one or more subnets. See Also:
AWS
* API Reference
The accelerator port.
*/ inline int GetAcceleratorPort() const{ return m_acceleratorPort; } /** *The accelerator port.
*/ inline bool AcceleratorPortHasBeenSet() const { return m_acceleratorPortHasBeenSet; } /** *The accelerator port.
*/ inline void SetAcceleratorPort(int value) { m_acceleratorPortHasBeenSet = true; m_acceleratorPort = value; } /** *The accelerator port.
*/ inline PortMapping& WithAcceleratorPort(int value) { SetAcceleratorPort(value); return *this;} /** *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 PortMapping& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline PortMapping& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint group.
*/ inline PortMapping& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;} /** *The IP address of the VPC subnet (the subnet ID).
*/ inline const Aws::String& GetEndpointId() const{ return m_endpointId; } /** *The IP address of the VPC subnet (the subnet ID).
*/ inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; } /** *The IP address of the VPC subnet (the subnet ID).
*/ inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; } /** *The IP address of the VPC subnet (the subnet ID).
*/ inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); } /** *The IP address of the VPC subnet (the subnet ID).
*/ inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); } /** *The IP address of the VPC subnet (the subnet ID).
*/ inline PortMapping& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;} /** *The IP address of the VPC subnet (the subnet ID).
*/ inline PortMapping& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;} /** *The IP address of the VPC subnet (the subnet ID).
*/ inline PortMapping& WithEndpointId(const char* value) { SetEndpointId(value); return *this;} /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline const SocketAddress& GetDestinationSocketAddress() const{ return m_destinationSocketAddress; } /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline bool DestinationSocketAddressHasBeenSet() const { return m_destinationSocketAddressHasBeenSet; } /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline void SetDestinationSocketAddress(const SocketAddress& value) { m_destinationSocketAddressHasBeenSet = true; m_destinationSocketAddress = value; } /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline void SetDestinationSocketAddress(SocketAddress&& value) { m_destinationSocketAddressHasBeenSet = true; m_destinationSocketAddress = std::move(value); } /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline PortMapping& WithDestinationSocketAddress(const SocketAddress& value) { SetDestinationSocketAddress(value); return *this;} /** *The EC2 instance IP address and port number in the virtual private cloud * (VPC) subnet.
*/ inline PortMapping& WithDestinationSocketAddress(SocketAddress&& value) { SetDestinationSocketAddress(std::move(value)); return *this;} /** *The protocols supported by the endpoint group.
*/ inline const Aws::VectorThe protocols supported by the endpoint group.
*/ inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; } /** *The protocols supported by the endpoint group.
*/ inline void SetProtocols(const Aws::VectorThe protocols supported by the endpoint group.
*/ inline void SetProtocols(Aws::VectorThe protocols supported by the endpoint group.
*/ inline PortMapping& WithProtocols(const Aws::VectorThe protocols supported by the endpoint group.
*/ inline PortMapping& WithProtocols(Aws::VectorThe protocols supported by the endpoint group.
*/ inline PortMapping& AddProtocols(const CustomRoutingProtocol& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } /** *The protocols supported by the endpoint group.
*/ inline PortMapping& AddProtocols(CustomRoutingProtocol&& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(std::move(value)); return *this; } /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline const CustomRoutingDestinationTrafficState& GetDestinationTrafficState() const{ return m_destinationTrafficState; } /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline bool DestinationTrafficStateHasBeenSet() const { return m_destinationTrafficStateHasBeenSet; } /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline void SetDestinationTrafficState(const CustomRoutingDestinationTrafficState& value) { m_destinationTrafficStateHasBeenSet = true; m_destinationTrafficState = value; } /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline void SetDestinationTrafficState(CustomRoutingDestinationTrafficState&& value) { m_destinationTrafficStateHasBeenSet = true; m_destinationTrafficState = std::move(value); } /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline PortMapping& WithDestinationTrafficState(const CustomRoutingDestinationTrafficState& value) { SetDestinationTrafficState(value); return *this;} /** *Indicates whether or not a port mapping destination can receive traffic. The * value is either ALLOW, if traffic is allowed to the destination, or DENY, if * traffic is not allowed to the destination.
*/ inline PortMapping& WithDestinationTrafficState(CustomRoutingDestinationTrafficState&& value) { SetDestinationTrafficState(std::move(value)); return *this;} private: int m_acceleratorPort; bool m_acceleratorPortHasBeenSet = false; Aws::String m_endpointGroupArn; bool m_endpointGroupArnHasBeenSet = false; Aws::String m_endpointId; bool m_endpointIdHasBeenSet = false; SocketAddress m_destinationSocketAddress; bool m_destinationSocketAddressHasBeenSet = false; Aws::Vector