使用 terraform 要在创建实例时运行某些用户数据,请执行以下操作:
terraform
user_data = "${template_file.user_data.rendered}"
定义如下:
resource "template_file" "user_data" { template = "files/user_data.tpl" vars { docker_version = "17.12.1~ce-0~ubuntu" } }
但是,在创建的实例中,用户数据只包括上面的一行:
sudo cat /var/lib/cloud/instances/i-05e8a76335472f27c/user-data.txt files/user_data.tpl
有什么建议吗?
根据 template provider doc ,语法应为:
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}" ... }