使用templatefile函数在shell脚本中引用Terraform变量



我有一个shell脚本,可以使用wget:下载http链接

wget -qO - "${mojang_server_url}"

我想在tfvars文件中输入这个链接,然后使用Terraform在shell脚本中引用它。

我在这里找到了一个很好的解决方案,使用template_file数据源(它有效(

data "template_file" "setup_script" {
template = file("setup.sh")
vars = {
mojang_server_url = "${var.mojang_server_url}"
}
}

然而,template_file的官方Terraform文档告诉我应该使用templatefile函数?

我似乎不明白这个函数的语法,下面是我得到的:

templatefile("setup.sh",{"mojang_server_url"="${var.mojang_server_url}")

它突出显示了templatefile,称:

需要参数或块定义:参数或块的定义此处为必填项。要设置参数,请使用等号"="到引入自变量值。

有没有办法让它可以在shell脚本中引用tfvars变量?

谢谢!

您只需提供一个映射作为第二个参数的输入即可:

data "template_file" "setup_script" {
template = templatefile("setup.sh",
{
mojang_server_url = var.mojang_server_url
}
)
}

最新更新