Skip to content

Commit 4a082ed

Browse files
authored
Terraform 0.12 update (terraform-aws-modules#93)
1 parent cab232d commit 4a082ed

File tree

9 files changed

+270
-138
lines changed

9 files changed

+270
-138
lines changed

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
repos:
22
- repo: git://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.7.3
3+
rev: v1.12.0
44
hooks:
55
- id: terraform_fmt
6-
- id: terraform_docs
6+
# - id: terraform_docs
77
- repo: git://github.com/pre-commit/pre-commit-hooks
8-
rev: v1.3.0
8+
rev: v2.2.3
99
hooks:
1010
- id: check-merge-conflict

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Terraform 0.11. Pin module version to `~> v1.0`. Submit pull-requests to `terraf
1717
```hcl
1818
module "ec2_cluster" {
1919
source = "terraform-aws-modules/ec2-instance/aws"
20-
version = "1.22.0"
20+
version = "~> 2.0"
2121
2222
name = "my-cluster"
2323
instance_count = 5
@@ -30,7 +30,7 @@ module "ec2_cluster" {
3030
subnet_id = "subnet-eddcdzz4"
3131
3232
tags = {
33-
Terraform = "true"
33+
Terraform = "true"
3434
Environment = "dev"
3535
}
3636
}

examples/basic/main.tf

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ data "aws_vpc" "default" {
1010
}
1111

1212
data "aws_subnet_ids" "all" {
13-
vpc_id = "${data.aws_vpc.default.id}"
13+
vpc_id = data.aws_vpc.default.id
1414
}
1515

1616
data "aws_ami" "amazon_linux" {
@@ -37,11 +37,11 @@ data "aws_ami" "amazon_linux" {
3737

3838
module "security_group" {
3939
source = "terraform-aws-modules/security-group/aws"
40-
version = "2.7.0"
40+
version = "~> 3.0"
4141

4242
name = "example"
4343
description = "Security group for example usage with EC2 instance"
44-
vpc_id = "${data.aws_vpc.default.id}"
44+
vpc_id = data.aws_vpc.default.id
4545

4646
ingress_cidr_blocks = ["0.0.0.0/0"]
4747
ingress_rules = ["http-80-tcp", "all-icmp"]
@@ -50,7 +50,7 @@ module "security_group" {
5050

5151
resource "aws_eip" "this" {
5252
vpc = true
53-
instance = "${module.ec2.id[0]}"
53+
instance = module.ec2.id[0]
5454
}
5555

5656
module "ec2" {
@@ -59,16 +59,23 @@ module "ec2" {
5959
instance_count = 2
6060

6161
name = "example-normal"
62-
ami = "${data.aws_ami.amazon_linux.id}"
63-
instance_type = "m4.large"
64-
subnet_id = "${element(data.aws_subnet_ids.all.ids, 0)}"
65-
vpc_security_group_ids = ["${module.security_group.this_security_group_id}"]
62+
ami = data.aws_ami.amazon_linux.id
63+
instance_type = "c5.large"
64+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
65+
vpc_security_group_ids = [module.security_group.this_security_group_id]
6666
associate_public_ip_address = true
6767

68-
root_block_device = [{
69-
volume_type = "gp2"
70-
volume_size = 10
71-
}]
68+
root_block_device = [
69+
{
70+
volume_type = "gp2"
71+
volume_size = 10
72+
},
73+
]
74+
75+
tags = {
76+
"Env" = "Private"
77+
"Location" = "Secret"
78+
}
7279
}
7380

7481
module "ec2_with_t2_unlimited" {
@@ -77,11 +84,11 @@ module "ec2_with_t2_unlimited" {
7784
instance_count = 1
7885

7986
name = "example-t2-unlimited"
80-
ami = "${data.aws_ami.amazon_linux.id}"
87+
ami = data.aws_ami.amazon_linux.id
8188
instance_type = "t2.micro"
8289
cpu_credits = "unlimited"
83-
subnet_id = "${element(data.aws_subnet_ids.all.ids, 0)}"
84-
vpc_security_group_ids = ["${module.security_group.this_security_group_id}"]
90+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
91+
vpc_security_group_ids = [module.security_group.this_security_group_id]
8592
associate_public_ip_address = true
8693
}
8794

@@ -91,10 +98,11 @@ module "ec2_with_t3_unlimited" {
9198
instance_count = 1
9299

93100
name = "example-t3-unlimited"
94-
ami = "${data.aws_ami.amazon_linux.id}"
101+
ami = data.aws_ami.amazon_linux.id
95102
instance_type = "t3.large"
96103
cpu_credits = "unlimited"
97-
subnet_id = "${element(data.aws_subnet_ids.all.ids, 0)}"
98-
vpc_security_group_ids = ["${module.security_group.this_security_group_id}"]
104+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
105+
vpc_security_group_ids = [module.security_group.this_security_group_id]
99106
associate_public_ip_address = true
100107
}
108+

examples/basic/outputs.tf

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

66
output "ids_t2" {
77
description = "List of IDs of t2-type instances"
8-
value = "${module.ec2_with_t2_unlimited.id}"
8+
value = module.ec2_with_t2_unlimited.id
99
}
1010

1111
output "public_dns" {
1212
description = "List of public DNS names assigned to the instances"
13-
value = "${module.ec2.public_dns}"
13+
value = module.ec2.public_dns
1414
}
1515

1616
output "vpc_security_group_ids" {
1717
description = "List of VPC security group ids assigned to the instances"
18-
value = "${module.ec2.vpc_security_group_ids}"
18+
value = module.ec2.vpc_security_group_ids
1919
}
2020

2121
output "tags" {
2222
description = "List of tags"
23-
value = "${module.ec2.tags}"
23+
value = module.ec2.tags
2424
}
2525

2626
output "instance_id" {
2727
description = "EC2 instance ID"
28-
value = "${module.ec2.id[0]}"
28+
value = module.ec2.id[0]
29+
}
30+
31+
output "t2_instance_id" {
32+
description = "EC2 instance ID"
33+
value = module.ec2_with_t2_unlimited.id[0]
2934
}
3035

3136
output "instance_public_dns" {
3237
description = "Public DNS name assigned to the EC2 instance"
33-
value = "${module.ec2.public_dns[0]}"
38+
value = module.ec2.public_dns[0]
3439
}
3540

3641
output "credit_specification" {
3742
description = "Credit specification of EC2 instance (empty list for not t2 instance types)"
38-
value = "${module.ec2.credit_specification}"
43+
value = module.ec2.credit_specification
3944
}
4045

4146
output "credit_specification_t2_unlimited" {
4247
description = "Credit specification of t2-type EC2 instance"
43-
value = "${module.ec2_with_t2_unlimited.credit_specification}"
48+
value = module.ec2_with_t2_unlimited.credit_specification
4449
}
50+

examples/volume-attachment/main.tf

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ data "aws_vpc" "default" {
1414
}
1515

1616
data "aws_subnet_ids" "all" {
17-
vpc_id = "${data.aws_vpc.default.id}"
17+
vpc_id = data.aws_vpc.default.id
1818
}
1919

2020
data "aws_ami" "amazon_linux" {
2121
most_recent = true
2222

23+
owners = ["amazon"]
24+
2325
filter {
2426
name = "name"
2527

@@ -39,11 +41,11 @@ data "aws_ami" "amazon_linux" {
3941

4042
module "security_group" {
4143
source = "terraform-aws-modules/security-group/aws"
42-
version = "2.7.0"
44+
version = "~> 3.0"
4345

4446
name = "example"
4547
description = "Security group for example usage with EC2 instance"
46-
vpc_id = "${data.aws_vpc.default.id}"
48+
vpc_id = data.aws_vpc.default.id
4749

4850
ingress_cidr_blocks = ["0.0.0.0/0"]
4951
ingress_rules = ["http-80-tcp", "all-icmp"]
@@ -53,27 +55,27 @@ module "security_group" {
5355
module "ec2" {
5456
source = "../../"
5557

56-
instance_count = "${var.instances_number}"
58+
instance_count = var.instances_number
5759

5860
name = "example-with-ebs"
59-
ami = "${data.aws_ami.amazon_linux.id}"
60-
instance_type = "m4.large"
61-
subnet_id = "${element(data.aws_subnet_ids.all.ids, 0)}"
62-
vpc_security_group_ids = ["${module.security_group.this_security_group_id}"]
61+
ami = data.aws_ami.amazon_linux.id
62+
instance_type = "c5.large"
63+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
64+
vpc_security_group_ids = [module.security_group.this_security_group_id]
6365
associate_public_ip_address = true
6466
}
6567

6668
resource "aws_volume_attachment" "this_ec2" {
67-
count = "${var.instances_number}"
69+
count = var.instances_number
6870

6971
device_name = "/dev/sdh"
70-
volume_id = "${aws_ebs_volume.this.*.id[count.index]}"
71-
instance_id = "${module.ec2.id[count.index]}"
72+
volume_id = aws_ebs_volume.this[count.index].id
73+
instance_id = module.ec2.id[count.index]
7274
}
7375

7476
resource "aws_ebs_volume" "this" {
75-
count = "${var.instances_number}"
77+
count = var.instances_number
7678

77-
availability_zone = "${module.ec2.availability_zone[count.index]}"
79+
availability_zone = module.ec2.availability_zone[count.index]
7880
size = 1
7981
}

examples/volume-attachment/outputs.tf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
output "instances_public_ips" {
22
description = "Public IPs assigned to the EC2 instance"
3-
value = "${module.ec2.public_ip}"
3+
value = module.ec2.public_ip
44
}
55

66
output "ebs_volume_attachment_id" {
77
description = "The volume ID"
8-
value = "${aws_volume_attachment.this_ec2.*.volume_id}"
8+
value = aws_volume_attachment.this_ec2.*.volume_id
99
}
1010

1111
output "ebs_volume_attachment_instance_id" {
1212
description = "The instance ID"
13-
value = "${aws_volume_attachment.this_ec2.*.instance_id}"
13+
value = aws_volume_attachment.this_ec2.*.instance_id
1414
}
15+

0 commit comments

Comments
 (0)