azurerm_image.source_virtual_machine_id 应该是什么才能使用 terraform 脚本在 Azure 上旋转 linux 虚拟机?

What should be azurerm_image.source_virtual_machine_id to spun linux vm on azure using terraform script?

我们已经创建了自定义 OS 映像 -- 托管磁盘 并且需要使用 terraform 脚本旋转 VM 使用自定义创建的图像 我们需要指定发布者、所有者、版本、sku 或图像 id

如果我们去检查 Azure 门户 -> 图片 -> "Overview" -> ..... blob uri 的 space ---- 空白 在 terraform 脚本中使用资源 ID 没有帮助

您可以查看 document(托管磁盘和自定义映像的示例用法(推荐))中的示例。

resource "azurerm_virtual_machine" "test" {
  name                  = "acctvm"
  location              = "${azurerm_resource_group.test.location}"
  resource_group_name   = "${azurerm_resource_group.test.name}"
  network_interface_ids = ["${azurerm_network_interface.test.id}"]
  vm_size               = "Standard_DS1_v2"

  # Uncomment this line to delete the OS disk automatically when deleting the VM
  # delete_os_disk_on_termination = true

  # Uncomment this line to delete the data disks automatically when deleting the VM
  # delete_data_disks_on_termination = true

  storage_image_reference {
    id="${data.azurerm_image.image.id}"
  }

  storage_os_disk {
    name              = "myosdisk1"
    caching           = "ReadWrite"
    create_option     = "FromImage"
    managed_disk_type = "Standard_LRS"
  }

注意:id 是您的托管磁盘资源 ID,不是 blob URL。