# VM Disk Controller Resource

The API allows you to list, view, edit and create virtual machine disks.

### GET /virtual-machine-disks

Returns list of virtual machine disks filtered by specified query parameters.

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
hypervisor | query |  |
hypervisor-cluster | query |  |
hypervisor-manager | query |  |
project-uuid | query |  |
type | query |  | "AZURE_DATA_DISK_LINUX" or "AZURE_DATA_DISK_WINDOWS" or "AZURE_OS_DISK_LINUX" or "AZURE_OS_DISK_WINDOWS" or "GCP_EPHEMERAL" or "GCP_PERSISTENT" or "OPENNEBULA_PERSISTENT" or "OPENNEBULA_VOLATILE" or "OPENSHIFT_CDROM" or "OPENSHIFT_DISK" or "OPENSHIFT_LUN" or "OPENSHIFT_UNSNAPSHOTTABLE_DISK" or "OPENSTACK_CINDER" or "OPENSTACK_EPHEMERAL" or "OPENSTACK_GLANCE" or "OPENSTACK_NOVA" or "OPENSTACK_SWAP" or "UNKNOWN"
uuid | query |  |
virtual-machine | query |  |

Response Body
media type | data type | description
--- | --- | ---
application/json | array of VmDiskDetails (JSON) | list of virtual machine disks filtered by specified query parameters

#### Example

##### Request

    GET /virtual-machine-disks
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    [ { } ]

### GET /virtual-machine-disks/{guid}

Get a single virtual machine disk details.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for virtual machine disk (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | VmDiskDetails (JSON) | a single virtual machine disk details

#### Example

##### Request

    GET /virtual-machine-disks/{guid}
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }

### PUT /virtual-machine-disks/{guid}/settings

Change virtual machine disk settings.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for virtual machine disk (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | VmDiskSettingsUpdate (JSON) | specify virtual machine disk settings to update

Response Body
media type | data type | description
--- | --- | ---
application/json | VmDiskDetails (JSON) | updated details of virtual machine disk

#### Example

##### Request

    PUT /virtual-machine-disks/{guid}/settings
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    { }