[英]Use the existing Subnet details instead of creating again while creating Network Interface in Azure using terraform
我正在嘗試使用以下腳本通過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"
}
}
該腳本創建Subnet Subnet1
並在ipconfiguration
分配該Subnet.id
。
但是,如果必須通過另一個具有相同Subnet1
.tf
文件再次創建另一個網絡接口,該如何再次獲得${azurerm_subnet.internal.id}
值。
也就是說,如果子網已經存在並且我不想創建它,那么如何設置這些值並使用它們?
編輯
我已經知道,在Powershell中,這是用於確定子網ID的腳本:
$vnetId= "[resourceId("VNetRG",'Microsoft.Network/virtualNetworks', "VNetName")]"
$subnetRef = "[concat($vnetId, '/subnets/', "Subnet1")]"
其中VNetRG-VNet資源組,
VNetName-VNet的名稱,
子網1-子網名稱。
誰能告訴我terraform中的等效腳本是什么?
使用子網數據源 :
data "azurerm_subnet" "subnet1" {
name = "Subnet1"
virtual_network_name = "${var.VNetName}"
resource_group_name = "${var.VNetResourceGroup}"
}
然后在您的NIC代碼中引用它
subnet_id = "${data.azurerm_subnet.subnet1.id}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.