I got a VM defined in terraform like this:
resource "azurerm_linux_virtual_machine" "vm" {
name = var.vm-name
resource_group_name = var.RG
location = var.location
size = var.vm-size
admin_username = data.azurerm_key_vault_secret.username.value
disable_password_authentication = true
proximity_placement_group_id = data.azurerm_proximity_placement_group.proximity-group.id
tags = var.tags
network_interface_ids = [
azurerm_network_interface.nic.id,
]
admin_ssh_key {
username = data.azurerm_key_vault_secret.username.value
public_key = data.azurerm_key_vault_secret.pub.value
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Premium_ZRS"
}
source_image_reference {
publisher = "Canonical"
offer = "0001-com-ubuntu-server-focal"
sku = "20_04-lts-gen2"
version = "latest"
}
}
Every time I run tf apply it thinks that the admin_username has been changed and wants to redeploy the machine. This is happening to several environments I'm working with so logically I'm doing something wrong but I can't figure out what..
key_vault_id = data.azurerm_key_vault.existing.id
data "azurerm_key_vault" "kv" { resource_group_name = var.RG-Keyvault name = var.keyvaultname }