【问题标题】:Terraform template is not rendering dataTerraform 模板未呈现数据
【发布时间】:2020-12-29 15:32:20
【问题描述】:

此代码用于 terraform 0.11 没有任何问题。我之前多次使用它来创建 AWS EC2 实例。

以下是/data/CreateBasionHost.tf文件的内容

data "template_file" "BasionHost_data" {
       template             = "${file("${path.module}/BasionHost.tpl")}"
}

resource "aws_instance" "BasionHost" {
  depends_on                  = ["aws_vpc_dhcp_options_association.dns_resolver"]
  depends_on                  = ["aws_directory_service_directory.MyActiveDirectory"]
  depends_on                  = ["aws_vpc_dhcp_options.DhcpOptionforAD"]
  depends_on                  = ["aws_iam_instance_profile.BackupInst_profile"]
 
  ami                         = "${var.CENTOS7_CUSTOMIZED_AMI}"
  instance_type               = "${var.NAT_INST_TYPE}"
  iam_instance_profile        = "${aws_iam_instance_profile.BackupInst_profile.name}"
  associate_public_ip_address = "true"
  source_dest_check           = "false" 
  disable_api_termination     = "false"
  subnet_id                   = "${aws_subnet.PublicSubnetB.id}"
  availability_zone           = "${var.AWS_REGION}b"
  vpc_security_group_ids      = ["${aws_default_security_group.default.id}"]
  key_name                    = "${var.NAT_INST_KEY_NAME}"
  private_ip                  = "${var.BASIONHOST_PRIVATE_IP}"
  user_data                   = "${data.template_file.BasionHost_data.rendered}"

}

并且我使用pain yum 命令来更新Linux 服务器。下面是内容 /data/BasionHost.tpl

#! /bin/bash
yum update -y
ln -s /usr/bin/clear /usr/bin/cls

但现在此代码不适用于 terraform 0.14。 我试图阅读这个 [Terraform 链接] (https://www.terraform.io/docs/configuration/functions/templatefile.html?_ga=2.248470019.549632933.1609205994-820700225.1609205994)

提到 terraform 网站使用 templatefile 功能。 但是我无法实现相同的目标,示例不是很清楚。 有人可以指导我吗?

【问题讨论】:

    标签: amazon-web-services terraform terraform-provider-aws


    【解决方案1】:

    我尝试使用 official CentOS 7 AMI 使用 Terraform v0.14.3 复制该问题。由于template_file,没有任何问题。相反,在我的测试中,问题是由#! /bin/bash 中的空间引起的,这导致用户数据未执行。所以解决方案是删除它:

    #!/bin/bash
    yum update -y
    ln -s /usr/bin/clear /usr/bin/cls
    

    【讨论】:

    • 你能把你的模板发给我吗,我还是报错。
    • tpl 文件和 .tf 文件
    • 我仍然收到错误...删除 /bin/bash
    猜你喜欢
    • 2014-04-14
    • 2018-10-04
    • 2019-10-27
    • 2012-02-21
    • 1970-01-01
    • 2012-01-02
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多