azurerm_virtual_machine_data_disk_attachment
Manages attaching a Disk to a Virtual Machine.
NOTE: Data Disks can be attached either directly on the
azurerm_virtual_machine
resource, or using theazurerm_virtual_machine_data_disk_attachment
resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.
Please Note: only Managed Disks are supported via this separate resource, Unmanaged Disks can be attached using the
storage_data_disk
block in theazurerm_virtual_machine
resource.
Example Usage
variable "prefix" { default = "example" } locals { vm_name = "${var.prefix}-vm" } resource "azurerm_resource_group" "main" { name = "${var.prefix}-resources" location = "West Europe" } resource "azurerm_virtual_network" "main" { name = "${var.prefix}-network" address_space = ["10.0.0.0/16"] location = "${azurerm_resource_group.main.location}" resource_group_name = "${azurerm_resource_group.main.name}" } resource "azurerm_subnet" "internal" { name = "internal" resource_group_name = "${azurerm_resource_group.main.name}" virtual_network_name = "${azurerm_virtual_network.main.name}" address_prefix = "10.0.2.0/24" } resource "azurerm_network_interface" "main" { name = "${var.prefix}-nic" location = "${azurerm_resource_group.main.location}" resource_group_name = "${azurerm_resource_group.main.name}" ip_configuration { name = "internal" subnet_id = "${azurerm_subnet.internal.id}" private_ip_address_allocation = "dynamic" } } resource "azurerm_virtual_machine" "test" { name = "${local.vm_name}" 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_F2" storage_image_reference { publisher = "Canonical" offer = "UbuntuServer" sku = "16.04-LTS" version = "latest" } storage_os_disk { name = "myosdisk1" caching = "ReadWrite" create_option = "FromImage" managed_disk_type = "Standard_LRS" } os_profile { computer_name = "${local.vm_name}" admin_username = "testadmin" admin_password = "Password1234!" } os_profile_linux_config { disable_password_authentication = false } } resource "azurerm_managed_disk" "test" { name = "${local.vm_name}-disk1" location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" storage_account_type = "Standard_LRS" create_option = "Empty" disk_size_gb = 10 } resource "azurerm_virtual_machine_data_disk_attachment" "test" { managed_disk_id = "${azurerm_managed_disk.test.id}" virtual_machine_id = "${azurerm_virtual_machine.windows.id}" lun = "10" caching = "ReadWrite" }
Argument Reference
The following arguments are supported:
-
virtual_machine_id
- (Required) The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created. -
managed_disk_id
- (Required) The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created. -
lun
- (Required) The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created. -
caching
- (Required) Specifies the caching requirements for this Data Disk. Possible values includeNone
,ReadOnly
andReadWrite
. -
create_option
- (Optional) The Create Option of the Data Disk, such asEmpty
orAttach
. Defaults toAttach
. Changing this forces a new resource to be created.
Attributes Reference
The following attributes are exported:
-
id
- The ID of the Virtual Machine Data Disk attachment.
Import
Virtual Machines Data Disk Attachments can be imported using the resource id
, e.g.
terraform import azurerm_virtual_machine_data_disk_attachment.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.compute/virtualMachines/machine1/dataDisks/disk1
Please Note: This is a Terraform Unique ID matching the format:
{virtualMachineID}/dataDisks/{diskName}
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/azurerm/r/virtual_machine_data_disk_attachment.html