Я пытаюсь создать сетевой интерфейс в Azure через terraform, используя следующий скрипт:
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
и присваивает ей Subnet.id
в ipconfiguration
.
Но если мне нужно снова создать другой сетевой интерфейс через другой файл .tf
с тем же Subnet1
, как мне снова получить значение ${azurerm_subnet.internal.id}
.
То есть, если подсеть уже существует, и я не хочу ее создавать, как мне установить эти значения и использовать их?
РЕДАКТИРОВАТЬ
Я выяснил, в PowerShell это скрипт, используемый для определения идентификатора подсети:
$vnetId= "[resourceId("VNetRG",'Microsoft.Network/virtualNetworks', "VNetName")]"
$subnetRef = "[concat($vnetId, '/subnets/', "Subnet1")]"
, где VNetRG - группа ресурсов виртуальной сети,
VNetName - имя виртуальной сети,
Subnet1 -Название подсети.
Может кто-нибудь сказать мне, что эквивалентный скрипт в terraform?