AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
TransitGatewayRequestOptions.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/MulticastSupportValue.h>
16#include <aws/ec2/model/SecurityGroupReferencingSupportValue.h>
17#include <aws/ec2/model/VpnEcmpSupportValue.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Xml {
24class XmlNode;
25} // namespace Xml
26} // namespace Utils
27namespace EC2 {
28namespace Model {
29
36 public:
37 AWS_EC2_API TransitGatewayRequestOptions() = default;
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
50 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
51 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
52 inline void SetAmazonSideAsn(long long value) {
53 m_amazonSideAsnHasBeenSet = true;
54 m_amazonSideAsn = value;
55 }
57 SetAmazonSideAsn(value);
58 return *this;
59 }
61
63
67 inline AutoAcceptSharedAttachmentsValue GetAutoAcceptSharedAttachments() const { return m_autoAcceptSharedAttachments; }
68 inline bool AutoAcceptSharedAttachmentsHasBeenSet() const { return m_autoAcceptSharedAttachmentsHasBeenSet; }
70 m_autoAcceptSharedAttachmentsHasBeenSet = true;
71 m_autoAcceptSharedAttachments = value;
72 }
75 return *this;
76 }
78
80
84 inline DefaultRouteTableAssociationValue GetDefaultRouteTableAssociation() const { return m_defaultRouteTableAssociation; }
85 inline bool DefaultRouteTableAssociationHasBeenSet() const { return m_defaultRouteTableAssociationHasBeenSet; }
87 m_defaultRouteTableAssociationHasBeenSet = true;
88 m_defaultRouteTableAssociation = value;
89 }
92 return *this;
93 }
95
97
101 inline DefaultRouteTablePropagationValue GetDefaultRouteTablePropagation() const { return m_defaultRouteTablePropagation; }
102 inline bool DefaultRouteTablePropagationHasBeenSet() const { return m_defaultRouteTablePropagationHasBeenSet; }
104 m_defaultRouteTablePropagationHasBeenSet = true;
105 m_defaultRouteTablePropagation = value;
106 }
109 return *this;
110 }
112
114
118 inline VpnEcmpSupportValue GetVpnEcmpSupport() const { return m_vpnEcmpSupport; }
119 inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; }
121 m_vpnEcmpSupportHasBeenSet = true;
122 m_vpnEcmpSupport = value;
123 }
125 SetVpnEcmpSupport(value);
126 return *this;
127 }
129
131
134 inline DnsSupportValue GetDnsSupport() const { return m_dnsSupport; }
135 inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; }
136 inline void SetDnsSupport(DnsSupportValue value) {
137 m_dnsSupportHasBeenSet = true;
138 m_dnsSupport = value;
139 }
141 SetDnsSupport(value);
142 return *this;
143 }
145
147
155 inline SecurityGroupReferencingSupportValue GetSecurityGroupReferencingSupport() const { return m_securityGroupReferencingSupport; }
156 inline bool SecurityGroupReferencingSupportHasBeenSet() const { return m_securityGroupReferencingSupportHasBeenSet; }
158 m_securityGroupReferencingSupportHasBeenSet = true;
159 m_securityGroupReferencingSupport = value;
160 }
163 return *this;
164 }
166
168
171 inline MulticastSupportValue GetMulticastSupport() const { return m_multicastSupport; }
172 inline bool MulticastSupportHasBeenSet() const { return m_multicastSupportHasBeenSet; }
174 m_multicastSupportHasBeenSet = true;
175 m_multicastSupport = value;
176 }
178 SetMulticastSupport(value);
179 return *this;
180 }
182
184
189 inline const Aws::Vector<Aws::String>& GetTransitGatewayCidrBlocks() const { return m_transitGatewayCidrBlocks; }
190 inline bool TransitGatewayCidrBlocksHasBeenSet() const { return m_transitGatewayCidrBlocksHasBeenSet; }
191 template <typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
192 void SetTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
193 m_transitGatewayCidrBlocksHasBeenSet = true;
194 m_transitGatewayCidrBlocks = std::forward<TransitGatewayCidrBlocksT>(value);
195 }
196 template <typename TransitGatewayCidrBlocksT = Aws::Vector<Aws::String>>
197 TransitGatewayRequestOptions& WithTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
198 SetTransitGatewayCidrBlocks(std::forward<TransitGatewayCidrBlocksT>(value));
199 return *this;
200 }
201 template <typename TransitGatewayCidrBlocksT = Aws::String>
202 TransitGatewayRequestOptions& AddTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT&& value) {
203 m_transitGatewayCidrBlocksHasBeenSet = true;
204 m_transitGatewayCidrBlocks.emplace_back(std::forward<TransitGatewayCidrBlocksT>(value));
205 return *this;
206 }
208 private:
209 long long m_amazonSideAsn{0};
210
212
214
216
218
220
222
224
225 Aws::Vector<Aws::String> m_transitGatewayCidrBlocks;
226 bool m_amazonSideAsnHasBeenSet = false;
227 bool m_autoAcceptSharedAttachmentsHasBeenSet = false;
228 bool m_defaultRouteTableAssociationHasBeenSet = false;
229 bool m_defaultRouteTablePropagationHasBeenSet = false;
230 bool m_vpnEcmpSupportHasBeenSet = false;
231 bool m_dnsSupportHasBeenSet = false;
232 bool m_securityGroupReferencingSupportHasBeenSet = false;
233 bool m_multicastSupportHasBeenSet = false;
234 bool m_transitGatewayCidrBlocksHasBeenSet = false;
235};
236
237} // namespace Model
238} // namespace EC2
239} // namespace Aws
AWS_EC2_API TransitGatewayRequestOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API TransitGatewayRequestOptions()=default
TransitGatewayRequestOptions & WithDefaultRouteTablePropagation(DefaultRouteTablePropagationValue value)
void SetAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue value)
TransitGatewayRequestOptions & WithDefaultRouteTableAssociation(DefaultRouteTableAssociationValue value)
DefaultRouteTableAssociationValue GetDefaultRouteTableAssociation() const
void SetSecurityGroupReferencingSupport(SecurityGroupReferencingSupportValue value)
void SetDefaultRouteTableAssociation(DefaultRouteTableAssociationValue value)
AutoAcceptSharedAttachmentsValue GetAutoAcceptSharedAttachments() const
TransitGatewayRequestOptions & WithSecurityGroupReferencingSupport(SecurityGroupReferencingSupportValue value)
DefaultRouteTablePropagationValue GetDefaultRouteTablePropagation() const
void SetDefaultRouteTablePropagation(DefaultRouteTablePropagationValue value)
TransitGatewayRequestOptions & WithAmazonSideAsn(long long value)
void SetTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
TransitGatewayRequestOptions & WithAutoAcceptSharedAttachments(AutoAcceptSharedAttachmentsValue value)
SecurityGroupReferencingSupportValue GetSecurityGroupReferencingSupport() const
TransitGatewayRequestOptions & WithDnsSupport(DnsSupportValue value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayRequestOptions & AddTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
TransitGatewayRequestOptions & WithTransitGatewayCidrBlocks(TransitGatewayCidrBlocksT &&value)
AWS_EC2_API TransitGatewayRequestOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayRequestOptions & WithMulticastSupport(MulticastSupportValue value)
TransitGatewayRequestOptions & WithVpnEcmpSupport(VpnEcmpSupportValue value)
const Aws::Vector< Aws::String > & GetTransitGatewayCidrBlocks() const
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream