【发布时间】:2021-09-13 22:51:04
【问题描述】:
我不确定这个错误在哪里出错。我有一个 Terraform 资源,它创建了一个在启动配置中使用的 template_file。资源如下:
模板文件
data "template_file" "user_data" {
count = "${(var.enable ? 1 : 0) * var.number_of_zones}" // 3 templates being created
template = "${file("userdata.sh")}"
vars {
ebs_volume = "${count.index == 0 ? ${var.EBS_VOLUME1} : ${var.EBS_VOLUME2}}"
}
}
template_file 用于启动脚本,该脚本在启动时通过自动缩放事件将 EBS 挂载到实例。下面是脚本:
userdata.sh
#!/bin/bash
# Attach EBS volume
aws ec2 attach-volume --volume-id "${EBS_VOLUME}" --instance_id `curl http://169.254.169.254/latest/meta-data/instance-id` --device /dev/sdf
EBS_VOLUME=${ebs_volume}
执行此代码时,我收到以下错误,无法理解原因:
错误
Error: Error loading autoscaling-group.tf: Error reading config for template_file[user_data]: parse error at 1:22: expected expression but found invalid sequence "$"
任何有关我如何解决此问题的建议都会有所帮助。
【问题讨论】:
-
你用的是哪个TF版本?
-
版本为 0.11.10。
-
进展如何?问题仍然存在?
-
嘿,成功了!谢谢!
-
很高兴它成功了。因此,如果答案有帮助,我们将不胜感激。
标签: bash amazon-web-services terraform terraform-provider-aws terraform-template-file