【发布时间】:2021-08-02 00:50:38
【问题描述】:
我对 Terraform 还很陌生,可能我想要的太多了……但情况就是这样 这就是我的 .tfvars(部分)中的内容
st_resources = {
"steu1edwdas001common" = {
st_name_site_region = "eu1"
st_name_application = "edw"
st_name_role = "das"
st_name_seqnr = "001"
st_name_purpose = "commfs"
...
st_kind = "StorageV2"
st_tier = "Premium"
...
st_blob_contributor_role_aadgroups = [
{ display_name = "LG_GLB_AzureLZSolutionLeadersAdmin", role = "Storage Blob Data Contributor" }
]
...
}
}
在模板中我有这个代码
module "st_create" {
for_each = var.resources_st
source = "../../_modules/general/st_create"
st_name_site_region = each.value["st_name_site_region"]
st_name_application = each.value["st_name_application"]
st_name_role = each.value["st_name_role"]
st_name_seqnr = each.value["st_name_seqnr"]
st_name_purpose = each.value["st_name_purpose"]
...
st_blob_contributor_role_aadgroups = each.value["st_blob_contributor_role_aadgroups"]
...
}
这很好,但现在我想创建角色并分配广告组,所以在我的伪逻辑中我看到以下步骤
所以我要添加
locals {
st_blob_contributor_role_aadgroups = flatten([
for st_key, st in var.resources_st : [
for rbac_key, rbac in st.st_blob_contributor_role_aadgroups : {
st_key = st_key
rbac_key = rbac_key
role_display_name = rbac.display_name
role_role = rbac.role
}
]
])
}
但我不知道如何继续。 我可以做第二个模块并循环扁平结构,但我会在这个结构中获得存储帐户的 ID ...
恐怕我正在混合它,但找不到代表我所想的样本......
【问题讨论】:
标签: terraform terraform-provider-azure