据我所知,Terraform SDK 不支持接口类型。就我而言,我使用数据资源来访问 API 并提取 JSON 数据。我想将该数据放在一个属性中以供以后在资源中使用,但问题是 JSON 响应有一个填充不同类型的大字典。在 GoLang 中这没有问题,因为您可以将地图类型设置为 Interface{}
。然而,terraform 似乎只允许您在架构中设置以下类型:
如果不支持界面,您将如何正确执行此操作?我现在遇到的非常丑陋的 hack 是将所有内容转换为字符串,然后在将类型传递给资源后修复该类型。
答案 0 :(得分:0)
我在 Hashicorp 的论坛上提问,得到了惊人的回答 here。
概要是,强制转换为字符串是目前最好的解决方案。但是,有一个团队致力于设计新的 SDK,该设计将支持更新的功能,以包含动态选择类型的参数。