Assign disk to virtual machine

Assign a disk to a virtual machine.

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

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 assign to a virtual machine.

Disk Lookup None

virtual_machine Required

The virtual machine to assign the disk to.

VirtualMachine 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

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

unable_to_assign

The disk can not be assigned to the virtual machine.

422 Unprocessable Entity

virtual_machine_not_found

No virtual machine was found matching any of the criteria provided in the arguments

404 Not Found

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
            } ]
        }
    }
}