Block Storage
Exoscale’s Block Storage offers persistent externally attached volumes for your Compute instances.
create-block-storage-snapshot
Create a block storage snapshot
POST /block-storage/{id}:create-snapshotPath parameters
idinpath(required)
Request body
application/jsonname(string): Snapshot namelabels(object)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for create-block-storage-snapshot: golang | Python | Java
CLI: exo api create-block-storage-snapshot
get-block-storage-snapshot
Retrieve block storage snapshot details
GET /block-storage-snapshot/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Snapshot IDname(string): Snapshot namesize(integer): Snapshot sizevolume-size(integer): Original Volume sizecreated-at(string): Snapshot creation datestate(string): Snapshot statelabels(object)block-storage-volume(object): Target block storage volume - schema details
SDK reference for get-block-storage-snapshot: golang | Python | Java
CLI: exo api get-block-storage-snapshot
update-block-storage-snapshot
Update block storage volume snapshot
PUT /block-storage-snapshot/{id}Path parameters
idinpath(required)
Request body
application/jsonname(string): Snapshot namelabels(object)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for update-block-storage-snapshot: golang | Python | Java
CLI: exo api update-block-storage-snapshot
delete-block-storage-snapshot
Delete a block storage snapshot, data will be unrecoverable
DELETE /block-storage-snapshot/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for delete-block-storage-snapshot: golang | Python | Java
CLI: exo api delete-block-storage-snapshot
create-block-storage-volume
Create a block storage volume
POST /block-storageRequest body
application/jsonname(string): Volume namesize(integer): Volume size in GiB. When a snapshot ID is supplied, this defaults to the size of the source volume, but can be set to a larger value.labels(object)block-storage-snapshot(object): Target block storage snapshot - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for create-block-storage-volume: golang | Python | Java
CLI: exo api create-block-storage-volume
get-block-storage-volume
Retrieve block storage volume details
GET /block-storage/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonlabels(object)instance(object): Target Instance - schema detailsname(string): Volume namestate(string): Volume statesize(integer): Volume sizeblocksize(integer): Volume block sizeblock-storage-snapshots(array[object]): Volume snapshots, if any - schema detailsid(string): Volume IDcreated-at(string): Volume creation date
SDK reference for get-block-storage-volume: golang | Python | Java
CLI: exo api get-block-storage-volume
resize-block-storage-volume
Resize a block storage volume
PUT /block-storage/{id}:resize-volumeThis operation resizes a Block storage volume. Note: the volume can only grow, cannot be shrunk. Only detached volumes or volumes attached to stopped instances can be resized.
Path parameters
idinpath(required)
Request body
application/jsonsize(required) (integer): Volume size in GiB
Responses
200: 200application/jsonlabels(object)instance(object): Target Instance - schema detailsname(string): Volume namestate(string): Volume statesize(integer): Volume sizeblocksize(integer): Volume block sizeblock-storage-snapshots(array[object]): Volume snapshots, if any - schema detailsid(string): Volume IDcreated-at(string): Volume creation date
SDK reference for resize-block-storage-volume: golang | Python | Java
CLI: exo api resize-block-storage-volume
detach-block-storage-volume
Detach block storage volume
PUT /block-storage/{id}:detachPath parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for detach-block-storage-volume: golang | Python | Java
CLI: exo api detach-block-storage-volume
update-block-storage-volume
Update block storage volume
PUT /block-storage/{id}Path parameters
idinpath(required)
Request body
application/jsonname(string): Volume namelabels(object)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for update-block-storage-volume: golang | Python | Java
CLI: exo api update-block-storage-volume
delete-block-storage-volume
Delete a block storage volume, data will be unrecoverable
DELETE /block-storage/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for delete-block-storage-volume: golang | Python | Java
CLI: exo api delete-block-storage-volume
Other Operations
list-block-storage-snapshots
List block storage snapshots
GET /block-storage-snapshotResponses
200: 200application/jsonblock-storage-snapshots(array[object]) - schema details
SDK reference for list-block-storage-snapshots: golang | Python | Java
CLI: exo api list-block-storage-snapshots
attach-block-storage-volume-to-instance
Attach block storage volume to an instance
PUT /block-storage/{id}:attachPath parameters
idinpath(required)
Request body
application/jsoninstance(required) (object): Target Instance - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for attach-block-storage-volume-to-instance: golang | Python | Java
CLI: exo api attach-block-storage-volume-to-instance
list-block-storage-volumes
List block storage volumes
GET /block-storageQuery parameters
instance-idinquery(optional)
Responses
200: 200application/jsonblock-storage-volumes(array[object]) - schema details
SDK reference for list-block-storage-volumes: golang | Python | Java
CLI: exo api list-block-storage-volumes