» alicloud_network_interface_attachment

Provides an Alicloud ECS Elastic Network Interface Attachment as a resource to attach ENI to or detach ENI from ECS Instances.

For information about Elastic Network Interface and how to use it, see Elastic Network Interface.

» Example Usage

Bacis Usage

variable "name" {
  default = "networkInterfaceAttachment"
}

variable "number" {
  default = "2"
}

resource "alicloud_vpc" "vpc" {
  name       = "${var.name}"
  cidr_block = "192.168.0.0/24"
}

data "alicloud_zones" "default" {
  available_resource_creation = "VSwitch"
}

resource "alicloud_vswitch" "vswitch" {
  name              = "${var.name}"
  cidr_block        = "192.168.0.0/24"
  availability_zone = "${data.alicloud_zones.default.zones.0.id}"
  vpc_id            = "${alicloud_vpc.vpc.id}"
}

resource "alicloud_security_group" "group" {
  name   = "${var.name}"
  vpc_id = "${alicloud_vpc.vpc.id}"
}

data "alicloud_instance_types" "instance_type" {
  availability_zone = "${data.alicloud_zones.default.zones.0.id}"
  eni_amount        = 2
}

data "alicloud_images" "default" {
  name_regex  = "^ubuntu_14.*_64"
  most_recent = true
  owners      = "system"
}

resource "alicloud_instance" "instance" {
  count             = "${var.number}"
  availability_zone = "${data.alicloud_zones.default.zones.0.id}"
  security_groups   = ["${alicloud_security_group.group.id}"]

  instance_type              = "${data.alicloud_instance_types.instance_type.instance_types.0.id}"
  system_disk_category       = "cloud_efficiency"
  image_id                   = "${data.alicloud_images.default.images.0.id}"
  instance_name              = "${var.name}"
  vswitch_id                 = "${alicloud_vswitch.vswitch.id}"
  internet_max_bandwidth_out = 10
}

resource "alicloud_network_interface" "interface" {
  count           = "${var.number}"
  name            = "${var.name}"
  vswitch_id      = "${alicloud_vswitch.vswitch.id}"
  security_groups = ["${alicloud_security_group.group.id}"]
}

resource "alicloud_network_interface_attachment" "attachment" {
  count                = "${var.number}"
  instance_id          = "${element(alicloud_instance.instance.*.id, count.index)}"
  network_interface_id = "${element(alicloud_network_interface.interface.*.id, count.index)}"
}

» Argument Reference

The following argument are supported:

» Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The ID of the resource, formatted as <network_interface_id>:<instance_id>.

» Import

Network Interfaces Attachment resource can be imported using the id, e.g.

$ terraform import alicloud_network_interface.eni eni-abc123456789000:i-abc123456789000