gpt4 book ai didi

google-cloud-platform - Terraform GCP 启动脚本本地文件而不是内联

转载 作者:行者123 更新时间:2023-12-03 14:36:27 25 4
gpt4 key购买 nike

网上有很多例子展示了如何在部署在 GCP/GCE 上的虚拟机上使用 Terraform 运行启动脚本,但它们都使用内联启动脚本,所有启动脚本代码都包含在 terraform compute.tf 文件中。这可以通过启动脚本的单行或多行的 <
我意识到我可以编写一个包装脚本,将一个 compute.tf 和一个单独的启动文件组合到一个单一的 compute.tf 中,然后运行 ​​terraform,但我正在寻找更直接的路线,假设存在。

谢谢你。

最佳答案

要在 GCE VM 声明中引用文件,只需使用 file function从您选择的文件中读取内容。例如:

resource “google_compute_instance” “default” {

metadata_startup_script = “${file(“/path/to/your/file”)}”
}

同样,您也可以使用 template_file数据源对模板文件执行 token 替换,然后在 GCE VM 声明中引用解析的文件内容。例如:
data “template_file” “default” {
template = “${file(“/path/to/your/file”)}”
vars = {
address = “some value“
}
}

resource “google_compute_instance” “default” {

metadata_startup_script = “${data.template_file.default.rendered}”
}

引用:
  • https://www.terraform.io/docs/providers/google/r/compute_instance.html
  • https://www.terraform.io/docs/configuration-0-11/interpolation.html#file-path-
  • https://www.terraform.io/docs/providers/template/d/file.html
  • 关于google-cloud-platform - Terraform GCP 启动脚本本地文件而不是内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57682483/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com