使用模板文件函数在 shell 脚本中引用 Terraform 变量
Reference Terraform variable in shell script using templatefile function
我有一个 shell 脚本可以使用 wget 下载 http link:
wget -qO - "${mojang_server_url}"
我想在 tfvars 文件中输入这个 link,然后使用 Terraform 在 shell 脚本中引用它。
data "template_file" "setup_script" {
template = file("setup.sh")
vars = {
mojang_server_url = "${var.mojang_server_url}"
}
}
但是,official Terraform documentation for template_file 告诉我应该改用模板文件函数?
我似乎无法理解这个函数的语法,这是我得到的:
templatefile("setup.sh",{"mojang_server_url"="${var.mojang_server_url}")
它突出显示模板文件,说:
Argument or block definition required: An argument or block definition
is required here. To set an argument, use the equals sign "=" to
introduce the argument value.
有没有办法让它可以在 shell 脚本中引用 tfvars 变量?
谢谢!
您只需提供一张地图作为第二个参数的输入即可:
data "template_file" "setup_script" {
template = templatefile("setup.sh",
{
mojang_server_url = var.mojang_server_url
}
)
}
我有一个 shell 脚本可以使用 wget 下载 http link:
wget -qO - "${mojang_server_url}"
我想在 tfvars 文件中输入这个 link,然后使用 Terraform 在 shell 脚本中引用它。
data "template_file" "setup_script" {
template = file("setup.sh")
vars = {
mojang_server_url = "${var.mojang_server_url}"
}
}
但是,official Terraform documentation for template_file 告诉我应该改用模板文件函数?
我似乎无法理解这个函数的语法,这是我得到的:
templatefile("setup.sh",{"mojang_server_url"="${var.mojang_server_url}")
它突出显示模板文件,说:
Argument or block definition required: An argument or block definition is required here. To set an argument, use the equals sign "=" to introduce the argument value.
有没有办法让它可以在 shell 脚本中引用 tfvars 变量?
谢谢!
您只需提供一张地图作为第二个参数的输入即可:
data "template_file" "setup_script" {
template = templatefile("setup.sh",
{
mojang_server_url = var.mojang_server_url
}
)
}