7#include <aws/ec2/EC2_EXPORTS.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/model/PrivateDnsNameOptionsOnLaunch.h>
12#include <aws/ec2/model/SubnetState.h>
13#include <aws/ec2/model/SubnetIpv6CidrBlockAssociation.h>
14#include <aws/ec2/model/Tag.h>
55 inline void SetAvailabilityZoneId(
const char* value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId.assign(value); }
93 inline void SetCustomerOwnedIpv4Pool(
const char* value) { m_customerOwnedIpv4PoolHasBeenSet =
true; m_customerOwnedIpv4Pool.assign(value); }
107 inline void SetOwnerId(
const char* value) { m_ownerIdHasBeenSet =
true; m_ownerId.assign(value); }
148 inline Subnet&
AddTags(
const Tag& value) { m_tagsHasBeenSet =
true; m_tags.push_back(value);
return *
this; }
149 inline Subnet&
AddTags(
Tag&& value) { m_tagsHasBeenSet =
true; m_tags.push_back(std::move(value));
return *
this; }
160 inline void SetSubnetArn(
const char* value) { m_subnetArnHasBeenSet =
true; m_subnetArn.assign(value); }
174 inline void SetOutpostArn(
const char* value) { m_outpostArnHasBeenSet =
true; m_outpostArn.assign(value); }
188 inline void SetEnableDns64(
bool value) { m_enableDns64HasBeenSet =
true; m_enableDns64 = value; }
198 inline void SetIpv6Native(
bool value) { m_ipv6NativeHasBeenSet =
true; m_ipv6Native = value; }
223 inline void SetSubnetId(
const char* value) { m_subnetIdHasBeenSet =
true; m_subnetId.assign(value); }
249 inline void SetVpcId(
const char* value) { m_vpcIdHasBeenSet =
true; m_vpcId.assign(value); }
263 inline void SetCidrBlock(
const char* value) { m_cidrBlockHasBeenSet =
true; m_cidrBlock.assign(value); }
288 inline void SetAvailabilityZone(
const char* value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone.assign(value); }
300 inline void SetDefaultForAz(
bool value) { m_defaultForAzHasBeenSet =
true; m_defaultForAz = value; }
314 inline void SetMapPublicIpOnLaunch(
bool value) { m_mapPublicIpOnLaunchHasBeenSet =
true; m_mapPublicIpOnLaunch = value; }
320 bool m_availabilityZoneIdHasBeenSet =
false;
322 int m_enableLniAtDeviceIndex;
323 bool m_enableLniAtDeviceIndexHasBeenSet =
false;
325 bool m_mapCustomerOwnedIpOnLaunch;
326 bool m_mapCustomerOwnedIpOnLaunchHasBeenSet =
false;
329 bool m_customerOwnedIpv4PoolHasBeenSet =
false;
332 bool m_ownerIdHasBeenSet =
false;
334 bool m_assignIpv6AddressOnCreation;
335 bool m_assignIpv6AddressOnCreationHasBeenSet =
false;
338 bool m_ipv6CidrBlockAssociationSetHasBeenSet =
false;
341 bool m_tagsHasBeenSet =
false;
344 bool m_subnetArnHasBeenSet =
false;
347 bool m_outpostArnHasBeenSet =
false;
350 bool m_enableDns64HasBeenSet =
false;
353 bool m_ipv6NativeHasBeenSet =
false;
356 bool m_privateDnsNameOptionsOnLaunchHasBeenSet =
false;
359 bool m_subnetIdHasBeenSet =
false;
362 bool m_stateHasBeenSet =
false;
365 bool m_vpcIdHasBeenSet =
false;
368 bool m_cidrBlockHasBeenSet =
false;
370 int m_availableIpAddressCount;
371 bool m_availableIpAddressCountHasBeenSet =
false;
374 bool m_availabilityZoneHasBeenSet =
false;
377 bool m_defaultForAzHasBeenSet =
false;
379 bool m_mapPublicIpOnLaunch;
380 bool m_mapPublicIpOnLaunchHasBeenSet =
false;
void SetOutpostArn(Aws::String &&value)
AWS_EC2_API Subnet(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AvailabilityZoneIdHasBeenSet() const
const Aws::String & GetOutpostArn() const
Subnet & WithVpcId(Aws::String &&value)
const Aws::String & GetCidrBlock() const
Subnet & WithSubnetArn(const char *value)
bool GetMapCustomerOwnedIpOnLaunch() const
void SetCidrBlock(const char *value)
void SetCidrBlock(Aws::String &&value)
const Aws::Vector< Tag > & GetTags() const
Subnet & AddTags(Tag &&value)
void SetSubnetArn(const char *value)
Subnet & WithSubnetArn(Aws::String &&value)
bool MapPublicIpOnLaunchHasBeenSet() const
Subnet & WithSubnetId(Aws::String &&value)
bool EnableLniAtDeviceIndexHasBeenSet() const
void SetIpv6CidrBlockAssociationSet(const Aws::Vector< SubnetIpv6CidrBlockAssociation > &value)
Subnet & WithOwnerId(const Aws::String &value)
Subnet & WithMapPublicIpOnLaunch(bool value)
void SetOutpostArn(const char *value)
Subnet & WithIpv6Native(bool value)
Subnet & WithCidrBlock(const Aws::String &value)
Subnet & WithAvailabilityZone(const char *value)
void SetVpcId(const char *value)
bool GetIpv6Native() const
Subnet & WithIpv6CidrBlockAssociationSet(Aws::Vector< SubnetIpv6CidrBlockAssociation > &&value)
void SetCustomerOwnedIpv4Pool(const Aws::String &value)
Subnet & WithPrivateDnsNameOptionsOnLaunch(const PrivateDnsNameOptionsOnLaunch &value)
bool AvailabilityZoneHasBeenSet() const
Subnet & WithCidrBlock(Aws::String &&value)
Subnet & WithAvailabilityZone(Aws::String &&value)
AWS_EC2_API Subnet & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetIpv6Native(bool value)
Subnet & WithAvailabilityZoneId(const char *value)
void SetAvailabilityZone(Aws::String &&value)
const Aws::Vector< SubnetIpv6CidrBlockAssociation > & GetIpv6CidrBlockAssociationSet() const
Subnet & WithSubnetId(const Aws::String &value)
const PrivateDnsNameOptionsOnLaunch & GetPrivateDnsNameOptionsOnLaunch() const
const Aws::String & GetSubnetArn() const
bool Ipv6NativeHasBeenSet() const
void SetSubnetArn(const Aws::String &value)
bool CustomerOwnedIpv4PoolHasBeenSet() const
void SetCustomerOwnedIpv4Pool(Aws::String &&value)
Subnet & WithOutpostArn(const Aws::String &value)
bool TagsHasBeenSet() const
void SetMapCustomerOwnedIpOnLaunch(bool value)
const Aws::String & GetAvailabilityZone() const
Subnet & WithOutpostArn(const char *value)
void SetAvailabilityZoneId(Aws::String &&value)
Subnet & WithCustomerOwnedIpv4Pool(const Aws::String &value)
void SetOwnerId(Aws::String &&value)
bool GetEnableDns64() const
void SetDefaultForAz(bool value)
bool SubnetIdHasBeenSet() const
void SetTags(const Aws::Vector< Tag > &value)
void SetVpcId(const Aws::String &value)
void SetIpv6CidrBlockAssociationSet(Aws::Vector< SubnetIpv6CidrBlockAssociation > &&value)
Subnet & WithDefaultForAz(bool value)
Subnet & WithVpcId(const Aws::String &value)
Subnet & WithAvailabilityZoneId(const Aws::String &value)
const Aws::String & GetCustomerOwnedIpv4Pool() const
Subnet & WithState(SubnetState &&value)
void SetAvailableIpAddressCount(int value)
Subnet & WithIpv6CidrBlockAssociationSet(const Aws::Vector< SubnetIpv6CidrBlockAssociation > &value)
bool StateHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetOwnerId() const
Subnet & WithMapCustomerOwnedIpOnLaunch(bool value)
void SetAvailabilityZone(const Aws::String &value)
const Aws::String & GetVpcId() const
void SetPrivateDnsNameOptionsOnLaunch(PrivateDnsNameOptionsOnLaunch &&value)
Subnet & WithTags(Aws::Vector< Tag > &&value)
void SetSubnetArn(Aws::String &&value)
const Aws::String & GetSubnetId() const
bool EnableDns64HasBeenSet() const
int GetEnableLniAtDeviceIndex() const
void SetState(SubnetState &&value)
void SetOwnerId(const Aws::String &value)
Subnet & AddIpv6CidrBlockAssociationSet(SubnetIpv6CidrBlockAssociation &&value)
bool SubnetArnHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetOutpostArn(const Aws::String &value)
Subnet & WithAssignIpv6AddressOnCreation(bool value)
Subnet & WithTags(const Aws::Vector< Tag > &value)
Subnet & WithCustomerOwnedIpv4Pool(Aws::String &&value)
Subnet & AddIpv6CidrBlockAssociationSet(const SubnetIpv6CidrBlockAssociation &value)
Subnet & WithOwnerId(Aws::String &&value)
void SetAvailabilityZoneId(const Aws::String &value)
void SetCustomerOwnedIpv4Pool(const char *value)
void SetAssignIpv6AddressOnCreation(bool value)
Subnet & WithOutpostArn(Aws::String &&value)
void SetPrivateDnsNameOptionsOnLaunch(const PrivateDnsNameOptionsOnLaunch &value)
bool Ipv6CidrBlockAssociationSetHasBeenSet() const
Subnet & WithSubnetArn(const Aws::String &value)
bool AvailableIpAddressCountHasBeenSet() const
Subnet & WithCustomerOwnedIpv4Pool(const char *value)
bool OwnerIdHasBeenSet() const
void SetState(const SubnetState &value)
Subnet & WithState(const SubnetState &value)
bool AssignIpv6AddressOnCreationHasBeenSet() const
bool OutpostArnHasBeenSet() const
Subnet & WithAvailabilityZoneId(Aws::String &&value)
Subnet & WithEnableLniAtDeviceIndex(int value)
Subnet & WithSubnetId(const char *value)
void SetSubnetId(const char *value)
void SetAvailabilityZone(const char *value)
Subnet & WithAvailabilityZone(const Aws::String &value)
bool PrivateDnsNameOptionsOnLaunchHasBeenSet() const
bool DefaultForAzHasBeenSet() const
const SubnetState & GetState() const
void SetSubnetId(const Aws::String &value)
Subnet & WithOwnerId(const char *value)
void SetMapPublicIpOnLaunch(bool value)
bool VpcIdHasBeenSet() const
bool CidrBlockHasBeenSet() const
int GetAvailableIpAddressCount() const
void SetTags(Aws::Vector< Tag > &&value)
void SetOwnerId(const char *value)
Subnet & AddTags(const Tag &value)
const Aws::String & GetAvailabilityZoneId() const
void SetVpcId(Aws::String &&value)
void SetEnableLniAtDeviceIndex(int value)
void SetSubnetId(Aws::String &&value)
Subnet & WithAvailableIpAddressCount(int value)
void SetAvailabilityZoneId(const char *value)
Subnet & WithVpcId(const char *value)
bool GetDefaultForAz() const
Subnet & WithEnableDns64(bool value)
bool GetMapPublicIpOnLaunch() const
Subnet & WithPrivateDnsNameOptionsOnLaunch(PrivateDnsNameOptionsOnLaunch &&value)
void SetEnableDns64(bool value)
bool MapCustomerOwnedIpOnLaunchHasBeenSet() const
Subnet & WithCidrBlock(const char *value)
bool GetAssignIpv6AddressOnCreation() const
void SetCidrBlock(const Aws::String &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