Я также использую встроенные функции terraform для вырезания IP-адресов, но я также понимаю ваш вопрос и не понимаю ответов, это не гарантирует, что IP-адрес не будет использоваться.Также кажется, что вам понадобится переменная в качестве IP-адреса для передачи из системы развертывания, чтобы выполнять итерацию, а не перекрывать IP-адреса.
Я хотел бы знать полное решение для ответа выше.
Во всяком случае, у меня есть модуль, который создает среду, и я использую приведенный ниже пример, чтобы перейти к статическим IP-адресам, если вы снова запустите модуль, однако он обратит статические IP-адреса к динамическим, а затем обратно к статическим:)
Мой собственный ответ, однако, должен был бы сначала создать ник, который установлен на статический, а затем снова создать тот же ник, с динамическим IP-адресом, пример ниже:
resource "azurerm_network_interface" "vm_nic" {
name = "nic"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.rg.name}"
ip_configuration {
name = "privatenic"
subnet_id = "${data.azurerm_subnet.subnet.id}"
private_ip_address_allocation = "dynamic"
}
}
resource "azurerm_network_interface" "vm_staticnic" {
name = "testnic"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.rg.name}"
ip_configuration {
name = "privatenic"
subnet_id = "${data.azurerm_subnet.subnet.id}"
private_ip_address_allocation = "static"
private_ip_address = "${azurerm_network_interface.vm_nic.private_ip_address}"
}
}