Terraform 地形v0.13+;:在模块中使用计数

Terraform 地形v0.13+;:在模块中使用计数,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在使用Terraform版本v0.14.3。 我正在使用计数模块创建多个相同类型的Azure资源(网络接口卡,VM)。 下面是父模块,调用子模块NIC和VM: 在地形规划期间,我发现以下错误: 如何循环生成的两个NIC ID并将其传递给VM模块中的两个VM? 提前谢谢 使用count.index参考输出的特定值,该值与您在第二次模块调用中设置的VM数量有关 nic_id = [module.NIC[count.index].nic_id] 谢谢@Tyler,它成功了,尽

我正在使用Terraform版本v0.14.3。 我正在使用计数模块创建多个相同类型的Azure资源(网络接口卡,VM)。 下面是父模块,调用子模块NIC和VM:

在地形规划期间,我发现以下错误:

如何循环生成的两个NIC ID并将其传递给VM模块中的两个VM?
提前谢谢

使用
count.index
参考输出的特定值,该值与您在第二次模块调用中设置的VM数量有关

  nic_id         = [module.NIC[count.index].nic_id]

谢谢@Tyler,它成功了,尽管我不得不去掉括号:``nic\u id=module.nic[count.index].nic\u id``再次感谢!与您的问题没有直接关系,而且我看到您已经解决了这个问题,所以我只是在这里发表评论,但是:由于您将一个模块的实例与另一个模块的实例关联起来,我建议使用
count=length(module.NIC)
在第二个示例中,让未来的读者更清楚地了解到,您打算为每个NIC提供一个VM,并避免在将来的更改中意外失去同步。谢谢Martin,这是有道理的。感谢您的建议!
Error: Incorrect attribute value type

  on VM\main.tf line 8, in resource "azurerm_linux_virtual_machine" "vm":
   8:   network_interface_ids           = var.nic_id
    |----------------
    | var.nic_id is tuple with 1 element

Inappropriate value for attribute "network_interface_ids": element 0: string
required.
  nic_id         = [module.NIC[count.index].nic_id]