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/SecondaryNetworkType.h>
12#include <aws/ec2/model/SecondarySubnetIpv4CidrBlockAssociation.h>
13#include <aws/ec2/model/SecondarySubnetState.h>
14#include <aws/ec2/model/Tag.h>
47 template <
typename SecondarySubnetIdT = Aws::String>
49 m_secondarySubnetIdHasBeenSet =
true;
50 m_secondarySubnetId = std::forward<SecondarySubnetIdT>(value);
52 template <
typename SecondarySubnetIdT = Aws::String>
65 template <
typename SecondarySubnetArnT = Aws::String>
67 m_secondarySubnetArnHasBeenSet =
true;
68 m_secondarySubnetArn = std::forward<SecondarySubnetArnT>(value);
70 template <
typename SecondarySubnetArnT = Aws::String>
83 template <
typename SecondaryNetworkIdT = Aws::String>
85 m_secondaryNetworkIdHasBeenSet =
true;
86 m_secondaryNetworkId = std::forward<SecondaryNetworkIdT>(value);
88 template <
typename SecondaryNetworkIdT = Aws::String>
102 m_secondaryNetworkTypeHasBeenSet =
true;
103 m_secondaryNetworkType = value;
117 template <
typename OwnerIdT = Aws::String>
119 m_ownerIdHasBeenSet =
true;
120 m_ownerId = std::forward<OwnerIdT>(value);
122 template <
typename OwnerIdT = Aws::String>
135 template <
typename AvailabilityZoneIdT = Aws::String>
137 m_availabilityZoneIdHasBeenSet =
true;
138 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
140 template <
typename AvailabilityZoneIdT = Aws::String>
153 template <
typename AvailabilityZoneT = Aws::String>
155 m_availabilityZoneHasBeenSet =
true;
156 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
158 template <
typename AvailabilityZoneT = Aws::String>
171 return m_ipv4CidrBlockAssociations;
174 template <
typename Ipv4C
idrBlockAssociationsT = Aws::Vector<SecondarySubnetIpv4C
idrBlockAssociation>>
176 m_ipv4CidrBlockAssociationsHasBeenSet =
true;
177 m_ipv4CidrBlockAssociations = std::forward<Ipv4CidrBlockAssociationsT>(value);
179 template <
typename Ipv4C
idrBlockAssociationsT = Aws::Vector<SecondarySubnetIpv4C
idrBlockAssociation>>
184 template <
typename Ipv4C
idrBlockAssociationsT = SecondarySubnetIpv4C
idrBlockAssociation>
186 m_ipv4CidrBlockAssociationsHasBeenSet =
true;
187 m_ipv4CidrBlockAssociations.emplace_back(std::forward<Ipv4CidrBlockAssociationsT>(value));
199 m_stateHasBeenSet =
true;
214 template <
typename StateReasonT = Aws::String>
216 m_stateReasonHasBeenSet =
true;
217 m_stateReason = std::forward<StateReasonT>(value);
219 template <
typename StateReasonT = Aws::String>
232 template <
typename TagsT = Aws::Vector<Tag>>
234 m_tagsHasBeenSet =
true;
235 m_tags = std::forward<TagsT>(value);
237 template <
typename TagsT = Aws::Vector<Tag>>
239 SetTags(std::forward<TagsT>(value));
242 template <
typename TagsT = Tag>
244 m_tagsHasBeenSet =
true;
245 m_tags.emplace_back(std::forward<TagsT>(value));
271 bool m_secondarySubnetIdHasBeenSet =
false;
272 bool m_secondarySubnetArnHasBeenSet =
false;
273 bool m_secondaryNetworkIdHasBeenSet =
false;
274 bool m_secondaryNetworkTypeHasBeenSet =
false;
275 bool m_ownerIdHasBeenSet =
false;
276 bool m_availabilityZoneIdHasBeenSet =
false;
277 bool m_availabilityZoneHasBeenSet =
false;
278 bool m_ipv4CidrBlockAssociationsHasBeenSet =
false;
279 bool m_stateHasBeenSet =
false;
280 bool m_stateReasonHasBeenSet =
false;
281 bool m_tagsHasBeenSet =
false;
bool SecondarySubnetIdHasBeenSet() const
bool OwnerIdHasBeenSet() const
void SetSecondarySubnetId(SecondarySubnetIdT &&value)
AWS_EC2_API SecondarySubnet(const Aws::Utils::Xml::XmlNode &xmlNode)
SecondarySubnet & WithSecondarySubnetId(SecondarySubnetIdT &&value)
const Aws::Vector< SecondarySubnetIpv4CidrBlockAssociation > & GetIpv4CidrBlockAssociations() const
bool SecondaryNetworkIdHasBeenSet() const
const Aws::String & GetSecondarySubnetId() const
void SetTags(TagsT &&value)
SecondarySubnet & WithSecondarySubnetArn(SecondarySubnetArnT &&value)
const Aws::String & GetSecondarySubnetArn() const
void SetIpv4CidrBlockAssociations(Ipv4CidrBlockAssociationsT &&value)
SecondarySubnet & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
const Aws::String & GetAvailabilityZoneId() const
SecondarySubnet & WithTags(TagsT &&value)
bool AvailabilityZoneIdHasBeenSet() const
SecondarySubnet & WithAvailabilityZone(AvailabilityZoneT &&value)
SecondarySubnet & WithState(SecondarySubnetState value)
SecondarySubnet & WithIpv4CidrBlockAssociations(Ipv4CidrBlockAssociationsT &&value)
void SetOwnerId(OwnerIdT &&value)
bool TagsHasBeenSet() const
bool SecondarySubnetArnHasBeenSet() const
void SetState(SecondarySubnetState value)
void SetStateReason(StateReasonT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
const Aws::String & GetStateReason() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool StateHasBeenSet() const
SecondarySubnet & WithSecondaryNetworkType(SecondaryNetworkType value)
void SetSecondarySubnetArn(SecondarySubnetArnT &&value)
bool StateReasonHasBeenSet() const
SecondaryNetworkType GetSecondaryNetworkType() const
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetAvailabilityZone() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool AvailabilityZoneHasBeenSet() const
const Aws::String & GetSecondaryNetworkId() const
bool Ipv4CidrBlockAssociationsHasBeenSet() const
SecondarySubnet & WithStateReason(StateReasonT &&value)
SecondarySubnetState GetState() const
AWS_EC2_API SecondarySubnet & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAvailabilityZone(AvailabilityZoneT &&value)
SecondarySubnet & WithOwnerId(OwnerIdT &&value)
void SetSecondaryNetworkId(SecondaryNetworkIdT &&value)
SecondarySubnet & AddIpv4CidrBlockAssociations(Ipv4CidrBlockAssociationsT &&value)
AWS_EC2_API SecondarySubnet()=default
SecondarySubnet & AddTags(TagsT &&value)
const Aws::String & GetOwnerId() const
bool SecondaryNetworkTypeHasBeenSet() const
SecondarySubnet & WithSecondaryNetworkId(SecondaryNetworkIdT &&value)
void SetSecondaryNetworkType(SecondaryNetworkType 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