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>
53 template <
typename CreateTimeT = Aws::Utils::DateTime>
55 m_createTimeHasBeenSet =
true;
56 m_createTime = std::forward<CreateTimeT>(value);
58 template <
typename CreateTimeT = Aws::Utils::DateTime>
71 template <
typename DeleteTimeT = Aws::Utils::DateTime>
73 m_deleteTimeHasBeenSet =
true;
74 m_deleteTime = std::forward<DeleteTimeT>(value);
76 template <
typename DeleteTimeT = Aws::Utils::DateTime>
93 template <
typename FailureCodeT = Aws::String>
95 m_failureCodeHasBeenSet =
true;
96 m_failureCode = std::forward<FailureCodeT>(value);
98 template <
typename FailureCodeT = Aws::String>
123 template <
typename FailureMessageT = Aws::String>
125 m_failureMessageHasBeenSet =
true;
126 m_failureMessage = std::forward<FailureMessageT>(value);
128 template <
typename FailureMessageT = Aws::String>
142 template <
typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
144 m_natGatewayAddressesHasBeenSet =
true;
145 m_natGatewayAddresses = std::forward<NatGatewayAddressesT>(value);
147 template <
typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
152 template <
typename NatGatewayAddressesT = NatGatewayAddress>
154 m_natGatewayAddressesHasBeenSet =
true;
155 m_natGatewayAddresses.emplace_back(std::forward<NatGatewayAddressesT>(value));
166 template <
typename NatGatewayIdT = Aws::String>
168 m_natGatewayIdHasBeenSet =
true;
169 m_natGatewayId = std::forward<NatGatewayIdT>(value);
171 template <
typename NatGatewayIdT = Aws::String>
186 template <
typename ProvisionedBandw
idthT = ProvisionedBandw
idth>
188 m_provisionedBandwidthHasBeenSet =
true;
189 m_provisionedBandwidth = std::forward<ProvisionedBandwidthT>(value);
191 template <
typename ProvisionedBandw
idthT = ProvisionedBandw
idth>
215 m_stateHasBeenSet =
true;
230 template <
typename SubnetIdT = Aws::String>
232 m_subnetIdHasBeenSet =
true;
233 m_subnetId = std::forward<SubnetIdT>(value);
235 template <
typename SubnetIdT = Aws::String>
248 template <
typename VpcIdT = Aws::String>
250 m_vpcIdHasBeenSet =
true;
251 m_vpcId = std::forward<VpcIdT>(value);
253 template <
typename VpcIdT = Aws::String>
255 SetVpcId(std::forward<VpcIdT>(value));
266 template <
typename TagsT = Aws::Vector<Tag>>
268 m_tagsHasBeenSet =
true;
269 m_tags = std::forward<TagsT>(value);
271 template <
typename TagsT = Aws::Vector<Tag>>
273 SetTags(std::forward<TagsT>(value));
276 template <
typename TagsT = Tag>
278 m_tagsHasBeenSet =
true;
279 m_tags.emplace_back(std::forward<TagsT>(value));
292 m_connectivityTypeHasBeenSet =
true;
293 m_connectivityType = value;
316 m_availabilityModeHasBeenSet =
true;
317 m_availabilityMode = value;
338 m_autoScalingIpsHasBeenSet =
true;
339 m_autoScalingIps = value;
365 m_autoProvisionZonesHasBeenSet =
true;
366 m_autoProvisionZones = value;
381 template <
typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
383 m_attachedAppliancesHasBeenSet =
true;
384 m_attachedAppliances = std::forward<AttachedAppliancesT>(value);
386 template <
typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
391 template <
typename AttachedAppliancesT = NatGatewayAttachedAppliance>
393 m_attachedAppliancesHasBeenSet =
true;
394 m_attachedAppliances.emplace_back(std::forward<AttachedAppliancesT>(value));
405 template <
typename RouteTableIdT = Aws::String>
407 m_routeTableIdHasBeenSet =
true;
408 m_routeTableId = std::forward<RouteTableIdT>(value);
410 template <
typename RouteTableIdT = Aws::String>
429 ProvisionedBandwidth m_provisionedBandwidth;
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;
const Aws::Vector< NatGatewayAttachedAppliance > & GetAttachedAppliances() const
void SetNatGatewayAddresses(NatGatewayAddressesT &&value)
bool FailureMessageHasBeenSet() const
const ProvisionedBandwidth & GetProvisionedBandwidth() const
NatGateway & WithVpcId(VpcIdT &&value)
AWS_EC2_API NatGateway()=default
bool ProvisionedBandwidthHasBeenSet() const
const Aws::String & GetRouteTableId() const
bool RouteTableIdHasBeenSet() const
const Aws::Vector< NatGatewayAddress > & GetNatGatewayAddresses() const
NatGateway & WithCreateTime(CreateTimeT &&value)
void SetAutoProvisionZones(AutoProvisionZonesState value)
const Aws::String & GetNatGatewayId() const
NatGateway & WithNatGatewayId(NatGatewayIdT &&value)
void SetAttachedAppliances(AttachedAppliancesT &&value)
bool DeleteTimeHasBeenSet() const
void SetAutoScalingIps(AutoScalingIpsState value)
bool AvailabilityModeHasBeenSet() const
const Aws::String & GetFailureCode() const
NatGateway & WithAvailabilityMode(AvailabilityMode value)
NatGateway & WithSubnetId(SubnetIdT &&value)
const Aws::Utils::DateTime & GetCreateTime() const
void SetSubnetId(SubnetIdT &&value)
bool AttachedAppliancesHasBeenSet() const
void SetRouteTableId(RouteTableIdT &&value)
NatGateway & WithAutoScalingIps(AutoScalingIpsState value)
void SetVpcId(VpcIdT &&value)
AWS_EC2_API NatGateway(const Aws::Utils::Xml::XmlNode &xmlNode)
NatGateway & WithDeleteTime(DeleteTimeT &&value)
bool VpcIdHasBeenSet() const
void SetAvailabilityMode(AvailabilityMode value)
void SetProvisionedBandwidth(ProvisionedBandwidthT &&value)
NatGateway & WithProvisionedBandwidth(ProvisionedBandwidthT &&value)
bool ConnectivityTypeHasBeenSet() const
bool AutoScalingIpsHasBeenSet() const
bool SubnetIdHasBeenSet() const
AutoScalingIpsState GetAutoScalingIps() const
bool StateHasBeenSet() const
void SetCreateTime(CreateTimeT &&value)
NatGateway & WithState(NatGatewayState value)
ConnectivityType GetConnectivityType() const
NatGateway & WithTags(TagsT &&value)
const Aws::Utils::DateTime & GetDeleteTime() const
void SetTags(TagsT &&value)
NatGateway & WithAttachedAppliances(AttachedAppliancesT &&value)
NatGateway & WithRouteTableId(RouteTableIdT &&value)
bool NatGatewayIdHasBeenSet() const
NatGatewayState GetState() const
NatGateway & WithConnectivityType(ConnectivityType value)
void SetState(NatGatewayState value)
bool FailureCodeHasBeenSet() const
NatGateway & AddNatGatewayAddresses(NatGatewayAddressesT &&value)
const Aws::Vector< Tag > & GetTags() const
AvailabilityMode GetAvailabilityMode() const
bool AutoProvisionZonesHasBeenSet() const
NatGateway & AddAttachedAppliances(AttachedAppliancesT &&value)
NatGateway & WithNatGatewayAddresses(NatGatewayAddressesT &&value)
void SetFailureMessage(FailureMessageT &&value)
AWS_EC2_API NatGateway & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AutoProvisionZonesState GetAutoProvisionZones() const
bool CreateTimeHasBeenSet() const
void SetFailureCode(FailureCodeT &&value)
NatGateway & WithFailureCode(FailureCodeT &&value)
const Aws::String & GetVpcId() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
NatGateway & WithFailureMessage(FailureMessageT &&value)
void SetNatGatewayId(NatGatewayIdT &&value)
NatGateway & AddTags(TagsT &&value)
NatGateway & WithAutoProvisionZones(AutoProvisionZonesState value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool TagsHasBeenSet() const
void SetDeleteTime(DeleteTimeT &&value)
const Aws::String & GetSubnetId() const
bool NatGatewayAddressesHasBeenSet() const
const Aws::String & GetFailureMessage() const
void SetConnectivityType(ConnectivityType 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