gpt4 book ai didi

terraform - 在 terraform 中使用 count.index ?

转载 作者:行者123 更新时间:2023-12-02 11:30:09 26 4
gpt4 key购买 nike

我正在尝试从模板生成一堆文件。我需要用 count.index 替换硬编码的 1,不确定 terraform 允许我使用什么格式。

resource "local_file" "foo" {
count = "${length(var.files)}"

content = "${data.template_file.tenant_repo_multi.1.rendered}"
#TODO: Replace 1 with count index.
filename = "${element(var.files, count.index)}"
}


data "template_file" "tenant_repo_multi" {

count = "${length(var.files)}"
template = "${file("templates/${element(var.files, count.index)}")}"

}

variable "files" {
type = "list"
default = ["filebeat-config_filebeat.yml",...]
}

我正在运行:

Terraform v0.11.7
+ provider.gitlab v1.0.0
+ provider.local v1.1.0
+ provider.template v1.0.0

最佳答案

您可以像这样迭代 tenant_repo_multi 数据源 -

resource "local_file" "foo" {
count = "${length(var.files)}"
content = "${element(data.template_file.tenant_repo_multi.*.rendered, count.index)}"
filename = "${element(var.files, count.index)}"
}

但是,您是否考虑过使用 template_dir Terraform 模板提供程序中的资源。下面是一个例子 -

resource "template_dir" "config" {
source_dir = "./unrendered"
destination_dir = "./rendered"

vars = {
message = "world"
}
}

关于terraform - 在 terraform 中使用 count.index ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50301523/

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