[在编写terraform模块时,我经常会出现如下错误:
Error: Invalid index
on ../../../modules/host/main.tf line 7, in resource "aws_network_interface" "host":
7: subnet_id = data.aws_subnet_ids.current[each.key].ids[0]
|----------------
| data.aws_subnet_ids.current is object with 2 attributes
| each.key is "lab"
发生这种情况的原因有很多。通常是因为我认为某个对象将包含的内容不正确。
为了帮助调试它,至少查看对象包含什么将很有用。 “具有2个属性的对象”相当模糊。我想知道它具有什么属性,因此我可以添加必要的转换以在这里得到所需的字符串。
所以有办法吗?您能否以某种方式运行“地形计划”,以便在计划出错时可以实际显示那些对象的内容?
这实际上比我预期的要容易。
只需:
terraform refresh
terraform show
您将看到所有当前数据源包含的内容。
如果在文档的调试章中暗示了这种可能性,那将很方便。