Skip to content

Commit 88e8e80

Browse files
committed
update module to 0.12
1 parent d92812f commit 88e8e80

File tree

6 files changed

+85
-66
lines changed

6 files changed

+85
-66
lines changed

.gitignore

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
.terraform
2-
terraform.tfstate
3-
*.tfstate*
4-
terraform.tfvars
1+
*.tfvars
2+
*.tfstate
3+
*.tfstate.backup
4+
.terraform/
5+
*.log
6+
.DS_Store
7+
.idea
8+
*.bak
9+
*.bk

README.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# UCloud UHost Instance Terraform module
22

3-
Terraform module which creates UHost instance(s) on UCloud.
3+
Terraform module which creates UHost instance(s) on UCloud (required Terraform 0.12.).
44

55
These types of resources are supported:
66

@@ -15,32 +15,30 @@ These types of resources are supported:
1515
```hcl
1616
# Create uhost instance attached with eip and cloud disk
1717
module "uhost_instance" {
18-
source = "terraform-ucloud-modules/uhost_instance/ucloud"
18+
source = "terraform-ucloud-modules/uhost-instance/ucloud"
1919
version = "1.0.0"
2020
2121
# uhost instance
22-
instance_count = 2
22+
instance_count = 2
2323
instance_name = "example-complete-instance"
24-
password = "ucloud_2019"
24+
password = "ucloud_2019"
2525
image_name_regex = "^CentOS 7.[1-2] 64"
2626
image_type = "base"
2727
instance_type = "n-standard-2"
28-
tag = "example-complete"
29-
30-
# the default Web Security Group that UCloud recommend to users
31-
security_group = "${data.ucloud_security_groups.default.security_groups.0.id}"
28+
boot_disk_type = "cloud_ssd"
29+
tag = "example-complete"
3230
3331
# eip
3432
eip_count_per_instance = 1
3533
eip_internet_type = "bgp"
3634
eip_charge_mode = "bandwidth"
37-
eip_name = "example-complete-eip"
35+
eip_name = "example-complete-eip"
3836
3937
# disk
4038
disk_count_per_instance = 1
4139
disk_size = 30
4240
disk_type = "ssd_data_disk"
43-
disk_name = "example-complete-disk"
41+
disk_name = "example-complete-disk"
4442
}
4543
```
4644

examples/complete/main.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ module "uhost_instance" {
1818
image_name_regex = "^CentOS 7.[1-2] 64"
1919
image_type = "base"
2020
instance_type = "n-standard-2"
21+
boot_disk_type = "cloud_ssd"
2122
tag = "example-complete"
2223

2324
# the default Web Security Group that UCloud recommend to users
24-
security_group = "${data.ucloud_security_groups.default.security_groups.0.id}"
25+
security_group = data.ucloud_security_groups.default.security_groups[0].id
2526

2627
# eip
2728
eip_count_per_instance = 1
@@ -34,4 +35,4 @@ module "uhost_instance" {
3435
disk_size = 30
3536
disk_type = "ssd_data_disk"
3637
disk_name = "example-complete-disk"
37-
}
38+
}

examples/complete/outputs.tf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
output "ids" {
22
description = "List of IDs of instances"
3-
value = "${module.uhost_instance.instance_ids}"
3+
value = module.uhost_instance.instance_ids
44
}
55

66
output "public_ips" {
77
description = "List of public IP addresses assigned to the instances"
8-
value = "${module.uhost_instance.public_ips}"
8+
value = module.uhost_instance.public_ips
99
}
1010

1111
output "disk_ids" {
1212
description = "List of IDs of disks"
13-
value = "${module.uhost_instance.disk_ids}"
13+
value = module.uhost_instance.disk_ids
1414
}
15+

main.tf

Lines changed: 56 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,85 @@
11
# Query availability zone
2-
data "ucloud_zones" "default" {}
2+
data "ucloud_zones" "default" {
3+
}
34

45
# Query image
56
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
910
}
1011

1112
# Create uhost instance
1213
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
2429

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
2732

28-
# boot_disk_size = "${var.boot_disk_size}"
29-
boot_disk_type = "${var.boot_disk_type}"
33+
boot_disk_type = var.boot_disk_type
3034

31-
count = "${var.instance_count}"
35+
count = var.instance_count
3236
}
3337

3438
# Create eip
3539
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
4351

44-
count = "${var.eip_count_per_instance * var.instance_count}"
52+
count = var.eip_count_per_instance * var.instance_count
4553
}
4654

4755
# Bind eip to instance
4856
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
5260
}
5361

5462
# Create cloud disk
5563
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
6476
}
6577

6678
# Attach disk to instance
6779
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
7284
}
85+

outputs.tf

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
output "instance_ids" {
22
description = "List of IDs of instances"
3-
value = "${ucloud_instance.instances.*.id}"
3+
value = ucloud_instance.instances.*.id
44
}
55

66
output "eip_ids" {
77
description = "List of IDs of eips"
8-
value = "${ucloud_eip.eips.*.id}"
8+
value = ucloud_eip.eips.*.id
99
}
1010

1111
output "public_ips" {
1212
description = "List of public IP addresses assigned to the instances, if applicable"
13-
value = "${ucloud_eip.eips.*.public_ip}"
13+
value = ucloud_eip.eips.*.public_ip
1414
}
1515

1616
output "disk_ids" {
1717
description = "List of IDs of disks"
18-
value = "${ucloud_disk.disks.*.id}"
18+
value = ucloud_disk.disks.*.id
1919
}
20+

0 commit comments

Comments
 (0)