Я пытаюсь выполнить sh нечто подобное.
variable "custom_role_list" {
type = list(object ({ service_principal_id = string, role = string }) )
}
Когда я пытаюсь установить его из модуля ресурсов
resource "azurerm_role_assignment" "ad_sp_role_assignment" {
scope = azurerm_container_registry.acr.id
for_each = var.custom_role_list
role_definition_name = each.value.role
principal_id = each.value.service_principal_id
}
По сути, я пытаюсь установить azure Реестр контейнеров для работы с несколькими субъектами-службами с указанными c ролями доступа.
Ниже приведено определение var.
custom_role_list = [
{
service_principal_id = aserviceprincipal.id
role = "Contributor"
},
{
service_principal_id = bserviceprincipal.id
role = "Contributor"
}
]
При выполнении я получаю следующую ошибку.
Error: Invalid for_each argument
on ../modules/az-acr/main.tf line 46, in resource "azurerm_role_assignment" "ad_sp_role_assignment":
46: for_each = var.custom_role_list
The given "for_each" argument value is unsuitable: the "for_each" argument
must be a map, or set of strings, and you have provided a value of type list
of object.
Пожалуйста, если кто-то может помочь, будет очень полезен. спасибо!