Skip to content

Snapshot

Snapshots provide a way to get point-in-time recovery for your Compute instance.

Read more

get-snapshot

Retrieve Snapshot details

GET /snapshot/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
application-consistentbooleanIndicates whether the snapshot was taken using an application-consistent method
created-atstringSnapshot creation date
exportExportExported snapshot information
idstringSnapshot ID
instanceInstanceCompute Instance snapshotted
namestringSnapshot name
sizeintegerSnapshot size in GiB
statestringSnapshot 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

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:export

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:promote

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringyesTemplate name
default-userstringnoTemplate default user
descriptionstringnoTemplate description
password-enabledbooleannoEnable password-based login in the template
ssh-key-enabledbooleannoEnable 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

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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 /snapshot

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
snapshotsarray 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

Last updated on