Create a custom virtual machine image that can be used to create virtual machines.
resource "azurerm_resource_group" "test" {
name = "acctest"
location = "West US"
}
resource "azurerm_image" "test" {
name = "acctest"
location = "West US"
resource_group_name = "${azurerm_resource_group.test.name}"
os_disk {
os_type = "Linux"
os_state = "Generalized"
blob_uri = "{blob_uri}"
size_gb = 30
}
}
resource "azurerm_resource_group" "test" {
name = "acctest"
location = "West US"
}
resource "azurerm_image" "test" {
name = "acctest"
location = "West US"
resource_group_name = "${azurerm_resource_group.test.name}"
source_virtual_machine_id = "{vm_id}"
}
The following arguments are supported:
name - (Required) Specifies the name of the image. Changing this forces a new resource to be created. resource_group_name - (Required) The name of the resource group in which to create the image. Changing this forces a new resource to be created. location - (Required) Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created. source_virtual_machine_id - (Optional) The Virtual Machine ID from which to create the image. os_disk - (Optional) One or more os_disk elements as defined below. data_disk - (Optional) One or more data_disk elements as defined below. tags - (Optional) A mapping of tags to assign to the resource. os_disk supports the following:
os_type - (Required) Specifies the type of operating system contained in the the virtual machine image. Possible values are: Windows or Linux. os_state - (Required) Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized. managed_disk_id - (Optional) Specifies the ID of the managed disk resource that you want to use to create the image. blob_uri - (Optional) Specifies the URI in Azure storage of the blob that you want to use to create the image. caching - (Optional) Specifies the caching mode as ReadWrite, ReadOnly, or None. The default is None. data_disk supports the following:
lun - (Required) Specifies the logical unit number of the data disk. managed_disk_id - (Optional) Specifies the ID of the managed disk resource that you want to use to create the image. blob_uri - (Optional) Specifies the URI in Azure storage of the blob that you want to use to create the image. caching - (Optional) Specifies the caching mode as ReadWrite, ReadOnly, or None. The default is None. size_gb - (Optional) Specifies the size of the image to be created. The target size can't be smaller than the source size. The following attributes are exported:
id - The managed image ID. Image can be imported using the resource id, e.g.
terraform import azurerm_image.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.compute/images/image1
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/azurerm/r/image.html