使用terraform在Azure中创建网络接口时,请使用现有子网详细信息,而不是再次创建

使用terraform在Azure中创建网络接口时,请使用现有子网详细信息,而不是再次创建,azure,terraform,terraform-provider-azure,Azure,Terraform,Terraform Provider Azure,我正在尝试使用以下脚本通过terraform在Azure中创建网络接口: resource "azurerm_subnet" "internal" { name = "Subnet1" resource_group_name = "${var.VNetResourceGroup}" virtual_network_name = "${var.VNetName}" address_prefix = "10.0.2.0/24" } re

我正在尝试使用以下脚本通过terraform在Azure中创建网络接口:

resource "azurerm_subnet" "internal" {
  name                 = "Subnet1"
  resource_group_name  = "${var.VNetResourceGroup}"
  virtual_network_name = "${var.VNetName}"
  address_prefix       = "10.0.2.0/24"
}

resource "azurerm_network_interface" "main" {
  name                = "${var.prefix}-nic"
  location            = "${var.location}"
  resource_group_name = "${var.resourceGroup}"

  ip_configuration {
    name                          = "ipconfig1"
    subnet_id                     = "${azurerm_subnet.internal.id}"
    private_ip_address_allocation = "dynamic"
  }
}
此脚本创建子网
Subnet1
,并在
ipconfiguration
中分配该
Subnet.id

但是,如果必须通过另一个
.tf
文件使用相同的
子网1
再次创建另一个网络接口,如何再次获取
${azurerm\u subnet.internal.id}

也就是说,如果子网已经存在并且我不想创建它,我如何设置这些值并使用它们

编辑

我发现,在powershell中,这是用于确定子网id的脚本:

$vnetId= "[resourceId("VNetRG",'Microsoft.Network/virtualNetworks', "VNetName")]"
$subnetRef = "[concat($vnetId, '/subnets/', "Subnet1")]"
其中VNetRG-VNet的资源组,
VNetName—VNet的名称,
Subnet1-子网的名称

谁能告诉我terraform中的等效脚本是什么

使用:

然后在NIC代码中使用

subnet_id  = "${data.azurerm_subnet.subnet1.id}"
使用:

然后在NIC代码中使用

subnet_id  = "${data.azurerm_subnet.subnet1.id}"