循环遍历资源列表以创建新的资源地形



我试过让这个工作,但terrraform一直对我大喊大叫。我试图使用循环创建一堆需要引用现有资源id的新资源。然而,terraform似乎不想创建资源。

注意这里使用了terraform pagerduty提供程序

我的网站列表

locals {
sites = [
"site1",
"site2"
]
}

My resource block:

resource "pagerduty_service_event_rule" "rule" {
for_each = toset(local.sites)
service  = "pagerduty_service.${each.key}.id"
... rest of block

当我运行apply时,它看起来像是要工作,但它超时了(最终给我一个403错误)。

我已经确定这个问题是因为服务id的服务资源属性无效,因为它在双引号中。

我怎样才能正确地遍历这个列表来正确地创建这些资源?

Thx

所以我设法弄清楚这一点,它比我预期的要简单得多。我只需要将本地站点list更改为map,而不是在值上使用引号.

locals {
sites = [
site1 = pagerduty_service.site1.id
site2 = pagerduty_service.site2.id
]
}
resource "pagerduty_service_event_rule" "rule" {
for_each = local.sites
service  = each.value
... rest of block

最新更新