-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinstance.tf
24 lines (19 loc) · 909 Bytes
/
instance.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
resource "aws_lightsail_static_ip_attachment" "wireguard" {
static_ip_name = aws_lightsail_static_ip.wireguard.id
instance_name = aws_lightsail_instance.wireguard.id
}
resource "aws_lightsail_static_ip" "wireguard" {
name = "wireguard-static-ip"
}
resource "aws_lightsail_instance" "wireguard" {
name = local.name
availability_zone = local.AZ
blueprint_id = local.OS
bundle_id = local.Size
key_pair_name = aws_lightsail_key_pair.key.name
depends_on = [aws_lightsail_key_pair.key]
user_data = data.template_file.cloud_init.rendered
provisioner "local-exec" {
command = "aws --profile terraform lightsail put-instance-public-ports --instance-name ${aws_lightsail_instance.wireguard.name} --port-infos fromPort=${random_integer.wg_port.result},toPort=${random_integer.wg_port.result},protocol=udp fromPort=22,toPort=22,protocol=tcp"
}
}