7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/ProvisionedBandwidth.h>
13#include <aws/ec2/model/NatGatewayState.h>
14#include <aws/ec2/model/ConnectivityType.h>
15#include <aws/ec2/model/NatGatewayAddress.h>
16#include <aws/ec2/model/Tag.h>
55 template<
typename CreateTimeT = Aws::Utils::DateTime>
56 void SetCreateTime(CreateTimeT&& value) { m_createTimeHasBeenSet =
true; m_createTime = std::forward<CreateTimeT>(value); }
57 template<
typename CreateTimeT = Aws::Utils::DateTime>
67 template<
typename DeleteTimeT = Aws::Utils::DateTime>
68 void SetDeleteTime(DeleteTimeT&& value) { m_deleteTimeHasBeenSet =
true; m_deleteTime = std::forward<DeleteTimeT>(value); }
69 template<
typename DeleteTimeT = Aws::Utils::DateTime>
83 template<
typename FailureCodeT = Aws::String>
84 void SetFailureCode(FailureCodeT&& value) { m_failureCodeHasBeenSet =
true; m_failureCode = std::forward<FailureCodeT>(value); }
85 template<
typename FailureCodeT = Aws::String>
107 template<
typename FailureMessageT = Aws::String>
108 void SetFailureMessage(FailureMessageT&& value) { m_failureMessageHasBeenSet =
true; m_failureMessage = std::forward<FailureMessageT>(value); }
109 template<
typename FailureMessageT = Aws::String>
120 template<
typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
121 void SetNatGatewayAddresses(NatGatewayAddressesT&& value) { m_natGatewayAddressesHasBeenSet =
true; m_natGatewayAddresses = std::forward<NatGatewayAddressesT>(value); }
122 template<
typename NatGatewayAddressesT = Aws::Vector<NatGatewayAddress>>
124 template<
typename NatGatewayAddressesT = NatGatewayAddress>
125 NatGateway&
AddNatGatewayAddresses(NatGatewayAddressesT&& value) { m_natGatewayAddressesHasBeenSet =
true; m_natGatewayAddresses.emplace_back(std::forward<NatGatewayAddressesT>(value));
return *
this; }
134 template<
typename NatGatewayIdT = Aws::String>
135 void SetNatGatewayId(NatGatewayIdT&& value) { m_natGatewayIdHasBeenSet =
true; m_natGatewayId = std::forward<NatGatewayIdT>(value); }
136 template<
typename NatGatewayIdT = Aws::String>
148 template<
typename ProvisionedBandw
idthT = ProvisionedBandw
idth>
149 void SetProvisionedBandwidth(ProvisionedBandwidthT&& value) { m_provisionedBandwidthHasBeenSet =
true; m_provisionedBandwidth = std::forward<ProvisionedBandwidthT>(value); }
150 template<
typename ProvisionedBandw
idthT = ProvisionedBandw
idth>
180 template<
typename SubnetIdT = Aws::String>
181 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
182 template<
typename SubnetIdT = Aws::String>
192 template<
typename VpcIdT = Aws::String>
193 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
194 template<
typename VpcIdT = Aws::String>
204 template<
typename TagsT = Aws::Vector<Tag>>
205 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
206 template<
typename TagsT = Aws::Vector<Tag>>
208 template<
typename TagsT = Tag>
209 NatGateway&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
225 bool m_createTimeHasBeenSet =
false;
228 bool m_deleteTimeHasBeenSet =
false;
231 bool m_failureCodeHasBeenSet =
false;
234 bool m_failureMessageHasBeenSet =
false;
237 bool m_natGatewayAddressesHasBeenSet =
false;
240 bool m_natGatewayIdHasBeenSet =
false;
242 ProvisionedBandwidth m_provisionedBandwidth;
243 bool m_provisionedBandwidthHasBeenSet =
false;
246 bool m_stateHasBeenSet =
false;
249 bool m_subnetIdHasBeenSet =
false;
252 bool m_vpcIdHasBeenSet =
false;
255 bool m_tagsHasBeenSet =
false;
258 bool m_connectivityTypeHasBeenSet =
false;
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::Vector< NatGatewayAddress > & GetNatGatewayAddresses() const
NatGateway & WithCreateTime(CreateTimeT &&value)
const Aws::String & GetNatGatewayId() const
NatGateway & WithNatGatewayId(NatGatewayIdT &&value)
bool DeleteTimeHasBeenSet() const
const Aws::String & GetFailureCode() const
NatGateway & WithSubnetId(SubnetIdT &&value)
const Aws::Utils::DateTime & GetCreateTime() const
void SetSubnetId(SubnetIdT &&value)
void SetVpcId(VpcIdT &&value)
AWS_EC2_API NatGateway(const Aws::Utils::Xml::XmlNode &xmlNode)
NatGateway & WithDeleteTime(DeleteTimeT &&value)
bool VpcIdHasBeenSet() const
void SetProvisionedBandwidth(ProvisionedBandwidthT &&value)
NatGateway & WithProvisionedBandwidth(ProvisionedBandwidthT &&value)
bool ConnectivityTypeHasBeenSet() const
bool SubnetIdHasBeenSet() 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)
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
NatGateway & WithNatGatewayAddresses(NatGatewayAddressesT &&value)
void SetFailureMessage(FailureMessageT &&value)
AWS_EC2_API NatGateway & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
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)
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