7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/NetworkInterfaceAssociation.h>
10#include <aws/ec2/model/NetworkInterfaceAttachment.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ec2/model/ConnectionTrackingConfiguration.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ec2/model/NetworkInterfaceType.h>
15#include <aws/ec2/model/NetworkInterfaceStatus.h>
16#include <aws/ec2/model/GroupIdentifier.h>
17#include <aws/ec2/model/NetworkInterfaceIpv6Address.h>
18#include <aws/ec2/model/NetworkInterfacePrivateIpAddress.h>
19#include <aws/ec2/model/Ipv4PrefixSpecification.h>
20#include <aws/ec2/model/Ipv6PrefixSpecification.h>
21#include <aws/ec2/model/Tag.h>
87 inline void SetAvailabilityZone(
const char* value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone.assign(value); }
117 inline void SetDescription(
const char* value) { m_descriptionHasBeenSet =
true; m_description.assign(value); }
171 inline void SetMacAddress(
const char* value) { m_macAddressHasBeenSet =
true; m_macAddress.assign(value); }
185 inline void SetNetworkInterfaceId(
const char* value) { m_networkInterfaceIdHasBeenSet =
true; m_networkInterfaceId.assign(value); }
199 inline void SetOutpostArn(
const char* value) { m_outpostArnHasBeenSet =
true; m_outpostArn.assign(value); }
213 inline void SetOwnerId(
const char* value) { m_ownerIdHasBeenSet =
true; m_ownerId.assign(value); }
227 inline void SetPrivateDnsName(
const char* value) { m_privateDnsNameHasBeenSet =
true; m_privateDnsName.assign(value); }
241 inline void SetPrivateIpAddress(
const char* value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress.assign(value); }
298 inline void SetRequesterId(
const char* value) { m_requesterIdHasBeenSet =
true; m_requesterId.assign(value); }
311 inline void SetRequesterManaged(
bool value) { m_requesterManagedHasBeenSet =
true; m_requesterManaged = value; }
321 inline void SetSourceDestCheck(
bool value) { m_sourceDestCheckHasBeenSet =
true; m_sourceDestCheck = value; }
345 inline void SetSubnetId(
const char* value) { m_subnetIdHasBeenSet =
true; m_subnetId.assign(value); }
373 inline void SetVpcId(
const char* value) { m_vpcIdHasBeenSet =
true; m_vpcId.assign(value); }
390 inline void SetDenyAllIgwTraffic(
bool value) { m_denyAllIgwTrafficHasBeenSet =
true; m_denyAllIgwTraffic = value; }
400 inline void SetIpv6Native(
bool value) { m_ipv6NativeHasBeenSet =
true; m_ipv6Native = value; }
412 inline void SetIpv6Address(
const char* value) { m_ipv6AddressHasBeenSet =
true; m_ipv6Address.assign(value); }
420 bool m_associationHasBeenSet =
false;
423 bool m_attachmentHasBeenSet =
false;
426 bool m_availabilityZoneHasBeenSet =
false;
429 bool m_connectionTrackingConfigurationHasBeenSet =
false;
432 bool m_descriptionHasBeenSet =
false;
435 bool m_groupsHasBeenSet =
false;
438 bool m_interfaceTypeHasBeenSet =
false;
441 bool m_ipv6AddressesHasBeenSet =
false;
444 bool m_macAddressHasBeenSet =
false;
447 bool m_networkInterfaceIdHasBeenSet =
false;
450 bool m_outpostArnHasBeenSet =
false;
453 bool m_ownerIdHasBeenSet =
false;
456 bool m_privateDnsNameHasBeenSet =
false;
459 bool m_privateIpAddressHasBeenSet =
false;
462 bool m_privateIpAddressesHasBeenSet =
false;
465 bool m_ipv4PrefixesHasBeenSet =
false;
468 bool m_ipv6PrefixesHasBeenSet =
false;
471 bool m_requesterIdHasBeenSet =
false;
473 bool m_requesterManaged;
474 bool m_requesterManagedHasBeenSet =
false;
476 bool m_sourceDestCheck;
477 bool m_sourceDestCheckHasBeenSet =
false;
480 bool m_statusHasBeenSet =
false;
483 bool m_subnetIdHasBeenSet =
false;
486 bool m_tagSetHasBeenSet =
false;
489 bool m_vpcIdHasBeenSet =
false;
491 bool m_denyAllIgwTraffic;
492 bool m_denyAllIgwTrafficHasBeenSet =
false;
495 bool m_ipv6NativeHasBeenSet =
false;
498 bool m_ipv6AddressHasBeenSet =
false;
NetworkInterface & AddIpv4Prefixes(Ipv4PrefixSpecification &&value)
NetworkInterface & WithTagSet(const Aws::Vector< Tag > &value)
const Aws::String & GetPrivateDnsName() const
NetworkInterface & WithDescription(const char *value)
bool Ipv6AddressHasBeenSet() const
void SetConnectionTrackingConfiguration(const ConnectionTrackingConfiguration &value)
void SetPrivateIpAddresses(const Aws::Vector< NetworkInterfacePrivateIpAddress > &value)
NetworkInterface & WithAvailabilityZone(const Aws::String &value)
void SetAttachment(NetworkInterfaceAttachment &&value)
void SetPrivateIpAddress(const char *value)
NetworkInterface & WithIpv4Prefixes(Aws::Vector< Ipv4PrefixSpecification > &&value)
void SetOutpostArn(const Aws::String &value)
bool GetSourceDestCheck() const
const Aws::String & GetVpcId() const
NetworkInterface & WithInterfaceType(NetworkInterfaceType &&value)
bool GetIpv6Native() const
NetworkInterface & WithIpv6Prefixes(const Aws::Vector< Ipv6PrefixSpecification > &value)
void SetIpv6Address(Aws::String &&value)
void SetStatus(const NetworkInterfaceStatus &value)
void SetAttachment(const NetworkInterfaceAttachment &value)
NetworkInterface & AddIpv6Prefixes(Ipv6PrefixSpecification &&value)
void SetPrivateIpAddress(const Aws::String &value)
void SetVpcId(const Aws::String &value)
void SetInterfaceType(NetworkInterfaceType &&value)
void SetAssociation(NetworkInterfaceAssociation &&value)
const Aws::String & GetRequesterId() const
NetworkInterface & WithSubnetId(Aws::String &&value)
void SetMacAddress(const char *value)
void SetOwnerId(const Aws::String &value)
NetworkInterface & WithPrivateIpAddress(const char *value)
NetworkInterface & WithRequesterId(const char *value)
NetworkInterface & WithVpcId(Aws::String &&value)
NetworkInterface & WithPrivateDnsName(const Aws::String &value)
NetworkInterface & WithIpv6Address(const Aws::String &value)
NetworkInterface & WithMacAddress(const Aws::String &value)
const Aws::String & GetPrivateIpAddress() const
bool PrivateDnsNameHasBeenSet() const
bool OutpostArnHasBeenSet() const
void SetGroups(const Aws::Vector< GroupIdentifier > &value)
void SetDescription(const char *value)
void SetMacAddress(const Aws::String &value)
NetworkInterface & WithVpcId(const Aws::String &value)
NetworkInterface & WithDenyAllIgwTraffic(bool value)
void SetPrivateDnsName(const Aws::String &value)
NetworkInterface & WithConnectionTrackingConfiguration(ConnectionTrackingConfiguration &&value)
const Aws::String & GetOwnerId() const
bool Ipv6NativeHasBeenSet() const
NetworkInterface & AddIpv6Prefixes(const Ipv6PrefixSpecification &value)
NetworkInterface & WithSubnetId(const Aws::String &value)
void SetAvailabilityZone(Aws::String &&value)
NetworkInterface & WithGroups(Aws::Vector< GroupIdentifier > &&value)
NetworkInterface & WithAssociation(const NetworkInterfaceAssociation &value)
void SetTagSet(Aws::Vector< Tag > &&value)
void SetVpcId(Aws::String &&value)
void SetOutpostArn(const char *value)
NetworkInterface & AddGroups(GroupIdentifier &&value)
NetworkInterface & AddIpv6Addresses(NetworkInterfaceIpv6Address &&value)
bool GetRequesterManaged() const
bool NetworkInterfaceIdHasBeenSet() const
NetworkInterface & WithPrivateIpAddresses(Aws::Vector< NetworkInterfacePrivateIpAddress > &&value)
NetworkInterface & WithAttachment(NetworkInterfaceAttachment &&value)
bool DenyAllIgwTrafficHasBeenSet() const
void SetVpcId(const char *value)
const Aws::String & GetMacAddress() const
void SetIpv6Addresses(const Aws::Vector< NetworkInterfaceIpv6Address > &value)
NetworkInterface & WithTagSet(Aws::Vector< Tag > &&value)
AWS_EC2_API NetworkInterface(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetPrivateDnsName(const char *value)
bool SourceDestCheckHasBeenSet() const
void SetIpv6Prefixes(const Aws::Vector< Ipv6PrefixSpecification > &value)
NetworkInterface & WithIpv6Native(bool value)
bool ConnectionTrackingConfigurationHasBeenSet() const
NetworkInterface & WithNetworkInterfaceId(const char *value)
void SetPrivateIpAddress(Aws::String &&value)
NetworkInterface & WithDescription(Aws::String &&value)
const Aws::String & GetOutpostArn() const
NetworkInterface & WithOutpostArn(const Aws::String &value)
void SetIpv6Native(bool value)
NetworkInterface & WithRequesterManaged(bool value)
NetworkInterface & WithPrivateDnsName(const char *value)
NetworkInterface & WithRequesterId(Aws::String &&value)
const NetworkInterfaceType & GetInterfaceType() const
bool PrivateIpAddressHasBeenSet() const
NetworkInterface & WithIpv6Address(const char *value)
NetworkInterface & WithPrivateIpAddress(const Aws::String &value)
NetworkInterface & WithVpcId(const char *value)
NetworkInterface & WithOutpostArn(const char *value)
NetworkInterface & WithIpv6Address(Aws::String &&value)
const Aws::String & GetDescription() const
NetworkInterface & WithOutpostArn(Aws::String &&value)
bool PrivateIpAddressesHasBeenSet() const
NetworkInterface & WithNetworkInterfaceId(Aws::String &&value)
NetworkInterface & WithConnectionTrackingConfiguration(const ConnectionTrackingConfiguration &value)
void SetDescription(Aws::String &&value)
const Aws::String & GetNetworkInterfaceId() const
NetworkInterface & WithStatus(NetworkInterfaceStatus &&value)
bool DescriptionHasBeenSet() const
void SetMacAddress(Aws::String &&value)
const Aws::Vector< Ipv4PrefixSpecification > & GetIpv4Prefixes() const
NetworkInterface & WithGroups(const Aws::Vector< GroupIdentifier > &value)
const NetworkInterfaceAssociation & GetAssociation() const
bool VpcIdHasBeenSet() const
bool OwnerIdHasBeenSet() const
void SetOutpostArn(Aws::String &&value)
const Aws::Vector< Ipv6PrefixSpecification > & GetIpv6Prefixes() const
NetworkInterface & AddIpv4Prefixes(const Ipv4PrefixSpecification &value)
NetworkInterface & WithPrivateIpAddress(Aws::String &&value)
void SetOwnerId(const char *value)
NetworkInterface & AddGroups(const GroupIdentifier &value)
const Aws::Vector< NetworkInterfacePrivateIpAddress > & GetPrivateIpAddresses() const
NetworkInterface & WithIpv6Prefixes(Aws::Vector< Ipv6PrefixSpecification > &&value)
NetworkInterface & WithAvailabilityZone(const char *value)
const NetworkInterfaceStatus & GetStatus() const
void SetRequesterManaged(bool value)
void SetDenyAllIgwTraffic(bool value)
bool GroupsHasBeenSet() const
void SetAvailabilityZone(const Aws::String &value)
void SetSubnetId(const char *value)
void SetRequesterId(Aws::String &&value)
bool StatusHasBeenSet() const
const Aws::String & GetIpv6Address() const
NetworkInterface & AddTagSet(Tag &&value)
void SetDescription(const Aws::String &value)
const Aws::String & GetAvailabilityZone() const
NetworkInterface & WithAttachment(const NetworkInterfaceAttachment &value)
NetworkInterface & WithNetworkInterfaceId(const Aws::String &value)
const ConnectionTrackingConfiguration & GetConnectionTrackingConfiguration() const
void SetStatus(NetworkInterfaceStatus &&value)
NetworkInterface & WithMacAddress(Aws::String &&value)
void SetNetworkInterfaceId(const char *value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetAssociation(const NetworkInterfaceAssociation &value)
NetworkInterface & WithSubnetId(const char *value)
const Aws::String & GetSubnetId() const
void SetGroups(Aws::Vector< GroupIdentifier > &&value)
void SetRequesterId(const char *value)
NetworkInterface & WithOwnerId(Aws::String &&value)
NetworkInterface & WithPrivateIpAddresses(const Aws::Vector< NetworkInterfacePrivateIpAddress > &value)
bool MacAddressHasBeenSet() const
NetworkInterface & WithPrivateDnsName(Aws::String &&value)
bool InterfaceTypeHasBeenSet() const
NetworkInterface & WithStatus(const NetworkInterfaceStatus &value)
void SetIpv4Prefixes(const Aws::Vector< Ipv4PrefixSpecification > &value)
NetworkInterface & AddPrivateIpAddresses(NetworkInterfacePrivateIpAddress &&value)
NetworkInterface & AddPrivateIpAddresses(const NetworkInterfacePrivateIpAddress &value)
void SetConnectionTrackingConfiguration(ConnectionTrackingConfiguration &&value)
void SetIpv4Prefixes(Aws::Vector< Ipv4PrefixSpecification > &&value)
void SetInterfaceType(const NetworkInterfaceType &value)
bool SubnetIdHasBeenSet() const
void SetPrivateDnsName(Aws::String &&value)
bool AssociationHasBeenSet() const
void SetIpv6Prefixes(Aws::Vector< Ipv6PrefixSpecification > &&value)
NetworkInterface & WithInterfaceType(const NetworkInterfaceType &value)
bool TagSetHasBeenSet() const
void SetTagSet(const Aws::Vector< Tag > &value)
NetworkInterface & WithIpv6Addresses(Aws::Vector< NetworkInterfaceIpv6Address > &&value)
void SetSubnetId(const Aws::String &value)
void SetPrivateIpAddresses(Aws::Vector< NetworkInterfacePrivateIpAddress > &&value)
NetworkInterface & WithMacAddress(const char *value)
NetworkInterface & AddTagSet(const Tag &value)
bool GetDenyAllIgwTraffic() const
AWS_EC2_API NetworkInterface()
NetworkInterface & WithOwnerId(const Aws::String &value)
const NetworkInterfaceAttachment & GetAttachment() const
AWS_EC2_API NetworkInterface & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetSourceDestCheck(bool value)
void SetNetworkInterfaceId(const Aws::String &value)
NetworkInterface & WithOwnerId(const char *value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
NetworkInterface & WithIpv6Addresses(const Aws::Vector< NetworkInterfaceIpv6Address > &value)
void SetSubnetId(Aws::String &&value)
bool AttachmentHasBeenSet() const
void SetAvailabilityZone(const char *value)
NetworkInterface & WithRequesterId(const Aws::String &value)
bool Ipv6PrefixesHasBeenSet() const
bool RequesterManagedHasBeenSet() const
NetworkInterface & WithIpv4Prefixes(const Aws::Vector< Ipv4PrefixSpecification > &value)
bool Ipv4PrefixesHasBeenSet() const
void SetIpv6Address(const Aws::String &value)
void SetOwnerId(Aws::String &&value)
NetworkInterface & WithAssociation(NetworkInterfaceAssociation &&value)
NetworkInterface & WithSourceDestCheck(bool value)
NetworkInterface & WithAvailabilityZone(Aws::String &&value)
const Aws::Vector< NetworkInterfaceIpv6Address > & GetIpv6Addresses() const
const Aws::Vector< GroupIdentifier > & GetGroups() const
void SetNetworkInterfaceId(Aws::String &&value)
void SetIpv6Address(const char *value)
void SetRequesterId(const Aws::String &value)
bool AvailabilityZoneHasBeenSet() const
NetworkInterface & AddIpv6Addresses(const NetworkInterfaceIpv6Address &value)
bool RequesterIdHasBeenSet() const
bool Ipv6AddressesHasBeenSet() const
const Aws::Vector< Tag > & GetTagSet() const
void SetIpv6Addresses(Aws::Vector< NetworkInterfaceIpv6Address > &&value)
NetworkInterface & WithDescription(const Aws::String &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