You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:10:58