Using terraform
to run some user data upon instance creation:
user_data = "${template_file.user_data.rendered}"
Here is the definition:
resource "template_file" "user_data" {
template = "files/user_data.tpl"
vars {
docker_version = "17.12.1~ce-0~ubuntu"
}
}
However, in the created instance, the user data just includes the above line:
sudo cat /var/lib/cloud/instances/i-05e8a76335472f27c/user-data.txt
files/user_data.tpl
Any suggestions?
According to template provider doc, the syntax should be:
data "template_file" "user_data" {
template = "${file(files/user_data.tpl)}"
vars {
docker_version = "17.12.1~ce-0~ubuntu"
}
}
...
resource "aws_instance" "instance" {
user_data = "${data.template_file.user_data.rendered}"
...
}