AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TransitGatewayOptions.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/AutoAcceptSharedAttachmentsValue.h>
12#include <aws/ec2/model/DefaultRouteTableAssociationValue.h>
13#include <aws/ec2/model/DefaultRouteTablePropagationValue.h>
14#include <aws/ec2/model/DnsSupportValue.h>
15#include <aws/ec2/model/EncryptionSupport.h>
16#include <aws/ec2/model/MulticastSupportValue.h>
17#include <aws/ec2/model/SecurityGroupReferencingSupportValue.h>
18#include <aws/ec2/model/VpnEcmpSupportValue.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Utils {
24namespace Xml {
25class XmlNode;
26} // namespace Xml
27} // namespace Utils
28namespace EC2 {
29namespace Model {
30
37 public:
38 AWS_EC2_API TransitGatewayOptions() = default;
41
42 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
46
51 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
52 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
53 inline void SetAmazonSideAsn(long long value) {
54 m_amazonSideAsnHasBeenSet = true;
55 m_amazonSideAsn = value;
56 }
57 inline TransitGatewayOptions& WithAmazonSideAsn(long long value) {
58 SetAmazonSideAsn(value);
59 return *this;
60 }
62
64
67 inline const Aws::Vector<Aws::String>& GetTransitGatewayCidrBlocks() const { return m_transitGatewayCidrBlocks; }
68 inline bool TransitGatewayCidrBlocksHasBeenSet() const { return m_transitGatewayCidrBlocksHasBeenSet; }
69 template <typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
70 void SetTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
71 m_transitGatewayCidrBlocksHasBeenSet = true;
72 m_transitGatewayCidrBlocks = std::forward<TransitGatewayCidrBlocksT>(value);
73 }
74 template <typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
75 TransitGatewayOptions& WithTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
76 SetTransitGatewayCidrBlocks(std::forward<TransitGatewayCidrBlocksT>(value));
77 return *this;
78 }
79 template <typename TransitGatewayCidrBlocksT = Aws::String>
80 TransitGatewayOptions& AddTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
81 m_transitGatewayCidrBlocksHasBeenSet = true;
82 m_transitGatewayCidrBlocks.emplace_back(std::forward<TransitGatewayCidrBlocksT>(value));
83 return *this;
84 }
86
88
91 inline AutoAcceptSharedAttachmentsValue GetAutoAcceptSharedAttachments() const { return m_autoAcceptSharedAttachments; }
92 inline bool AutoAcceptSharedAttachmentsHasBeenSet() const { return m_autoAcceptSharedAttachmentsHasBeenSet; }
94 m_autoAcceptSharedAttachmentsHasBeenSet = true;
95 m_autoAcceptSharedAttachments = value;
96 }
99 return *this;
100 }
102
104
112 inline DefaultRouteTableAssociationValue GetDefaultRouteTableAssociation() const { return m_defaultRouteTableAssociation; }
113 inline bool DefaultRouteTableAssociationHasBeenSet() const { return m_defaultRouteTableAssociationHasBeenSet; }
115 m_defaultRouteTableAssociationHasBeenSet = true;
116 m_defaultRouteTableAssociation = value;
117 }
120 return *this;
121 }
123
125
128 inline const Aws::String& GetAssociationDefaultRouteTableId() const { return m_associationDefaultRouteTableId; }
129 inline bool AssociationDefaultRouteTableIdHasBeenSet() const { return m_associationDefaultRouteTableIdHasBeenSet; }
130 template <typename AssociationDefaultRouteTableIdT = Aws::String>
131 void SetAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT&& value) {
132 m_associationDefaultRouteTableIdHasBeenSet = true;
133 m_associationDefaultRouteTableId = std::forward<AssociationDefaultRouteTableIdT>(value);
134 }
135 template <typename AssociationDefaultRouteTableIdT = Aws::String>
136 TransitGatewayOptions& WithAssociationDefaultRouteTableId(AssociationDefaultRouteTableIdT&& value) {
137 SetAssociationDefaultRouteTableId(std::forward<AssociationDefaultRouteTableIdT>(value));
138 return *this;
139 }
141
143
150 inline DefaultRouteTablePropagationValue GetDefaultRouteTablePropagation() const { return m_defaultRouteTablePropagation; }
151 inline bool DefaultRouteTablePropagationHasBeenSet() const { return m_defaultRouteTablePropagationHasBeenSet; }
153 m_defaultRouteTablePropagationHasBeenSet = true;
154 m_defaultRouteTablePropagation = value;
155 }
158 return *this;
159 }
161
163
166 inline const Aws::String& GetPropagationDefaultRouteTableId() const { return m_propagationDefaultRouteTableId; }
167 inline bool PropagationDefaultRouteTableIdHasBeenSet() const { return m_propagationDefaultRouteTableIdHasBeenSet; }
168 template <typename PropagationDefaultRouteTableIdT = Aws::String>
169 void SetPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT&& value) {
170 m_propagationDefaultRouteTableIdHasBeenSet = true;
171 m_propagationDefaultRouteTableId = std::forward<PropagationDefaultRouteTableIdT>(value);
172 }
173 template <typename PropagationDefaultRouteTableIdT = Aws::String>
174 TransitGatewayOptions& WithPropagationDefaultRouteTableId(PropagationDefaultRouteTableIdT&& value) {
175 SetPropagationDefaultRouteTableId(std::forward<PropagationDefaultRouteTableIdT>(value));
176 return *this;
177 }
179
181
184 inline VpnEcmpSupportValue GetVpnEcmpSupport() const { return m_vpnEcmpSupport; }
185 inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; }
187 m_vpnEcmpSupportHasBeenSet = true;
188 m_vpnEcmpSupport = value;
189 }
191 SetVpnEcmpSupport(value);
192 return *this;
193 }
195
197
200 inline DnsSupportValue GetDnsSupport() const { return m_dnsSupport; }
201 inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; }
202 inline void SetDnsSupport(DnsSupportValue value) {
203 m_dnsSupportHasBeenSet = true;
204 m_dnsSupport = value;
205 }
207 SetDnsSupport(value);
208 return *this;
209 }
211
213
218 inline SecurityGroupReferencingSupportValue GetSecurityGroupReferencingSupport() const { return m_securityGroupReferencingSupport; }
219 inline bool SecurityGroupReferencingSupportHasBeenSet() const { return m_securityGroupReferencingSupportHasBeenSet; }
221 m_securityGroupReferencingSupportHasBeenSet = true;
222 m_securityGroupReferencingSupport = value;
223 }
226 return *this;
227 }
229
231
234 inline MulticastSupportValue GetMulticastSupport() const { return m_multicastSupport; }
235 inline bool MulticastSupportHasBeenSet() const { return m_multicastSupportHasBeenSet; }
237 m_multicastSupportHasBeenSet = true;
238 m_multicastSupport = value;
239 }
241 SetMulticastSupport(value);
242 return *this;
243 }
245
247
250 inline const EncryptionSupport& GetEncryptionSupport() const { return m_encryptionSupport; }
251 inline bool EncryptionSupportHasBeenSet() const { return m_encryptionSupportHasBeenSet; }
252 template <typename EncryptionSupportT = EncryptionSupport>
253 void SetEncryptionSupport(EncryptionSupportT&& value) {
254 m_encryptionSupportHasBeenSet = true;
255 m_encryptionSupport = std::forward<EncryptionSupportT>(value);
256 }
257 template <typename EncryptionSupportT = EncryptionSupport>
258 TransitGatewayOptions& WithEncryptionSupport(EncryptionSupportT&& value) {
259 SetEncryptionSupport(std::forward<EncryptionSupportT>(value));
260 return *this;
261 }
263 private:
264 long long m_amazonSideAsn{0};
265
266 Aws::Vector<Aws::String> m_transitGatewayCidrBlocks;
267
269
271
272 Aws::String m_associationDefaultRouteTableId;
273
275
276 Aws::String m_propagationDefaultRouteTableId;
277
279
281
283
285
286 EncryptionSupport m_encryptionSupport;
287 bool m_amazonSideAsnHasBeenSet = false;
288 bool m_transitGatewayCidrBlocksHasBeenSet = false;
289 bool m_autoAcceptSharedAttachmentsHasBeenSet = false;
290 bool m_defaultRouteTableAssociationHasBeenSet = false;
291 bool m_associationDefaultRouteTableIdHasBeenSet = false;
292 bool m_defaultRouteTablePropagationHasBeenSet = false;
293 bool m_propagationDefaultRouteTableIdHasBeenSet = false;
294 bool m_vpnEcmpSupportHasBeenSet = false;
295 bool m_dnsSupportHasBeenSet = false;
296 bool m_securityGroupReferencingSupportHasBeenSet = false;
297 bool m_multicastSupportHasBeenSet = false;
298 bool m_encryptionSupportHasBeenSet = false;
299};
300
301} // namespace Model
302} // namespace EC2
303} // 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)
TransitGatewayOptions & WithEncryptionSupport(EncryptionSupportT &&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)
const EncryptionSupport & GetEncryptionSupport() const
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 SetEncryptionSupport(EncryptionSupportT &&value)
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