/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the options for a transit gateway.See Also:
AWS
* API Reference
A private Autonomous System Number (ASN) for the Amazon side of a BGP
* session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to
* 4294967294 for 32-bit ASNs. The default is 64512
.
A private Autonomous System Number (ASN) for the Amazon side of a BGP
* session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to
* 4294967294 for 32-bit ASNs. The default is 64512
.
A private Autonomous System Number (ASN) for the Amazon side of a BGP
* session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to
* 4294967294 for 32-bit ASNs. The default is 64512
.
A private Autonomous System Number (ASN) for the Amazon side of a BGP
* session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to
* 4294967294 for 32-bit ASNs. The default is 64512
.
Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline const AutoAcceptSharedAttachmentsValue& GetAutoAcceptSharedAttachments() const{ return m_autoAcceptSharedAttachments; } /** *Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline bool AutoAcceptSharedAttachmentsHasBeenSet() const { return m_autoAcceptSharedAttachmentsHasBeenSet; } /** *Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline void SetAutoAcceptSharedAttachments(const AutoAcceptSharedAttachmentsValue& value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments = value; } /** *Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline void SetAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue&& value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments = std::move(value); } /** *Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline TransitGatewayRequestOptions& WithAutoAcceptSharedAttachments(const AutoAcceptSharedAttachmentsValue& value) { SetAutoAcceptSharedAttachments(value); return *this;} /** *Enable or disable automatic acceptance of attachment requests. Disabled by * default.
*/ inline TransitGatewayRequestOptions& WithAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue&& value) { SetAutoAcceptSharedAttachments(std::move(value)); return *this;} /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline const DefaultRouteTableAssociationValue& GetDefaultRouteTableAssociation() const{ return m_defaultRouteTableAssociation; } /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline bool DefaultRouteTableAssociationHasBeenSet() const { return m_defaultRouteTableAssociationHasBeenSet; } /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline void SetDefaultRouteTableAssociation(const DefaultRouteTableAssociationValue& value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation = value; } /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline void SetDefaultRouteTableAssociation(DefaultRouteTableAssociationValue&& value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation = std::move(value); } /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDefaultRouteTableAssociation(const DefaultRouteTableAssociationValue& value) { SetDefaultRouteTableAssociation(value); return *this;} /** *Enable or disable automatic association with the default association route * table. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDefaultRouteTableAssociation(DefaultRouteTableAssociationValue&& value) { SetDefaultRouteTableAssociation(std::move(value)); return *this;} /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline const DefaultRouteTablePropagationValue& GetDefaultRouteTablePropagation() const{ return m_defaultRouteTablePropagation; } /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline bool DefaultRouteTablePropagationHasBeenSet() const { return m_defaultRouteTablePropagationHasBeenSet; } /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline void SetDefaultRouteTablePropagation(const DefaultRouteTablePropagationValue& value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation = value; } /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline void SetDefaultRouteTablePropagation(DefaultRouteTablePropagationValue&& value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation = std::move(value); } /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDefaultRouteTablePropagation(const DefaultRouteTablePropagationValue& value) { SetDefaultRouteTablePropagation(value); return *this;} /** *Enable or disable automatic propagation of routes to the default propagation * route table. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDefaultRouteTablePropagation(DefaultRouteTablePropagationValue&& value) { SetDefaultRouteTablePropagation(std::move(value)); return *this;} /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline const VpnEcmpSupportValue& GetVpnEcmpSupport() const{ return m_vpnEcmpSupport; } /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; } /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline void SetVpnEcmpSupport(const VpnEcmpSupportValue& value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = value; } /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline void SetVpnEcmpSupport(VpnEcmpSupportValue&& value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = std::move(value); } /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline TransitGatewayRequestOptions& WithVpnEcmpSupport(const VpnEcmpSupportValue& value) { SetVpnEcmpSupport(value); return *this;} /** *Enable or disable Equal Cost Multipath Protocol support. Enabled by * default.
*/ inline TransitGatewayRequestOptions& WithVpnEcmpSupport(VpnEcmpSupportValue&& value) { SetVpnEcmpSupport(std::move(value)); return *this;} /** *Enable or disable DNS support. Enabled by default.
*/ inline const DnsSupportValue& GetDnsSupport() const{ return m_dnsSupport; } /** *Enable or disable DNS support. Enabled by default.
*/ inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; } /** *Enable or disable DNS support. Enabled by default.
*/ inline void SetDnsSupport(const DnsSupportValue& value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = value; } /** *Enable or disable DNS support. Enabled by default.
*/ inline void SetDnsSupport(DnsSupportValue&& value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = std::move(value); } /** *Enable or disable DNS support. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDnsSupport(const DnsSupportValue& value) { SetDnsSupport(value); return *this;} /** *Enable or disable DNS support. Enabled by default.
*/ inline TransitGatewayRequestOptions& WithDnsSupport(DnsSupportValue&& value) { SetDnsSupport(std::move(value)); return *this;} /** *Indicates whether multicast is enabled on the transit gateway
*/ inline const MulticastSupportValue& GetMulticastSupport() const{ return m_multicastSupport; } /** *Indicates whether multicast is enabled on the transit gateway
*/ inline bool MulticastSupportHasBeenSet() const { return m_multicastSupportHasBeenSet; } /** *Indicates whether multicast is enabled on the transit gateway
*/ inline void SetMulticastSupport(const MulticastSupportValue& value) { m_multicastSupportHasBeenSet = true; m_multicastSupport = value; } /** *Indicates whether multicast is enabled on the transit gateway
*/ inline void SetMulticastSupport(MulticastSupportValue&& value) { m_multicastSupportHasBeenSet = true; m_multicastSupport = std::move(value); } /** *Indicates whether multicast is enabled on the transit gateway
*/ inline TransitGatewayRequestOptions& WithMulticastSupport(const MulticastSupportValue& value) { SetMulticastSupport(value); return *this;} /** *Indicates whether multicast is enabled on the transit gateway
*/ inline TransitGatewayRequestOptions& WithMulticastSupport(MulticastSupportValue&& value) { SetMulticastSupport(std::move(value)); return *this;} /** *One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline const Aws::VectorOne or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline bool TransitGatewayCidrBlocksHasBeenSet() const { return m_transitGatewayCidrBlocksHasBeenSet; } /** *One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline void SetTransitGatewayCidrBlocks(const Aws::VectorOne or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline void SetTransitGatewayCidrBlocks(Aws::VectorOne or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline TransitGatewayRequestOptions& WithTransitGatewayCidrBlocks(const Aws::VectorOne or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline TransitGatewayRequestOptions& WithTransitGatewayCidrBlocks(Aws::VectorOne or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline TransitGatewayRequestOptions& AddTransitGatewayCidrBlocks(const Aws::String& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(value); return *this; } /** *One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline TransitGatewayRequestOptions& AddTransitGatewayCidrBlocks(Aws::String&& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(std::move(value)); return *this; } /** *One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size * /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for * IPv6.
*/ inline TransitGatewayRequestOptions& AddTransitGatewayCidrBlocks(const char* value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.push_back(value); return *this; } private: long long m_amazonSideAsn; bool m_amazonSideAsnHasBeenSet = false; AutoAcceptSharedAttachmentsValue m_autoAcceptSharedAttachments; bool m_autoAcceptSharedAttachmentsHasBeenSet = false; DefaultRouteTableAssociationValue m_defaultRouteTableAssociation; bool m_defaultRouteTableAssociationHasBeenSet = false; DefaultRouteTablePropagationValue m_defaultRouteTablePropagation; bool m_defaultRouteTablePropagationHasBeenSet = false; VpnEcmpSupportValue m_vpnEcmpSupport; bool m_vpnEcmpSupportHasBeenSet = false; DnsSupportValue m_dnsSupport; bool m_dnsSupportHasBeenSet = false; MulticastSupportValue m_multicastSupport; bool m_multicastSupportHasBeenSet = false; Aws::Vector