AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
VpnConnection.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/GatewayAssociationState.h>
12#include <aws/ec2/model/GatewayType.h>
13#include <aws/ec2/model/Tag.h>
14#include <aws/ec2/model/VgwTelemetry.h>
15#include <aws/ec2/model/VpnConnectionOptions.h>
16#include <aws/ec2/model/VpnState.h>
17#include <aws/ec2/model/VpnStaticRoute.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 VpnConnection() = default;
38 AWS_EC2_API VpnConnection(const Aws::Utils::Xml::XmlNode& xmlNode);
39 AWS_EC2_API VpnConnection& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
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 const Aws::String& GetCategory() const { return m_category; }
51 inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; }
52 template <typename CategoryT = Aws::String>
53 void SetCategory(CategoryT&& value) {
54 m_categoryHasBeenSet = true;
55 m_category = std::forward<CategoryT>(value);
56 }
57 template <typename CategoryT = Aws::String>
58 VpnConnection& WithCategory(CategoryT&& value) {
59 SetCategory(std::forward<CategoryT>(value));
60 return *this;
61 }
63
65
68 inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; }
69 inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; }
70 template <typename TransitGatewayIdT = Aws::String>
71 void SetTransitGatewayId(TransitGatewayIdT&& value) {
72 m_transitGatewayIdHasBeenSet = true;
73 m_transitGatewayId = std::forward<TransitGatewayIdT>(value);
74 }
75 template <typename TransitGatewayIdT = Aws::String>
76 VpnConnection& WithTransitGatewayId(TransitGatewayIdT&& value) {
77 SetTransitGatewayId(std::forward<TransitGatewayIdT>(value));
78 return *this;
79 }
81
83
86 inline const Aws::String& GetVpnConcentratorId() const { return m_vpnConcentratorId; }
87 inline bool VpnConcentratorIdHasBeenSet() const { return m_vpnConcentratorIdHasBeenSet; }
88 template <typename VpnConcentratorIdT = Aws::String>
89 void SetVpnConcentratorId(VpnConcentratorIdT&& value) {
90 m_vpnConcentratorIdHasBeenSet = true;
91 m_vpnConcentratorId = std::forward<VpnConcentratorIdT>(value);
92 }
93 template <typename VpnConcentratorIdT = Aws::String>
94 VpnConnection& WithVpnConcentratorId(VpnConcentratorIdT&& value) {
95 SetVpnConcentratorId(std::forward<VpnConcentratorIdT>(value));
96 return *this;
97 }
99
101
104 inline const Aws::String& GetCoreNetworkArn() const { return m_coreNetworkArn; }
105 inline bool CoreNetworkArnHasBeenSet() const { return m_coreNetworkArnHasBeenSet; }
106 template <typename CoreNetworkArnT = Aws::String>
107 void SetCoreNetworkArn(CoreNetworkArnT&& value) {
108 m_coreNetworkArnHasBeenSet = true;
109 m_coreNetworkArn = std::forward<CoreNetworkArnT>(value);
110 }
111 template <typename CoreNetworkArnT = Aws::String>
112 VpnConnection& WithCoreNetworkArn(CoreNetworkArnT&& value) {
113 SetCoreNetworkArn(std::forward<CoreNetworkArnT>(value));
114 return *this;
115 }
117
119
122 inline const Aws::String& GetCoreNetworkAttachmentArn() const { return m_coreNetworkAttachmentArn; }
123 inline bool CoreNetworkAttachmentArnHasBeenSet() const { return m_coreNetworkAttachmentArnHasBeenSet; }
124 template <typename CoreNetworkAttachmentArnT = Aws::String>
125 void SetCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT&& value) {
126 m_coreNetworkAttachmentArnHasBeenSet = true;
127 m_coreNetworkAttachmentArn = std::forward<CoreNetworkAttachmentArnT>(value);
128 }
129 template <typename CoreNetworkAttachmentArnT = Aws::String>
130 VpnConnection& WithCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT&& value) {
131 SetCoreNetworkAttachmentArn(std::forward<CoreNetworkAttachmentArnT>(value));
132 return *this;
133 }
135
137
140 inline GatewayAssociationState GetGatewayAssociationState() const { return m_gatewayAssociationState; }
141 inline bool GatewayAssociationStateHasBeenSet() const { return m_gatewayAssociationStateHasBeenSet; }
143 m_gatewayAssociationStateHasBeenSet = true;
144 m_gatewayAssociationState = value;
145 }
148 return *this;
149 }
151
153
156 inline const VpnConnectionOptions& GetOptions() const { return m_options; }
157 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
158 template <typename OptionsT = VpnConnectionOptions>
159 void SetOptions(OptionsT&& value) {
160 m_optionsHasBeenSet = true;
161 m_options = std::forward<OptionsT>(value);
162 }
163 template <typename OptionsT = VpnConnectionOptions>
164 VpnConnection& WithOptions(OptionsT&& value) {
165 SetOptions(std::forward<OptionsT>(value));
166 return *this;
167 }
169
171
174 inline const Aws::Vector<VpnStaticRoute>& GetRoutes() const { return m_routes; }
175 inline bool RoutesHasBeenSet() const { return m_routesHasBeenSet; }
176 template <typename RoutesT = Aws::Vector<VpnStaticRoute>>
177 void SetRoutes(RoutesT&& value) {
178 m_routesHasBeenSet = true;
179 m_routes = std::forward<RoutesT>(value);
180 }
181 template <typename RoutesT = Aws::Vector<VpnStaticRoute>>
182 VpnConnection& WithRoutes(RoutesT&& value) {
183 SetRoutes(std::forward<RoutesT>(value));
184 return *this;
185 }
186 template <typename RoutesT = VpnStaticRoute>
187 VpnConnection& AddRoutes(RoutesT&& value) {
188 m_routesHasBeenSet = true;
189 m_routes.emplace_back(std::forward<RoutesT>(value));
190 return *this;
191 }
193
195
198 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
199 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
200 template <typename TagsT = Aws::Vector<Tag>>
201 void SetTags(TagsT&& value) {
202 m_tagsHasBeenSet = true;
203 m_tags = std::forward<TagsT>(value);
204 }
205 template <typename TagsT = Aws::Vector<Tag>>
206 VpnConnection& WithTags(TagsT&& value) {
207 SetTags(std::forward<TagsT>(value));
208 return *this;
209 }
210 template <typename TagsT = Tag>
211 VpnConnection& AddTags(TagsT&& value) {
212 m_tagsHasBeenSet = true;
213 m_tags.emplace_back(std::forward<TagsT>(value));
214 return *this;
215 }
217
219
222 inline const Aws::Vector<VgwTelemetry>& GetVgwTelemetry() const { return m_vgwTelemetry; }
223 inline bool VgwTelemetryHasBeenSet() const { return m_vgwTelemetryHasBeenSet; }
224 template <typename VgwTelemetryT = Aws::Vector<VgwTelemetry>>
225 void SetVgwTelemetry(VgwTelemetryT&& value) {
226 m_vgwTelemetryHasBeenSet = true;
227 m_vgwTelemetry = std::forward<VgwTelemetryT>(value);
228 }
229 template <typename VgwTelemetryT = Aws::Vector<VgwTelemetry>>
230 VpnConnection& WithVgwTelemetry(VgwTelemetryT&& value) {
231 SetVgwTelemetry(std::forward<VgwTelemetryT>(value));
232 return *this;
233 }
234 template <typename VgwTelemetryT = VgwTelemetry>
235 VpnConnection& AddVgwTelemetry(VgwTelemetryT&& value) {
236 m_vgwTelemetryHasBeenSet = true;
237 m_vgwTelemetry.emplace_back(std::forward<VgwTelemetryT>(value));
238 return *this;
239 }
241
243
247 inline const Aws::String& GetPreSharedKeyArn() const { return m_preSharedKeyArn; }
248 inline bool PreSharedKeyArnHasBeenSet() const { return m_preSharedKeyArnHasBeenSet; }
249 template <typename PreSharedKeyArnT = Aws::String>
250 void SetPreSharedKeyArn(PreSharedKeyArnT&& value) {
251 m_preSharedKeyArnHasBeenSet = true;
252 m_preSharedKeyArn = std::forward<PreSharedKeyArnT>(value);
253 }
254 template <typename PreSharedKeyArnT = Aws::String>
255 VpnConnection& WithPreSharedKeyArn(PreSharedKeyArnT&& value) {
256 SetPreSharedKeyArn(std::forward<PreSharedKeyArnT>(value));
257 return *this;
258 }
260
262
265 inline const Aws::String& GetVpnConnectionId() const { return m_vpnConnectionId; }
266 inline bool VpnConnectionIdHasBeenSet() const { return m_vpnConnectionIdHasBeenSet; }
267 template <typename VpnConnectionIdT = Aws::String>
268 void SetVpnConnectionId(VpnConnectionIdT&& value) {
269 m_vpnConnectionIdHasBeenSet = true;
270 m_vpnConnectionId = std::forward<VpnConnectionIdT>(value);
271 }
272 template <typename VpnConnectionIdT = Aws::String>
273 VpnConnection& WithVpnConnectionId(VpnConnectionIdT&& value) {
274 SetVpnConnectionId(std::forward<VpnConnectionIdT>(value));
275 return *this;
276 }
278
280
283 inline VpnState GetState() const { return m_state; }
284 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
285 inline void SetState(VpnState value) {
286 m_stateHasBeenSet = true;
287 m_state = value;
288 }
290 SetState(value);
291 return *this;
292 }
294
296
303 inline const Aws::String& GetCustomerGatewayConfiguration() const { return m_customerGatewayConfiguration; }
304 inline bool CustomerGatewayConfigurationHasBeenSet() const { return m_customerGatewayConfigurationHasBeenSet; }
305 template <typename CustomerGatewayConfigurationT = Aws::String>
306 void SetCustomerGatewayConfiguration(CustomerGatewayConfigurationT&& value) {
307 m_customerGatewayConfigurationHasBeenSet = true;
308 m_customerGatewayConfiguration = std::forward<CustomerGatewayConfigurationT>(value);
309 }
310 template <typename CustomerGatewayConfigurationT = Aws::String>
311 VpnConnection& WithCustomerGatewayConfiguration(CustomerGatewayConfigurationT&& value) {
312 SetCustomerGatewayConfiguration(std::forward<CustomerGatewayConfigurationT>(value));
313 return *this;
314 }
316
318
321 inline GatewayType GetType() const { return m_type; }
322 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
323 inline void SetType(GatewayType value) {
324 m_typeHasBeenSet = true;
325 m_type = value;
326 }
328 SetType(value);
329 return *this;
330 }
332
334
337 inline const Aws::String& GetCustomerGatewayId() const { return m_customerGatewayId; }
338 inline bool CustomerGatewayIdHasBeenSet() const { return m_customerGatewayIdHasBeenSet; }
339 template <typename CustomerGatewayIdT = Aws::String>
340 void SetCustomerGatewayId(CustomerGatewayIdT&& value) {
341 m_customerGatewayIdHasBeenSet = true;
342 m_customerGatewayId = std::forward<CustomerGatewayIdT>(value);
343 }
344 template <typename CustomerGatewayIdT = Aws::String>
345 VpnConnection& WithCustomerGatewayId(CustomerGatewayIdT&& value) {
346 SetCustomerGatewayId(std::forward<CustomerGatewayIdT>(value));
347 return *this;
348 }
350
352
356 inline const Aws::String& GetVpnGatewayId() const { return m_vpnGatewayId; }
357 inline bool VpnGatewayIdHasBeenSet() const { return m_vpnGatewayIdHasBeenSet; }
358 template <typename VpnGatewayIdT = Aws::String>
359 void SetVpnGatewayId(VpnGatewayIdT&& value) {
360 m_vpnGatewayIdHasBeenSet = true;
361 m_vpnGatewayId = std::forward<VpnGatewayIdT>(value);
362 }
363 template <typename VpnGatewayIdT = Aws::String>
364 VpnConnection& WithVpnGatewayId(VpnGatewayIdT&& value) {
365 SetVpnGatewayId(std::forward<VpnGatewayIdT>(value));
366 return *this;
367 }
369 private:
370 Aws::String m_category;
371
372 Aws::String m_transitGatewayId;
373
374 Aws::String m_vpnConcentratorId;
375
376 Aws::String m_coreNetworkArn;
377
378 Aws::String m_coreNetworkAttachmentArn;
379
381
382 VpnConnectionOptions m_options;
383
385
386 Aws::Vector<Tag> m_tags;
387
388 Aws::Vector<VgwTelemetry> m_vgwTelemetry;
389
390 Aws::String m_preSharedKeyArn;
391
392 Aws::String m_vpnConnectionId;
393
395
396 Aws::String m_customerGatewayConfiguration;
397
399
400 Aws::String m_customerGatewayId;
401
402 Aws::String m_vpnGatewayId;
403 bool m_categoryHasBeenSet = false;
404 bool m_transitGatewayIdHasBeenSet = false;
405 bool m_vpnConcentratorIdHasBeenSet = false;
406 bool m_coreNetworkArnHasBeenSet = false;
407 bool m_coreNetworkAttachmentArnHasBeenSet = false;
408 bool m_gatewayAssociationStateHasBeenSet = false;
409 bool m_optionsHasBeenSet = false;
410 bool m_routesHasBeenSet = false;
411 bool m_tagsHasBeenSet = false;
412 bool m_vgwTelemetryHasBeenSet = false;
413 bool m_preSharedKeyArnHasBeenSet = false;
414 bool m_vpnConnectionIdHasBeenSet = false;
415 bool m_stateHasBeenSet = false;
416 bool m_customerGatewayConfigurationHasBeenSet = false;
417 bool m_typeHasBeenSet = false;
418 bool m_customerGatewayIdHasBeenSet = false;
419 bool m_vpnGatewayIdHasBeenSet = false;
420};
421
422} // namespace Model
423} // namespace EC2
424} // namespace Aws
const Aws::String & GetCoreNetworkAttachmentArn() const
void SetPreSharedKeyArn(PreSharedKeyArnT &&value)
void SetCustomerGatewayConfiguration(CustomerGatewayConfigurationT &&value)
VpnConnection & WithCategory(CategoryT &&value)
VpnConnection & WithType(GatewayType value)
const Aws::String & GetCustomerGatewayConfiguration() const
const Aws::String & GetVpnGatewayId() const
void SetCoreNetworkArn(CoreNetworkArnT &&value)
void SetVpnConnectionId(VpnConnectionIdT &&value)
const VpnConnectionOptions & GetOptions() const
VpnConnection & WithPreSharedKeyArn(PreSharedKeyArnT &&value)
GatewayAssociationState GetGatewayAssociationState() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
VpnConnection & WithCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT &&value)
void SetVgwTelemetry(VgwTelemetryT &&value)
void SetOptions(OptionsT &&value)
bool CustomerGatewayConfigurationHasBeenSet() const
VpnConnection & WithCustomerGatewayId(CustomerGatewayIdT &&value)
const Aws::String & GetTransitGatewayId() const
VpnConnection & WithVpnConnectionId(VpnConnectionIdT &&value)
VpnConnection & AddVgwTelemetry(VgwTelemetryT &&value)
void SetCustomerGatewayId(CustomerGatewayIdT &&value)
bool CoreNetworkAttachmentArnHasBeenSet() const
VpnConnection & WithVgwTelemetry(VgwTelemetryT &&value)
const Aws::String & GetCategory() const
void SetGatewayAssociationState(GatewayAssociationState value)
void SetType(GatewayType value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCategory(CategoryT &&value)
VpnConnection & AddTags(TagsT &&value)
VpnConnection & WithRoutes(RoutesT &&value)
VpnConnection & WithOptions(OptionsT &&value)
void SetTransitGatewayId(TransitGatewayIdT &&value)
void SetRoutes(RoutesT &&value)
const Aws::String & GetCoreNetworkArn() const
const Aws::String & GetPreSharedKeyArn() const
VpnConnection & WithCustomerGatewayConfiguration(CustomerGatewayConfigurationT &&value)
VpnConnection & WithVpnGatewayId(VpnGatewayIdT &&value)
bool GatewayAssociationStateHasBeenSet() const
VpnConnection & AddRoutes(RoutesT &&value)
VpnConnection & WithVpnConcentratorId(VpnConcentratorIdT &&value)
const Aws::String & GetCustomerGatewayId() const
const Aws::Vector< VgwTelemetry > & GetVgwTelemetry() const
VpnConnection & WithState(VpnState value)
VpnConnection & WithCoreNetworkArn(CoreNetworkArnT &&value)
VpnConnection & WithGatewayAssociationState(GatewayAssociationState value)
VpnConnection & WithTransitGatewayId(TransitGatewayIdT &&value)
AWS_EC2_API VpnConnection(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API VpnConnection()=default
void SetVpnGatewayId(VpnGatewayIdT &&value)
const Aws::String & GetVpnConnectionId() const
AWS_EC2_API VpnConnection & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetVpnConcentratorId() const
void SetState(VpnState value)
const Aws::Vector< Tag > & GetTags() const
void SetCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT &&value)
VpnConnection & WithTags(TagsT &&value)
const Aws::Vector< VpnStaticRoute > & GetRoutes() const
void SetVpnConcentratorId(VpnConcentratorIdT &&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