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/ConnectionTrackingSpecificationResponse.h>
12#include <aws/ec2/model/GroupIdentifier.h>
13#include <aws/ec2/model/InstanceIpv4Prefix.h>
14#include <aws/ec2/model/InstanceIpv6Address.h>
15#include <aws/ec2/model/InstanceIpv6Prefix.h>
16#include <aws/ec2/model/InstanceNetworkInterfaceAssociation.h>
17#include <aws/ec2/model/InstanceNetworkInterfaceAttachment.h>
18#include <aws/ec2/model/InstancePrivateIpAddress.h>
19#include <aws/ec2/model/NetworkInterfaceStatus.h>
20#include <aws/ec2/model/OperatorResponse.h>
54 template <
typename AssociationT = InstanceNetworkInterfaceAssociation>
56 m_associationHasBeenSet =
true;
57 m_association = std::forward<AssociationT>(value);
59 template <
typename AssociationT = InstanceNetworkInterfaceAssociation>
72 template <
typename AttachmentT = InstanceNetworkInterfaceAttachment>
74 m_attachmentHasBeenSet =
true;
75 m_attachment = std::forward<AttachmentT>(value);
77 template <
typename AttachmentT = InstanceNetworkInterfaceAttachment>
90 template <
typename DescriptionT = Aws::String>
92 m_descriptionHasBeenSet =
true;
93 m_description = std::forward<DescriptionT>(value);
95 template <
typename DescriptionT = Aws::String>
108 template <
typename GroupsT = Aws::Vector<GroupIdentifier>>
110 m_groupsHasBeenSet =
true;
111 m_groups = std::forward<GroupsT>(value);
113 template <
typename GroupsT = Aws::Vector<GroupIdentifier>>
118 template <
typename GroupsT = GroupIdentifier>
120 m_groupsHasBeenSet =
true;
121 m_groups.emplace_back(std::forward<GroupsT>(value));
132 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
134 m_ipv6AddressesHasBeenSet =
true;
135 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
137 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
142 template <
typename Ipv6AddressesT = InstanceIpv6Address>
144 m_ipv6AddressesHasBeenSet =
true;
145 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
156 template <
typename MacAddressT = Aws::String>
158 m_macAddressHasBeenSet =
true;
159 m_macAddress = std::forward<MacAddressT>(value);
161 template <
typename MacAddressT = Aws::String>
174 template <
typename NetworkInterfaceIdT = Aws::String>
176 m_networkInterfaceIdHasBeenSet =
true;
177 m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value);
179 template <
typename NetworkInterfaceIdT = Aws::String>
193 template <
typename OwnerIdT = Aws::String>
195 m_ownerIdHasBeenSet =
true;
196 m_ownerId = std::forward<OwnerIdT>(value);
198 template <
typename OwnerIdT = Aws::String>
211 template <
typename PrivateDnsNameT = Aws::String>
213 m_privateDnsNameHasBeenSet =
true;
214 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
216 template <
typename PrivateDnsNameT = Aws::String>
229 template <
typename PrivateIpAddressT = Aws::String>
231 m_privateIpAddressHasBeenSet =
true;
232 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
234 template <
typename PrivateIpAddressT = Aws::String>
247 template <
typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
249 m_privateIpAddressesHasBeenSet =
true;
250 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
252 template <
typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
257 template <
typename PrivateIpAddressesT = InstancePrivateIpAddress>
259 m_privateIpAddressesHasBeenSet =
true;
260 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
272 m_sourceDestCheckHasBeenSet =
true;
273 m_sourceDestCheck = value;
288 m_statusHasBeenSet =
true;
303 template <
typename SubnetIdT = Aws::String>
305 m_subnetIdHasBeenSet =
true;
306 m_subnetId = std::forward<SubnetIdT>(value);
308 template <
typename SubnetIdT = Aws::String>
321 template <
typename VpcIdT = Aws::String>
323 m_vpcIdHasBeenSet =
true;
324 m_vpcId = std::forward<VpcIdT>(value);
326 template <
typename VpcIdT = Aws::String>
328 SetVpcId(std::forward<VpcIdT>(value));
341 template <
typename InterfaceTypeT = Aws::String>
343 m_interfaceTypeHasBeenSet =
true;
344 m_interfaceType = std::forward<InterfaceTypeT>(value);
346 template <
typename InterfaceTypeT = Aws::String>
359 template <
typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
361 m_ipv4PrefixesHasBeenSet =
true;
362 m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value);
364 template <
typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
369 template <
typename Ipv4PrefixesT = InstanceIpv4Prefix>
371 m_ipv4PrefixesHasBeenSet =
true;
372 m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
383 template <
typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
385 m_ipv6PrefixesHasBeenSet =
true;
386 m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value);
388 template <
typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
393 template <
typename Ipv6PrefixesT = InstanceIpv6Prefix>
395 m_ipv6PrefixesHasBeenSet =
true;
396 m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
410 return m_connectionTrackingConfiguration;
413 template <
typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
415 m_connectionTrackingConfigurationHasBeenSet =
true;
416 m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value);
418 template <
typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
431 template <
typename OperatorT = OperatorResponse>
433 m_operatorHasBeenSet =
true;
434 m_operator = std::forward<OperatorT>(value);
436 template <
typename OperatorT = OperatorResponse>
465 bool m_sourceDestCheck{
false};
479 ConnectionTrackingSpecificationResponse m_connectionTrackingConfiguration;
481 OperatorResponse m_operator;
482 bool m_associationHasBeenSet =
false;
483 bool m_attachmentHasBeenSet =
false;
484 bool m_descriptionHasBeenSet =
false;
485 bool m_groupsHasBeenSet =
false;
486 bool m_ipv6AddressesHasBeenSet =
false;
487 bool m_macAddressHasBeenSet =
false;
488 bool m_networkInterfaceIdHasBeenSet =
false;
489 bool m_ownerIdHasBeenSet =
false;
490 bool m_privateDnsNameHasBeenSet =
false;
491 bool m_privateIpAddressHasBeenSet =
false;
492 bool m_privateIpAddressesHasBeenSet =
false;
493 bool m_sourceDestCheckHasBeenSet =
false;
494 bool m_statusHasBeenSet =
false;
495 bool m_subnetIdHasBeenSet =
false;
496 bool m_vpcIdHasBeenSet =
false;
497 bool m_interfaceTypeHasBeenSet =
false;
498 bool m_ipv4PrefixesHasBeenSet =
false;
499 bool m_ipv6PrefixesHasBeenSet =
false;
500 bool m_connectionTrackingConfigurationHasBeenSet =
false;
501 bool m_operatorHasBeenSet =
false;
const Aws::String & GetInterfaceType() const
bool OperatorHasBeenSet() const
void SetPrivateDnsName(PrivateDnsNameT &&value)
const Aws::Vector< InstancePrivateIpAddress > & GetPrivateIpAddresses() const
InstanceNetworkInterface & WithSourceDestCheck(bool value)
void SetGroups(GroupsT &&value)
const Aws::String & GetMacAddress() const
void SetSourceDestCheck(bool value)
bool DescriptionHasBeenSet() const
void SetSubnetId(SubnetIdT &&value)
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
InstanceNetworkInterface & WithPrivateIpAddress(PrivateIpAddressT &&value)
InstanceNetworkInterface & WithStatus(NetworkInterfaceStatus value)
const Aws::Vector< InstanceIpv4Prefix > & GetIpv4Prefixes() const
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
bool Ipv4PrefixesHasBeenSet() const
bool OwnerIdHasBeenSet() const
AWS_EC2_API InstanceNetworkInterface()=default
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
InstanceNetworkInterface & WithDescription(DescriptionT &&value)
bool PrivateIpAddressesHasBeenSet() const
void SetPrivateIpAddress(PrivateIpAddressT &&value)
const Aws::String & GetSubnetId() const
void SetOperator(OperatorT &&value)
InstanceNetworkInterface & WithVpcId(VpcIdT &&value)
InstanceNetworkInterface & WithIpv4Prefixes(Ipv4PrefixesT &&value)
InstanceNetworkInterface & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
InstanceNetworkInterface & WithConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
bool PrivateDnsNameHasBeenSet() const
bool SourceDestCheckHasBeenSet() const
NetworkInterfaceStatus GetStatus() const
const Aws::String & GetDescription() const
void SetAttachment(AttachmentT &&value)
const InstanceNetworkInterfaceAssociation & GetAssociation() const
void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT &&value)
const InstanceNetworkInterfaceAttachment & GetAttachment() const
bool Ipv6AddressesHasBeenSet() const
InstanceNetworkInterface & AddIpv4Prefixes(Ipv4PrefixesT &&value)
bool Ipv6PrefixesHasBeenSet() const
void SetInterfaceType(InterfaceTypeT &&value)
AWS_EC2_API InstanceNetworkInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterface & AddGroups(GroupsT &&value)
bool GetSourceDestCheck() const
bool PrivateIpAddressHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetPrivateDnsName() const
InstanceNetworkInterface & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterface & WithAssociation(AssociationT &&value)
bool SubnetIdHasBeenSet() const
void SetIpv6Addresses(Ipv6AddressesT &&value)
const Aws::String & GetVpcId() const
void SetOwnerId(OwnerIdT &&value)
void SetMacAddress(MacAddressT &&value)
void SetDescription(DescriptionT &&value)
bool MacAddressHasBeenSet() const
const Aws::String & GetOwnerId() const
InstanceNetworkInterface & WithOperator(OperatorT &&value)
bool AttachmentHasBeenSet() const
bool StatusHasBeenSet() const
AWS_EC2_API InstanceNetworkInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceNetworkInterface & WithAttachment(AttachmentT &&value)
const OperatorResponse & GetOperator() const
bool ConnectionTrackingConfigurationHasBeenSet() const
InstanceNetworkInterface & WithMacAddress(MacAddressT &&value)
const Aws::Vector< InstanceIpv6Prefix > & GetIpv6Prefixes() const
InstanceNetworkInterface & WithSubnetId(SubnetIdT &&value)
InstanceNetworkInterface & AddIpv6Prefixes(Ipv6PrefixesT &&value)
bool NetworkInterfaceIdHasBeenSet() const
InstanceNetworkInterface & WithGroups(GroupsT &&value)
InstanceNetworkInterface & AddIpv6Addresses(Ipv6AddressesT &&value)
bool InterfaceTypeHasBeenSet() const
InstanceNetworkInterface & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetVpcId(VpcIdT &&value)
bool VpcIdHasBeenSet() const
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterface & WithPrivateDnsName(PrivateDnsNameT &&value)
InstanceNetworkInterface & WithInterfaceType(InterfaceTypeT &&value)
bool AssociationHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceNetworkInterface & WithOwnerId(OwnerIdT &&value)
InstanceNetworkInterface & WithIpv6Prefixes(Ipv6PrefixesT &&value)
void SetAssociation(AssociationT &&value)
const ConnectionTrackingSpecificationResponse & GetConnectionTrackingConfiguration() const
const Aws::String & GetPrivateIpAddress() const
InstanceNetworkInterface & WithIpv6Addresses(Ipv6AddressesT &&value)
const Aws::String & GetNetworkInterfaceId() const
bool GroupsHasBeenSet() const
void SetStatus(NetworkInterfaceStatus value)
const Aws::Vector< GroupIdentifier > & GetGroups() const
void SetNetworkInterfaceId(NetworkInterfaceIdT &&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