【发布时间】:2021-12-03 04:54:00
【问题描述】:
我是 Terraform 和学习的新手。 我必须在一个资源块中提供两个角色(内置和自定义),这在 terraform 中是否支持?
variable "role_definition_id" {
type = list(string)
description = "Role definition id"
default = ["READER", "Custom_role"]
}
resource "azurerm_role_assignment" "example" {
for_each = toset(local.principal_ids)
scope = data.azurerm_subscription.primary.id
role_definition_name = var.role_definition_id
principal_id = each.key
}
错误:
Error: Incorrect attribute value type
│
│ on namespace/main.tf line 109, in resource "azurerm_role_assignment" "example":
│ 109: role_definition_name = var.role_definition_id
│ ├────────────────
│ │ var.role_definition_id is a list of dynamic, known only after apply
│
│ Inappropriate value for attribute "role_definition_name": string required.
我已经在使用 for_each 来拉入资源块中的 principal_id 列表,所以我想知道是否有办法在循环中设置它,所以这两个角色都适用于相关的 principal_id。
我看不到一个资源块中有多个角色的任何好例子。 有什么建议吗?
【问题讨论】:
标签: azure kubernetes terraform azure-rm