你必须
压平
您的变量:
locals {
select_flat = merge(flatten([
for database_name, schemas in var.select: [
for schema_name, tables in schemas: {
for table_name in tables:
"${database_name}-${schema_name}-${table_name}" => {
"database_name" = database_name
"schema_name" = schema_name
"table_name" = table_name
}
}
]
])...) # do NOT remove the dots
}
然后
resource "snowflake_table_grant" "grant" {
for_each = local.select_flat
database_name = each.value.database_name
schema_name = each.value.database_name
table_name = each.value.table_name
privilege = "SELECT"
roles = ["role1"]
shares = ["share1"]
on_future = false
with_grant_option = false
}