terraform/examples/alicloud-ecs/main.tf

49 lines
1.3 KiB
Terraform
Raw Normal View History

2017-01-19 15:08:56 +01:00
resource "alicloud_security_group" "group" {
name = "${var.short_name}"
description = "New security group"
}
resource "alicloud_disk" "disk" {
availability_zone = "${alicloud_instance.instance.0.availability_zone}"
2017-01-19 15:08:56 +01:00
category = "${var.disk_category}"
size = "${var.disk_size}"
count = "${var.count}"
}
resource "alicloud_instance" "instance" {
instance_name = "${var.short_name}-${var.role}-${format(var.count_format, count.index+1)}"
host_name = "${var.short_name}-${var.role}-${format(var.count_format, count.index+1)}"
image_id = "${var.image_id}"
instance_type = "${var.ecs_type}"
count = "${var.count}"
security_groups = ["${alicloud_security_group.group.*.id}"]
internet_charge_type = "${var.internet_charge_type}"
internet_max_bandwidth_out = "${var.internet_max_bandwidth_out}"
password = "${var.ecs_password}"
allocate_public_ip = "${var.allocate_public_ip}"
io_optimized = "${var.io_optimized}"
instance_charge_type = "PostPaid"
system_disk_category = "cloud_efficiency"
tags {
role = "${var.role}"
dc = "${var.datacenter}"
}
}
resource "alicloud_disk_attachment" "instance-attachment" {
count = "${var.count}"
disk_id = "${element(alicloud_disk.disk.*.id, count.index)}"
instance_id = "${element(alicloud_instance.instance.*.id, count.index)}"
device_name = "${var.device_name}"
}