AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
VpnConnectionOptionsSpecification.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/TunnelInsideIpVersion.h>
12#include <aws/ec2/model/VpnTunnelBandwidth.h>
13#include <aws/ec2/model/VpnTunnelOptionsSpecification.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2 {
24namespace Model {
25
32 public:
33 AWS_EC2_API VpnConnectionOptionsSpecification() = default;
36
37 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
45 inline bool GetEnableAcceleration() const { return m_enableAcceleration; }
46 inline bool EnableAccelerationHasBeenSet() const { return m_enableAccelerationHasBeenSet; }
47 inline void SetEnableAcceleration(bool value) {
48 m_enableAccelerationHasBeenSet = true;
49 m_enableAcceleration = value;
50 }
53 return *this;
54 }
56
58
62 inline TunnelInsideIpVersion GetTunnelInsideIpVersion() const { return m_tunnelInsideIpVersion; }
63 inline bool TunnelInsideIpVersionHasBeenSet() const { return m_tunnelInsideIpVersionHasBeenSet; }
65 m_tunnelInsideIpVersionHasBeenSet = true;
66 m_tunnelInsideIpVersion = value;
67 }
70 return *this;
71 }
73
75
78 inline const Aws::Vector<VpnTunnelOptionsSpecification>& GetTunnelOptions() const { return m_tunnelOptions; }
79 inline bool TunnelOptionsHasBeenSet() const { return m_tunnelOptionsHasBeenSet; }
80 template <typename TunnelOptionsT = Aws::Vector<VpnTunnelOptionsSpecification>>
81 void SetTunnelOptions(TunnelOptionsT&& value) {
82 m_tunnelOptionsHasBeenSet = true;
83 m_tunnelOptions = std::forward<TunnelOptionsT>(value);
84 }
85 template <typename TunnelOptionsT = Aws::Vector<VpnTunnelOptionsSpecification>>
87 SetTunnelOptions(std::forward<TunnelOptionsT>(value));
88 return *this;
89 }
90 template <typename TunnelOptionsT = VpnTunnelOptionsSpecification>
92 m_tunnelOptionsHasBeenSet = true;
93 m_tunnelOptions.emplace_back(std::forward<TunnelOptionsT>(value));
94 return *this;
95 }
97
99
103 inline const Aws::String& GetLocalIpv4NetworkCidr() const { return m_localIpv4NetworkCidr; }
104 inline bool LocalIpv4NetworkCidrHasBeenSet() const { return m_localIpv4NetworkCidrHasBeenSet; }
105 template <typename LocalIpv4NetworkCidrT = Aws::String>
106 void SetLocalIpv4NetworkCidr(LocalIpv4NetworkCidrT&& value) {
107 m_localIpv4NetworkCidrHasBeenSet = true;
108 m_localIpv4NetworkCidr = std::forward<LocalIpv4NetworkCidrT>(value);
109 }
110 template <typename LocalIpv4NetworkCidrT = Aws::String>
112 SetLocalIpv4NetworkCidr(std::forward<LocalIpv4NetworkCidrT>(value));
113 return *this;
114 }
116
118
122 inline const Aws::String& GetRemoteIpv4NetworkCidr() const { return m_remoteIpv4NetworkCidr; }
123 inline bool RemoteIpv4NetworkCidrHasBeenSet() const { return m_remoteIpv4NetworkCidrHasBeenSet; }
124 template <typename RemoteIpv4NetworkCidrT = Aws::String>
125 void SetRemoteIpv4NetworkCidr(RemoteIpv4NetworkCidrT&& value) {
126 m_remoteIpv4NetworkCidrHasBeenSet = true;
127 m_remoteIpv4NetworkCidr = std::forward<RemoteIpv4NetworkCidrT>(value);
128 }
129 template <typename RemoteIpv4NetworkCidrT = Aws::String>
131 SetRemoteIpv4NetworkCidr(std::forward<RemoteIpv4NetworkCidrT>(value));
132 return *this;
133 }
135
137
141 inline const Aws::String& GetLocalIpv6NetworkCidr() const { return m_localIpv6NetworkCidr; }
142 inline bool LocalIpv6NetworkCidrHasBeenSet() const { return m_localIpv6NetworkCidrHasBeenSet; }
143 template <typename LocalIpv6NetworkCidrT = Aws::String>
144 void SetLocalIpv6NetworkCidr(LocalIpv6NetworkCidrT&& value) {
145 m_localIpv6NetworkCidrHasBeenSet = true;
146 m_localIpv6NetworkCidr = std::forward<LocalIpv6NetworkCidrT>(value);
147 }
148 template <typename LocalIpv6NetworkCidrT = Aws::String>
150 SetLocalIpv6NetworkCidr(std::forward<LocalIpv6NetworkCidrT>(value));
151 return *this;
152 }
154
156
160 inline const Aws::String& GetRemoteIpv6NetworkCidr() const { return m_remoteIpv6NetworkCidr; }
161 inline bool RemoteIpv6NetworkCidrHasBeenSet() const { return m_remoteIpv6NetworkCidrHasBeenSet; }
162 template <typename RemoteIpv6NetworkCidrT = Aws::String>
163 void SetRemoteIpv6NetworkCidr(RemoteIpv6NetworkCidrT&& value) {
164 m_remoteIpv6NetworkCidrHasBeenSet = true;
165 m_remoteIpv6NetworkCidr = std::forward<RemoteIpv6NetworkCidrT>(value);
166 }
167 template <typename RemoteIpv6NetworkCidrT = Aws::String>
169 SetRemoteIpv6NetworkCidr(std::forward<RemoteIpv6NetworkCidrT>(value));
170 return *this;
171 }
173
175
181 inline const Aws::String& GetOutsideIpAddressType() const { return m_outsideIpAddressType; }
182 inline bool OutsideIpAddressTypeHasBeenSet() const { return m_outsideIpAddressTypeHasBeenSet; }
183 template <typename OutsideIpAddressTypeT = Aws::String>
184 void SetOutsideIpAddressType(OutsideIpAddressTypeT&& value) {
185 m_outsideIpAddressTypeHasBeenSet = true;
186 m_outsideIpAddressType = std::forward<OutsideIpAddressTypeT>(value);
187 }
188 template <typename OutsideIpAddressTypeT = Aws::String>
190 SetOutsideIpAddressType(std::forward<OutsideIpAddressTypeT>(value));
191 return *this;
192 }
194
196
200 inline const Aws::String& GetTransportTransitGatewayAttachmentId() const { return m_transportTransitGatewayAttachmentId; }
201 inline bool TransportTransitGatewayAttachmentIdHasBeenSet() const { return m_transportTransitGatewayAttachmentIdHasBeenSet; }
202 template <typename TransportTransitGatewayAttachmentIdT = Aws::String>
203 void SetTransportTransitGatewayAttachmentId(TransportTransitGatewayAttachmentIdT&& value) {
204 m_transportTransitGatewayAttachmentIdHasBeenSet = true;
205 m_transportTransitGatewayAttachmentId = std::forward<TransportTransitGatewayAttachmentIdT>(value);
206 }
207 template <typename TransportTransitGatewayAttachmentIdT = Aws::String>
208 VpnConnectionOptionsSpecification& WithTransportTransitGatewayAttachmentId(TransportTransitGatewayAttachmentIdT&& value) {
209 SetTransportTransitGatewayAttachmentId(std::forward<TransportTransitGatewayAttachmentIdT>(value));
210 return *this;
211 }
213
215
223 inline VpnTunnelBandwidth GetTunnelBandwidth() const { return m_tunnelBandwidth; }
224 inline bool TunnelBandwidthHasBeenSet() const { return m_tunnelBandwidthHasBeenSet; }
226 m_tunnelBandwidthHasBeenSet = true;
227 m_tunnelBandwidth = value;
228 }
230 SetTunnelBandwidth(value);
231 return *this;
232 }
234
236
242 inline bool GetStaticRoutesOnly() const { return m_staticRoutesOnly; }
243 inline bool StaticRoutesOnlyHasBeenSet() const { return m_staticRoutesOnlyHasBeenSet; }
244 inline void SetStaticRoutesOnly(bool value) {
245 m_staticRoutesOnlyHasBeenSet = true;
246 m_staticRoutesOnly = value;
247 }
249 SetStaticRoutesOnly(value);
250 return *this;
251 }
253 private:
254 bool m_enableAcceleration{false};
255
257
259
260 Aws::String m_localIpv4NetworkCidr;
261
262 Aws::String m_remoteIpv4NetworkCidr;
263
264 Aws::String m_localIpv6NetworkCidr;
265
266 Aws::String m_remoteIpv6NetworkCidr;
267
268 Aws::String m_outsideIpAddressType;
269
270 Aws::String m_transportTransitGatewayAttachmentId;
271
273
274 bool m_staticRoutesOnly{false};
275 bool m_enableAccelerationHasBeenSet = false;
276 bool m_tunnelInsideIpVersionHasBeenSet = false;
277 bool m_tunnelOptionsHasBeenSet = false;
278 bool m_localIpv4NetworkCidrHasBeenSet = false;
279 bool m_remoteIpv4NetworkCidrHasBeenSet = false;
280 bool m_localIpv6NetworkCidrHasBeenSet = false;
281 bool m_remoteIpv6NetworkCidrHasBeenSet = false;
282 bool m_outsideIpAddressTypeHasBeenSet = false;
283 bool m_transportTransitGatewayAttachmentIdHasBeenSet = false;
284 bool m_tunnelBandwidthHasBeenSet = false;
285 bool m_staticRoutesOnlyHasBeenSet = false;
286};
287
288} // namespace Model
289} // namespace EC2
290} // namespace Aws
VpnConnectionOptionsSpecification & WithLocalIpv6NetworkCidr(LocalIpv6NetworkCidrT &&value)
VpnConnectionOptionsSpecification & WithLocalIpv4NetworkCidr(LocalIpv4NetworkCidrT &&value)
VpnConnectionOptionsSpecification & WithRemoteIpv4NetworkCidr(RemoteIpv4NetworkCidrT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
VpnConnectionOptionsSpecification & WithTransportTransitGatewayAttachmentId(TransportTransitGatewayAttachmentIdT &&value)
VpnConnectionOptionsSpecification & WithOutsideIpAddressType(OutsideIpAddressTypeT &&value)
AWS_EC2_API VpnConnectionOptionsSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
VpnConnectionOptionsSpecification & WithStaticRoutesOnly(bool value)
VpnConnectionOptionsSpecification & WithTunnelInsideIpVersion(TunnelInsideIpVersion value)
VpnConnectionOptionsSpecification & AddTunnelOptions(TunnelOptionsT &&value)
VpnConnectionOptionsSpecification & WithEnableAcceleration(bool value)
void SetTransportTransitGatewayAttachmentId(TransportTransitGatewayAttachmentIdT &&value)
AWS_EC2_API VpnConnectionOptionsSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
VpnConnectionOptionsSpecification & WithTunnelOptions(TunnelOptionsT &&value)
const Aws::Vector< VpnTunnelOptionsSpecification > & GetTunnelOptions() const
VpnConnectionOptionsSpecification & WithTunnelBandwidth(VpnTunnelBandwidth value)
VpnConnectionOptionsSpecification & WithRemoteIpv6NetworkCidr(RemoteIpv6NetworkCidrT &&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