我正在尝试编写一些 terraform 代码,它将采用嵌套对象并创建资源,通常这将通过动态块来完成,但所讨论的资源不支持这一点,并且想知道是否有人对解决这个问题的最佳方法有任何想法。
配置如下:
dashboards = {
"Test Dashboards" = {
folder_name = "Test Folder"
dashboards = [
{
file. = "test.json"
overwrite = true
},
{
file = "test1.json"
overwrite = false
}
]
}
}
然后在资源创建中,通常会是这样的:
resource "grafana_dashboard" "dashboards" {
for_each = var.dashboards
folder = each.value.folder_name
dynamic "dashboard" {
for_each = each.value.dashboards
content {
config_json = file("../../dashboards/${dashboards.value["file"]}")
overwrite = dashboards.value["overwrite"]
}
}
}
但是动态块不支持此资源,唯一的方法是我不想重复配置,因为如果有意义的话,它可能与多个资源共享。