aws.ec2.NetworkInterface
Explore with Pulumi AI
Provides an Elastic network interface (ENI) resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.ec2.NetworkInterface("test", {
    subnetId: publicA.id,
    privateIps: ["10.0.0.50"],
    securityGroups: [web.id],
    attachments: [{
        instance: testAwsInstance.id,
        deviceIndex: 1,
    }],
});
import pulumi
import pulumi_aws as aws
test = aws.ec2.NetworkInterface("test",
    subnet_id=public_a["id"],
    private_ips=["10.0.0.50"],
    security_groups=[web["id"]],
    attachments=[{
        "instance": test_aws_instance["id"],
        "device_index": 1,
    }])
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewNetworkInterface(ctx, "test", &ec2.NetworkInterfaceArgs{
			SubnetId: pulumi.Any(publicA.Id),
			PrivateIps: pulumi.StringArray{
				pulumi.String("10.0.0.50"),
			},
			SecurityGroups: pulumi.StringArray{
				web.Id,
			},
			Attachments: ec2.NetworkInterfaceAttachmentTypeArray{
				&ec2.NetworkInterfaceAttachmentTypeArgs{
					Instance:    pulumi.Any(testAwsInstance.Id),
					DeviceIndex: pulumi.Int(1),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.Ec2.NetworkInterface("test", new()
    {
        SubnetId = publicA.Id,
        PrivateIps = new[]
        {
            "10.0.0.50",
        },
        SecurityGroups = new[]
        {
            web.Id,
        },
        Attachments = new[]
        {
            new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs
            {
                Instance = testAwsInstance.Id,
                DeviceIndex = 1,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.NetworkInterface;
import com.pulumi.aws.ec2.NetworkInterfaceArgs;
import com.pulumi.aws.ec2.inputs.NetworkInterfaceAttachmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new NetworkInterface("test", NetworkInterfaceArgs.builder()
            .subnetId(publicA.id())
            .privateIps("10.0.0.50")
            .securityGroups(web.id())
            .attachments(NetworkInterfaceAttachmentArgs.builder()
                .instance(testAwsInstance.id())
                .deviceIndex(1)
                .build())
            .build());
    }
}
resources:
  test:
    type: aws:ec2:NetworkInterface
    properties:
      subnetId: ${publicA.id}
      privateIps:
        - 10.0.0.50
      securityGroups:
        - ${web.id}
      attachments:
        - instance: ${testAwsInstance.id}
          deviceIndex: 1
Example of Managing Multiple IPs on a Network Interface
By default, private IPs are managed through the private_ips and private_ips_count arguments which manage IPs as a set of IPs that are configured without regard to order. For a new network interface, the same primary IP address is consistently selected from a given set of addresses, regardless of the order provided. However, modifications of the set of addresses of an existing interface will not alter the current primary IP address unless it has been removed from the set.
In order to manage the private IPs as a sequentially ordered list, configure private_ip_list_enabled to true and use private_ip_list to manage the IPs. This will disable the private_ips and private_ips_count settings, which must be removed from the config file but are still exported. Note that changing the first address of private_ip_list, which is the primary, always requires a new interface.
If you are managing a specific set or list of IPs, instead of just using private_ips_count, this is a potential workflow for also leveraging private_ips_count to have AWS automatically assign additional IP addresses:
- Comment out private_ips,private_ip_list,private_ip_list_enabledin your configuration
- Set the desired private_ips_count(count of the number of secondaries, the primary is not included)
- Apply to assign the extra IPs
- Remove private_ips_countand restore your settings from the first step
- Add the new IPs to your current settings
- Apply again to update the stored state
This process can also be used to remove IP addresses in addition to the option of manually removing them. Adding IP addresses in a manually is more difficult because it requires knowledge of which addresses are available.
Create NetworkInterface Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new NetworkInterface(name: string, args: NetworkInterfaceArgs, opts?: CustomResourceOptions);@overload
def NetworkInterface(resource_name: str,
                     args: NetworkInterfaceArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def NetworkInterface(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     subnet_id: Optional[str] = None,
                     ipv6_prefix_count: Optional[int] = None,
                     source_dest_check: Optional[bool] = None,
                     interface_type: Optional[str] = None,
                     ipv4_prefix_count: Optional[int] = None,
                     ipv4_prefixes: Optional[Sequence[str]] = None,
                     ipv6_address_count: Optional[int] = None,
                     ipv6_address_list_enabled: Optional[bool] = None,
                     ipv6_prefixes: Optional[Sequence[str]] = None,
                     tags: Optional[Mapping[str, str]] = None,
                     enable_primary_ipv6: Optional[bool] = None,
                     ipv6_address_lists: Optional[Sequence[str]] = None,
                     private_ip: Optional[str] = None,
                     private_ip_list_enabled: Optional[bool] = None,
                     private_ip_lists: Optional[Sequence[str]] = None,
                     private_ips: Optional[Sequence[str]] = None,
                     private_ips_count: Optional[int] = None,
                     security_groups: Optional[Sequence[str]] = None,
                     attachments: Optional[Sequence[NetworkInterfaceAttachmentArgs]] = None,
                     description: Optional[str] = None,
                     ipv6_addresses: Optional[Sequence[str]] = None)func NewNetworkInterface(ctx *Context, name string, args NetworkInterfaceArgs, opts ...ResourceOption) (*NetworkInterface, error)public NetworkInterface(string name, NetworkInterfaceArgs args, CustomResourceOptions? opts = null)
public NetworkInterface(String name, NetworkInterfaceArgs args)
public NetworkInterface(String name, NetworkInterfaceArgs args, CustomResourceOptions options)
type: aws:ec2:NetworkInterface
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args NetworkInterfaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args NetworkInterfaceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args NetworkInterfaceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args NetworkInterfaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args NetworkInterfaceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var networkInterfaceResource = new Aws.Ec2.NetworkInterface("networkInterfaceResource", new()
{
    SubnetId = "string",
    Ipv6PrefixCount = 0,
    SourceDestCheck = false,
    InterfaceType = "string",
    Ipv4PrefixCount = 0,
    Ipv4Prefixes = new[]
    {
        "string",
    },
    Ipv6AddressCount = 0,
    Ipv6AddressListEnabled = false,
    Ipv6Prefixes = new[]
    {
        "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    EnablePrimaryIpv6 = false,
    Ipv6AddressLists = new[]
    {
        "string",
    },
    PrivateIp = "string",
    PrivateIpListEnabled = false,
    PrivateIpLists = new[]
    {
        "string",
    },
    PrivateIps = new[]
    {
        "string",
    },
    PrivateIpsCount = 0,
    SecurityGroups = new[]
    {
        "string",
    },
    Attachments = new[]
    {
        new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs
        {
            DeviceIndex = 0,
            Instance = "string",
            AttachmentId = "string",
        },
    },
    Description = "string",
    Ipv6Addresses = new[]
    {
        "string",
    },
});
example, err := ec2.NewNetworkInterface(ctx, "networkInterfaceResource", &ec2.NetworkInterfaceArgs{
	SubnetId:        pulumi.String("string"),
	Ipv6PrefixCount: pulumi.Int(0),
	SourceDestCheck: pulumi.Bool(false),
	InterfaceType:   pulumi.String("string"),
	Ipv4PrefixCount: pulumi.Int(0),
	Ipv4Prefixes: pulumi.StringArray{
		pulumi.String("string"),
	},
	Ipv6AddressCount:       pulumi.Int(0),
	Ipv6AddressListEnabled: pulumi.Bool(false),
	Ipv6Prefixes: pulumi.StringArray{
		pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	EnablePrimaryIpv6: pulumi.Bool(false),
	Ipv6AddressLists: pulumi.StringArray{
		pulumi.String("string"),
	},
	PrivateIp:            pulumi.String("string"),
	PrivateIpListEnabled: pulumi.Bool(false),
	PrivateIpLists: pulumi.StringArray{
		pulumi.String("string"),
	},
	PrivateIps: pulumi.StringArray{
		pulumi.String("string"),
	},
	PrivateIpsCount: pulumi.Int(0),
	SecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	Attachments: ec2.NetworkInterfaceAttachmentTypeArray{
		&ec2.NetworkInterfaceAttachmentTypeArgs{
			DeviceIndex:  pulumi.Int(0),
			Instance:     pulumi.String("string"),
			AttachmentId: pulumi.String("string"),
		},
	},
	Description: pulumi.String("string"),
	Ipv6Addresses: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var networkInterfaceResource = new NetworkInterface("networkInterfaceResource", NetworkInterfaceArgs.builder()
    .subnetId("string")
    .ipv6PrefixCount(0)
    .sourceDestCheck(false)
    .interfaceType("string")
    .ipv4PrefixCount(0)
    .ipv4Prefixes("string")
    .ipv6AddressCount(0)
    .ipv6AddressListEnabled(false)
    .ipv6Prefixes("string")
    .tags(Map.of("string", "string"))
    .enablePrimaryIpv6(false)
    .ipv6AddressLists("string")
    .privateIp("string")
    .privateIpListEnabled(false)
    .privateIpLists("string")
    .privateIps("string")
    .privateIpsCount(0)
    .securityGroups("string")
    .attachments(NetworkInterfaceAttachmentArgs.builder()
        .deviceIndex(0)
        .instance("string")
        .attachmentId("string")
        .build())
    .description("string")
    .ipv6Addresses("string")
    .build());
network_interface_resource = aws.ec2.NetworkInterface("networkInterfaceResource",
    subnet_id="string",
    ipv6_prefix_count=0,
    source_dest_check=False,
    interface_type="string",
    ipv4_prefix_count=0,
    ipv4_prefixes=["string"],
    ipv6_address_count=0,
    ipv6_address_list_enabled=False,
    ipv6_prefixes=["string"],
    tags={
        "string": "string",
    },
    enable_primary_ipv6=False,
    ipv6_address_lists=["string"],
    private_ip="string",
    private_ip_list_enabled=False,
    private_ip_lists=["string"],
    private_ips=["string"],
    private_ips_count=0,
    security_groups=["string"],
    attachments=[{
        "device_index": 0,
        "instance": "string",
        "attachment_id": "string",
    }],
    description="string",
    ipv6_addresses=["string"])
const networkInterfaceResource = new aws.ec2.NetworkInterface("networkInterfaceResource", {
    subnetId: "string",
    ipv6PrefixCount: 0,
    sourceDestCheck: false,
    interfaceType: "string",
    ipv4PrefixCount: 0,
    ipv4Prefixes: ["string"],
    ipv6AddressCount: 0,
    ipv6AddressListEnabled: false,
    ipv6Prefixes: ["string"],
    tags: {
        string: "string",
    },
    enablePrimaryIpv6: false,
    ipv6AddressLists: ["string"],
    privateIp: "string",
    privateIpListEnabled: false,
    privateIpLists: ["string"],
    privateIps: ["string"],
    privateIpsCount: 0,
    securityGroups: ["string"],
    attachments: [{
        deviceIndex: 0,
        instance: "string",
        attachmentId: "string",
    }],
    description: "string",
    ipv6Addresses: ["string"],
});
type: aws:ec2:NetworkInterface
properties:
    attachments:
        - attachmentId: string
          deviceIndex: 0
          instance: string
    description: string
    enablePrimaryIpv6: false
    interfaceType: string
    ipv4PrefixCount: 0
    ipv4Prefixes:
        - string
    ipv6AddressCount: 0
    ipv6AddressListEnabled: false
    ipv6AddressLists:
        - string
    ipv6Addresses:
        - string
    ipv6PrefixCount: 0
    ipv6Prefixes:
        - string
    privateIp: string
    privateIpListEnabled: false
    privateIpLists:
        - string
    privateIps:
        - string
    privateIpsCount: 0
    securityGroups:
        - string
    sourceDestCheck: false
    subnetId: string
    tags:
        string: string
NetworkInterface Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The NetworkInterface resource accepts the following input properties:
- SubnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Attachments
List<NetworkInterface Attachment> 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- Description string
- Description for the network interface.
- EnablePrimary boolIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- InterfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- Ipv4PrefixCount int
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- Ipv4Prefixes List<string>
- One or more IPv4 prefixes assigned to the network interface.
- Ipv6AddressCount int
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- Ipv6AddressList boolEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- Ipv6AddressLists List<string>
- List of private IPs to assign to the ENI in sequential order.
- Ipv6Addresses List<string>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- Ipv6PrefixCount int
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- Ipv6Prefixes List<string>
- One or more IPv6 prefixes assigned to the network interface.
- PrivateIp string
- PrivateIp boolList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- PrivateIp List<string>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- PrivateIps List<string>
- List of private IPs to assign to the ENI without regard to order.
- PrivateIps intCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- SecurityGroups List<string>
- List of security group IDs to assign to the ENI.
- SourceDest boolCheck 
- Whether to enable source destination checking for the ENI. Default true.
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- SubnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Attachments
[]NetworkInterface Attachment Type Args 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- Description string
- Description for the network interface.
- EnablePrimary boolIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- InterfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- Ipv4PrefixCount int
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- Ipv4Prefixes []string
- One or more IPv4 prefixes assigned to the network interface.
- Ipv6AddressCount int
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- Ipv6AddressList boolEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- Ipv6AddressLists []string
- List of private IPs to assign to the ENI in sequential order.
- Ipv6Addresses []string
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- Ipv6PrefixCount int
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- Ipv6Prefixes []string
- One or more IPv6 prefixes assigned to the network interface.
- PrivateIp string
- PrivateIp boolList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- PrivateIp []stringLists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- PrivateIps []string
- List of private IPs to assign to the ENI without regard to order.
- PrivateIps intCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- SecurityGroups []string
- List of security group IDs to assign to the ENI.
- SourceDest boolCheck 
- Whether to enable source destination checking for the ENI. Default true.
- map[string]string
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- subnetId String
- Subnet ID to create the ENI in. - The following arguments are optional: 
- attachments
List<NetworkInterface Attachment> 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description String
- Description for the network interface.
- enablePrimary BooleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType String
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount Integer
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes List<String>
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount Integer
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList BooleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists List<String>
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses List<String>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount Integer
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes List<String>
- One or more IPv6 prefixes assigned to the network interface.
- privateIp String
- privateIp BooleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp List<String>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps List<String>
- List of private IPs to assign to the ENI without regard to order.
- privateIps IntegerCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups List<String>
- List of security group IDs to assign to the ENI.
- sourceDest BooleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- subnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- attachments
NetworkInterface Attachment[] 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description string
- Description for the network interface.
- enablePrimary booleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount number
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes string[]
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount number
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList booleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists string[]
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses string[]
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount number
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes string[]
- One or more IPv6 prefixes assigned to the network interface.
- privateIp string
- privateIp booleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp string[]Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps string[]
- List of private IPs to assign to the ENI without regard to order.
- privateIps numberCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups string[]
- List of security group IDs to assign to the ENI.
- sourceDest booleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- subnet_id str
- Subnet ID to create the ENI in. - The following arguments are optional: 
- attachments
Sequence[NetworkInterface Attachment Args] 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description str
- Description for the network interface.
- enable_primary_ boolipv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interface_type str
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4_prefix_ intcount 
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4_prefixes Sequence[str]
- One or more IPv4 prefixes assigned to the network interface.
- ipv6_address_ intcount 
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6_address_ boollist_ enabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6_address_ Sequence[str]lists 
- List of private IPs to assign to the ENI in sequential order.
- ipv6_addresses Sequence[str]
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6_prefix_ intcount 
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6_prefixes Sequence[str]
- One or more IPv6 prefixes assigned to the network interface.
- private_ip str
- private_ip_ boollist_ enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- private_ip_ Sequence[str]lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- private_ips Sequence[str]
- List of private IPs to assign to the ENI without regard to order.
- private_ips_ intcount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- security_groups Sequence[str]
- List of security group IDs to assign to the ENI.
- source_dest_ boolcheck 
- Whether to enable source destination checking for the ENI. Default true.
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- subnetId String
- Subnet ID to create the ENI in. - The following arguments are optional: 
- attachments List<Property Map>
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description String
- Description for the network interface.
- enablePrimary BooleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType String
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount Number
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes List<String>
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount Number
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList BooleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists List<String>
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses List<String>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount Number
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes List<String>
- One or more IPv6 prefixes assigned to the network interface.
- privateIp String
- privateIp BooleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp List<String>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps List<String>
- List of private IPs to assign to the ENI without regard to order.
- privateIps NumberCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups List<String>
- List of security group IDs to assign to the ENI.
- sourceDest BooleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- Map<String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
Outputs
All input properties are implicitly available as output properties. Additionally, the NetworkInterface resource produces the following output properties:
- Arn string
- ARN of the network interface.
- Id string
- The provider-assigned unique ID for this managed resource.
- MacAddress string
- MAC address of the network interface.
- OutpostArn string
- OwnerId string
- AWS account ID of the owner of the network interface.
- PrivateDns stringName 
- Private DNS name of the network interface (IPv4).
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the network interface.
- Id string
- The provider-assigned unique ID for this managed resource.
- MacAddress string
- MAC address of the network interface.
- OutpostArn string
- OwnerId string
- AWS account ID of the owner of the network interface.
- PrivateDns stringName 
- Private DNS name of the network interface (IPv4).
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the network interface.
- id String
- The provider-assigned unique ID for this managed resource.
- macAddress String
- MAC address of the network interface.
- outpostArn String
- ownerId String
- AWS account ID of the owner of the network interface.
- privateDns StringName 
- Private DNS name of the network interface (IPv4).
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the network interface.
- id string
- The provider-assigned unique ID for this managed resource.
- macAddress string
- MAC address of the network interface.
- outpostArn string
- ownerId string
- AWS account ID of the owner of the network interface.
- privateDns stringName 
- Private DNS name of the network interface (IPv4).
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the network interface.
- id str
- The provider-assigned unique ID for this managed resource.
- mac_address str
- MAC address of the network interface.
- outpost_arn str
- owner_id str
- AWS account ID of the owner of the network interface.
- private_dns_ strname 
- Private DNS name of the network interface (IPv4).
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the network interface.
- id String
- The provider-assigned unique ID for this managed resource.
- macAddress String
- MAC address of the network interface.
- outpostArn String
- ownerId String
- AWS account ID of the owner of the network interface.
- privateDns StringName 
- Private DNS name of the network interface (IPv4).
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Look up Existing NetworkInterface Resource
Get an existing NetworkInterface resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: NetworkInterfaceState, opts?: CustomResourceOptions): NetworkInterface@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        attachments: Optional[Sequence[NetworkInterfaceAttachmentArgs]] = None,
        description: Optional[str] = None,
        enable_primary_ipv6: Optional[bool] = None,
        interface_type: Optional[str] = None,
        ipv4_prefix_count: Optional[int] = None,
        ipv4_prefixes: Optional[Sequence[str]] = None,
        ipv6_address_count: Optional[int] = None,
        ipv6_address_list_enabled: Optional[bool] = None,
        ipv6_address_lists: Optional[Sequence[str]] = None,
        ipv6_addresses: Optional[Sequence[str]] = None,
        ipv6_prefix_count: Optional[int] = None,
        ipv6_prefixes: Optional[Sequence[str]] = None,
        mac_address: Optional[str] = None,
        outpost_arn: Optional[str] = None,
        owner_id: Optional[str] = None,
        private_dns_name: Optional[str] = None,
        private_ip: Optional[str] = None,
        private_ip_list_enabled: Optional[bool] = None,
        private_ip_lists: Optional[Sequence[str]] = None,
        private_ips: Optional[Sequence[str]] = None,
        private_ips_count: Optional[int] = None,
        security_groups: Optional[Sequence[str]] = None,
        source_dest_check: Optional[bool] = None,
        subnet_id: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> NetworkInterfacefunc GetNetworkInterface(ctx *Context, name string, id IDInput, state *NetworkInterfaceState, opts ...ResourceOption) (*NetworkInterface, error)public static NetworkInterface Get(string name, Input<string> id, NetworkInterfaceState? state, CustomResourceOptions? opts = null)public static NetworkInterface get(String name, Output<String> id, NetworkInterfaceState state, CustomResourceOptions options)resources:  _:    type: aws:ec2:NetworkInterface    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN of the network interface.
- Attachments
List<NetworkInterface Attachment> 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- Description string
- Description for the network interface.
- EnablePrimary boolIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- InterfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- Ipv4PrefixCount int
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- Ipv4Prefixes List<string>
- One or more IPv4 prefixes assigned to the network interface.
- Ipv6AddressCount int
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- Ipv6AddressList boolEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- Ipv6AddressLists List<string>
- List of private IPs to assign to the ENI in sequential order.
- Ipv6Addresses List<string>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- Ipv6PrefixCount int
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- Ipv6Prefixes List<string>
- One or more IPv6 prefixes assigned to the network interface.
- MacAddress string
- MAC address of the network interface.
- OutpostArn string
- OwnerId string
- AWS account ID of the owner of the network interface.
- PrivateDns stringName 
- Private DNS name of the network interface (IPv4).
- PrivateIp string
- PrivateIp boolList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- PrivateIp List<string>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- PrivateIps List<string>
- List of private IPs to assign to the ENI without regard to order.
- PrivateIps intCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- SecurityGroups List<string>
- List of security group IDs to assign to the ENI.
- SourceDest boolCheck 
- Whether to enable source destination checking for the ENI. Default true.
- SubnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the network interface.
- Attachments
[]NetworkInterface Attachment Type Args 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- Description string
- Description for the network interface.
- EnablePrimary boolIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- InterfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- Ipv4PrefixCount int
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- Ipv4Prefixes []string
- One or more IPv4 prefixes assigned to the network interface.
- Ipv6AddressCount int
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- Ipv6AddressList boolEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- Ipv6AddressLists []string
- List of private IPs to assign to the ENI in sequential order.
- Ipv6Addresses []string
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- Ipv6PrefixCount int
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- Ipv6Prefixes []string
- One or more IPv6 prefixes assigned to the network interface.
- MacAddress string
- MAC address of the network interface.
- OutpostArn string
- OwnerId string
- AWS account ID of the owner of the network interface.
- PrivateDns stringName 
- Private DNS name of the network interface (IPv4).
- PrivateIp string
- PrivateIp boolList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- PrivateIp []stringLists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- PrivateIps []string
- List of private IPs to assign to the ENI without regard to order.
- PrivateIps intCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- SecurityGroups []string
- List of security group IDs to assign to the ENI.
- SourceDest boolCheck 
- Whether to enable source destination checking for the ENI. Default true.
- SubnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- map[string]string
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the network interface.
- attachments
List<NetworkInterface Attachment> 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description String
- Description for the network interface.
- enablePrimary BooleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType String
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount Integer
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes List<String>
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount Integer
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList BooleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists List<String>
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses List<String>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount Integer
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes List<String>
- One or more IPv6 prefixes assigned to the network interface.
- macAddress String
- MAC address of the network interface.
- outpostArn String
- ownerId String
- AWS account ID of the owner of the network interface.
- privateDns StringName 
- Private DNS name of the network interface (IPv4).
- privateIp String
- privateIp BooleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp List<String>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps List<String>
- List of private IPs to assign to the ENI without regard to order.
- privateIps IntegerCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups List<String>
- List of security group IDs to assign to the ENI.
- sourceDest BooleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- subnetId String
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the network interface.
- attachments
NetworkInterface Attachment[] 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description string
- Description for the network interface.
- enablePrimary booleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType string
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount number
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes string[]
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount number
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList booleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists string[]
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses string[]
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount number
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes string[]
- One or more IPv6 prefixes assigned to the network interface.
- macAddress string
- MAC address of the network interface.
- outpostArn string
- ownerId string
- AWS account ID of the owner of the network interface.
- privateDns stringName 
- Private DNS name of the network interface (IPv4).
- privateIp string
- privateIp booleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp string[]Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps string[]
- List of private IPs to assign to the ENI without regard to order.
- privateIps numberCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups string[]
- List of security group IDs to assign to the ENI.
- sourceDest booleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- subnetId string
- Subnet ID to create the ENI in. - The following arguments are optional: 
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the network interface.
- attachments
Sequence[NetworkInterface Attachment Args] 
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description str
- Description for the network interface.
- enable_primary_ boolipv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interface_type str
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4_prefix_ intcount 
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4_prefixes Sequence[str]
- One or more IPv4 prefixes assigned to the network interface.
- ipv6_address_ intcount 
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6_address_ boollist_ enabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6_address_ Sequence[str]lists 
- List of private IPs to assign to the ENI in sequential order.
- ipv6_addresses Sequence[str]
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6_prefix_ intcount 
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6_prefixes Sequence[str]
- One or more IPv6 prefixes assigned to the network interface.
- mac_address str
- MAC address of the network interface.
- outpost_arn str
- owner_id str
- AWS account ID of the owner of the network interface.
- private_dns_ strname 
- Private DNS name of the network interface (IPv4).
- private_ip str
- private_ip_ boollist_ enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- private_ip_ Sequence[str]lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- private_ips Sequence[str]
- List of private IPs to assign to the ENI without regard to order.
- private_ips_ intcount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- security_groups Sequence[str]
- List of security group IDs to assign to the ENI.
- source_dest_ boolcheck 
- Whether to enable source destination checking for the ENI. Default true.
- subnet_id str
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the network interface.
- attachments List<Property Map>
- Configuration block to define the attachment of the ENI. See Attachment below for more details!
- description String
- Description for the network interface.
- enablePrimary BooleanIpv6 
- Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
- interfaceType String
- Type of network interface to create. Set to efafor Elastic Fabric Adapter. Changinginterface_typewill cause the resource to be destroyed and re-created.
- ipv4PrefixCount Number
- Number of IPv4 prefixes that AWS automatically assigns to the network interface.
- ipv4Prefixes List<String>
- One or more IPv4 prefixes assigned to the network interface.
- ipv6AddressCount Number
- Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific ipv6_addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set totrue, you can specify0to override this setting.
- ipv6AddressList BooleanEnabled 
- Whether ipv6_address_listis allowed and controls the IPs to assign to the ENI andipv6_addressesandipv6_address_countbecome read-only. Default isfalse.
- ipv6AddressLists List<String>
- List of private IPs to assign to the ENI in sequential order.
- ipv6Addresses List<String>
- One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying ipv6_address_count.
- ipv6PrefixCount Number
- Number of IPv6 prefixes that AWS automatically assigns to the network interface.
- ipv6Prefixes List<String>
- One or more IPv6 prefixes assigned to the network interface.
- macAddress String
- MAC address of the network interface.
- outpostArn String
- ownerId String
- AWS account ID of the owner of the network interface.
- privateDns StringName 
- Private DNS name of the network interface (IPv4).
- privateIp String
- privateIp BooleanList Enabled 
- Whether private_ip_listis allowed and controls the IPs to assign to the ENI andprivate_ipsandprivate_ips_countbecome read-only. Default isfalse.
- privateIp List<String>Lists 
- List of private IPs to assign to the ENI in sequential order. Requires setting private_ip_list_enabledtotrue.
- privateIps List<String>
- List of private IPs to assign to the ENI without regard to order.
- privateIps NumberCount 
- Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + private_ips_count, as a primary private IP will be assiged to an ENI by default.
- securityGroups List<String>
- List of security group IDs to assign to the ENI.
- sourceDest BooleanCheck 
- Whether to enable source destination checking for the ENI. Default true.
- subnetId String
- Subnet ID to create the ENI in. - The following arguments are optional: 
- Map<String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Supporting Types
NetworkInterfaceAttachment, NetworkInterfaceAttachmentArgs      
- DeviceIndex int
- Integer to define the devices index.
- Instance string
- ID of the instance to attach to.
- AttachmentId string
- DeviceIndex int
- Integer to define the devices index.
- Instance string
- ID of the instance to attach to.
- AttachmentId string
- deviceIndex Integer
- Integer to define the devices index.
- instance String
- ID of the instance to attach to.
- attachmentId String
- deviceIndex number
- Integer to define the devices index.
- instance string
- ID of the instance to attach to.
- attachmentId string
- device_index int
- Integer to define the devices index.
- instance str
- ID of the instance to attach to.
- attachment_id str
- deviceIndex Number
- Integer to define the devices index.
- instance String
- ID of the instance to attach to.
- attachmentId String
Import
Using pulumi import, import Network Interfaces using the id. For example:
$ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.