如何通过terraform-config-inspect提取Terraform资源的原始参数值
解答
获取原始未解析值的方法
terraform-config-inspect本身设计为提取Terraform配置的高层元数据,默认仅返回可静态求值的内容,遇到依赖变量、其他资源的插值表达式时,内置的求值逻辑会抛出value must be known错误,也没有内置配置项支持直接返回原始表达式。
如果要基于该工具实现需求,可修改其内部逻辑:跳过原有属性求值步骤,直接访问HCL AST节点对应的原始文件范围,截取对应位置的文本内容,即可直接得到包含${}插值的原始字符串,无需触发求值逻辑,就不会出现类型错误或空值问题。
替代工具方案
hcl2json:可直接将整份HCL配置转换为结构化JSON,所有资源参数的表达式结构会完整保留,可直接从转换结果中提取对应资源的name属性内容,自行拼接为原始字符串格式即可。- 基于官方
hashicorp/hcl库自定义开发:仅需少量代码即可实现指定资源属性的原始文本提取,遍历HCL资源块、定位到目标属性、读取其对应原始文本即可,实现成本低,无需改造现有第三方工具。
内容的提问来源于stack exchange,提问作者Tomas Zuklys
相关产品推荐
相关产品推荐

