Based on variable value (true or false) , i create Public IP and assign/remove it to/from network interface
#Create network interface
resource "azurerm_network_interface" "public_ip" {
count = "${var.enable_public_ip ? 1 : 0}"
name = "Network_Inteface_${var.env_name}_${format("%s",element(var.azure_instance_names, count.index))}"
location = "${azurerm_resource_group.res_group.location}"
resource_group_name = "${azurerm_resource_group.res_group.name}"
#network_security_group_id = "${var.vm_security_group_id}"
ip_configuration {
name = "Server2016"
subnet_id = "${azurerm_subnet.DTAP_WAN.id}"
private_ip_address_allocation = "dynamic"
public_ip_address_id = "${azurerm_public_ip.public_ip.id}"
}
}
resource "azurerm_network_interface" "no_public_ip" {
count = "${var.enable_public_ip ? 0 : 1}"
name = "Network-Inteface-${var.env_name}-${format("%s",element(var.azure_instance_names, count.index))}"
location = "${azurerm_resource_group.res_group.location}"
resource_group_name = "${azurerm_resource_group.res_group.name}"
#network_security_group_id = "${var.vm_security_group_id}"
ip_configuration {
name = "Server2016"
subnet_id = "${azurerm_subnet.DTAP_WAN.id}"
private_ip_address_allocation = "dynamic"
}
}
How, based on
variable "enable_public_ip" {
default = false
}
variable to chose what network interface to assign to VM
i tried this:
resource "azurerm_virtual_machine" "seven_disks" {
count = "${var.second_disk > 0 && var.third_disk > 0 && var.fourth_disk > 0 && var.fifth_disk > 0 && var.sixth_disk > 0 && var.seventh_disk > 0 ? 1 : 0}"
.........
network_interface_ids = ["${var.enable_public_ip ? azurerm_network_interface.public_ip.id : azurerm_network_interface.no_public_ip.id}"]
....................
}
but getting:
Error: Error running plan: 1 error(s) occurred:
-
azurerm_virtual_machine.seven_disks: 1 error(s) occurred:
-
azurerm_virtual_machine.seven_disks: Resource 'azurerm_network_interface.public_ip' not found for variable 'azurerm_network_interface.public_ip.id'
when variable variable "enable_public_ip" is set to false
Aucun commentaire:
Enregistrer un commentaire