Snapshot
Snapshots provide a way to get point-in-time recovery for your Compute instance.
get-snapshot
Retrieve Snapshot details
GET /snapshot/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
application-consistent | boolean | Indicates whether the snapshot was taken using an application-consistent method |
created-at | string | Snapshot creation date |
export | Export | Exported snapshot information |
id | string | Snapshot ID |
instance | Instance | Compute Instance snapshotted |
name | string | Snapshot name |
size | integer | Snapshot size in GiB |
state | string | Snapshot state Allowed values: snapshotting, deleted, exporting, ready, deleting, error, exported. |
Example output
{
"application-consistent": true,
"created-at": "2024-01-01T12:00:00Z",
"export": {
"md5sum": "string",
"presigned-url": "string"
},
"id": "string",
"instance": {
"anti-affinity-groups": [
{
"id": "string"
}
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"id": "string"
},
"disk-size": 0,
"elastic-ips": [
{
"id": "string"
}
],
"id": "string",
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
"ch-dk-2"
]
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": "string",
"type": "sks-nodepool"
},
"name": "string",
"private-networks": [
{
"id": "string",
"mac-address": "string"
}
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"id": "string"
}
],
"snapshots": [
{
"id": "string"
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": "string",
"name": "string"
}
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
"ch-dk-2"
]
},
"tpm-enabled": true,
"user-data": "string"
},
"name": "string",
"size": 0,
"state": "snapshotting"
}SDK reference for get-snapshot: golang | Python | Java
CLI: exo api get-snapshot
delete-snapshot
Delete a Snapshot
DELETE /snapshot/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for delete-snapshot: golang | Python | Java
CLI: exo api delete-snapshot
Other Operations
export-snapshot
Export a Snapshot
POST /snapshot/{id}:exportPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for export-snapshot: golang | Python | Java
CLI: exo api export-snapshot
promote-snapshot-to-template
Promote a Snapshot to a Template
POST /snapshot/{id}:promotePath parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
name | string | yes | Template name |
default-user | string | no | Template default user |
description | string | no | Template description |
password-enabled | boolean | no | Enable password-based login in the template |
ssh-key-enabled | boolean | no | Enable SSH key-based login in the template |
Example
{
"default-user": "string",
"description": "string",
"name": "string",
"password-enabled": true,
"ssh-key-enabled": true
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for promote-snapshot-to-template: golang | Python | Java
CLI: exo api promote-snapshot-to-template
list-snapshots
List Snapshots
GET /snapshotResponses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
snapshots | array of Snapshot |
Example output
{
"snapshots": [
{
"application-consistent": true,
"created-at": "2024-01-01T12:00:00Z",
"export": {
"md5sum": "string",
"presigned-url": "string"
},
"id": "string",
"instance": {
"anti-affinity-groups": [
{
"id": null
}
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"id": "string"
},
"disk-size": 0,
"elastic-ips": [
{
"id": null
}
],
"id": "string",
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
null
]
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": "string",
"type": "sks-nodepool"
},
"name": "string",
"private-networks": [
{
"id": null,
"mac-address": null
}
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"id": null
}
],
"snapshots": [
{
"id": null
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": null,
"name": null
}
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
null
]
},
"tpm-enabled": true,
"user-data": "string"
},
"name": "string",
"size": 0,
"state": "snapshotting"
}
]
}SDK reference for list-snapshots: golang | Python | Java
CLI: exo api list-snapshots