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/ConnectionTrackingSpecificationRequest.h>
12#include <aws/ec2/model/EnaSrdSpecificationRequest.h>
13#include <aws/ec2/model/InstanceIpv6Address.h>
14#include <aws/ec2/model/Ipv4PrefixSpecificationRequest.h>
15#include <aws/ec2/model/Ipv6PrefixSpecificationRequest.h>
16#include <aws/ec2/model/PrivateIpAddressSpecification.h>
58 m_associatePublicIpAddressHasBeenSet =
true;
59 m_associatePublicIpAddress = value;
76 m_deleteOnTerminationHasBeenSet =
true;
77 m_deleteOnTermination = value;
92 template <
typename DescriptionT = Aws::String>
94 m_descriptionHasBeenSet =
true;
95 m_description = std::forward<DescriptionT>(value);
97 template <
typename DescriptionT = Aws::String>
113 m_deviceIndexHasBeenSet =
true;
114 m_deviceIndex = value;
129 template <
typename GroupsT = Aws::Vector<Aws::String>>
131 m_groupsHasBeenSet =
true;
132 m_groups = std::forward<GroupsT>(value);
134 template <
typename GroupsT = Aws::Vector<Aws::String>>
139 template <
typename GroupsT = Aws::String>
141 m_groupsHasBeenSet =
true;
142 m_groups.emplace_back(std::forward<GroupsT>(value));
158 m_ipv6AddressCountHasBeenSet =
true;
159 m_ipv6AddressCount = value;
176 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
178 m_ipv6AddressesHasBeenSet =
true;
179 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
181 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
186 template <
typename Ipv6AddressesT = InstanceIpv6Address>
188 m_ipv6AddressesHasBeenSet =
true;
189 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
202 template <
typename NetworkInterfaceIdT = Aws::String>
204 m_networkInterfaceIdHasBeenSet =
true;
205 m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value);
207 template <
typename NetworkInterfaceIdT = Aws::String>
224 template <
typename PrivateIpAddressT = Aws::String>
226 m_privateIpAddressHasBeenSet =
true;
227 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
229 template <
typename PrivateIpAddressT = Aws::String>
246 template <
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
248 m_privateIpAddressesHasBeenSet =
true;
249 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
251 template <
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
256 template <
typename PrivateIpAddressesT = PrivateIpAddressSpecification>
258 m_privateIpAddressesHasBeenSet =
true;
259 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
273 m_secondaryPrivateIpAddressCountHasBeenSet =
true;
274 m_secondaryPrivateIpAddressCount = value;
289 template <
typename SubnetIdT = Aws::String>
291 m_subnetIdHasBeenSet =
true;
292 m_subnetId = std::forward<SubnetIdT>(value);
294 template <
typename SubnetIdT = Aws::String>
313 m_associateCarrierIpAddressHasBeenSet =
true;
314 m_associateCarrierIpAddress = value;
331 template <
typename InterfaceTypeT = Aws::String>
333 m_interfaceTypeHasBeenSet =
true;
334 m_interfaceType = std::forward<InterfaceTypeT>(value);
336 template <
typename InterfaceTypeT = Aws::String>
357 m_networkCardIndexHasBeenSet =
true;
358 m_networkCardIndex = value;
373 template <
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
375 m_ipv4PrefixesHasBeenSet =
true;
376 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
378 template <
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
383 template <
typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
385 m_ipv4PrefixesHasBeenSet =
true;
386 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
400 m_ipv4PrefixCountHasBeenSet =
true;
401 m_ipv4PrefixCount = value;
416 template <
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
418 m_ipv6PrefixesHasBeenSet =
true;
419 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
421 template <
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
426 template <
typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
428 m_ipv6PrefixesHasBeenSet =
true;
429 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
443 m_ipv6PrefixCountHasBeenSet =
true;
444 m_ipv6PrefixCount = value;
463 m_primaryIpv6HasBeenSet =
true;
464 m_primaryIpv6 = value;
479 template <
typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
481 m_enaSrdSpecificationHasBeenSet =
true;
482 m_enaSrdSpecification = std::forward<EnaSrdSpecificationT>(value);
484 template <
typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
500 return m_connectionTrackingSpecification;
503 template <
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
505 m_connectionTrackingSpecificationHasBeenSet =
true;
506 m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value);
508 template <
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
522 m_enaQueueCountHasBeenSet =
true;
523 m_enaQueueCount = value;
531 bool m_associatePublicIpAddress{
false};
533 bool m_deleteOnTermination{
false};
537 int m_deviceIndex{0};
541 int m_ipv6AddressCount{0};
551 int m_secondaryPrivateIpAddressCount{0};
555 bool m_associateCarrierIpAddress{
false};
559 int m_networkCardIndex{0};
563 int m_ipv4PrefixCount{0};
567 int m_ipv6PrefixCount{0};
569 bool m_primaryIpv6{
false};
571 EnaSrdSpecificationRequest m_enaSrdSpecification;
573 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
575 int m_enaQueueCount{0};
576 bool m_associatePublicIpAddressHasBeenSet =
false;
577 bool m_deleteOnTerminationHasBeenSet =
false;
578 bool m_descriptionHasBeenSet =
false;
579 bool m_deviceIndexHasBeenSet =
false;
580 bool m_groupsHasBeenSet =
false;
581 bool m_ipv6AddressCountHasBeenSet =
false;
582 bool m_ipv6AddressesHasBeenSet =
false;
583 bool m_networkInterfaceIdHasBeenSet =
false;
584 bool m_privateIpAddressHasBeenSet =
false;
585 bool m_privateIpAddressesHasBeenSet =
false;
586 bool m_secondaryPrivateIpAddressCountHasBeenSet =
false;
587 bool m_subnetIdHasBeenSet =
false;
588 bool m_associateCarrierIpAddressHasBeenSet =
false;
589 bool m_interfaceTypeHasBeenSet =
false;
590 bool m_networkCardIndexHasBeenSet =
false;
591 bool m_ipv4PrefixesHasBeenSet =
false;
592 bool m_ipv4PrefixCountHasBeenSet =
false;
593 bool m_ipv6PrefixesHasBeenSet =
false;
594 bool m_ipv6PrefixCountHasBeenSet =
false;
595 bool m_primaryIpv6HasBeenSet =
false;
596 bool m_enaSrdSpecificationHasBeenSet =
false;
597 bool m_connectionTrackingSpecificationHasBeenSet =
false;
598 bool m_enaQueueCountHasBeenSet =
false;
InstanceNetworkInterfaceSpecification & AddIpv6Addresses(Ipv6AddressesT &&value)
bool GroupsHasBeenSet() const
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
int GetIpv6PrefixCount() const
int GetNetworkCardIndex() const
bool DeviceIndexHasBeenSet() const
void SetGroups(GroupsT &&value)
bool Ipv4PrefixCountHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithSecondaryPrivateIpAddressCount(int value)
InstanceNetworkInterfaceSpecification & AddIpv4Prefixes(Ipv4PrefixesT &&value)
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
const Aws::String & GetNetworkInterfaceId() const
int GetDeviceIndex() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceNetworkInterfaceSpecification & WithIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv4PrefixCount(int value)
InstanceNetworkInterfaceSpecification & WithIpv6PrefixCount(int value)
InstanceNetworkInterfaceSpecification & WithEnaSrdSpecification(EnaSrdSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithInterfaceType(InterfaceTypeT &&value)
InstanceNetworkInterfaceSpecification & WithDescription(DescriptionT &&value)
InstanceNetworkInterfaceSpecification & WithGroups(GroupsT &&value)
InstanceNetworkInterfaceSpecification & WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceNetworkInterfaceSpecification & WithIpv6Prefixes(Ipv6PrefixesT &&value)
const Aws::Vector< Ipv4PrefixSpecificationRequest > & GetIpv4Prefixes() const
InstanceNetworkInterfaceSpecification & WithAssociateCarrierIpAddress(bool value)
void SetEnaQueueCount(int value)
void SetDeleteOnTermination(bool value)
bool SecondaryPrivateIpAddressCountHasBeenSet() const
bool GetDeleteOnTermination() const
const ConnectionTrackingSpecificationRequest & GetConnectionTrackingSpecification() const
bool EnaQueueCountHasBeenSet() const
bool Ipv4PrefixesHasBeenSet() const
void SetAssociateCarrierIpAddress(bool value)
bool PrimaryIpv6HasBeenSet() const
InstanceNetworkInterfaceSpecification & WithDeviceIndex(int value)
bool AssociateCarrierIpAddressHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithPrimaryIpv6(bool value)
InstanceNetworkInterfaceSpecification & WithSubnetId(SubnetIdT &&value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddress(PrivateIpAddressT &&value)
InstanceNetworkInterfaceSpecification & WithIpv4Prefixes(Ipv4PrefixesT &&value)
int GetEnaQueueCount() const
const Aws::String & GetPrivateIpAddress() const
void SetIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv6AddressCount(int value)
InstanceNetworkInterfaceSpecification & WithNetworkCardIndex(int value)
InstanceNetworkInterfaceSpecification & AddGroups(GroupsT &&value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetSecondaryPrivateIpAddressCount(int value)
const Aws::Vector< Ipv6PrefixSpecificationRequest > & GetIpv6Prefixes() const
void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithEnaQueueCount(int value)
void SetIpv6PrefixCount(int value)
AWS_EC2_API InstanceNetworkInterfaceSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
const Aws::String & GetInterfaceType() const
bool Ipv6PrefixCountHasBeenSet() const
InstanceNetworkInterfaceSpecification & AddIpv6Prefixes(Ipv6PrefixesT &&value)
bool GetAssociateCarrierIpAddress() const
bool NetworkInterfaceIdHasBeenSet() const
bool Ipv6AddressCountHasBeenSet() const
bool ConnectionTrackingSpecificationHasBeenSet() const
const Aws::Vector< PrivateIpAddressSpecification > & GetPrivateIpAddresses() const
bool DescriptionHasBeenSet() const
bool PrivateIpAddressesHasBeenSet() const
AWS_EC2_API InstanceNetworkInterfaceSpecification()=default
AWS_EC2_API InstanceNetworkInterfaceSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterfaceSpecification & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
bool DeleteOnTerminationHasBeenSet() const
void SetInterfaceType(InterfaceTypeT &&value)
const EnaSrdSpecificationRequest & GetEnaSrdSpecification() const
bool SubnetIdHasBeenSet() const
bool InterfaceTypeHasBeenSet() const
void SetDescription(DescriptionT &&value)
const Aws::String & GetSubnetId() const
InstanceNetworkInterfaceSpecification & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
bool GetPrimaryIpv6() const
InstanceNetworkInterfaceSpecification & WithDeleteOnTermination(bool value)
bool GetAssociatePublicIpAddress() const
bool Ipv6PrefixesHasBeenSet() const
const Aws::String & GetDescription() const
void SetAssociatePublicIpAddress(bool value)
void SetDeviceIndex(int value)
void SetNetworkCardIndex(int value)
void SetIpv4PrefixCount(int value)
void SetNetworkInterfaceId(NetworkInterfaceIdT &&value)
bool Ipv6AddressesHasBeenSet() const
void SetSubnetId(SubnetIdT &&value)
bool NetworkCardIndexHasBeenSet() const
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
bool PrivateIpAddressHasBeenSet() const
bool AssociatePublicIpAddressHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithAssociatePublicIpAddress(bool value)
const Aws::Vector< Aws::String > & GetGroups() const
void SetIpv6AddressCount(int value)
int GetIpv4PrefixCount() const
void SetPrimaryIpv6(bool value)
int GetIpv6AddressCount() const
bool EnaSrdSpecificationHasBeenSet() const
void SetEnaSrdSpecification(EnaSrdSpecificationT &&value)
int GetSecondaryPrivateIpAddressCount() 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