|
1 | 1 | # Query availability zone |
2 | | -data "ucloud_zones" "default" {} |
| 2 | +data "ucloud_zones" "default" { |
| 3 | +} |
3 | 4 |
|
4 | 5 | # Query image |
5 | 6 | data "ucloud_images" "default" { |
6 | | - availability_zone = "${data.ucloud_zones.default.zones.0.id}" |
7 | | - name_regex = "${var.image_name_regex}" |
8 | | - image_type = "${var.image_type}" |
| 7 | + availability_zone = data.ucloud_zones.default.zones[0].id |
| 8 | + name_regex = var.image_name_regex |
| 9 | + image_type = var.image_type |
9 | 10 | } |
10 | 11 |
|
11 | 12 | # Create uhost instance |
12 | 13 | resource "ucloud_instance" "instances" { |
13 | | - image_id = "${var.image_id == "" ? data.ucloud_images.default.images.0.id : var.image_id }" |
14 | | - availability_zone = "${var.availability_zone == "" ? data.ucloud_zones.default.zones.0.id : var.availability_zone}" |
15 | | - instance_type = "${var.instance_type}" |
16 | | - root_password = "${var.password}" |
17 | | - name = "${var.instance_count < 2 ? var.instance_name : format("%s-%s", var.instance_name, format(var.count_format, count.index+1))}" |
18 | | - charge_type = "${var.charge_type}" |
19 | | - duration = "${var.duration}" |
20 | | - tag = "${var.tag}" |
21 | | - security_group = "${var.security_group}" |
22 | | - vpc_id = "${var.vpc_id}" |
23 | | - subnet_id = "${var.subnet_id}" |
| 14 | + image_id = var.image_id == "" ? data.ucloud_images.default.images[0].id : var.image_id |
| 15 | + availability_zone = var.availability_zone == "" ? data.ucloud_zones.default.zones[0].id : var.availability_zone |
| 16 | + instance_type = var.instance_type |
| 17 | + root_password = var.password |
| 18 | + name = var.instance_count < 2 ? var.instance_name : format( |
| 19 | + "%s-%s", |
| 20 | + var.instance_name, |
| 21 | + format(var.count_format, count.index + 1), |
| 22 | + ) |
| 23 | + charge_type = var.charge_type |
| 24 | + duration = var.duration |
| 25 | + tag = var.tag |
| 26 | + security_group = var.security_group |
| 27 | + vpc_id = var.vpc_id |
| 28 | + subnet_id = var.subnet_id |
24 | 29 |
|
25 | | - data_disk_size = "${var.local_disk_size}" |
26 | | - data_disk_type = "${var.local_disk_type}" |
| 30 | + data_disk_size = var.local_disk_size |
| 31 | + data_disk_type = var.local_disk_type |
27 | 32 |
|
28 | | - # boot_disk_size = "${var.boot_disk_size}" |
29 | | - boot_disk_type = "${var.boot_disk_type}" |
| 33 | + boot_disk_type = var.boot_disk_type |
30 | 34 |
|
31 | | - count = "${var.instance_count}" |
| 35 | + count = var.instance_count |
32 | 36 | } |
33 | 37 |
|
34 | 38 | # Create eip |
35 | 39 | resource "ucloud_eip" "eips" { |
36 | | - bandwidth = "${var.eip_bandwidth}" |
37 | | - internet_type = "${var.eip_internet_type}" |
38 | | - charge_type = "${var.charge_type}" |
39 | | - charge_mode = "${var.eip_charge_mode}" |
40 | | - duration = "${var.duration}" |
41 | | - name = "${var.eip_count_per_instance < 2 ? var.eip_name : format("%s-%s", var.eip_name, format(var.count_format, count.index+1))}" |
42 | | - tag = "${var.tag}" |
| 40 | + bandwidth = var.eip_bandwidth |
| 41 | + internet_type = var.eip_internet_type |
| 42 | + charge_type = var.charge_type |
| 43 | + charge_mode = var.eip_charge_mode |
| 44 | + duration = var.duration |
| 45 | + name = var.eip_count_per_instance < 2 ? var.eip_name : format( |
| 46 | + "%s-%s", |
| 47 | + var.eip_name, |
| 48 | + format(var.count_format, count.index + 1), |
| 49 | + ) |
| 50 | + tag = var.tag |
43 | 51 |
|
44 | | - count = "${var.eip_count_per_instance * var.instance_count}" |
| 52 | + count = var.eip_count_per_instance * var.instance_count |
45 | 53 | } |
46 | 54 |
|
47 | 55 | # Bind eip to instance |
48 | 56 | resource "ucloud_eip_association" "default" { |
49 | | - resource_id = "${ucloud_instance.instances.*.id[count.index%var.instance_count]}" |
50 | | - eip_id = "${ucloud_eip.eips.*.id[count.index]}" |
51 | | - count = "${(var.instance_count > 0 && var.eip_count_per_instance > 0) ? var.eip_count_per_instance * var.instance_count : 0}" |
| 57 | + resource_id = ucloud_instance.instances[count.index % var.instance_count].id |
| 58 | + eip_id = ucloud_eip.eips[count.index].id |
| 59 | + count = var.instance_count > 0 && var.eip_count_per_instance > 0 ? var.eip_count_per_instance * var.instance_count : 0 |
52 | 60 | } |
53 | 61 |
|
54 | 62 | # Create cloud disk |
55 | 63 | resource "ucloud_disk" "disks" { |
56 | | - availability_zone = "${var.availability_zone == "" ? data.ucloud_zones.default.zones.0.id : var.availability_zone}" |
57 | | - name = "${var.disk_count_per_instance < 2 ? var.disk_name : format("%s-%s", var.disk_name, format(var.count_format, count.index+1))}" |
58 | | - disk_size = "${var.disk_size}" |
59 | | - disk_type = "${var.disk_type}" |
60 | | - charge_type = "${var.charge_type}" |
61 | | - duration = "${var.duration}" |
62 | | - tag = "${var.tag}" |
63 | | - count = "${var.disk_count_per_instance * var.instance_count}" |
| 64 | + availability_zone = var.availability_zone == "" ? data.ucloud_zones.default.zones[0].id : var.availability_zone |
| 65 | + name = var.disk_count_per_instance < 2 ? var.disk_name : format( |
| 66 | + "%s-%s", |
| 67 | + var.disk_name, |
| 68 | + format(var.count_format, count.index + 1), |
| 69 | + ) |
| 70 | + disk_size = var.disk_size |
| 71 | + disk_type = var.disk_type |
| 72 | + charge_type = var.charge_type |
| 73 | + duration = var.duration |
| 74 | + tag = var.tag |
| 75 | + count = var.disk_count_per_instance * var.instance_count |
64 | 76 | } |
65 | 77 |
|
66 | 78 | # Attach disk to instance |
67 | 79 | resource "ucloud_disk_attachment" "default" { |
68 | | - availability_zone = "${var.availability_zone == "" ? data.ucloud_zones.default.zones.0.id : var.availability_zone}" |
69 | | - instance_id = "${ucloud_instance.instances.*.id[count.index%var.instance_count]}" |
70 | | - disk_id = "${ucloud_disk.disks.*.id[count.index]}" |
71 | | - count = "${(var.disk_count_per_instance > 0 && var.instance_count > 0) ? var.disk_count_per_instance * var.instance_count: 0}" |
| 80 | + availability_zone = var.availability_zone == "" ? data.ucloud_zones.default.zones[0].id : var.availability_zone |
| 81 | + instance_id = ucloud_instance.instances[count.index % var.instance_count].id |
| 82 | + disk_id = ucloud_disk.disks[count.index].id |
| 83 | + count = var.disk_count_per_instance > 0 && var.instance_count > 0 ? var.disk_count_per_instance * var.instance_count : 0 |
72 | 84 | } |
| 85 | + |
0 commit comments