Create disk

Create a new disk for a given organization.

POST
https://api.katapult.io/core/v1/organizations/{organization}/disks

If successful, this endpoint will return a 201 Created 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

organization Required

The organization to create the disk for.

Organization Lookup None

properties Required

The properties for the new disk.

DiskArguments None

annotations

Annotations for this disk

KeyValue Array None

Potential Errors

The following errors may occur during this request.

Details HTTP status

data_center_not_found

No data center was found matching any of the criteria provided in the arguments

404 Not Found

disk_io_profile_not_found

No disk IO profile 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

organization_not_activated

An organization was found from the arguments provided but it wasn't activated yet

403 Forbidden

organization_not_found

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

404 Not Found

organization_suspended

An organization was found from the arguments provided but it was suspended

403 Forbidden

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

validation_error

A validation error occurred with the object that was being created/updated/deleted

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
            } ]
        }
    }
    task: Task {
        id: String
        name: String
        status: TaskStatusEnum
        created_at: Unix Timestamp
        started_at: Unix Timestamp?
        finished_at: Unix Timestamp?
        progress: Integer
    }
    annotations: [ KeyValue {
        key: String
        value: String?
    } ]
}