-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathec2.tf
33 lines (30 loc) · 945 Bytes
/
ec2.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
resource "aws_key_pair" "auth" {
key_name = var.key_name
public_key = file(var.public_key_path)
}
data "aws_ami" "server" {
owners = ["self"]
filter {
name = "name"
values = ["packer-aws-experiments"]
}
}
resource "aws_instance" "server" {
connection {
user = "ubuntu"
host = self.public_ip
}
instance_type = "t3a.nano"
ami = data.aws_ami.server.image_id
key_name = aws_key_pair.auth.id
vpc_security_group_ids = [aws_security_group.default.id]
subnet_id = aws_subnet.primary.id
}
resource "aws_eip" "server" {
domain = "vpc"
instance = aws_instance.server.id
depends_on = [aws_internet_gateway.default]
provisioner "local-exec" {
command = "curl --verbose --data-urlencode \"domain=${var.domain}\" --data-urlencode \"password@$${HOME}/.dns-api-password\" --data-urlencode \"command=REPLACE ${var.subdomain_ec2} 60 A ${aws_eip.server.public_ip}\" \"$(cat $${HOME}/.dns-api-url)\""
}
}