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/SecondaryInterfaceAttachment.h>
12#include <aws/ec2/model/SecondaryInterfaceIpv4Address.h>
13#include <aws/ec2/model/SecondaryInterfaceStatus.h>
14#include <aws/ec2/model/SecondaryInterfaceType.h>
15#include <aws/ec2/model/SecondaryNetworkType.h>
16#include <aws/ec2/model/Tag.h>
49 template <
typename AvailabilityZoneT = Aws::String>
51 m_availabilityZoneHasBeenSet =
true;
52 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
54 template <
typename AvailabilityZoneT = Aws::String>
67 template <
typename AvailabilityZoneIdT = Aws::String>
69 m_availabilityZoneIdHasBeenSet =
true;
70 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
72 template <
typename AvailabilityZoneIdT = Aws::String>
85 template <
typename AttachmentT = SecondaryInterfaceAttachment>
87 m_attachmentHasBeenSet =
true;
88 m_attachment = std::forward<AttachmentT>(value);
90 template <
typename AttachmentT = SecondaryInterfaceAttachment>
103 template <
typename MacAddressT = Aws::String>
105 m_macAddressHasBeenSet =
true;
106 m_macAddress = std::forward<MacAddressT>(value);
108 template <
typename MacAddressT = Aws::String>
122 template <
typename OwnerIdT = Aws::String>
124 m_ownerIdHasBeenSet =
true;
125 m_ownerId = std::forward<OwnerIdT>(value);
127 template <
typename OwnerIdT = Aws::String>
140 template <
typename PrivateIpv4AddressesT = Aws::Vector<SecondaryInterfaceIpv4Address>>
142 m_privateIpv4AddressesHasBeenSet =
true;
143 m_privateIpv4Addresses = std::forward<PrivateIpv4AddressesT>(value);
145 template <
typename PrivateIpv4AddressesT = Aws::Vector<SecondaryInterfaceIpv4Address>>
150 template <
typename PrivateIpv4AddressesT = SecondaryInterfaceIpv4Address>
152 m_privateIpv4AddressesHasBeenSet =
true;
153 m_privateIpv4Addresses.emplace_back(std::forward<PrivateIpv4AddressesT>(value));
164 template <
typename SecondaryInterfaceIdT = Aws::String>
166 m_secondaryInterfaceIdHasBeenSet =
true;
167 m_secondaryInterfaceId = std::forward<SecondaryInterfaceIdT>(value);
169 template <
typename SecondaryInterfaceIdT = Aws::String>
182 template <
typename SecondaryInterfaceArnT = Aws::String>
184 m_secondaryInterfaceArnHasBeenSet =
true;
185 m_secondaryInterfaceArn = std::forward<SecondaryInterfaceArnT>(value);
187 template <
typename SecondaryInterfaceArnT = Aws::String>
201 m_secondaryInterfaceTypeHasBeenSet =
true;
202 m_secondaryInterfaceType = value;
216 template <
typename SecondarySubnetIdT = Aws::String>
218 m_secondarySubnetIdHasBeenSet =
true;
219 m_secondarySubnetId = std::forward<SecondarySubnetIdT>(value);
221 template <
typename SecondarySubnetIdT = Aws::String>
234 template <
typename SecondaryNetworkIdT = Aws::String>
236 m_secondaryNetworkIdHasBeenSet =
true;
237 m_secondaryNetworkId = std::forward<SecondaryNetworkIdT>(value);
239 template <
typename SecondaryNetworkIdT = Aws::String>
253 m_secondaryNetworkTypeHasBeenSet =
true;
254 m_secondaryNetworkType = value;
269 m_sourceDestCheckHasBeenSet =
true;
270 m_sourceDestCheck = value;
285 m_statusHasBeenSet =
true;
300 template <
typename TagsT = Aws::Vector<Tag>>
302 m_tagsHasBeenSet =
true;
303 m_tags = std::forward<TagsT>(value);
305 template <
typename TagsT = Aws::Vector<Tag>>
307 SetTags(std::forward<TagsT>(value));
310 template <
typename TagsT = Tag>
312 m_tagsHasBeenSet =
true;
313 m_tags.emplace_back(std::forward<TagsT>(value));
342 bool m_sourceDestCheck{
false};
347 bool m_availabilityZoneHasBeenSet =
false;
348 bool m_availabilityZoneIdHasBeenSet =
false;
349 bool m_attachmentHasBeenSet =
false;
350 bool m_macAddressHasBeenSet =
false;
351 bool m_ownerIdHasBeenSet =
false;
352 bool m_privateIpv4AddressesHasBeenSet =
false;
353 bool m_secondaryInterfaceIdHasBeenSet =
false;
354 bool m_secondaryInterfaceArnHasBeenSet =
false;
355 bool m_secondaryInterfaceTypeHasBeenSet =
false;
356 bool m_secondarySubnetIdHasBeenSet =
false;
357 bool m_secondaryNetworkIdHasBeenSet =
false;
358 bool m_secondaryNetworkTypeHasBeenSet =
false;
359 bool m_sourceDestCheckHasBeenSet =
false;
360 bool m_statusHasBeenSet =
false;
361 bool m_tagsHasBeenSet =
false;
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool SecondaryInterfaceTypeHasBeenSet() const
void SetStatus(SecondaryInterfaceStatus value)
const Aws::String & GetAvailabilityZone() const
AWS_EC2_API SecondaryInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< SecondaryInterfaceIpv4Address > & GetPrivateIpv4Addresses() const
SecondaryInterface & WithSourceDestCheck(bool value)
AWS_EC2_API SecondaryInterface()=default
void SetTags(TagsT &&value)
SecondaryInterface & WithSecondaryInterfaceType(SecondaryInterfaceType value)
const Aws::Vector< Tag > & GetTags() const
SecondaryInterface & WithMacAddress(MacAddressT &&value)
bool GetSourceDestCheck() const
SecondaryInterface & WithSecondarySubnetId(SecondarySubnetIdT &&value)
bool SecondaryNetworkTypeHasBeenSet() const
SecondaryInterface & WithStatus(SecondaryInterfaceStatus value)
bool MacAddressHasBeenSet() const
void SetSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
SecondaryInterface & AddPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
AWS_EC2_API SecondaryInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetMacAddress(MacAddressT &&value)
const SecondaryInterfaceAttachment & GetAttachment() const
void SetSecondaryNetworkId(SecondaryNetworkIdT &&value)
bool StatusHasBeenSet() const
void SetSourceDestCheck(bool value)
void SetSecondaryNetworkType(SecondaryNetworkType value)
const Aws::String & GetSecondaryInterfaceArn() const
SecondaryInterface & AddTags(TagsT &&value)
void SetSecondaryInterfaceType(SecondaryInterfaceType value)
void SetOwnerId(OwnerIdT &&value)
const Aws::String & GetMacAddress() const
bool PrivateIpv4AddressesHasBeenSet() const
SecondaryInterface & WithSecondaryInterfaceArn(SecondaryInterfaceArnT &&value)
bool SecondaryInterfaceIdHasBeenSet() const
SecondaryInterface & WithAvailabilityZone(AvailabilityZoneT &&value)
SecondaryInterface & WithPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
SecondaryInterface & WithTags(TagsT &&value)
SecondaryInterface & WithOwnerId(OwnerIdT &&value)
SecondaryInterface & WithSecondaryNetworkType(SecondaryNetworkType value)
SecondaryInterfaceStatus GetStatus() const
bool SecondaryNetworkIdHasBeenSet() const
bool TagsHasBeenSet() const
bool OwnerIdHasBeenSet() const
const Aws::String & GetOwnerId() const
const Aws::String & GetSecondarySubnetId() const
bool SecondaryInterfaceArnHasBeenSet() const
const Aws::String & GetSecondaryInterfaceId() const
void SetAttachment(AttachmentT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool AttachmentHasBeenSet() const
bool SecondarySubnetIdHasBeenSet() const
SecondaryInterface & WithSecondaryInterfaceId(SecondaryInterfaceIdT &&value)
const Aws::String & GetAvailabilityZoneId() const
SecondaryInterfaceType GetSecondaryInterfaceType() const
const Aws::String & GetSecondaryNetworkId() const
SecondaryInterface & WithAttachment(AttachmentT &&value)
void SetPrivateIpv4Addresses(PrivateIpv4AddressesT &&value)
void SetSecondaryInterfaceArn(SecondaryInterfaceArnT &&value)
SecondaryInterface & WithSecondaryNetworkId(SecondaryNetworkIdT &&value)
bool AvailabilityZoneHasBeenSet() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
SecondaryNetworkType GetSecondaryNetworkType() const
void SetSecondarySubnetId(SecondarySubnetIdT &&value)
SecondaryInterface & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
bool AvailabilityZoneIdHasBeenSet() const
bool SourceDestCheckHasBeenSet() const
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