AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
VpnGateway.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/GatewayType.h>
12#include <aws/ec2/model/Tag.h>
13#include <aws/ec2/model/VpcAttachment.h>
14#include <aws/ec2/model/VpnState.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2 {
25namespace Model {
26
33 public:
34 AWS_EC2_API VpnGateway() = default;
35 AWS_EC2_API VpnGateway(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_EC2_API VpnGateway& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
46 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
47 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
48 inline void SetAmazonSideAsn(long long value) {
49 m_amazonSideAsnHasBeenSet = true;
50 m_amazonSideAsn = value;
51 }
52 inline VpnGateway& WithAmazonSideAsn(long long value) {
53 SetAmazonSideAsn(value);
54 return *this;
55 }
57
59
62 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
63 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
64 template <typename TagsT = Aws::Vector<Tag>>
65 void SetTags(TagsT&& value) {
66 m_tagsHasBeenSet = true;
67 m_tags = std::forward<TagsT>(value);
68 }
69 template <typename TagsT = Aws::Vector<Tag>>
70 VpnGateway& WithTags(TagsT&& value) {
71 SetTags(std::forward<TagsT>(value));
72 return *this;
73 }
74 template <typename TagsT = Tag>
75 VpnGateway& AddTags(TagsT&& value) {
76 m_tagsHasBeenSet = true;
77 m_tags.emplace_back(std::forward<TagsT>(value));
78 return *this;
79 }
81
83
86 inline const Aws::String& GetVpnGatewayId() const { return m_vpnGatewayId; }
87 inline bool VpnGatewayIdHasBeenSet() const { return m_vpnGatewayIdHasBeenSet; }
88 template <typename VpnGatewayIdT = Aws::String>
89 void SetVpnGatewayId(VpnGatewayIdT&& value) {
90 m_vpnGatewayIdHasBeenSet = true;
91 m_vpnGatewayId = std::forward<VpnGatewayIdT>(value);
92 }
93 template <typename VpnGatewayIdT = Aws::String>
94 VpnGateway& WithVpnGatewayId(VpnGatewayIdT&& value) {
95 SetVpnGatewayId(std::forward<VpnGatewayIdT>(value));
96 return *this;
97 }
99
101
104 inline VpnState GetState() const { return m_state; }
105 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
106 inline void SetState(VpnState value) {
107 m_stateHasBeenSet = true;
108 m_state = value;
109 }
111 SetState(value);
112 return *this;
113 }
115
117
120 inline GatewayType GetType() const { return m_type; }
121 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
122 inline void SetType(GatewayType value) {
123 m_typeHasBeenSet = true;
124 m_type = value;
125 }
127 SetType(value);
128 return *this;
129 }
131
133
137 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
138 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
139 template <typename AvailabilityZoneT = Aws::String>
140 void SetAvailabilityZone(AvailabilityZoneT&& value) {
141 m_availabilityZoneHasBeenSet = true;
142 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
143 }
144 template <typename AvailabilityZoneT = Aws::String>
145 VpnGateway& WithAvailabilityZone(AvailabilityZoneT&& value) {
146 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
147 return *this;
148 }
150
152
155 inline const Aws::Vector<VpcAttachment>& GetVpcAttachments() const { return m_vpcAttachments; }
156 inline bool VpcAttachmentsHasBeenSet() const { return m_vpcAttachmentsHasBeenSet; }
157 template <typename VpcAttachmentsT = Aws::Vector<VpcAttachment>>
158 void SetVpcAttachments(VpcAttachmentsT&& value) {
159 m_vpcAttachmentsHasBeenSet = true;
160 m_vpcAttachments = std::forward<VpcAttachmentsT>(value);
161 }
162 template <typename VpcAttachmentsT = Aws::Vector<VpcAttachment>>
163 VpnGateway& WithVpcAttachments(VpcAttachmentsT&& value) {
164 SetVpcAttachments(std::forward<VpcAttachmentsT>(value));
165 return *this;
166 }
167 template <typename VpcAttachmentsT = VpcAttachment>
168 VpnGateway& AddVpcAttachments(VpcAttachmentsT&& value) {
169 m_vpcAttachmentsHasBeenSet = true;
170 m_vpcAttachments.emplace_back(std::forward<VpcAttachmentsT>(value));
171 return *this;
172 }
174 private:
175 long long m_amazonSideAsn{0};
176
177 Aws::Vector<Tag> m_tags;
178
179 Aws::String m_vpnGatewayId;
180
182
184
185 Aws::String m_availabilityZone;
186
187 Aws::Vector<VpcAttachment> m_vpcAttachments;
188 bool m_amazonSideAsnHasBeenSet = false;
189 bool m_tagsHasBeenSet = false;
190 bool m_vpnGatewayIdHasBeenSet = false;
191 bool m_stateHasBeenSet = false;
192 bool m_typeHasBeenSet = false;
193 bool m_availabilityZoneHasBeenSet = false;
194 bool m_vpcAttachmentsHasBeenSet = false;
195};
196
197} // namespace Model
198} // namespace EC2
199} // namespace Aws
void SetTags(TagsT &&value)
Definition VpnGateway.h:65
VpnGateway & WithAmazonSideAsn(long long value)
Definition VpnGateway.h:52
AWS_EC2_API VpnGateway & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetVpnGatewayId() const
Definition VpnGateway.h:86
void SetVpnGatewayId(VpnGatewayIdT &&value)
Definition VpnGateway.h:89
AWS_EC2_API VpnGateway()=default
const Aws::String & GetAvailabilityZone() const
Definition VpnGateway.h:137
long long GetAmazonSideAsn() const
Definition VpnGateway.h:46
VpnGateway & AddVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:168
GatewayType GetType() const
Definition VpnGateway.h:120
VpnGateway & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition VpnGateway.h:145
bool VpnGatewayIdHasBeenSet() const
Definition VpnGateway.h:87
const Aws::Vector< Tag > & GetTags() const
Definition VpnGateway.h:62
void SetType(GatewayType value)
Definition VpnGateway.h:122
bool AvailabilityZoneHasBeenSet() const
Definition VpnGateway.h:138
VpnGateway & WithVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:163
const Aws::Vector< VpcAttachment > & GetVpcAttachments() const
Definition VpnGateway.h:155
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition VpnGateway.h:140
VpnState GetState() const
Definition VpnGateway.h:104
AWS_EC2_API VpnGateway(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:158
void SetAmazonSideAsn(long long value)
Definition VpnGateway.h:48
VpnGateway & WithTags(TagsT &&value)
Definition VpnGateway.h:70
VpnGateway & AddTags(TagsT &&value)
Definition VpnGateway.h:75
VpnGateway & WithType(GatewayType value)
Definition VpnGateway.h:126
bool AmazonSideAsnHasBeenSet() const
Definition VpnGateway.h:47
VpnGateway & WithState(VpnState value)
Definition VpnGateway.h:110
void SetState(VpnState value)
Definition VpnGateway.h:106
bool VpcAttachmentsHasBeenSet() const
Definition VpnGateway.h:156
VpnGateway & WithVpnGatewayId(VpnGatewayIdT &&value)
Definition VpnGateway.h:94
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
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