伙計們!
我的目標是將 YAML 檔案中的配置收集(合并)到單個 Terraform 地圖中。例如,我有以下 2 個 YAML:
config/file1.ymlsection1: property11: value11 property12: value12config/file2.ymlsection2: property21: value21 property22: value22
我需要的是生成的配置如下(為了便于閱讀,下面用 YAML 表示,但當然應該是 terraform map):
section1:
property11: value11
property12: value12
section2:
property21: value21
property22: value22
我現在想出的是以下內容:
locals {
config = { for yaml_file in fileset("${path.module}/config/", "*.yml"):
yaml_file => file("${path.module}/config/${yaml_file}"
}
}
但我不確定如何進一步進行。能否請您指出正確的方向。
uj5u.com熱心網友回復:
您可以使用該merge函式將 yaml 地圖組合成一個單一的地形地圖。
locals {
base_path = "${path.module}/config"
files = fileset(local.base_path, "*.yml")
file_content = [for f in local.files : yamldecode(file("${local.base_path}/${f}"))]
terraform_map = merge(local.file_content...)
yaml_output = yamlencode(local.terraform_map)
}
output "result" {
value = local.file_content
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/513160.html
標籤:循环地形
