AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
TransitGatewayOptions.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/model/AutoAcceptSharedAttachmentsValue.h>
11#include <aws/ec2/model/DefaultRouteTableAssociationValue.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/ec2/model/DefaultRouteTablePropagationValue.h>
14#include <aws/ec2/model/VpnEcmpSupportValue.h>
15#include <aws/ec2/model/DnsSupportValue.h>
16#include <aws/ec2/model/SecurityGroupReferencingSupportValue.h>
17#include <aws/ec2/model/MulticastSupportValue.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Xml
25{
26 class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace EC2
30{
31namespace Model
32{
33
40 {
41 public:
42 AWS_EC2_API TransitGatewayOptions() = default;
45
46 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
48
49
51
56 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
57 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
58 inline void SetAmazonSideAsn(long long value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; }
59 inline TransitGatewayOptions& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;}
61
63
66 inline const Aws::Vector<Aws::String>& GetTransitGatewayCidrBlocks() const { return m_transitGatewayCidrBlocks; }
67 inline bool TransitGatewayCidrBlocksHasBeenSet() const { return m_transitGatewayCidrBlocksHasBeenSet; }
68 template<typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
69 void SetTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks = std::forward<TransitGatewayCidrBlocksT>(value); }
70 template<typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
71 TransitGatewayOptions& WithTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) { SetTransitGatewayCidrBlocks(std::forward<TransitGatewayCidrBlocksT>(value)); return *this;}
72 template<typename TransitGatewayCidrBlocksT = Aws::String>
73 TransitGatewayOptions& AddTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) { m_transitGatewayCidrBlocksHasBeenSet = true; m_transitGatewayCidrBlocks.emplace_back(std::forward<TransitGatewayCidrBlocksT>(value)); return *this; }
75
77
80 inline AutoAcceptSharedAttachmentsValue GetAutoAcceptSharedAttachments() const { return m_autoAcceptSharedAttachments; }
81 inline bool AutoAcceptSharedAttachmentsHasBeenSet() const { return m_autoAcceptSharedAttachmentsHasBeenSet; }
82 inline void SetAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue value) { m_autoAcceptSharedAttachmentsHasBeenSet = true; m_autoAcceptSharedAttachments = value; }
85
87
94 inline DefaultRouteTableAssociationValue GetDefaultRouteTableAssociation() const { return m_defaultRouteTableAssociation; }
95 inline bool DefaultRouteTableAssociationHasBeenSet() const { return m_defaultRouteTableAssociationHasBeenSet; }
96 inline void SetDefaultRouteTableAssociation(DefaultRouteTableAssociationValue value) { m_defaultRouteTableAssociationHasBeenSet = true; m_defaultRouteTableAssociation = value; }
99
101
104 inline const Aws::String& GetAssociationDefaultRouteTableId() const { return m_associationDefaultRouteTableId; }
105 inline bool AssociationDefaultRouteTableIdHasBeenSet() const { return m_associationDefaultRouteTableIdHasBeenSet; }
106 template<typename AssociationDefaultRouteTableIdT = Aws::String>
107 void SetAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT&& value) { m_associationDefaultRouteTableIdHasBeenSet = true; m_associationDefaultRouteTableId = std::forward<AssociationDefaultRouteTableIdT>(value); }
108 template<typename AssociationDefaultRouteTableIdT = Aws::String>
109 TransitGatewayOptions& WithAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT&& value) { SetAssociationDefaultRouteTableId(std::forward<AssociationDefaultRouteTableIdT>(value)); return *this;}
111
113
120 inline DefaultRouteTablePropagationValue GetDefaultRouteTablePropagation() const { return m_defaultRouteTablePropagation; }
121 inline bool DefaultRouteTablePropagationHasBeenSet() const { return m_defaultRouteTablePropagationHasBeenSet; }
122 inline void SetDefaultRouteTablePropagation(DefaultRouteTablePropagationValue value) { m_defaultRouteTablePropagationHasBeenSet = true; m_defaultRouteTablePropagation = value; }
125
127
130 inline const Aws::String& GetPropagationDefaultRouteTableId() const { return m_propagationDefaultRouteTableId; }
131 inline bool PropagationDefaultRouteTableIdHasBeenSet() const { return m_propagationDefaultRouteTableIdHasBeenSet; }
132 template<typename PropagationDefaultRouteTableIdT = Aws::String>
133 void SetPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT&& value) { m_propagationDefaultRouteTableIdHasBeenSet = true; m_propagationDefaultRouteTableId = std::forward<PropagationDefaultRouteTableIdT>(value); }
134 template<typename PropagationDefaultRouteTableIdT = Aws::String>
135 TransitGatewayOptions& WithPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT&& value) { SetPropagationDefaultRouteTableId(std::forward<PropagationDefaultRouteTableIdT>(value)); return *this;}
137
139
142 inline VpnEcmpSupportValue GetVpnEcmpSupport() const { return m_vpnEcmpSupport; }
143 inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; }
144 inline void SetVpnEcmpSupport(VpnEcmpSupportValue value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = value; }
147
149
152 inline DnsSupportValue GetDnsSupport() const { return m_dnsSupport; }
153 inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; }
154 inline void SetDnsSupport(DnsSupportValue value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = value; }
157
159
164 inline SecurityGroupReferencingSupportValue GetSecurityGroupReferencingSupport() const { return m_securityGroupReferencingSupport; }
165 inline bool SecurityGroupReferencingSupportHasBeenSet() const { return m_securityGroupReferencingSupportHasBeenSet; }
166 inline void SetSecurityGroupReferencingSupport(SecurityGroupReferencingSupportValue value) { m_securityGroupReferencingSupportHasBeenSet = true; m_securityGroupReferencingSupport = value; }
169
171
174 inline MulticastSupportValue GetMulticastSupport() const { return m_multicastSupport; }
175 inline bool MulticastSupportHasBeenSet() const { return m_multicastSupportHasBeenSet; }
176 inline void SetMulticastSupport(MulticastSupportValue value) { m_multicastSupportHasBeenSet = true; m_multicastSupport = value; }
179 private:
180
181 long long m_amazonSideAsn{0};
182 bool m_amazonSideAsnHasBeenSet = false;
183
184 Aws::Vector<Aws::String> m_transitGatewayCidrBlocks;
185 bool m_transitGatewayCidrBlocksHasBeenSet = false;
186
188 bool m_autoAcceptSharedAttachmentsHasBeenSet = false;
189
191 bool m_defaultRouteTableAssociationHasBeenSet = false;
192
193 Aws::String m_associationDefaultRouteTableId;
194 bool m_associationDefaultRouteTableIdHasBeenSet = false;
195
197 bool m_defaultRouteTablePropagationHasBeenSet = false;
198
199 Aws::String m_propagationDefaultRouteTableId;
200 bool m_propagationDefaultRouteTableIdHasBeenSet = false;
201
203 bool m_vpnEcmpSupportHasBeenSet = false;
204
206 bool m_dnsSupportHasBeenSet = false;
207
209 bool m_securityGroupReferencingSupportHasBeenSet = false;
210
212 bool m_multicastSupportHasBeenSet = false;
213 };
214
215} // namespace Model
216} // namespace EC2
217} // namespace Aws
TransitGatewayOptions & WithPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT &&value)
TransitGatewayOptions & WithVpnEcmpSupport(VpnEcmpSupportValue value)
void SetDefaultRouteTableAssociation(DefaultRouteTableAssociationValue value)
SecurityGroupReferencingSupportValue GetSecurityGroupReferencingSupport() const
void SetAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT &&value)
void SetPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT &&value)
TransitGatewayOptions & WithAmazonSideAsn(long long value)
AWS_EC2_API TransitGatewayOptions()=default
TransitGatewayOptions & WithAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue value)
MulticastSupportValue GetMulticastSupport() const
TransitGatewayOptions & AddTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
AutoAcceptSharedAttachmentsValue GetAutoAcceptSharedAttachments() const
TransitGatewayOptions & WithTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
AWS_EC2_API TransitGatewayOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetAssociationDefaultRouteTableId() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
TransitGatewayOptions & WithDnsSupport(DnsSupportValue value)
TransitGatewayOptions & WithSecurityGroupReferencingSupport(SecurityGroupReferencingSupportValue value)
AWS_EC2_API TransitGatewayOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
DefaultRouteTableAssociationValue GetDefaultRouteTableAssociation() const
const Aws::Vector< Aws::String > & GetTransitGatewayCidrBlocks() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetMulticastSupport(MulticastSupportValue value)
const Aws::String & GetPropagationDefaultRouteTableId() const
void SetVpnEcmpSupport(VpnEcmpSupportValue value)
TransitGatewayOptions & WithMulticastSupport(MulticastSupportValue value)
void SetAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue value)
DefaultRouteTablePropagationValue GetDefaultRouteTablePropagation() const
void SetTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
TransitGatewayOptions & WithDefaultRouteTablePropagation(DefaultRouteTablePropagationValue value)
void SetDefaultRouteTablePropagation(DefaultRouteTablePropagationValue value)
TransitGatewayOptions & WithAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT &&value)
VpnEcmpSupportValue GetVpnEcmpSupport() const
TransitGatewayOptions & WithDefaultRouteTableAssociation(DefaultRouteTableAssociationValue value)
void SetSecurityGroupReferencingSupport(SecurityGroupReferencingSupportValue value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream