地形资源的错误"An argument named ... is not expected here"



我正试图在https://blog.boltops.com/2020/10/06/terraform-hcl-nested-loops/,并且在第一个for_each之后立即得到错误An argument named "name" is not expected here.。所以我把它缩小到以下代码:

# Datadog Performance Dashboard
locals {
dashboard_title = "Title here"
hosts = toset( [ "host1", "host2"] )
params = {
"CPU" = [
{
title = "System Load - 1 min avg"
dd_param = "avg:system.load.norm.1"
}
]
"RAM" = [
{
title = "Memory Commit limit"
dd_param = "system.mem.commit_limit"
}
]
}
}

resource "datadog_dashboard" "ordered_dashboard" {
#   for_each = local.params
#name = each.key
name          = "asdadas"
title         = local.dashboard_title
description   = "Created using the Datadog provider in Terraform"
layout_type   = "ordered"
is_read_only  = true
}

由于name = each.key不起作用(即给出相同的错误An argument named name is not expected here,可以看到我试图注释掉for_each、each.key赋值和嵌套循环的其余部分,但它仍然在抱怨变量。

也许我需要在使用它之前声明它,这是有道理的,但我发现我前面提到的链接中的代码不能做到这一点https://www.terraform.io/language/resources/syntax也没有https://www.terraform.io/language/expressions/dynamic-blocks,均来自Hashicorps的Terraform文档网站。

这是我正在使用的地形版本:

$ terraform -v
Terraform v1.1.3
on darwin_amd64
+ provider registry.terraform.io/hashicorp/aws v3.73.0

有人想我在这里错过了什么吗?terraform为什么抱怨变量赋值?

在我看来,资源datadog_dashboard没有名为name的参数,所以它给出了这样一个错误。

有关更多信息,请仔细查看:https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/dashboard

相关内容

最新更新