-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstance.tf
26 lines (23 loc) · 1.03 KB
/
instance.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
data "template_file" "user_data" {
template = "${file("${path.module}/files/bastion_init.sh")}"
vars = {
UPDATE_FREQUENCY = "${var.update_frequency}"
REGION = "${data.aws_region.current.name}"
BUCKET = "${replace("${var.bucket_uri}", "/^(s3://)([^/]*)(.*)$/", "$2")}"
BUCKET_PREFIX = "${replace("${var.bucket_uri}", "/^(s3://)([^/]*)(.*)$/", "$3")}"
}
}
resource "aws_instance" "bastion" {
ami = "${var.ami}"
instance_type = "${var.instance_type}"
subnet_id = "${var.subnet_id}"
iam_instance_profile = "${aws_iam_instance_profile.bastion.name}"
vpc_security_group_ids = ["${aws_security_group.bastion.id}"]
user_data = "${data.template_file.user_data.rendered}"
tags = merge({"Name" = "${var.environment}-${var.name}"}, var.tags)
# Any metadata changes will trigger instance destroy
# see: https://github.com/terraform-providers/terraform-provider-aws/issues/23
lifecycle {
ignore_changes = [user_data]
}
}