如何将Terraform中的元组转换为映射列表以实现lookup()?
解决Terraform中元组转映射列表的问题
你的代码里flatten已经完成了嵌套列表的展开,但Terraform的类型推断可能将结果识别为元组。要得到可用于lookup()的映射列表,只需用tolist()函数显式转换类型即可。
修改后的代码
locals { requestors = tolist(flatten([var.assignment_policies[*].requestor_settings.requestor])) }
简化写法
也可以去掉外层方括号,因为splat表达式本身已返回列表,直接传入flatten即可:
locals { requestors = tolist(flatten(var.assignment_policies[*].requestor_settings.requestor)) }
处理后local.requestors会完全符合你的预期,成为包含映射的列表,可直接用于lookup()函数。
内容的提问来源于stack exchange,提问作者Joseph Leiber
相关产品推荐
相关产品推荐

