/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about an Amazon Web Services Amazon EC2 Transit Gateway that
* interconnects virtual private clouds (VPCs) and on-premises networks.
* See Also:
AWS
* API Reference
The ID of the transit gateway.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The ID of the transit gateway.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The ID of the transit gateway.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The ID of the transit gateway.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The ID of the transit gateway.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The ID of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The ID of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The ID of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithId(const char* value) { SetId(value); return *this;} /** *The description of the transit gateway.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the transit gateway.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the transit gateway.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the transit gateway.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the transit gateway.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline const Aws::String& GetDefaultRouteTablePropagation() const{ return m_defaultRouteTablePropagation; } /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline bool DefaultRouteTablePropagationHasBeenSet() const { return m_defaultRouteTablePropagationHasBeenSet; } /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline void SetDefaultRouteTablePropagation(const Aws::String& value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation = value; } /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline void SetDefaultRouteTablePropagation(Aws::String&& value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation = std::move(value); } /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline void SetDefaultRouteTablePropagation(const char* value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation.assign(value); } /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTablePropagation(const Aws::String& value) { SetDefaultRouteTablePropagation(value); return *this;} /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTablePropagation(Aws::String&& value) { SetDefaultRouteTablePropagation(std::move(value)); return *this;} /** *Turn on or turn off automatic propagation of routes to the default * propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTablePropagation(const char* value) { SetDefaultRouteTablePropagation(value); return *this;} /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline const Aws::String& GetAutoAcceptSharedAttachments() const{ return m_autoAcceptSharedAttachments; } /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline bool AutoAcceptSharedAttachmentsHasBeenSet() const { return m_autoAcceptSharedAttachmentsHasBeenSet; } /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline void SetAutoAcceptSharedAttachments(const Aws::String& value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments = value; } /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline void SetAutoAcceptSharedAttachments(Aws::String&& value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments = std::move(value); } /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline void SetAutoAcceptSharedAttachments(const char* value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments.assign(value); } /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline AwsEc2TransitGatewayDetails& WithAutoAcceptSharedAttachments(const Aws::String& value) { SetAutoAcceptSharedAttachments(value); return *this;} /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline AwsEc2TransitGatewayDetails& WithAutoAcceptSharedAttachments(Aws::String&& value) { SetAutoAcceptSharedAttachments(std::move(value)); return *this;} /** *Turn on or turn off automatic acceptance of attachment requests.
*/ inline AwsEc2TransitGatewayDetails& WithAutoAcceptSharedAttachments(const char* value) { SetAutoAcceptSharedAttachments(value); return *this;} /** *Turn on or turn off automatic association with the default association route * table.
*/ inline const Aws::String& GetDefaultRouteTableAssociation() const{ return m_defaultRouteTableAssociation; } /** *Turn on or turn off automatic association with the default association route * table.
*/ inline bool DefaultRouteTableAssociationHasBeenSet() const { return m_defaultRouteTableAssociationHasBeenSet; } /** *Turn on or turn off automatic association with the default association route * table.
*/ inline void SetDefaultRouteTableAssociation(const Aws::String& value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation = value; } /** *Turn on or turn off automatic association with the default association route * table.
*/ inline void SetDefaultRouteTableAssociation(Aws::String&& value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation = std::move(value); } /** *Turn on or turn off automatic association with the default association route * table.
*/ inline void SetDefaultRouteTableAssociation(const char* value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation.assign(value); } /** *Turn on or turn off automatic association with the default association route * table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTableAssociation(const Aws::String& value) { SetDefaultRouteTableAssociation(value); return *this;} /** *Turn on or turn off automatic association with the default association route * table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTableAssociation(Aws::String&& value) { SetDefaultRouteTableAssociation(std::move(value)); return *this;} /** *Turn on or turn off automatic association with the default association route * table.
*/ inline AwsEc2TransitGatewayDetails& WithDefaultRouteTableAssociation(const char* value) { SetDefaultRouteTableAssociation(value); return *this;} /** *The transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline const Aws::VectorThe transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline bool TransitGatewayCidrBlocksHasBeenSet() const { return m_transitGatewayCidrBlocksHasBeenSet; } /** *The transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline void SetTransitGatewayCidrBlocks(const Aws::VectorThe transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline void SetTransitGatewayCidrBlocks(Aws::VectorThe transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline AwsEc2TransitGatewayDetails& WithTransitGatewayCidrBlocks(const Aws::VectorThe transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline AwsEc2TransitGatewayDetails& WithTransitGatewayCidrBlocks(Aws::VectorThe transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline AwsEc2TransitGatewayDetails& AddTransitGatewayCidrBlocks(const Aws::String& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(value); return *this; } /** *The transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline AwsEc2TransitGatewayDetails& AddTransitGatewayCidrBlocks(Aws::String&& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(std::move(value)); return *this; } /** *The transit gateway Classless Inter-Domain Routing (CIDR) blocks.
*/ inline AwsEc2TransitGatewayDetails& AddTransitGatewayCidrBlocks(const char* value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(value); return *this; } /** *The ID of the default association route table.
*/ inline const Aws::String& GetAssociationDefaultRouteTableId() const{ return m_associationDefaultRouteTableId; } /** *The ID of the default association route table.
*/ inline bool AssociationDefaultRouteTableIdHasBeenSet() const { return m_associationDefaultRouteTableIdHasBeenSet; } /** *The ID of the default association route table.
*/ inline void SetAssociationDefaultRouteTableId(const Aws::String& value) { m_associationDefaultRouteTableIdHasBeenSet = true; m_associationDefaultRouteTableId = value; } /** *The ID of the default association route table.
*/ inline void SetAssociationDefaultRouteTableId(Aws::String&& value) { m_associationDefaultRouteTableIdHasBeenSet = true; m_associationDefaultRouteTableId = std::move(value); } /** *The ID of the default association route table.
*/ inline void SetAssociationDefaultRouteTableId(const char* value) { m_associationDefaultRouteTableIdHasBeenSet = true; m_associationDefaultRouteTableId.assign(value); } /** *The ID of the default association route table.
*/ inline AwsEc2TransitGatewayDetails& WithAssociationDefaultRouteTableId(const Aws::String& value) { SetAssociationDefaultRouteTableId(value); return *this;} /** *The ID of the default association route table.
*/ inline AwsEc2TransitGatewayDetails& WithAssociationDefaultRouteTableId(Aws::String&& value) { SetAssociationDefaultRouteTableId(std::move(value)); return *this;} /** *The ID of the default association route table.
*/ inline AwsEc2TransitGatewayDetails& WithAssociationDefaultRouteTableId(const char* value) { SetAssociationDefaultRouteTableId(value); return *this;} /** *The ID of the default propagation route table.
*/ inline const Aws::String& GetPropagationDefaultRouteTableId() const{ return m_propagationDefaultRouteTableId; } /** *The ID of the default propagation route table.
*/ inline bool PropagationDefaultRouteTableIdHasBeenSet() const { return m_propagationDefaultRouteTableIdHasBeenSet; } /** *The ID of the default propagation route table.
*/ inline void SetPropagationDefaultRouteTableId(const Aws::String& value) { m_propagationDefaultRouteTableIdHasBeenSet = true; m_propagationDefaultRouteTableId = value; } /** *The ID of the default propagation route table.
*/ inline void SetPropagationDefaultRouteTableId(Aws::String&& value) { m_propagationDefaultRouteTableIdHasBeenSet = true; m_propagationDefaultRouteTableId = std::move(value); } /** *The ID of the default propagation route table.
*/ inline void SetPropagationDefaultRouteTableId(const char* value) { m_propagationDefaultRouteTableIdHasBeenSet = true; m_propagationDefaultRouteTableId.assign(value); } /** *The ID of the default propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithPropagationDefaultRouteTableId(const Aws::String& value) { SetPropagationDefaultRouteTableId(value); return *this;} /** *The ID of the default propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithPropagationDefaultRouteTableId(Aws::String&& value) { SetPropagationDefaultRouteTableId(std::move(value)); return *this;} /** *The ID of the default propagation route table.
*/ inline AwsEc2TransitGatewayDetails& WithPropagationDefaultRouteTableId(const char* value) { SetPropagationDefaultRouteTableId(value); return *this;} /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline const Aws::String& GetVpnEcmpSupport() const{ return m_vpnEcmpSupport; } /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; } /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline void SetVpnEcmpSupport(const Aws::String& value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = value; } /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline void SetVpnEcmpSupport(Aws::String&& value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = std::move(value); } /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline void SetVpnEcmpSupport(const char* value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport.assign(value); } /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline AwsEc2TransitGatewayDetails& WithVpnEcmpSupport(const Aws::String& value) { SetVpnEcmpSupport(value); return *this;} /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline AwsEc2TransitGatewayDetails& WithVpnEcmpSupport(Aws::String&& value) { SetVpnEcmpSupport(std::move(value)); return *this;} /** *Turn on or turn off Equal Cost Multipath Protocol (ECMP) support.
*/ inline AwsEc2TransitGatewayDetails& WithVpnEcmpSupport(const char* value) { SetVpnEcmpSupport(value); return *this;} /** *Turn on or turn off DNS support.
*/ inline const Aws::String& GetDnsSupport() const{ return m_dnsSupport; } /** *Turn on or turn off DNS support.
*/ inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; } /** *Turn on or turn off DNS support.
*/ inline void SetDnsSupport(const Aws::String& value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = value; } /** *Turn on or turn off DNS support.
*/ inline void SetDnsSupport(Aws::String&& value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = std::move(value); } /** *Turn on or turn off DNS support.
*/ inline void SetDnsSupport(const char* value) { m_dnsSupportHasBeenSet = true; m_dnsSupport.assign(value); } /** *Turn on or turn off DNS support.
*/ inline AwsEc2TransitGatewayDetails& WithDnsSupport(const Aws::String& value) { SetDnsSupport(value); return *this;} /** *Turn on or turn off DNS support.
*/ inline AwsEc2TransitGatewayDetails& WithDnsSupport(Aws::String&& value) { SetDnsSupport(std::move(value)); return *this;} /** *Turn on or turn off DNS support.
*/ inline AwsEc2TransitGatewayDetails& WithDnsSupport(const char* value) { SetDnsSupport(value); return *this;} /** *Indicates whether multicast is supported on the transit gateway.
*/ inline const Aws::String& GetMulticastSupport() const{ return m_multicastSupport; } /** *Indicates whether multicast is supported on the transit gateway.
*/ inline bool MulticastSupportHasBeenSet() const { return m_multicastSupportHasBeenSet; } /** *Indicates whether multicast is supported on the transit gateway.
*/ inline void SetMulticastSupport(const Aws::String& value) { m_multicastSupportHasBeenSet = true; m_multicastSupport = value; } /** *Indicates whether multicast is supported on the transit gateway.
*/ inline void SetMulticastSupport(Aws::String&& value) { m_multicastSupportHasBeenSet = true; m_multicastSupport = std::move(value); } /** *Indicates whether multicast is supported on the transit gateway.
*/ inline void SetMulticastSupport(const char* value) { m_multicastSupportHasBeenSet = true; m_multicastSupport.assign(value); } /** *Indicates whether multicast is supported on the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithMulticastSupport(const Aws::String& value) { SetMulticastSupport(value); return *this;} /** *Indicates whether multicast is supported on the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithMulticastSupport(Aws::String&& value) { SetMulticastSupport(std::move(value)); return *this;} /** *Indicates whether multicast is supported on the transit gateway.
*/ inline AwsEc2TransitGatewayDetails& WithMulticastSupport(const char* value) { SetMulticastSupport(value); return *this;} /** *A private Autonomous System Number (ASN) for the Amazon side of a BGP * session.
*/ inline int GetAmazonSideAsn() const{ return m_amazonSideAsn; } /** *A private Autonomous System Number (ASN) for the Amazon side of a BGP * session.
*/ inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; } /** *A private Autonomous System Number (ASN) for the Amazon side of a BGP * session.
*/ inline void SetAmazonSideAsn(int value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; } /** *A private Autonomous System Number (ASN) for the Amazon side of a BGP * session.
*/ inline AwsEc2TransitGatewayDetails& WithAmazonSideAsn(int value) { SetAmazonSideAsn(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_defaultRouteTablePropagation; bool m_defaultRouteTablePropagationHasBeenSet = false; Aws::String m_autoAcceptSharedAttachments; bool m_autoAcceptSharedAttachmentsHasBeenSet = false; Aws::String m_defaultRouteTableAssociation; bool m_defaultRouteTableAssociationHasBeenSet = false; Aws::Vector