AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
NatGateway.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/AutoProvisionZonesState.h>
13#include <aws/ec2/model/AutoScalingIpsState.h>
14#include <aws/ec2/model/AvailabilityMode.h>
15#include <aws/ec2/model/ConnectivityType.h>
16#include <aws/ec2/model/NatGatewayAddress.h>
17#include <aws/ec2/model/NatGatewayAttachedAppliance.h>
18#include <aws/ec2/model/NatGatewayState.h>
19#include <aws/ec2/model/ProvisionedBandwidth.h>
20#include <aws/ec2/model/Tag.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Xml {
27class XmlNode;
28} // namespace Xml
29} // namespace Utils
30namespace EC2 {
31namespace Model {
32
39 public:
40 AWS_EC2_API NatGateway() = default;
41 AWS_EC2_API NatGateway(const Aws::Utils::Xml::XmlNode& xmlNode);
42 AWS_EC2_API NatGateway& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
48
51 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
52 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
53 template <typename CreateTimeT = Aws::Utils::DateTime>
54 void SetCreateTime(CreateTimeT&& value) {
55 m_createTimeHasBeenSet = true;
56 m_createTime = std::forward<CreateTimeT>(value);
57 }
58 template <typename CreateTimeT = Aws::Utils::DateTime>
59 NatGateway& WithCreateTime(CreateTimeT&& value) {
60 SetCreateTime(std::forward<CreateTimeT>(value));
61 return *this;
62 }
64
66
69 inline const Aws::Utils::DateTime& GetDeleteTime() const { return m_deleteTime; }
70 inline bool DeleteTimeHasBeenSet() const { return m_deleteTimeHasBeenSet; }
71 template <typename DeleteTimeT = Aws::Utils::DateTime>
72 void SetDeleteTime(DeleteTimeT&& value) {
73 m_deleteTimeHasBeenSet = true;
74 m_deleteTime = std::forward<DeleteTimeT>(value);
75 }
76 template <typename DeleteTimeT = Aws::Utils::DateTime>
77 NatGateway& WithDeleteTime(DeleteTimeT&& value) {
78 SetDeleteTime(std::forward<DeleteTimeT>(value));
79 return *this;
80 }
82
84
91 inline const Aws::String& GetFailureCode() const { return m_failureCode; }
92 inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; }
93 template <typename FailureCodeT = Aws::String>
94 void SetFailureCode(FailureCodeT&& value) {
95 m_failureCodeHasBeenSet = true;
96 m_failureCode = std::forward<FailureCodeT>(value);
97 }
98 template <typename FailureCodeT = Aws::String>
99 NatGateway& WithFailureCode(FailureCodeT&& value) {
100 SetFailureCode(std::forward<FailureCodeT>(value));
101 return *this;
102 }
104
106
121 inline const Aws::String& GetFailureMessage() const { return m_failureMessage; }
122 inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; }
123 template <typename FailureMessageT = Aws::String>
124 void SetFailureMessage(FailureMessageT&& value) {
125 m_failureMessageHasBeenSet = true;
126 m_failureMessage = std::forward<FailureMessageT>(value);
127 }
128 template <typename FailureMessageT = Aws::String>
129 NatGateway& WithFailureMessage(FailureMessageT&& value) {
130 SetFailureMessage(std::forward<FailureMessageT>(value));
131 return *this;
132 }
134
136
140 inline const Aws::Vector<NatGatewayAddress>& GetNatGatewayAddresses() const { return m_natGatewayAddresses; }
141 inline bool NatGatewayAddressesHasBeenSet() const { return m_natGatewayAddressesHasBeenSet; }
142 template <typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
143 void SetNatGatewayAddresses(NatGatewayAddressesT&& value) {
144 m_natGatewayAddressesHasBeenSet = true;
145 m_natGatewayAddresses = std::forward<NatGatewayAddressesT>(value);
146 }
147 template <typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
148 NatGateway& WithNatGatewayAddresses(NatGatewayAddressesT&& value) {
149 SetNatGatewayAddresses(std::forward<NatGatewayAddressesT>(value));
150 return *this;
151 }
152 template <typename NatGatewayAddressesT = NatGatewayAddress>
153 NatGateway& AddNatGatewayAddresses(NatGatewayAddressesT&& value) {
154 m_natGatewayAddressesHasBeenSet = true;
155 m_natGatewayAddresses.emplace_back(std::forward<NatGatewayAddressesT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::String& GetNatGatewayId() const { return m_natGatewayId; }
165 inline bool NatGatewayIdHasBeenSet() const { return m_natGatewayIdHasBeenSet; }
166 template <typename NatGatewayIdT = Aws::String>
167 void SetNatGatewayId(NatGatewayIdT&& value) {
168 m_natGatewayIdHasBeenSet = true;
169 m_natGatewayId = std::forward<NatGatewayIdT>(value);
170 }
171 template <typename NatGatewayIdT = Aws::String>
172 NatGateway& WithNatGatewayId(NatGatewayIdT&& value) {
173 SetNatGatewayId(std::forward<NatGatewayIdT>(value));
174 return *this;
175 }
177
179
184 inline const ProvisionedBandwidth& GetProvisionedBandwidth() const { return m_provisionedBandwidth; }
185 inline bool ProvisionedBandwidthHasBeenSet() const { return m_provisionedBandwidthHasBeenSet; }
186 template <typename ProvisionedBandwidthT = ProvisionedBandwidth>
187 void SetProvisionedBandwidth(ProvisionedBandwidthT&& value) {
188 m_provisionedBandwidthHasBeenSet = true;
189 m_provisionedBandwidth = std::forward<ProvisionedBandwidthT>(value);
190 }
191 template <typename ProvisionedBandwidthT = ProvisionedBandwidth>
192 NatGateway& WithProvisionedBandwidth(ProvisionedBandwidthT&& value) {
193 SetProvisionedBandwidth(std::forward<ProvisionedBandwidthT>(value));
194 return *this;
195 }
197
199
212 inline NatGatewayState GetState() const { return m_state; }
213 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
214 inline void SetState(NatGatewayState value) {
215 m_stateHasBeenSet = true;
216 m_state = value;
217 }
219 SetState(value);
220 return *this;
221 }
223
225
228 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
229 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
230 template <typename SubnetIdT = Aws::String>
231 void SetSubnetId(SubnetIdT&& value) {
232 m_subnetIdHasBeenSet = true;
233 m_subnetId = std::forward<SubnetIdT>(value);
234 }
235 template <typename SubnetIdT = Aws::String>
236 NatGateway& WithSubnetId(SubnetIdT&& value) {
237 SetSubnetId(std::forward<SubnetIdT>(value));
238 return *this;
239 }
241
243
246 inline const Aws::String& GetVpcId() const { return m_vpcId; }
247 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
248 template <typename VpcIdT = Aws::String>
249 void SetVpcId(VpcIdT&& value) {
250 m_vpcIdHasBeenSet = true;
251 m_vpcId = std::forward<VpcIdT>(value);
252 }
253 template <typename VpcIdT = Aws::String>
254 NatGateway& WithVpcId(VpcIdT&& value) {
255 SetVpcId(std::forward<VpcIdT>(value));
256 return *this;
257 }
259
261
264 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
265 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
266 template <typename TagsT = Aws::Vector<Tag>>
267 void SetTags(TagsT&& value) {
268 m_tagsHasBeenSet = true;
269 m_tags = std::forward<TagsT>(value);
270 }
271 template <typename TagsT = Aws::Vector<Tag>>
272 NatGateway& WithTags(TagsT&& value) {
273 SetTags(std::forward<TagsT>(value));
274 return *this;
275 }
276 template <typename TagsT = Tag>
277 NatGateway& AddTags(TagsT&& value) {
278 m_tagsHasBeenSet = true;
279 m_tags.emplace_back(std::forward<TagsT>(value));
280 return *this;
281 }
283
285
289 inline ConnectivityType GetConnectivityType() const { return m_connectivityType; }
290 inline bool ConnectivityTypeHasBeenSet() const { return m_connectivityTypeHasBeenSet; }
292 m_connectivityTypeHasBeenSet = true;
293 m_connectivityType = value;
294 }
296 SetConnectivityType(value);
297 return *this;
298 }
300
302
313 inline AvailabilityMode GetAvailabilityMode() const { return m_availabilityMode; }
314 inline bool AvailabilityModeHasBeenSet() const { return m_availabilityModeHasBeenSet; }
316 m_availabilityModeHasBeenSet = true;
317 m_availabilityMode = value;
318 }
320 SetAvailabilityMode(value);
321 return *this;
322 }
324
326
335 inline AutoScalingIpsState GetAutoScalingIps() const { return m_autoScalingIps; }
336 inline bool AutoScalingIpsHasBeenSet() const { return m_autoScalingIpsHasBeenSet; }
338 m_autoScalingIpsHasBeenSet = true;
339 m_autoScalingIps = value;
340 }
342 SetAutoScalingIps(value);
343 return *this;
344 }
346
348
362 inline AutoProvisionZonesState GetAutoProvisionZones() const { return m_autoProvisionZones; }
363 inline bool AutoProvisionZonesHasBeenSet() const { return m_autoProvisionZonesHasBeenSet; }
365 m_autoProvisionZonesHasBeenSet = true;
366 m_autoProvisionZones = value;
367 }
370 return *this;
371 }
373
375
379 inline const Aws::Vector<NatGatewayAttachedAppliance>& GetAttachedAppliances() const { return m_attachedAppliances; }
380 inline bool AttachedAppliancesHasBeenSet() const { return m_attachedAppliancesHasBeenSet; }
381 template <typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
382 void SetAttachedAppliances(AttachedAppliancesT&& value) {
383 m_attachedAppliancesHasBeenSet = true;
384 m_attachedAppliances = std::forward<AttachedAppliancesT>(value);
385 }
386 template <typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
387 NatGateway& WithAttachedAppliances(AttachedAppliancesT&& value) {
388 SetAttachedAppliances(std::forward<AttachedAppliancesT>(value));
389 return *this;
390 }
391 template <typename AttachedAppliancesT = NatGatewayAttachedAppliance>
392 NatGateway& AddAttachedAppliances(AttachedAppliancesT&& value) {
393 m_attachedAppliancesHasBeenSet = true;
394 m_attachedAppliances.emplace_back(std::forward<AttachedAppliancesT>(value));
395 return *this;
396 }
398
400
403 inline const Aws::String& GetRouteTableId() const { return m_routeTableId; }
404 inline bool RouteTableIdHasBeenSet() const { return m_routeTableIdHasBeenSet; }
405 template <typename RouteTableIdT = Aws::String>
406 void SetRouteTableId(RouteTableIdT&& value) {
407 m_routeTableIdHasBeenSet = true;
408 m_routeTableId = std::forward<RouteTableIdT>(value);
409 }
410 template <typename RouteTableIdT = Aws::String>
411 NatGateway& WithRouteTableId(RouteTableIdT&& value) {
412 SetRouteTableId(std::forward<RouteTableIdT>(value));
413 return *this;
414 }
416 private:
417 Aws::Utils::DateTime m_createTime{};
418
419 Aws::Utils::DateTime m_deleteTime{};
420
421 Aws::String m_failureCode;
422
423 Aws::String m_failureMessage;
424
425 Aws::Vector<NatGatewayAddress> m_natGatewayAddresses;
426
427 Aws::String m_natGatewayId;
428
429 ProvisionedBandwidth m_provisionedBandwidth;
430
432
433 Aws::String m_subnetId;
434
435 Aws::String m_vpcId;
436
437 Aws::Vector<Tag> m_tags;
438
440
442
444
446
447 Aws::Vector<NatGatewayAttachedAppliance> m_attachedAppliances;
448
449 Aws::String m_routeTableId;
450 bool m_createTimeHasBeenSet = false;
451 bool m_deleteTimeHasBeenSet = false;
452 bool m_failureCodeHasBeenSet = false;
453 bool m_failureMessageHasBeenSet = false;
454 bool m_natGatewayAddressesHasBeenSet = false;
455 bool m_natGatewayIdHasBeenSet = false;
456 bool m_provisionedBandwidthHasBeenSet = false;
457 bool m_stateHasBeenSet = false;
458 bool m_subnetIdHasBeenSet = false;
459 bool m_vpcIdHasBeenSet = false;
460 bool m_tagsHasBeenSet = false;
461 bool m_connectivityTypeHasBeenSet = false;
462 bool m_availabilityModeHasBeenSet = false;
463 bool m_autoScalingIpsHasBeenSet = false;
464 bool m_autoProvisionZonesHasBeenSet = false;
465 bool m_attachedAppliancesHasBeenSet = false;
466 bool m_routeTableIdHasBeenSet = false;
467};
468
469} // namespace Model
470} // namespace EC2
471} // namespace Aws
const Aws::Vector< NatGatewayAttachedAppliance > & GetAttachedAppliances() const
Definition NatGateway.h:379
void SetNatGatewayAddresses(NatGatewayAddressesT &&value)
Definition NatGateway.h:143
bool FailureMessageHasBeenSet() const
Definition NatGateway.h:122
const ProvisionedBandwidth & GetProvisionedBandwidth() const
Definition NatGateway.h:184
NatGateway & WithVpcId(VpcIdT &&value)
Definition NatGateway.h:254
AWS_EC2_API NatGateway()=default
bool ProvisionedBandwidthHasBeenSet() const
Definition NatGateway.h:185
const Aws::String & GetRouteTableId() const
Definition NatGateway.h:403
bool RouteTableIdHasBeenSet() const
Definition NatGateway.h:404
const Aws::Vector< NatGatewayAddress > & GetNatGatewayAddresses() const
Definition NatGateway.h:140
NatGateway & WithCreateTime(CreateTimeT &&value)
Definition NatGateway.h:59
void SetAutoProvisionZones(AutoProvisionZonesState value)
Definition NatGateway.h:364
const Aws::String & GetNatGatewayId() const
Definition NatGateway.h:164
NatGateway & WithNatGatewayId(NatGatewayIdT &&value)
Definition NatGateway.h:172
void SetAttachedAppliances(AttachedAppliancesT &&value)
Definition NatGateway.h:382
bool DeleteTimeHasBeenSet() const
Definition NatGateway.h:70
void SetAutoScalingIps(AutoScalingIpsState value)
Definition NatGateway.h:337
bool AvailabilityModeHasBeenSet() const
Definition NatGateway.h:314
const Aws::String & GetFailureCode() const
Definition NatGateway.h:91
NatGateway & WithAvailabilityMode(AvailabilityMode value)
Definition NatGateway.h:319
NatGateway & WithSubnetId(SubnetIdT &&value)
Definition NatGateway.h:236
const Aws::Utils::DateTime & GetCreateTime() const
Definition NatGateway.h:51
void SetSubnetId(SubnetIdT &&value)
Definition NatGateway.h:231
bool AttachedAppliancesHasBeenSet() const
Definition NatGateway.h:380
void SetRouteTableId(RouteTableIdT &&value)
Definition NatGateway.h:406
NatGateway & WithAutoScalingIps(AutoScalingIpsState value)
Definition NatGateway.h:341
void SetVpcId(VpcIdT &&value)
Definition NatGateway.h:249
AWS_EC2_API NatGateway(const Aws::Utils::Xml::XmlNode &xmlNode)
NatGateway & WithDeleteTime(DeleteTimeT &&value)
Definition NatGateway.h:77
void SetAvailabilityMode(AvailabilityMode value)
Definition NatGateway.h:315
void SetProvisionedBandwidth(ProvisionedBandwidthT &&value)
Definition NatGateway.h:187
NatGateway & WithProvisionedBandwidth(ProvisionedBandwidthT &&value)
Definition NatGateway.h:192
bool ConnectivityTypeHasBeenSet() const
Definition NatGateway.h:290
bool AutoScalingIpsHasBeenSet() const
Definition NatGateway.h:336
bool SubnetIdHasBeenSet() const
Definition NatGateway.h:229
AutoScalingIpsState GetAutoScalingIps() const
Definition NatGateway.h:335
void SetCreateTime(CreateTimeT &&value)
Definition NatGateway.h:54
NatGateway & WithState(NatGatewayState value)
Definition NatGateway.h:218
ConnectivityType GetConnectivityType() const
Definition NatGateway.h:289
NatGateway & WithTags(TagsT &&value)
Definition NatGateway.h:272
const Aws::Utils::DateTime & GetDeleteTime() const
Definition NatGateway.h:69
void SetTags(TagsT &&value)
Definition NatGateway.h:267
NatGateway & WithAttachedAppliances(AttachedAppliancesT &&value)
Definition NatGateway.h:387
NatGateway & WithRouteTableId(RouteTableIdT &&value)
Definition NatGateway.h:411
bool NatGatewayIdHasBeenSet() const
Definition NatGateway.h:165
NatGatewayState GetState() const
Definition NatGateway.h:212
NatGateway & WithConnectivityType(ConnectivityType value)
Definition NatGateway.h:295
void SetState(NatGatewayState value)
Definition NatGateway.h:214
bool FailureCodeHasBeenSet() const
Definition NatGateway.h:92
NatGateway & AddNatGatewayAddresses(NatGatewayAddressesT &&value)
Definition NatGateway.h:153
const Aws::Vector< Tag > & GetTags() const
Definition NatGateway.h:264
AvailabilityMode GetAvailabilityMode() const
Definition NatGateway.h:313
bool AutoProvisionZonesHasBeenSet() const
Definition NatGateway.h:363
NatGateway & AddAttachedAppliances(AttachedAppliancesT &&value)
Definition NatGateway.h:392
NatGateway & WithNatGatewayAddresses(NatGatewayAddressesT &&value)
Definition NatGateway.h:148
void SetFailureMessage(FailureMessageT &&value)
Definition NatGateway.h:124
AWS_EC2_API NatGateway & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AutoProvisionZonesState GetAutoProvisionZones() const
Definition NatGateway.h:362
bool CreateTimeHasBeenSet() const
Definition NatGateway.h:52
void SetFailureCode(FailureCodeT &&value)
Definition NatGateway.h:94
NatGateway & WithFailureCode(FailureCodeT &&value)
Definition NatGateway.h:99
const Aws::String & GetVpcId() const
Definition NatGateway.h:246
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
NatGateway & WithFailureMessage(FailureMessageT &&value)
Definition NatGateway.h:129
void SetNatGatewayId(NatGatewayIdT &&value)
Definition NatGateway.h:167
NatGateway & AddTags(TagsT &&value)
Definition NatGateway.h:277
NatGateway & WithAutoProvisionZones(AutoProvisionZonesState value)
Definition NatGateway.h:368
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetDeleteTime(DeleteTimeT &&value)
Definition NatGateway.h:72
const Aws::String & GetSubnetId() const
Definition NatGateway.h:228
bool NatGatewayAddressesHasBeenSet() const
Definition NatGateway.h:141
const Aws::String & GetFailureMessage() const
Definition NatGateway.h:121
void SetConnectivityType(ConnectivityType value)
Definition NatGateway.h:291
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