有一个像这样的对象
variable "user_role" {
type = map(list(string))
}
user_role = {
user_a: ['role_a', 'role_b', 'role_c']
user_b: ['role_a', 'role_c']
user_c: ['role_c']
}我目前所做的只是简单地扁平化成:
role-user = flatten([
for member in keys(var.user_role): [
for value in var.user_role[member] : {
role = value
member = member
}
]
])需要将其转换为关键字的角色。
role_user = {
role_a: ['user_a', 'user_b']
role_b: ['user_a']
role_c: ['user_a', 'user_b', 'user_c']
}有什么办法可以做到这一点吗?谢谢
发布于 2021-05-22 08:37:33
根据您的示例,您似乎在描述the built-in transpose function的功能
locals {
role_user = transpose(var.user_role)
}发布于 2021-05-21 16:17:03
您可以执行以下操作(不要忘记...):
role-user = merge([
for user, roles in var.user_role:
{
for role in roles: user => role...
}
]...)https://stackoverflow.com/questions/67632823
复制相似问题