代码之家  ›  专栏  ›  技术社区  ›  pkaramol

地形:未渲染用户数据

  •  1
  • pkaramol  · 技术社区  · 8 年前

    使用 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
    

    有什么建议吗?

    1 回复  |  直到 8 年前
        1
  •  3
  •   junkangli    8 年前

    根据 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}"
      ...
    }
    
    推荐文章