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

如何在Terraform中从yamldecode解析的字典列表提取cat列表

提取Terraform YAML配置中的颜色列表

你的YAML配置里abc是列表类型(开头的-标识这是列表元素),所以cfg_vars.abc返回的是包含单个VM配置的列表,而非直接的映射对象。之前的尝试错误在于引用了不存在的groups字段,且未处理abc的列表结构。

解决方案1:针对单个VM配置

如果确定abc列表仅包含一个元素,直接取第一个元素的cat字段即可:

list_color = try(cfg_vars.abc[0].cat, [])

解决方案2:针对多个VM配置(合并所有颜色)

如果abc列表可能包含多个VM,需要提取所有VM的cat列表并合并为一维列表:

list_color = flatten(try(cfg_vars.abc[*].cat, []))
  • abc[*].cat:用splat运算符遍历所有VM配置,提取每个的cat字段,得到嵌套列表
  • flatten:将嵌套列表展开为扁平的一维列表
  • try(..., []):处理字段不存在的场景,返回空列表避免报错

内容的提问来源于stack exchange,提问作者drmaa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:02:40