/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace GlobalAccelerator { namespace Model { /** */ class DenyCustomRoutingTrafficRequest : public GlobalAcceleratorRequest { public: AWS_GLOBALACCELERATOR_API DenyCustomRoutingTrafficRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DenyCustomRoutingTraffic"; } AWS_GLOBALACCELERATOR_API Aws::String SerializePayload() const override; AWS_GLOBALACCELERATOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 DenyCustomRoutingTrafficRequest& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;} /** *

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

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

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

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

An ID for the endpoint. For custom routing accelerators, this is the virtual * private cloud (VPC) subnet ID.

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

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline const Aws::Vector& GetDestinationAddresses() const{ return m_destinationAddresses; } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline bool DestinationAddressesHasBeenSet() const { return m_destinationAddressesHasBeenSet; } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline void SetDestinationAddresses(const Aws::Vector& value) { m_destinationAddressesHasBeenSet = true; m_destinationAddresses = value; } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline void SetDestinationAddresses(Aws::Vector&& value) { m_destinationAddressesHasBeenSet = true; m_destinationAddresses = std::move(value); } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline DenyCustomRoutingTrafficRequest& WithDestinationAddresses(const Aws::Vector& value) { SetDestinationAddresses(value); return *this;} /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline DenyCustomRoutingTrafficRequest& WithDestinationAddresses(Aws::Vector&& value) { SetDestinationAddresses(std::move(value)); return *this;} /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline DenyCustomRoutingTrafficRequest& AddDestinationAddresses(const Aws::String& value) { m_destinationAddressesHasBeenSet = true; m_destinationAddresses.push_back(value); return *this; } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline DenyCustomRoutingTrafficRequest& AddDestinationAddresses(Aws::String&& value) { m_destinationAddressesHasBeenSet = true; m_destinationAddresses.push_back(std::move(value)); return *this; } /** *

A list of specific Amazon EC2 instance IP addresses (destination addresses) * in a subnet that you want to prevent from receiving traffic. The IP addresses * must be a subset of the IP addresses allowed for the VPC subnet associated with * the endpoint group.

*/ inline DenyCustomRoutingTrafficRequest& AddDestinationAddresses(const char* value) { m_destinationAddressesHasBeenSet = true; m_destinationAddresses.push_back(value); return *this; } /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline const Aws::Vector& GetDestinationPorts() const{ return m_destinationPorts; } /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline bool DestinationPortsHasBeenSet() const { return m_destinationPortsHasBeenSet; } /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline void SetDestinationPorts(const Aws::Vector& value) { m_destinationPortsHasBeenSet = true; m_destinationPorts = value; } /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline void SetDestinationPorts(Aws::Vector&& value) { m_destinationPortsHasBeenSet = true; m_destinationPorts = std::move(value); } /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline DenyCustomRoutingTrafficRequest& WithDestinationPorts(const Aws::Vector& value) { SetDestinationPorts(value); return *this;} /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline DenyCustomRoutingTrafficRequest& WithDestinationPorts(Aws::Vector&& value) { SetDestinationPorts(std::move(value)); return *this;} /** *

A list of specific Amazon EC2 instance ports (destination ports) in a subnet * endpoint that you want to prevent from receiving traffic.

*/ inline DenyCustomRoutingTrafficRequest& AddDestinationPorts(int value) { m_destinationPortsHasBeenSet = true; m_destinationPorts.push_back(value); return *this; } /** *

Indicates whether all destination IP addresses and ports for a specified VPC * subnet endpoint cannot receive traffic from a custom routing accelerator. * The value is TRUE or FALSE.

When set to TRUE, no destinations in * the custom routing VPC subnet can receive traffic. Note that you cannot specify * destination IP addresses and ports when the value is set to TRUE.

When * set to FALSE (or not specified), you must specify a list of destination * IP addresses that cannot receive traffic. A list of ports is optional. If you * don't specify a list of ports, the ports that can accept traffic is the same as * the ports configured for the endpoint group.

The default value is * FALSE.

*/ inline bool GetDenyAllTrafficToEndpoint() const{ return m_denyAllTrafficToEndpoint; } /** *

Indicates whether all destination IP addresses and ports for a specified VPC * subnet endpoint cannot receive traffic from a custom routing accelerator. * The value is TRUE or FALSE.

When set to TRUE, no destinations in * the custom routing VPC subnet can receive traffic. Note that you cannot specify * destination IP addresses and ports when the value is set to TRUE.

When * set to FALSE (or not specified), you must specify a list of destination * IP addresses that cannot receive traffic. A list of ports is optional. If you * don't specify a list of ports, the ports that can accept traffic is the same as * the ports configured for the endpoint group.

The default value is * FALSE.

*/ inline bool DenyAllTrafficToEndpointHasBeenSet() const { return m_denyAllTrafficToEndpointHasBeenSet; } /** *

Indicates whether all destination IP addresses and ports for a specified VPC * subnet endpoint cannot receive traffic from a custom routing accelerator. * The value is TRUE or FALSE.

When set to TRUE, no destinations in * the custom routing VPC subnet can receive traffic. Note that you cannot specify * destination IP addresses and ports when the value is set to TRUE.

When * set to FALSE (or not specified), you must specify a list of destination * IP addresses that cannot receive traffic. A list of ports is optional. If you * don't specify a list of ports, the ports that can accept traffic is the same as * the ports configured for the endpoint group.

The default value is * FALSE.

*/ inline void SetDenyAllTrafficToEndpoint(bool value) { m_denyAllTrafficToEndpointHasBeenSet = true; m_denyAllTrafficToEndpoint = value; } /** *

Indicates whether all destination IP addresses and ports for a specified VPC * subnet endpoint cannot receive traffic from a custom routing accelerator. * The value is TRUE or FALSE.

When set to TRUE, no destinations in * the custom routing VPC subnet can receive traffic. Note that you cannot specify * destination IP addresses and ports when the value is set to TRUE.

When * set to FALSE (or not specified), you must specify a list of destination * IP addresses that cannot receive traffic. A list of ports is optional. If you * don't specify a list of ports, the ports that can accept traffic is the same as * the ports configured for the endpoint group.

The default value is * FALSE.

*/ inline DenyCustomRoutingTrafficRequest& WithDenyAllTrafficToEndpoint(bool value) { SetDenyAllTrafficToEndpoint(value); return *this;} private: Aws::String m_endpointGroupArn; bool m_endpointGroupArnHasBeenSet = false; Aws::String m_endpointId; bool m_endpointIdHasBeenSet = false; Aws::Vector m_destinationAddresses; bool m_destinationAddressesHasBeenSet = false; Aws::Vector m_destinationPorts; bool m_destinationPortsHasBeenSet = false; bool m_denyAllTrafficToEndpoint; bool m_denyAllTrafficToEndpointHasBeenSet = false; }; } // namespace Model } // namespace GlobalAccelerator } // namespace Aws