instance.tf
1.02 KB
## Define provider
provider "aws" {
region = "${var.region}"
}
# Template for initial configuration bash script
data "template_file" "init" {
template = "${file("init.tpl")}"
count = "${length(var.instance_suffix)}"
vars {
dbendpoint="${aws_db_instance.db-instance.username}:${aws_db_instance.db-instance.password}@${aws_db_instance.db-instance.endpoint}\\/${aws_db_instance.db-instance.name}"
instancehostname="xpdays-${var.instance_suffix[count.index]}-${count.index}"
}
}
# Define the instance
resource "aws_instance" "xpdays-instance" {
ami = "${data.aws_ami.xpdays-ami.id}"
vpc_security_group_ids = [ "${var.vpc_security_group_ids}" ]
instance_type = "${lookup(var.instance_type, var.environment)}"
user_data = "${data.template_file.init.*.rendered[count.index]}"
tags {
Name = "xpdays${count.index + 1}"
}
count = "${length(var.instance_suffix)}"
}
## Print Output
output "xpdays_instance_public_ip" {
value = "${join(",",aws_instance.xpdays-instance.*.public_ip)}"
}