diff --git a/resource_aws_instance.go b/resource_aws_instance.go
index <HASH>..<HASH> 100644
--- a/resource_aws_instance.go
+++ b/resource_aws_instance.go
@@ -128,6 +128,11 @@ func resourceAwsInstance() *schema.Resource {
 				Computed: true,
 			},
 
+			"network_interface_id": &schema.Schema{
+				Type:     schema.TypeString,
+				Computed: true,
+			},
+
 			"public_ip": &schema.Schema{
 				Type:     schema.TypeString,
 				Computed: true,
@@ -488,10 +493,12 @@ func resourceAwsInstanceRead(d *schema.ResourceData, meta interface{}) error {
 		for _, ni := range instance.NetworkInterfaces {
 			if *ni.Attachment.DeviceIndex == 0 {
 				d.Set("subnet_id", ni.SubnetId)
+				d.Set("network_interface_id", ni.NetworkInterfaceId)
 			}
 		}
 	} else {
 		d.Set("subnet_id", instance.SubnetId)
+		d.Set("network_interface_id", "")
 	}
 	d.Set("ebs_optimized", instance.EbsOptimized)
 	if instance.SubnetId != nil && *instance.SubnetId != "" {
providers/aws: expose network interface id (#<I>)

Expose the network interface ID that is created with a new instance.



This can be useful when associating an existing elastic IP to the

default interface on an instance that has multiple network interfaces.