---
layout: "cloudstack"
page_title: "CloudStack: cloudstack_disk"
sidebar_current: "docs-cloudstack-resource-disk"
description: |-
  Creates a disk volume from a disk offering. This disk volume will be attached to a virtual machine if the optional parameters are configured.
---

# cloudstack_disk

Creates a disk volume from a disk offering. This disk volume will be attached to
a virtual machine if the optional parameters are configured.

## Example Usage

```hcl
resource "cloudstack_disk" "default" {
  name               = "test-disk"
  attach             = "true"
  disk_offering      = "custom"
  size               = 50
  virtual_machine_id = "server-1"
  zone               = "zone-1"
}
```

## Argument Reference

The following arguments are supported:

* `name` - (Required) The name of the disk volume. Changing this forces a new
    resource to be created.

* `attach` - (Optional) Determines whether or not to attach the disk volume to a
    virtual machine (defaults false).

* `device_id` - (Optional) The device ID to map the disk volume to within the guest OS.

* `disk_offering` - (Required) The name or ID of the disk offering to use for
    this disk volume.

* `size` - (Optional) The size of the disk volume in gigabytes.

* `shrink_ok` - (Optional) Verifies if the disk volume is allowed to shrink when
    resizing (defaults false).

* `virtual_machine_id` - (Optional) The ID of the virtual machine to which you want
    to attach the disk volume.

* `project` - (Optional) The name or ID of the project to deploy this
    instance to. Changing this forces a new resource to be created.

* `zone` - (Required) The name or ID of the zone where this disk volume will be available.
    Changing this forces a new resource to be created.

## Attributes Reference

The following attributes are exported:

* `id` - The ID of the disk volume.
* `device_id` - The device ID the disk volume is mapped to within the guest OS.

## Import

Disks can be imported; use `<DISK ID>` as the import ID. For
example:

```shell
terraform import cloudstack_disk.default 6f3ee798-d417-4e7a-92bc-95ad41cf1244
```

When importing into a project you need to prefix the import ID with the project name:

```shell
terraform import cloudstack_disk.default my-project/6f3ee798-d417-4e7a-92bc-95ad41cf1244
```
