Skip to content

Commit b337f70

Browse files
committed
Use Terrafrom 12 syntax for templatefile as it supports arbituary typed variables
1 parent d3661cf commit b337f70

File tree

1 file changed

+21
-22
lines changed

1 file changed

+21
-22
lines changed

terraform/main.tf

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ resource "aws_vpc" "vuln-tooling" {
4141
}
4242

4343
resource "aws_internet_gateway" "vuln-tooling-igw" {
44-
vpc_id = "${aws_vpc.vuln-tooling.id}"
44+
vpc_id = aws_vpc.vuln-tooling.id
4545

4646
tags = {
4747
Name = "Vulnerability Tooling Internet Gateway"
@@ -50,7 +50,7 @@ resource "aws_internet_gateway" "vuln-tooling-igw" {
5050
}
5151

5252
resource "aws_subnet" "vuln-tooling-subnet" {
53-
vpc_id = "${aws_vpc.vuln-tooling.id}"
53+
vpc_id = aws_vpc.vuln-tooling.id
5454
cidr_block = "10.0.1.0/24"
5555
availability_zone = "eu-west-2a"
5656
map_public_ip_on_launch = true
@@ -62,11 +62,11 @@ resource "aws_subnet" "vuln-tooling-subnet" {
6262
}
6363

6464
resource "aws_route_table" "vuln-tooling-route-table" {
65-
vpc_id = "${aws_vpc.vuln-tooling.id}"
65+
vpc_id = aws_vpc.vuln-tooling.id
6666

6767
route {
6868
cidr_block = "0.0.0.0/0"
69-
gateway_id = "${aws_internet_gateway.vuln-tooling-igw.id}"
69+
gateway_id = aws_internet_gateway.vuln-tooling-igw.id
7070
}
7171

7272
tags = {
@@ -76,8 +76,8 @@ resource "aws_route_table" "vuln-tooling-route-table" {
7676
}
7777

7878
resource "aws_route_table_association" "vuln-tooling-association" {
79-
subnet_id = "${aws_subnet.vuln-tooling-subnet.id}"
80-
route_table_id = "${aws_route_table.vuln-tooling-route-table.id}"
79+
subnet_id = aws_subnet.vuln-tooling-subnet.id
80+
route_table_id = aws_route_table.vuln-tooling-route-table.id
8181
}
8282

8383
data "aws_ami" "vuln-tooling-kali-ami" {
@@ -100,20 +100,10 @@ data "aws_ami" "vuln-tooling-kali-ami" {
100100
}
101101
}
102102

103-
data "template_file" "kali_userdata" {
104-
template = "${file("cloudinit/kali-instance.yaml")}"
105-
106-
vars = {
107-
hostname = "kali-pentest-01"
108-
ssh-keys = ["${local.ssh-pub-key-1}", "${local.ssh-pub-key-2}", "${local.ssh-pub-key-3}"]
109-
bootstrap-tools = "${file("cloudinit/bootstrap-tools.sh.tpl")}"
110-
}
111-
}
112-
113103
resource "aws_security_group" "kali-pentest-sg" {
114104
name = "kali-pentest-sg"
115105
description = "Kali PenTest Instance Security Group"
116-
vpc_id = "${aws_vpc.vuln-tooling.id}"
106+
vpc_id = aws_vpc.vuln-tooling.id
117107

118108
ingress {
119109
from_port = 22
@@ -136,14 +126,23 @@ resource "aws_security_group" "kali-pentest-sg" {
136126
}
137127

138128
resource "aws_instance" "kali-pentest" {
139-
ami = "${data.aws_ami.vuln-tooling-kali-ami.id}"
129+
ami = data.aws_ami.vuln-tooling-kali-ami.id
140130
instance_type = "t2.medium"
141-
user_data = "${data.template_file.kali_userdata.rendered}"
142-
monitoring = "true"
143-
subnet_id = "${aws_subnet.vuln-tooling-subnet.id}"
131+
132+
user_data = templatefile(
133+
"${path.module}/cloudinit/kali-instance.yaml",
134+
{
135+
hostname = "kali-pentest-01"
136+
ssh-keys = [local.ssh-pub-key-1, local.ssh-pub-key-2, local.ssh-pub-key-3]
137+
bootstrap-tools = "${file("cloudinit/bootstrap-tools.sh.tpl")}"
138+
}
139+
)
140+
141+
monitoring = "true"
142+
subnet_id = aws_subnet.vuln-tooling-subnet.id
144143

145144
vpc_security_group_ids = [
146-
"${aws_security_group.kali-pentest-sg.id}",
145+
aws_security_group.kali-pentest-sg.id,
147146
]
148147

149148
tags = {

0 commit comments

Comments
 (0)