Detach disk from virtual machine

Detach a disk from its virtual machine.

POST
https://api.katapult.io/core/v1/disks/{disk}/detach

If successful, this endpoint will return a 200 OK status.

Scopes

One of the following scopes are required to use this endpoint.

Arguments

The following arguments are supported for this endpoint.

Name Type Default Value

disk Required

The disk to detach from its virtual machine.

Disk Lookup None

Potential Errors

The following errors may occur during this request.

Details HTTP status

disk_not_found

No disk was found matching any of the criteria provided in the arguments

404 Not Found

object_in_trash

The object found is in the trash and therefore cannot be manipulated through the API. It should be restored in order to run this operation.

406 Not Acceptable

permission_denied

The authenticated identity is not permitted to perform this action

403 Forbidden

task_queueing_error

This error means that a background task that was needed to complete your request could not be queued

406 Not Acceptable

unassigned_disk

Disk is not assigned to a virtual machine.

422 Unprocessable Entity

Returned Object

When the request is successful, you can expect an object matching the specification below to be returned.

{
    disk: Disk {
        id: String
        name: String
        size_in_gb: Integer
        wwn: String
        state: DiskStateEnum
        created_at: Unix Timestamp
        storage_speed: StorageSpeedEnum
        io_profile: DiskIOProfile? {
            id: String
            name: String
            permalink: String
            speed_in_mb: Integer?
            iops: Integer?
        }
        bus_type: DiskBusEnum?
        data_center: DataCenter {
            id: String
            name: String
            permalink: String
        }
        virtual_machine_disk: VirtualMachineDisk? {
            virtual_machine: VirtualMachine {
                id: String
                fqdn: String
            }
            attach_on_boot: Boolean
            boot: Boolean
            state: VirtualMachineDiskAttachmentStateEnum
        }
        installation: DiskInstallation? {
            id: String
            disk_template_version: DiskTemplateVersion {
                number: Integer
                stable: Boolean
                disk_template: DiskTemplate {
                    id: String
                    name: String
                    permalink: String
                    operating_system: OperatingSystem? {
                        id: String
                        name: String
                    }
                }
            }
            attributes: [ DiskInstallationAttribute {
                key: String
                label: String
                value: String?
                description: String?
                protect: Boolean
            } ]
        }
    }
    task: Task {
        id: String
        name: String
        status: TaskStatusEnum
        created_at: Unix Timestamp
        started_at: Unix Timestamp?
        finished_at: Unix Timestamp?
        progress: Integer
    }
}