7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/InstanceNetworkInterfaceAssociation.h>
10#include <aws/ec2/model/InstanceNetworkInterfaceAttachment.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ec2/model/NetworkInterfaceStatus.h>
14#include <aws/ec2/model/ConnectionTrackingSpecificationResponse.h>
15#include <aws/ec2/model/OperatorResponse.h>
16#include <aws/ec2/model/GroupIdentifier.h>
17#include <aws/ec2/model/InstanceIpv6Address.h>
18#include <aws/ec2/model/InstancePrivateIpAddress.h>
19#include <aws/ec2/model/InstanceIpv4Prefix.h>
20#include <aws/ec2/model/InstanceIpv6Prefix.h>
60 template<
typename AssociationT = InstanceNetworkInterfaceAssociation>
61 void SetAssociation(AssociationT&& value) { m_associationHasBeenSet =
true; m_association = std::forward<AssociationT>(value); }
62 template<
typename AssociationT = InstanceNetworkInterfaceAssociation>
72 template<
typename AttachmentT = InstanceNetworkInterfaceAttachment>
73 void SetAttachment(AttachmentT&& value) { m_attachmentHasBeenSet =
true; m_attachment = std::forward<AttachmentT>(value); }
74 template<
typename AttachmentT = InstanceNetworkInterfaceAttachment>
84 template<
typename DescriptionT = Aws::String>
85 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
86 template<
typename DescriptionT = Aws::String>
96 template<
typename GroupsT = Aws::Vector<GroupIdentifier>>
97 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups = std::forward<GroupsT>(value); }
98 template<
typename GroupsT = Aws::Vector<GroupIdentifier>>
100 template<
typename GroupsT = GroupIdentifier>
110 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
111 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet =
true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
112 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
114 template<
typename Ipv6AddressesT = InstanceIpv6Address>
124 template<
typename MacAddressT = Aws::String>
125 void SetMacAddress(MacAddressT&& value) { m_macAddressHasBeenSet =
true; m_macAddress = std::forward<MacAddressT>(value); }
126 template<
typename MacAddressT = Aws::String>
136 template<
typename NetworkInterfaceIdT = Aws::String>
137 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet =
true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
138 template<
typename NetworkInterfaceIdT = Aws::String>
149 template<
typename OwnerIdT = Aws::String>
150 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
151 template<
typename OwnerIdT = Aws::String>
161 template<
typename PrivateDnsNameT = Aws::String>
162 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet =
true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
163 template<
typename PrivateDnsNameT = Aws::String>
173 template<
typename PrivateIpAddressT = Aws::String>
174 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
175 template<
typename PrivateIpAddressT = Aws::String>
185 template<
typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
186 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet =
true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
187 template<
typename PrivateIpAddressesT = Aws::Vector<InstancePrivateIpAddress>>
189 template<
typename PrivateIpAddressesT = InstancePrivateIpAddress>
199 inline void SetSourceDestCheck(
bool value) { m_sourceDestCheckHasBeenSet =
true; m_sourceDestCheck = value; }
219 template<
typename SubnetIdT = Aws::String>
220 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
221 template<
typename SubnetIdT = Aws::String>
231 template<
typename VpcIdT = Aws::String>
232 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
233 template<
typename VpcIdT = Aws::String>
245 template<
typename InterfaceTypeT = Aws::String>
246 void SetInterfaceType(InterfaceTypeT&& value) { m_interfaceTypeHasBeenSet =
true; m_interfaceType = std::forward<InterfaceTypeT>(value); }
247 template<
typename InterfaceTypeT = Aws::String>
257 template<
typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
258 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet =
true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
259 template<
typename Ipv4PrefixesT = Aws::Vector<InstanceIpv4Prefix>>
261 template<
typename Ipv4PrefixesT = InstanceIpv4Prefix>
271 template<
typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
272 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet =
true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
273 template<
typename Ipv6PrefixesT = Aws::Vector<InstanceIpv6Prefix>>
275 template<
typename Ipv6PrefixesT = InstanceIpv6Prefix>
289 template<
typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
290 void SetConnectionTrackingConfiguration(ConnectionTrackingConfigurationT&& value) { m_connectionTrackingConfigurationHasBeenSet =
true; m_connectionTrackingConfiguration = std::forward<ConnectionTrackingConfigurationT>(value); }
291 template<
typename ConnectionTrackingConfigurationT = ConnectionTrackingSpecificationResponse>
301 template<
typename OperatorT = OperatorResponse>
302 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet =
true; m_operator = std::forward<OperatorT>(value); }
303 template<
typename OperatorT = OperatorResponse>
309 bool m_associationHasBeenSet =
false;
312 bool m_attachmentHasBeenSet =
false;
315 bool m_descriptionHasBeenSet =
false;
318 bool m_groupsHasBeenSet =
false;
321 bool m_ipv6AddressesHasBeenSet =
false;
324 bool m_macAddressHasBeenSet =
false;
327 bool m_networkInterfaceIdHasBeenSet =
false;
330 bool m_ownerIdHasBeenSet =
false;
333 bool m_privateDnsNameHasBeenSet =
false;
336 bool m_privateIpAddressHasBeenSet =
false;
339 bool m_privateIpAddressesHasBeenSet =
false;
341 bool m_sourceDestCheck{
false};
342 bool m_sourceDestCheckHasBeenSet =
false;
345 bool m_statusHasBeenSet =
false;
348 bool m_subnetIdHasBeenSet =
false;
351 bool m_vpcIdHasBeenSet =
false;
354 bool m_interfaceTypeHasBeenSet =
false;
357 bool m_ipv4PrefixesHasBeenSet =
false;
360 bool m_ipv6PrefixesHasBeenSet =
false;
362 ConnectionTrackingSpecificationResponse m_connectionTrackingConfiguration;
363 bool m_connectionTrackingConfigurationHasBeenSet =
false;
365 OperatorResponse m_operator;
366 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