/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a route in a route table.See Also:
AWS API
* Reference
The IPv4 CIDR block used for the destination match.
*/ inline const Aws::String& GetDestinationCidrBlock() const{ return m_destinationCidrBlock; } /** *The IPv4 CIDR block used for the destination match.
*/ inline bool DestinationCidrBlockHasBeenSet() const { return m_destinationCidrBlockHasBeenSet; } /** *The IPv4 CIDR block used for the destination match.
*/ inline void SetDestinationCidrBlock(const Aws::String& value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock = value; } /** *The IPv4 CIDR block used for the destination match.
*/ inline void SetDestinationCidrBlock(Aws::String&& value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock = std::move(value); } /** *The IPv4 CIDR block used for the destination match.
*/ inline void SetDestinationCidrBlock(const char* value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock.assign(value); } /** *The IPv4 CIDR block used for the destination match.
*/ inline Route& WithDestinationCidrBlock(const Aws::String& value) { SetDestinationCidrBlock(value); return *this;} /** *The IPv4 CIDR block used for the destination match.
*/ inline Route& WithDestinationCidrBlock(Aws::String&& value) { SetDestinationCidrBlock(std::move(value)); return *this;} /** *The IPv4 CIDR block used for the destination match.
*/ inline Route& WithDestinationCidrBlock(const char* value) { SetDestinationCidrBlock(value); return *this;} /** *The IPv6 CIDR block used for the destination match.
*/ inline const Aws::String& GetDestinationIpv6CidrBlock() const{ return m_destinationIpv6CidrBlock; } /** *The IPv6 CIDR block used for the destination match.
*/ inline bool DestinationIpv6CidrBlockHasBeenSet() const { return m_destinationIpv6CidrBlockHasBeenSet; } /** *The IPv6 CIDR block used for the destination match.
*/ inline void SetDestinationIpv6CidrBlock(const Aws::String& value) { m_destinationIpv6CidrBlockHasBeenSet = true; m_destinationIpv6CidrBlock = value; } /** *The IPv6 CIDR block used for the destination match.
*/ inline void SetDestinationIpv6CidrBlock(Aws::String&& value) { m_destinationIpv6CidrBlockHasBeenSet = true; m_destinationIpv6CidrBlock = std::move(value); } /** *The IPv6 CIDR block used for the destination match.
*/ inline void SetDestinationIpv6CidrBlock(const char* value) { m_destinationIpv6CidrBlockHasBeenSet = true; m_destinationIpv6CidrBlock.assign(value); } /** *The IPv6 CIDR block used for the destination match.
*/ inline Route& WithDestinationIpv6CidrBlock(const Aws::String& value) { SetDestinationIpv6CidrBlock(value); return *this;} /** *The IPv6 CIDR block used for the destination match.
*/ inline Route& WithDestinationIpv6CidrBlock(Aws::String&& value) { SetDestinationIpv6CidrBlock(std::move(value)); return *this;} /** *The IPv6 CIDR block used for the destination match.
*/ inline Route& WithDestinationIpv6CidrBlock(const char* value) { SetDestinationIpv6CidrBlock(value); return *this;} /** *The prefix of the Amazon Web Service.
*/ inline const Aws::String& GetDestinationPrefixListId() const{ return m_destinationPrefixListId; } /** *The prefix of the Amazon Web Service.
*/ inline bool DestinationPrefixListIdHasBeenSet() const { return m_destinationPrefixListIdHasBeenSet; } /** *The prefix of the Amazon Web Service.
*/ inline void SetDestinationPrefixListId(const Aws::String& value) { m_destinationPrefixListIdHasBeenSet = true; m_destinationPrefixListId = value; } /** *The prefix of the Amazon Web Service.
*/ inline void SetDestinationPrefixListId(Aws::String&& value) { m_destinationPrefixListIdHasBeenSet = true; m_destinationPrefixListId = std::move(value); } /** *The prefix of the Amazon Web Service.
*/ inline void SetDestinationPrefixListId(const char* value) { m_destinationPrefixListIdHasBeenSet = true; m_destinationPrefixListId.assign(value); } /** *The prefix of the Amazon Web Service.
*/ inline Route& WithDestinationPrefixListId(const Aws::String& value) { SetDestinationPrefixListId(value); return *this;} /** *The prefix of the Amazon Web Service.
*/ inline Route& WithDestinationPrefixListId(Aws::String&& value) { SetDestinationPrefixListId(std::move(value)); return *this;} /** *The prefix of the Amazon Web Service.
*/ inline Route& WithDestinationPrefixListId(const char* value) { SetDestinationPrefixListId(value); return *this;} /** *The ID of the egress-only internet gateway.
*/ inline const Aws::String& GetEgressOnlyInternetGatewayId() const{ return m_egressOnlyInternetGatewayId; } /** *The ID of the egress-only internet gateway.
*/ inline bool EgressOnlyInternetGatewayIdHasBeenSet() const { return m_egressOnlyInternetGatewayIdHasBeenSet; } /** *The ID of the egress-only internet gateway.
*/ inline void SetEgressOnlyInternetGatewayId(const Aws::String& value) { m_egressOnlyInternetGatewayIdHasBeenSet = true; m_egressOnlyInternetGatewayId = value; } /** *The ID of the egress-only internet gateway.
*/ inline void SetEgressOnlyInternetGatewayId(Aws::String&& value) { m_egressOnlyInternetGatewayIdHasBeenSet = true; m_egressOnlyInternetGatewayId = std::move(value); } /** *The ID of the egress-only internet gateway.
*/ inline void SetEgressOnlyInternetGatewayId(const char* value) { m_egressOnlyInternetGatewayIdHasBeenSet = true; m_egressOnlyInternetGatewayId.assign(value); } /** *The ID of the egress-only internet gateway.
*/ inline Route& WithEgressOnlyInternetGatewayId(const Aws::String& value) { SetEgressOnlyInternetGatewayId(value); return *this;} /** *The ID of the egress-only internet gateway.
*/ inline Route& WithEgressOnlyInternetGatewayId(Aws::String&& value) { SetEgressOnlyInternetGatewayId(std::move(value)); return *this;} /** *The ID of the egress-only internet gateway.
*/ inline Route& WithEgressOnlyInternetGatewayId(const char* value) { SetEgressOnlyInternetGatewayId(value); return *this;} /** *The ID of a gateway attached to your VPC.
*/ inline const Aws::String& GetGatewayId() const{ return m_gatewayId; } /** *The ID of a gateway attached to your VPC.
*/ inline bool GatewayIdHasBeenSet() const { return m_gatewayIdHasBeenSet; } /** *The ID of a gateway attached to your VPC.
*/ inline void SetGatewayId(const Aws::String& value) { m_gatewayIdHasBeenSet = true; m_gatewayId = value; } /** *The ID of a gateway attached to your VPC.
*/ inline void SetGatewayId(Aws::String&& value) { m_gatewayIdHasBeenSet = true; m_gatewayId = std::move(value); } /** *The ID of a gateway attached to your VPC.
*/ inline void SetGatewayId(const char* value) { m_gatewayIdHasBeenSet = true; m_gatewayId.assign(value); } /** *The ID of a gateway attached to your VPC.
*/ inline Route& WithGatewayId(const Aws::String& value) { SetGatewayId(value); return *this;} /** *The ID of a gateway attached to your VPC.
*/ inline Route& WithGatewayId(Aws::String&& value) { SetGatewayId(std::move(value)); return *this;} /** *The ID of a gateway attached to your VPC.
*/ inline Route& WithGatewayId(const char* value) { SetGatewayId(value); return *this;} /** *The ID of a NAT instance in your VPC.
*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *The ID of a NAT instance in your VPC.
*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *The ID of a NAT instance in your VPC.
*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *The ID of a NAT instance in your VPC.
*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *The ID of a NAT instance in your VPC.
*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *The ID of a NAT instance in your VPC.
*/ inline Route& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *The ID of a NAT instance in your VPC.
*/ inline Route& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *The ID of a NAT instance in your VPC.
*/ inline Route& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *The ID of Amazon Web Services account that owns the instance.
*/ inline const Aws::String& GetInstanceOwnerId() const{ return m_instanceOwnerId; } /** *The ID of Amazon Web Services account that owns the instance.
*/ inline bool InstanceOwnerIdHasBeenSet() const { return m_instanceOwnerIdHasBeenSet; } /** *The ID of Amazon Web Services account that owns the instance.
*/ inline void SetInstanceOwnerId(const Aws::String& value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId = value; } /** *The ID of Amazon Web Services account that owns the instance.
*/ inline void SetInstanceOwnerId(Aws::String&& value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId = std::move(value); } /** *The ID of Amazon Web Services account that owns the instance.
*/ inline void SetInstanceOwnerId(const char* value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId.assign(value); } /** *The ID of Amazon Web Services account that owns the instance.
*/ inline Route& WithInstanceOwnerId(const Aws::String& value) { SetInstanceOwnerId(value); return *this;} /** *The ID of Amazon Web Services account that owns the instance.
*/ inline Route& WithInstanceOwnerId(Aws::String&& value) { SetInstanceOwnerId(std::move(value)); return *this;} /** *The ID of Amazon Web Services account that owns the instance.
*/ inline Route& WithInstanceOwnerId(const char* value) { SetInstanceOwnerId(value); return *this;} /** *The ID of a NAT gateway.
*/ inline const Aws::String& GetNatGatewayId() const{ return m_natGatewayId; } /** *The ID of a NAT gateway.
*/ inline bool NatGatewayIdHasBeenSet() const { return m_natGatewayIdHasBeenSet; } /** *The ID of a NAT gateway.
*/ inline void SetNatGatewayId(const Aws::String& value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId = value; } /** *The ID of a NAT gateway.
*/ inline void SetNatGatewayId(Aws::String&& value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId = std::move(value); } /** *The ID of a NAT gateway.
*/ inline void SetNatGatewayId(const char* value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId.assign(value); } /** *The ID of a NAT gateway.
*/ inline Route& WithNatGatewayId(const Aws::String& value) { SetNatGatewayId(value); return *this;} /** *The ID of a NAT gateway.
*/ inline Route& WithNatGatewayId(Aws::String&& value) { SetNatGatewayId(std::move(value)); return *this;} /** *The ID of a NAT gateway.
*/ inline Route& WithNatGatewayId(const char* value) { SetNatGatewayId(value); return *this;} /** *The ID of a transit gateway.
*/ inline const Aws::String& GetTransitGatewayId() const{ return m_transitGatewayId; } /** *The ID of a transit gateway.
*/ inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; } /** *The ID of a transit gateway.
*/ inline void SetTransitGatewayId(const Aws::String& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = value; } /** *The ID of a transit gateway.
*/ inline void SetTransitGatewayId(Aws::String&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::move(value); } /** *The ID of a transit gateway.
*/ inline void SetTransitGatewayId(const char* value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId.assign(value); } /** *The ID of a transit gateway.
*/ inline Route& WithTransitGatewayId(const Aws::String& value) { SetTransitGatewayId(value); return *this;} /** *The ID of a transit gateway.
*/ inline Route& WithTransitGatewayId(Aws::String&& value) { SetTransitGatewayId(std::move(value)); return *this;} /** *The ID of a transit gateway.
*/ inline Route& WithTransitGatewayId(const char* value) { SetTransitGatewayId(value); return *this;} /** *The ID of the local gateway.
*/ inline const Aws::String& GetLocalGatewayId() const{ return m_localGatewayId; } /** *The ID of the local gateway.
*/ inline bool LocalGatewayIdHasBeenSet() const { return m_localGatewayIdHasBeenSet; } /** *The ID of the local gateway.
*/ inline void SetLocalGatewayId(const Aws::String& value) { m_localGatewayIdHasBeenSet = true; m_localGatewayId = value; } /** *The ID of the local gateway.
*/ inline void SetLocalGatewayId(Aws::String&& value) { m_localGatewayIdHasBeenSet = true; m_localGatewayId = std::move(value); } /** *The ID of the local gateway.
*/ inline void SetLocalGatewayId(const char* value) { m_localGatewayIdHasBeenSet = true; m_localGatewayId.assign(value); } /** *The ID of the local gateway.
*/ inline Route& WithLocalGatewayId(const Aws::String& value) { SetLocalGatewayId(value); return *this;} /** *The ID of the local gateway.
*/ inline Route& WithLocalGatewayId(Aws::String&& value) { SetLocalGatewayId(std::move(value)); return *this;} /** *The ID of the local gateway.
*/ inline Route& WithLocalGatewayId(const char* value) { SetLocalGatewayId(value); return *this;} /** *The ID of the carrier gateway.
*/ inline const Aws::String& GetCarrierGatewayId() const{ return m_carrierGatewayId; } /** *The ID of the carrier gateway.
*/ inline bool CarrierGatewayIdHasBeenSet() const { return m_carrierGatewayIdHasBeenSet; } /** *The ID of the carrier gateway.
*/ inline void SetCarrierGatewayId(const Aws::String& value) { m_carrierGatewayIdHasBeenSet = true; m_carrierGatewayId = value; } /** *The ID of the carrier gateway.
*/ inline void SetCarrierGatewayId(Aws::String&& value) { m_carrierGatewayIdHasBeenSet = true; m_carrierGatewayId = std::move(value); } /** *The ID of the carrier gateway.
*/ inline void SetCarrierGatewayId(const char* value) { m_carrierGatewayIdHasBeenSet = true; m_carrierGatewayId.assign(value); } /** *The ID of the carrier gateway.
*/ inline Route& WithCarrierGatewayId(const Aws::String& value) { SetCarrierGatewayId(value); return *this;} /** *The ID of the carrier gateway.
*/ inline Route& WithCarrierGatewayId(Aws::String&& value) { SetCarrierGatewayId(std::move(value)); return *this;} /** *The ID of the carrier gateway.
*/ inline Route& WithCarrierGatewayId(const char* value) { SetCarrierGatewayId(value); return *this;} /** *The ID of the network interface.
*/ inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; } /** *The ID of the network interface.
*/ inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); } /** *The ID of the network interface.
*/ inline Route& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;} /** *The ID of the network interface.
*/ inline Route& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;} /** *The ID of the network interface.
*/ inline Route& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;} /** *Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
Describes how the route was created.
* CreateRouteTable
- The route was automatically created when the
* route table was created.
CreateRoute
- The route
* was manually added to the route table.
* EnableVgwRoutePropagation
- The route was propagated by route
* propagation.
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The state of the route. The blackhole
state indicates that the
* route's target isn't available (for example, the specified gateway isn't
* attached to the VPC, or the specified NAT instance has been terminated).
The ID of a VPC peering connection.
*/ inline const Aws::String& GetVpcPeeringConnectionId() const{ return m_vpcPeeringConnectionId; } /** *The ID of a VPC peering connection.
*/ inline bool VpcPeeringConnectionIdHasBeenSet() const { return m_vpcPeeringConnectionIdHasBeenSet; } /** *The ID of a VPC peering connection.
*/ inline void SetVpcPeeringConnectionId(const Aws::String& value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId = value; } /** *The ID of a VPC peering connection.
*/ inline void SetVpcPeeringConnectionId(Aws::String&& value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId = std::move(value); } /** *The ID of a VPC peering connection.
*/ inline void SetVpcPeeringConnectionId(const char* value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId.assign(value); } /** *The ID of a VPC peering connection.
*/ inline Route& WithVpcPeeringConnectionId(const Aws::String& value) { SetVpcPeeringConnectionId(value); return *this;} /** *The ID of a VPC peering connection.
*/ inline Route& WithVpcPeeringConnectionId(Aws::String&& value) { SetVpcPeeringConnectionId(std::move(value)); return *this;} /** *The ID of a VPC peering connection.
*/ inline Route& WithVpcPeeringConnectionId(const char* value) { SetVpcPeeringConnectionId(value); return *this;} /** *The Amazon Resource Name (ARN) of the core network.
*/ inline const Aws::String& GetCoreNetworkArn() const{ return m_coreNetworkArn; } /** *The Amazon Resource Name (ARN) of the core network.
*/ inline bool CoreNetworkArnHasBeenSet() const { return m_coreNetworkArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the core network.
*/ inline void SetCoreNetworkArn(const Aws::String& value) { m_coreNetworkArnHasBeenSet = true; m_coreNetworkArn = value; } /** *The Amazon Resource Name (ARN) of the core network.
*/ inline void SetCoreNetworkArn(Aws::String&& value) { m_coreNetworkArnHasBeenSet = true; m_coreNetworkArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the core network.
*/ inline void SetCoreNetworkArn(const char* value) { m_coreNetworkArnHasBeenSet = true; m_coreNetworkArn.assign(value); } /** *The Amazon Resource Name (ARN) of the core network.
*/ inline Route& WithCoreNetworkArn(const Aws::String& value) { SetCoreNetworkArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the core network.
*/ inline Route& WithCoreNetworkArn(Aws::String&& value) { SetCoreNetworkArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the core network.
*/ inline Route& WithCoreNetworkArn(const char* value) { SetCoreNetworkArn(value); return *this;} private: Aws::String m_destinationCidrBlock; bool m_destinationCidrBlockHasBeenSet = false; Aws::String m_destinationIpv6CidrBlock; bool m_destinationIpv6CidrBlockHasBeenSet = false; Aws::String m_destinationPrefixListId; bool m_destinationPrefixListIdHasBeenSet = false; Aws::String m_egressOnlyInternetGatewayId; bool m_egressOnlyInternetGatewayIdHasBeenSet = false; Aws::String m_gatewayId; bool m_gatewayIdHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_instanceOwnerId; bool m_instanceOwnerIdHasBeenSet = false; Aws::String m_natGatewayId; bool m_natGatewayIdHasBeenSet = false; Aws::String m_transitGatewayId; bool m_transitGatewayIdHasBeenSet = false; Aws::String m_localGatewayId; bool m_localGatewayIdHasBeenSet = false; Aws::String m_carrierGatewayId; bool m_carrierGatewayIdHasBeenSet = false; Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; RouteOrigin m_origin; bool m_originHasBeenSet = false; RouteState m_state; bool m_stateHasBeenSet = false; Aws::String m_vpcPeeringConnectionId; bool m_vpcPeeringConnectionIdHasBeenSet = false; Aws::String m_coreNetworkArn; bool m_coreNetworkArnHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws