变量.tf
variable "custom_ids" {
type = set(string)
default = ["b4d2d", "c928f140e8"]
}
主.tf
resource "azuread_application" "my-test-app" {
for_each = var.custom_ids
display_name = "testing-application"
owners = [data.azuread_client_config.current.object_id , each.value ]
}
resource "azuread_service_principal" "testing-sp" {
for_each = azuread_application.my-test-app
application_id = azuread_application.my-test-app.application_id
app_role_assignment_required = false
owners = [data.azuread_client_config.current.object_id , each.value]
}
错误消息是:
错误:缺少资源实例键 由于 azuread_application.my-test-app 设置了“for_each”,因此必须在特定实例上访问其属性。│ │ 例如,要与引用资源的索引相关联,请使用: │ azuread_application.my-test-app[each.key]
这里有什么问题?
新错误:
│ 错误:不支持的属性 │ │ my-service-principals.tf 第 24 行,资源“azure_service_principal”“testing-sp”中: │ 24: application_id = every.value.application_id │ ├───────── ──────── │ │ every.value 是一组字符串 │ │ 该值没有任何属性。
由于链接 with
for_each
意味着您将使用键值对,因此您可以通过执行以下操作来解决此问题:编辑:由于问题的目标与原始帖子不同,因此应如何根据评论进行设置: