AWS SDK for C++  0.14.3
AWS SDK for C++
VpnConnection.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/ec2/EC2_EXPORTS.h>
19 #include <aws/ec2/model/VpnState.h>
23 #include <aws/ec2/model/Tag.h>
26 
27 namespace Aws
28 {
29 namespace Utils
30 {
31 namespace Xml
32 {
33  class XmlNode;
34 } // namespace Xml
35 } // namespace Utils
36 namespace EC2
37 {
38 namespace Model
39 {
40 
45  {
46  public:
47  VpnConnection();
49  VpnConnection& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
50 
51  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52  void OutputToStream(Aws::OStream& oStream, const char* location) const;
53 
57  inline const Aws::String& GetVpnConnectionId() const{ return m_vpnConnectionId; }
58 
62  inline void SetVpnConnectionId(const Aws::String& value) { m_vpnConnectionIdHasBeenSet = true; m_vpnConnectionId = value; }
63 
67  inline void SetVpnConnectionId(Aws::String&& value) { m_vpnConnectionIdHasBeenSet = true; m_vpnConnectionId = value; }
68 
72  inline void SetVpnConnectionId(const char* value) { m_vpnConnectionIdHasBeenSet = true; m_vpnConnectionId.assign(value); }
73 
77  inline VpnConnection& WithVpnConnectionId(const Aws::String& value) { SetVpnConnectionId(value); return *this;}
78 
82  inline VpnConnection& WithVpnConnectionId(Aws::String&& value) { SetVpnConnectionId(value); return *this;}
83 
87  inline VpnConnection& WithVpnConnectionId(const char* value) { SetVpnConnectionId(value); return *this;}
88 
92  inline const VpnState& GetState() const{ return m_state; }
93 
97  inline void SetState(const VpnState& value) { m_stateHasBeenSet = true; m_state = value; }
98 
102  inline void SetState(VpnState&& value) { m_stateHasBeenSet = true; m_state = value; }
103 
107  inline VpnConnection& WithState(const VpnState& value) { SetState(value); return *this;}
108 
112  inline VpnConnection& WithState(VpnState&& value) { SetState(value); return *this;}
113 
121  inline const Aws::String& GetCustomerGatewayConfiguration() const{ return m_customerGatewayConfiguration; }
122 
130  inline void SetCustomerGatewayConfiguration(const Aws::String& value) { m_customerGatewayConfigurationHasBeenSet = true; m_customerGatewayConfiguration = value; }
131 
139  inline void SetCustomerGatewayConfiguration(Aws::String&& value) { m_customerGatewayConfigurationHasBeenSet = true; m_customerGatewayConfiguration = value; }
140 
148  inline void SetCustomerGatewayConfiguration(const char* value) { m_customerGatewayConfigurationHasBeenSet = true; m_customerGatewayConfiguration.assign(value); }
149 
157  inline VpnConnection& WithCustomerGatewayConfiguration(const Aws::String& value) { SetCustomerGatewayConfiguration(value); return *this;}
158 
166  inline VpnConnection& WithCustomerGatewayConfiguration(Aws::String&& value) { SetCustomerGatewayConfiguration(value); return *this;}
167 
175  inline VpnConnection& WithCustomerGatewayConfiguration(const char* value) { SetCustomerGatewayConfiguration(value); return *this;}
176 
180  inline const GatewayType& GetType() const{ return m_type; }
181 
185  inline void SetType(const GatewayType& value) { m_typeHasBeenSet = true; m_type = value; }
186 
190  inline void SetType(GatewayType&& value) { m_typeHasBeenSet = true; m_type = value; }
191 
195  inline VpnConnection& WithType(const GatewayType& value) { SetType(value); return *this;}
196 
200  inline VpnConnection& WithType(GatewayType&& value) { SetType(value); return *this;}
201 
205  inline const Aws::String& GetCustomerGatewayId() const{ return m_customerGatewayId; }
206 
210  inline void SetCustomerGatewayId(const Aws::String& value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId = value; }
211 
215  inline void SetCustomerGatewayId(Aws::String&& value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId = value; }
216 
220  inline void SetCustomerGatewayId(const char* value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId.assign(value); }
221 
225  inline VpnConnection& WithCustomerGatewayId(const Aws::String& value) { SetCustomerGatewayId(value); return *this;}
226 
230  inline VpnConnection& WithCustomerGatewayId(Aws::String&& value) { SetCustomerGatewayId(value); return *this;}
231 
235  inline VpnConnection& WithCustomerGatewayId(const char* value) { SetCustomerGatewayId(value); return *this;}
236 
241  inline const Aws::String& GetVpnGatewayId() const{ return m_vpnGatewayId; }
242 
247  inline void SetVpnGatewayId(const Aws::String& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = value; }
248 
253  inline void SetVpnGatewayId(Aws::String&& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = value; }
254 
259  inline void SetVpnGatewayId(const char* value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId.assign(value); }
260 
265  inline VpnConnection& WithVpnGatewayId(const Aws::String& value) { SetVpnGatewayId(value); return *this;}
266 
271  inline VpnConnection& WithVpnGatewayId(Aws::String&& value) { SetVpnGatewayId(value); return *this;}
272 
277  inline VpnConnection& WithVpnGatewayId(const char* value) { SetVpnGatewayId(value); return *this;}
278 
282  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
283 
287  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
288 
292  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
293 
297  inline VpnConnection& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
298 
302  inline VpnConnection& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
303 
307  inline VpnConnection& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
308 
312  inline VpnConnection& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
313 
317  inline const Aws::Vector<VgwTelemetry>& GetVgwTelemetry() const{ return m_vgwTelemetry; }
318 
322  inline void SetVgwTelemetry(const Aws::Vector<VgwTelemetry>& value) { m_vgwTelemetryHasBeenSet = true; m_vgwTelemetry = value; }
323 
327  inline void SetVgwTelemetry(Aws::Vector<VgwTelemetry>&& value) { m_vgwTelemetryHasBeenSet = true; m_vgwTelemetry = value; }
328 
332  inline VpnConnection& WithVgwTelemetry(const Aws::Vector<VgwTelemetry>& value) { SetVgwTelemetry(value); return *this;}
333 
337  inline VpnConnection& WithVgwTelemetry(Aws::Vector<VgwTelemetry>&& value) { SetVgwTelemetry(value); return *this;}
338 
342  inline VpnConnection& AddVgwTelemetry(const VgwTelemetry& value) { m_vgwTelemetryHasBeenSet = true; m_vgwTelemetry.push_back(value); return *this; }
343 
347  inline VpnConnection& AddVgwTelemetry(VgwTelemetry&& value) { m_vgwTelemetryHasBeenSet = true; m_vgwTelemetry.push_back(value); return *this; }
348 
352  inline const VpnConnectionOptions& GetOptions() const{ return m_options; }
353 
357  inline void SetOptions(const VpnConnectionOptions& value) { m_optionsHasBeenSet = true; m_options = value; }
358 
362  inline void SetOptions(VpnConnectionOptions&& value) { m_optionsHasBeenSet = true; m_options = value; }
363 
367  inline VpnConnection& WithOptions(const VpnConnectionOptions& value) { SetOptions(value); return *this;}
368 
372  inline VpnConnection& WithOptions(VpnConnectionOptions&& value) { SetOptions(value); return *this;}
373 
377  inline const Aws::Vector<VpnStaticRoute>& GetRoutes() const{ return m_routes; }
378 
382  inline void SetRoutes(const Aws::Vector<VpnStaticRoute>& value) { m_routesHasBeenSet = true; m_routes = value; }
383 
387  inline void SetRoutes(Aws::Vector<VpnStaticRoute>&& value) { m_routesHasBeenSet = true; m_routes = value; }
388 
392  inline VpnConnection& WithRoutes(const Aws::Vector<VpnStaticRoute>& value) { SetRoutes(value); return *this;}
393 
397  inline VpnConnection& WithRoutes(Aws::Vector<VpnStaticRoute>&& value) { SetRoutes(value); return *this;}
398 
402  inline VpnConnection& AddRoutes(const VpnStaticRoute& value) { m_routesHasBeenSet = true; m_routes.push_back(value); return *this; }
403 
407  inline VpnConnection& AddRoutes(VpnStaticRoute&& value) { m_routesHasBeenSet = true; m_routes.push_back(value); return *this; }
408 
409  private:
410  Aws::String m_vpnConnectionId;
411  bool m_vpnConnectionIdHasBeenSet;
412  VpnState m_state;
413  bool m_stateHasBeenSet;
414  Aws::String m_customerGatewayConfiguration;
415  bool m_customerGatewayConfigurationHasBeenSet;
416  GatewayType m_type;
417  bool m_typeHasBeenSet;
418  Aws::String m_customerGatewayId;
419  bool m_customerGatewayIdHasBeenSet;
420  Aws::String m_vpnGatewayId;
421  bool m_vpnGatewayIdHasBeenSet;
422  Aws::Vector<Tag> m_tags;
423  bool m_tagsHasBeenSet;
424  Aws::Vector<VgwTelemetry> m_vgwTelemetry;
425  bool m_vgwTelemetryHasBeenSet;
426  VpnConnectionOptions m_options;
427  bool m_optionsHasBeenSet;
429  bool m_routesHasBeenSet;
430  };
431 
432 } // namespace Model
433 } // namespace EC2
434 } // namespace Aws
VpnConnection & AddRoutes(VpnStaticRoute &&value)
void SetRoutes(const Aws::Vector< VpnStaticRoute > &value)
VpnConnection & WithOptions(VpnConnectionOptions &&value)
VpnConnection & WithState(VpnState &&value)
const Aws::Vector< Tag > & GetTags() const
VpnConnection & WithOptions(const VpnConnectionOptions &value)
const Aws::Vector< VgwTelemetry > & GetVgwTelemetry() const
void SetTags(Aws::Vector< Tag > &&value)
void SetRoutes(Aws::Vector< VpnStaticRoute > &&value)
const Aws::String & GetVpnConnectionId() const
Definition: VpnConnection.h:57
VpnConnection & AddTags(Tag &&value)
VpnConnection & WithState(const VpnState &value)
const VpnState & GetState() const
Definition: VpnConnection.h:92
const Aws::String & GetCustomerGatewayId() const
void SetCustomerGatewayId(const Aws::String &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
VpnConnection & WithCustomerGatewayId(const Aws::String &value)
VpnConnection & WithVgwTelemetry(Aws::Vector< VgwTelemetry > &&value)
void SetVpnConnectionId(const Aws::String &value)
Definition: VpnConnection.h:62
void SetOptions(const VpnConnectionOptions &value)
VpnConnection & AddVgwTelemetry(const VgwTelemetry &value)
VpnConnection & WithVpnConnectionId(const Aws::String &value)
Definition: VpnConnection.h:77
void SetCustomerGatewayConfiguration(Aws::String &&value)
VpnConnection & WithCustomerGatewayConfiguration(const char *value)
void SetVpnConnectionId(Aws::String &&value)
Definition: VpnConnection.h:67
void SetState(const VpnState &value)
Definition: VpnConnection.h:97
VpnConnection & WithCustomerGatewayId(Aws::String &&value)
void SetOptions(VpnConnectionOptions &&value)
VpnConnection & WithCustomerGatewayConfiguration(const Aws::String &value)
void SetCustomerGatewayConfiguration(const char *value)
void SetType(GatewayType &&value)
void SetTags(const Aws::Vector< Tag > &value)
VpnConnection & WithRoutes(const Aws::Vector< VpnStaticRoute > &value)
void SetVpnGatewayId(Aws::String &&value)
VpnConnection & WithRoutes(Aws::Vector< VpnStaticRoute > &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
VpnConnection & WithVpnGatewayId(const Aws::String &value)
void SetCustomerGatewayId(const char *value)
const Aws::String & GetVpnGatewayId() const
VpnConnection & WithType(const GatewayType &value)
const Aws::String & GetCustomerGatewayConfiguration() const
void SetType(const GatewayType &value)
const VpnConnectionOptions & GetOptions() const
void SetCustomerGatewayId(Aws::String &&value)
VpnConnection & WithVpnGatewayId(Aws::String &&value)
void SetState(VpnState &&value)
VpnConnection & WithTags(const Aws::Vector< Tag > &value)
void SetVpnGatewayId(const char *value)
VpnConnection & WithCustomerGatewayId(const char *value)
void SetVgwTelemetry(Aws::Vector< VgwTelemetry > &&value)
VpnConnection & WithVpnConnectionId(const char *value)
Definition: VpnConnection.h:87
const Aws::Vector< VpnStaticRoute > & GetRoutes() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
VpnConnection & WithVgwTelemetry(const Aws::Vector< VgwTelemetry > &value)
void SetVpnGatewayId(const Aws::String &value)
VpnConnection & AddRoutes(const VpnStaticRoute &value)
VpnConnection & WithCustomerGatewayConfiguration(Aws::String &&value)
void SetCustomerGatewayConfiguration(const Aws::String &value)
void SetVpnConnectionId(const char *value)
Definition: VpnConnection.h:72
VpnConnection & AddTags(const Tag &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
VpnConnection & WithVpnConnectionId(Aws::String &&value)
Definition: VpnConnection.h:82
VpnConnection & WithType(GatewayType &&value)
void SetVgwTelemetry(const Aws::Vector< VgwTelemetry > &value)
VpnConnection & WithTags(Aws::Vector< Tag > &&value)
JSON (JavaScript Object Notation).
VpnConnection & AddVgwTelemetry(VgwTelemetry &&value)
const GatewayType & GetType() const
VpnConnection & WithVpnGatewayId(const char *value)