Terraform:未呈现用户数据

Terraform: User Data not rendered

在创建实例时使用 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}"
  ...
}