/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a network interface.See Also:
AWS
* API Reference
The association information for an Elastic IPv4 associated with the network * interface.
*/ inline const InstanceNetworkInterfaceAssociation& GetAssociation() const{ return m_association; } /** *The association information for an Elastic IPv4 associated with the network * interface.
*/ inline bool AssociationHasBeenSet() const { return m_associationHasBeenSet; } /** *The association information for an Elastic IPv4 associated with the network * interface.
*/ inline void SetAssociation(const InstanceNetworkInterfaceAssociation& value) { m_associationHasBeenSet = true; m_association = value; } /** *The association information for an Elastic IPv4 associated with the network * interface.
*/ inline void SetAssociation(InstanceNetworkInterfaceAssociation&& value) { m_associationHasBeenSet = true; m_association = std::move(value); } /** *The association information for an Elastic IPv4 associated with the network * interface.
*/ inline InstanceNetworkInterface& WithAssociation(const InstanceNetworkInterfaceAssociation& value) { SetAssociation(value); return *this;} /** *The association information for an Elastic IPv4 associated with the network * interface.
*/ inline InstanceNetworkInterface& WithAssociation(InstanceNetworkInterfaceAssociation&& value) { SetAssociation(std::move(value)); return *this;} /** *The network interface attachment.
*/ inline const InstanceNetworkInterfaceAttachment& GetAttachment() const{ return m_attachment; } /** *The network interface attachment.
*/ inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; } /** *The network interface attachment.
*/ inline void SetAttachment(const InstanceNetworkInterfaceAttachment& value) { m_attachmentHasBeenSet = true; m_attachment = value; } /** *The network interface attachment.
*/ inline void SetAttachment(InstanceNetworkInterfaceAttachment&& value) { m_attachmentHasBeenSet = true; m_attachment = std::move(value); } /** *The network interface attachment.
*/ inline InstanceNetworkInterface& WithAttachment(const InstanceNetworkInterfaceAttachment& value) { SetAttachment(value); return *this;} /** *The network interface attachment.
*/ inline InstanceNetworkInterface& WithAttachment(InstanceNetworkInterfaceAttachment&& value) { SetAttachment(std::move(value)); return *this;} /** *The description.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description.
*/ inline InstanceNetworkInterface& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description.
*/ inline InstanceNetworkInterface& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description.
*/ inline InstanceNetworkInterface& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The security groups.
*/ inline const Aws::VectorThe security groups.
*/ inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; } /** *The security groups.
*/ inline void SetGroups(const Aws::VectorThe security groups.
*/ inline void SetGroups(Aws::VectorThe security groups.
*/ inline InstanceNetworkInterface& WithGroups(const Aws::VectorThe security groups.
*/ inline InstanceNetworkInterface& WithGroups(Aws::VectorThe security groups.
*/ inline InstanceNetworkInterface& AddGroups(const GroupIdentifier& value) { m_groupsHasBeenSet = true; m_groups.push_back(value); return *this; } /** *The security groups.
*/ inline InstanceNetworkInterface& AddGroups(GroupIdentifier&& value) { m_groupsHasBeenSet = true; m_groups.push_back(std::move(value)); return *this; } /** *The IPv6 addresses associated with the network interface.
*/ inline const Aws::VectorThe IPv6 addresses associated with the network interface.
*/ inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } /** *The IPv6 addresses associated with the network interface.
*/ inline void SetIpv6Addresses(const Aws::VectorThe IPv6 addresses associated with the network interface.
*/ inline void SetIpv6Addresses(Aws::VectorThe IPv6 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& WithIpv6Addresses(const Aws::VectorThe IPv6 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& WithIpv6Addresses(Aws::VectorThe IPv6 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& AddIpv6Addresses(const InstanceIpv6Address& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(value); return *this; } /** *The IPv6 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& AddIpv6Addresses(InstanceIpv6Address&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(std::move(value)); return *this; } /** *The MAC address.
*/ inline const Aws::String& GetMacAddress() const{ return m_macAddress; } /** *The MAC address.
*/ inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; } /** *The MAC address.
*/ inline void SetMacAddress(const Aws::String& value) { m_macAddressHasBeenSet = true; m_macAddress = value; } /** *The MAC address.
*/ inline void SetMacAddress(Aws::String&& value) { m_macAddressHasBeenSet = true; m_macAddress = std::move(value); } /** *The MAC address.
*/ inline void SetMacAddress(const char* value) { m_macAddressHasBeenSet = true; m_macAddress.assign(value); } /** *The MAC address.
*/ inline InstanceNetworkInterface& WithMacAddress(const Aws::String& value) { SetMacAddress(value); return *this;} /** *The MAC address.
*/ inline InstanceNetworkInterface& WithMacAddress(Aws::String&& value) { SetMacAddress(std::move(value)); return *this;} /** *The MAC address.
*/ inline InstanceNetworkInterface& WithMacAddress(const char* value) { SetMacAddress(value); return *this;} /** *The ID of the network interface.
*/ inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; } /** *The ID of the network interface.
*/ inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); } /** *The ID of the network interface.
*/ inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); } /** *The ID of the network interface.
*/ inline InstanceNetworkInterface& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;} /** *The ID of the network interface.
*/ inline InstanceNetworkInterface& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;} /** *The ID of the network interface.
*/ inline InstanceNetworkInterface& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;} /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline InstanceNetworkInterface& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline InstanceNetworkInterface& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *The ID of the Amazon Web Services account that created the network * interface.
*/ inline InstanceNetworkInterface& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *The private DNS name.
*/ inline const Aws::String& GetPrivateDnsName() const{ return m_privateDnsName; } /** *The private DNS name.
*/ inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; } /** *The private DNS name.
*/ inline void SetPrivateDnsName(const Aws::String& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = value; } /** *The private DNS name.
*/ inline void SetPrivateDnsName(Aws::String&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::move(value); } /** *The private DNS name.
*/ inline void SetPrivateDnsName(const char* value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName.assign(value); } /** *The private DNS name.
*/ inline InstanceNetworkInterface& WithPrivateDnsName(const Aws::String& value) { SetPrivateDnsName(value); return *this;} /** *The private DNS name.
*/ inline InstanceNetworkInterface& WithPrivateDnsName(Aws::String&& value) { SetPrivateDnsName(std::move(value)); return *this;} /** *The private DNS name.
*/ inline InstanceNetworkInterface& WithPrivateDnsName(const char* value) { SetPrivateDnsName(value); return *this;} /** *The IPv4 address of the network interface within the subnet.
*/ inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } /** *The IPv4 address of the network interface within the subnet.
*/ inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } /** *The IPv4 address of the network interface within the subnet.
*/ inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } /** *The IPv4 address of the network interface within the subnet.
*/ inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } /** *The IPv4 address of the network interface within the subnet.
*/ inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } /** *The IPv4 address of the network interface within the subnet.
*/ inline InstanceNetworkInterface& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} /** *The IPv4 address of the network interface within the subnet.
*/ inline InstanceNetworkInterface& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} /** *The IPv4 address of the network interface within the subnet.
*/ inline InstanceNetworkInterface& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} /** *The private IPv4 addresses associated with the network interface.
*/ inline const Aws::VectorThe private IPv4 addresses associated with the network interface.
*/ inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; } /** *The private IPv4 addresses associated with the network interface.
*/ inline void SetPrivateIpAddresses(const Aws::VectorThe private IPv4 addresses associated with the network interface.
*/ inline void SetPrivateIpAddresses(Aws::VectorThe private IPv4 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& WithPrivateIpAddresses(const Aws::VectorThe private IPv4 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& WithPrivateIpAddresses(Aws::VectorThe private IPv4 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& AddPrivateIpAddresses(const InstancePrivateIpAddress& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.push_back(value); return *this; } /** *The private IPv4 addresses associated with the network interface.
*/ inline InstanceNetworkInterface& AddPrivateIpAddresses(InstancePrivateIpAddress&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.push_back(std::move(value)); return *this; } /** *Indicates whether source/destination checking is enabled.
*/ inline bool GetSourceDestCheck() const{ return m_sourceDestCheck; } /** *Indicates whether source/destination checking is enabled.
*/ inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; } /** *Indicates whether source/destination checking is enabled.
*/ inline void SetSourceDestCheck(bool value) { m_sourceDestCheckHasBeenSet = true; m_sourceDestCheck = value; } /** *Indicates whether source/destination checking is enabled.
*/ inline InstanceNetworkInterface& WithSourceDestCheck(bool value) { SetSourceDestCheck(value); return *this;} /** *The status of the network interface.
*/ inline const NetworkInterfaceStatus& GetStatus() const{ return m_status; } /** *The status of the network interface.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the network interface.
*/ inline void SetStatus(const NetworkInterfaceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the network interface.
*/ inline void SetStatus(NetworkInterfaceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the network interface.
*/ inline InstanceNetworkInterface& WithStatus(const NetworkInterfaceStatus& value) { SetStatus(value); return *this;} /** *The status of the network interface.
*/ inline InstanceNetworkInterface& WithStatus(NetworkInterfaceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The ID of the subnet.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The ID of the subnet.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The ID of the subnet.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The ID of the subnet.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The ID of the subnet.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The ID of the subnet.
*/ inline InstanceNetworkInterface& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The ID of the subnet.
*/ inline InstanceNetworkInterface& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The ID of the subnet.
*/ inline InstanceNetworkInterface& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The ID of the VPC.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC.
*/ inline InstanceNetworkInterface& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC.
*/ inline InstanceNetworkInterface& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC.
*/ inline InstanceNetworkInterface& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The type of network interface.
Valid values: interface
|
* efa
| trunk
The IPv4 delegated prefixes that are assigned to the network interface.
*/ inline const Aws::VectorThe IPv4 delegated prefixes that are assigned to the network interface.
*/ inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; } /** *The IPv4 delegated prefixes that are assigned to the network interface.
*/ inline void SetIpv4Prefixes(const Aws::VectorThe IPv4 delegated prefixes that are assigned to the network interface.
*/ inline void SetIpv4Prefixes(Aws::VectorThe IPv4 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& WithIpv4Prefixes(const Aws::VectorThe IPv4 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& WithIpv4Prefixes(Aws::VectorThe IPv4 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& AddIpv4Prefixes(const InstanceIpv4Prefix& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.push_back(value); return *this; } /** *The IPv4 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& AddIpv4Prefixes(InstanceIpv4Prefix&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.push_back(std::move(value)); return *this; } /** *The IPv6 delegated prefixes that are assigned to the network interface.
*/ inline const Aws::VectorThe IPv6 delegated prefixes that are assigned to the network interface.
*/ inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; } /** *The IPv6 delegated prefixes that are assigned to the network interface.
*/ inline void SetIpv6Prefixes(const Aws::VectorThe IPv6 delegated prefixes that are assigned to the network interface.
*/ inline void SetIpv6Prefixes(Aws::VectorThe IPv6 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& WithIpv6Prefixes(const Aws::VectorThe IPv6 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& WithIpv6Prefixes(Aws::VectorThe IPv6 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& AddIpv6Prefixes(const InstanceIpv6Prefix& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.push_back(value); return *this; } /** *The IPv6 delegated prefixes that are assigned to the network interface.
*/ inline InstanceNetworkInterface& AddIpv6Prefixes(InstanceIpv6Prefix&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.push_back(std::move(value)); return *this; } private: InstanceNetworkInterfaceAssociation m_association; bool m_associationHasBeenSet = false; InstanceNetworkInterfaceAttachment m_attachment; bool m_attachmentHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector