/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GlobalAccelerator { namespace Model { /** *

The port mappings for a specified endpoint IP address * (destination).

See Also:

AWS * API Reference

*/ class DestinationPortMapping { public: AWS_GLOBALACCELERATOR_API DestinationPortMapping(); AWS_GLOBALACCELERATOR_API DestinationPortMapping(Aws::Utils::Json::JsonView jsonValue); AWS_GLOBALACCELERATOR_API DestinationPortMapping& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLOBALACCELERATOR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; } /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; } /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline DestinationPortMapping& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline DestinationPortMapping& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the custom routing accelerator that you * have port mappings for.

*/ inline DestinationPortMapping& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;} /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline const Aws::Vector& GetAcceleratorSocketAddresses() const{ return m_acceleratorSocketAddresses; } /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline bool AcceleratorSocketAddressesHasBeenSet() const { return m_acceleratorSocketAddressesHasBeenSet; } /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline void SetAcceleratorSocketAddresses(const Aws::Vector& value) { m_acceleratorSocketAddressesHasBeenSet = true; m_acceleratorSocketAddresses = value; } /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline void SetAcceleratorSocketAddresses(Aws::Vector&& value) { m_acceleratorSocketAddressesHasBeenSet = true; m_acceleratorSocketAddresses = std::move(value); } /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline DestinationPortMapping& WithAcceleratorSocketAddresses(const Aws::Vector& value) { SetAcceleratorSocketAddresses(value); return *this;} /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline DestinationPortMapping& WithAcceleratorSocketAddresses(Aws::Vector&& value) { SetAcceleratorSocketAddresses(std::move(value)); return *this;} /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline DestinationPortMapping& AddAcceleratorSocketAddresses(const SocketAddress& value) { m_acceleratorSocketAddressesHasBeenSet = true; m_acceleratorSocketAddresses.push_back(value); return *this; } /** *

The IP address/port combinations (sockets) that map to a given destination * socket address.

*/ inline DestinationPortMapping& AddAcceleratorSocketAddresses(SocketAddress&& value) { m_acceleratorSocketAddressesHasBeenSet = true; m_acceleratorSocketAddresses.push_back(std::move(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 DestinationPortMapping& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the endpoint group.

*/ inline DestinationPortMapping& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the endpoint group.

*/ inline DestinationPortMapping& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;} /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline const Aws::String& GetEndpointId() const{ return m_endpointId; } /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; } /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; } /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); } /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); } /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline DestinationPortMapping& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;} /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline DestinationPortMapping& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;} /** *

The ID for the virtual private cloud (VPC) subnet.

*/ inline DestinationPortMapping& WithEndpointId(const char* value) { SetEndpointId(value); return *this;} /** *

The Amazon Web Services Region for the endpoint group.

*/ inline const Aws::String& GetEndpointGroupRegion() const{ return m_endpointGroupRegion; } /** *

The Amazon Web Services Region for the endpoint group.

*/ inline bool EndpointGroupRegionHasBeenSet() const { return m_endpointGroupRegionHasBeenSet; } /** *

The Amazon Web Services Region for the endpoint group.

*/ inline void SetEndpointGroupRegion(const Aws::String& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = value; } /** *

The Amazon Web Services Region for the endpoint group.

*/ inline void SetEndpointGroupRegion(Aws::String&& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = std::move(value); } /** *

The Amazon Web Services Region for the endpoint group.

*/ inline void SetEndpointGroupRegion(const char* value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion.assign(value); } /** *

The Amazon Web Services Region for the endpoint group.

*/ inline DestinationPortMapping& WithEndpointGroupRegion(const Aws::String& value) { SetEndpointGroupRegion(value); return *this;} /** *

The Amazon Web Services Region for the endpoint group.

*/ inline DestinationPortMapping& WithEndpointGroupRegion(Aws::String&& value) { SetEndpointGroupRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region for the endpoint group.

*/ inline DestinationPortMapping& WithEndpointGroupRegion(const char* value) { SetEndpointGroupRegion(value); return *this;} /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline const SocketAddress& GetDestinationSocketAddress() const{ return m_destinationSocketAddress; } /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline bool DestinationSocketAddressHasBeenSet() const { return m_destinationSocketAddressHasBeenSet; } /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline void SetDestinationSocketAddress(const SocketAddress& value) { m_destinationSocketAddressHasBeenSet = true; m_destinationSocketAddress = value; } /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline void SetDestinationSocketAddress(SocketAddress&& value) { m_destinationSocketAddressHasBeenSet = true; m_destinationSocketAddress = std::move(value); } /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline DestinationPortMapping& WithDestinationSocketAddress(const SocketAddress& value) { SetDestinationSocketAddress(value); return *this;} /** *

The endpoint IP address/port combination for traffic received on the * accelerator socket address.

*/ inline DestinationPortMapping& WithDestinationSocketAddress(SocketAddress&& value) { SetDestinationSocketAddress(std::move(value)); return *this;} /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; } /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline DestinationPortMapping& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;} /** *

The IP address type that an accelerator supports. For a custom routing * accelerator, the value must be IPV4.

*/ inline DestinationPortMapping& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(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 DestinationPortMapping& 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 DestinationPortMapping& WithDestinationTrafficState(CustomRoutingDestinationTrafficState&& value) { SetDestinationTrafficState(std::move(value)); return *this;} private: Aws::String m_acceleratorArn; bool m_acceleratorArnHasBeenSet = false; Aws::Vector m_acceleratorSocketAddresses; bool m_acceleratorSocketAddressesHasBeenSet = false; Aws::String m_endpointGroupArn; bool m_endpointGroupArnHasBeenSet = false; Aws::String m_endpointId; bool m_endpointIdHasBeenSet = false; Aws::String m_endpointGroupRegion; bool m_endpointGroupRegionHasBeenSet = false; SocketAddress m_destinationSocketAddress; bool m_destinationSocketAddressHasBeenSet = false; IpAddressType m_ipAddressType; bool m_ipAddressTypeHasBeenSet = false; CustomRoutingDestinationTrafficState m_destinationTrafficState; bool m_destinationTrafficStateHasBeenSet = false; }; } // namespace Model } // namespace GlobalAccelerator } // namespace Aws