Instance

Instances are the virtual machines at the core of the Exoscale Compute service.

Read more

create-instance

Create a Compute instance

POST /instance

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesInstance disk size in GiB
instance-typeobjectyesCompute instance type schema details
templateobjectyesInstance template schema details
anti-affinity-groupsarray[object]noInstance Anti-affinity Groups schema details
application-consistent-snapshot-enabledbooleannoEnable application-consistent snapshot for the instance
auto-startbooleannoStart Instance on creation (default: true)
deploy-targetobjectnoDeploy target schema details
ipv6-enabledbooleannoEnable IPv6. DEPRECATED: use public-ip-assignments.
labelsobjectnoResource labels
namestringnoInstance name
public-ip-assignmentstringnoAssign public IP to the Instance

Allowed values: inet4, dual, none.
secureboot-enabledbooleannoEnable secure boot
security-groupsarray[object]noInstance Security Groups schema details
ssh-keyobjectnoSSH key schema details
ssh-keysarray[object]noInstance SSH Keys schema details
tpm-enabledbooleannoEnable Trusted Platform Module (TPM)
user-datastringnoInstance Cloud-init user-data (base64 encoded)
Example
{
  "anti-affinity-groups": [
    {
      "description": "string",
      "id": "string",
      "instances": [
        {
          "anti-affinity-groups": [
            null
          ],
          "application-consistent-snapshot-enabled": true,
          "created-at": "2024-01-01T12:00:00Z",
          "deploy-target": {
            "description": null,
            "id": null,
            "name": null,
            "type": null
          },
          "disk-size": 0,
          "elastic-ips": [
            null
          ],
          "id": "string",
          "instance-type": {
            "authorized": null,
            "cpus": null,
            "family": null,
            "gpus": null,
            "id": null,
            "memory": null,
            "size": null,
            "zones": null
          },
          "ipv6-address": "string",
          "labels": {},
          "mac-address": "string",
          "manager": {
            "id": null,
            "type": null
          },
          "name": "string",
          "private-networks": [
            null
          ],
          "public-ip": "string",
          "public-ip-assignment": "inet4",
          "secureboot-enabled": true,
          "security-groups": [
            null
          ],
          "snapshots": [
            null
          ],
          "ssh-key": {
            "fingerprint": null,
            "name": null
          },
          "ssh-keys": [
            null
          ],
          "state": "expunging",
          "template": {
            "application-consistent-snapshot-enabled": null,
            "boot-mode": null,
            "build": null,
            "checksum": null,
            "created-at": null,
            "default-user": null,
            "description": null,
            "family": null,
            "id": null,
            "maintainer": null,
            "name": null,
            "password-enabled": null,
            "size": null,
            "ssh-key-enabled": null,
            "url": null,
            "version": null,
            "visibility": null,
            "zones": null
          },
          "tpm-enabled": true,
          "user-data": "string"
        }
      ],
      "name": "string"
    }
  ],
  "application-consistent-snapshot-enabled": true,
  "auto-start": true,
  "deploy-target": {
    "description": "string",
    "id": "string",
    "name": "string",
    "type": "edge"
  },
  "disk-size": 0,
  "instance-type": {
    "authorized": true,
    "cpus": 0,
    "family": "gpu3",
    "gpus": 0,
    "id": "string",
    "memory": 0,
    "size": "large",
    "zones": [
      "ch-dk-2"
    ]
  },
  "ipv6-enabled": true,
  "labels": {},
  "name": "string",
  "public-ip-assignment": "inet4",
  "secureboot-enabled": true,
  "security-groups": [
    {
      "description": "string",
      "external-sources": [
        "string"
      ],
      "id": "string",
      "name": "string",
      "rules": [
        {
          "description": "string",
          "end-port": 0,
          "flow-direction": "ingress",
          "icmp": {
            "code": null,
            "type": null
          },
          "id": "string",
          "network": "string",
          "protocol": "tcp",
          "security-group": {
            "id": null,
            "name": null,
            "visibility": null
          },
          "start-port": 0
        }
      ]
    }
  ],
  "ssh-key": {
    "fingerprint": "string",
    "name": "string"
  },
  "ssh-keys": [
    {
      "fingerprint": "string",
      "name": "string"
    }
  ],
  "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"
}

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.
referenceobjectRelated resource reference schema details
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 create-instance: golang | Python | Java

CLI: exo api create-instance

get-instance

Retrieve Compute instance details

GET /instance/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
anti-affinity-groupsarray[object]Instance Anti-affinity Groups schema details
application-consistent-snapshot-enabledbooleanIndicates if the instance will take application-consistent snapshots
created-atstringInstance creation date
deploy-targetobjectDeploy target schema details
disk-sizeintegerInstance disk size in GiB
elastic-ipsarray[object]Instance Elastic IPs schema details
idstringInstance ID
instance-typeobjectCompute instance type schema details
ipv6-addressstringInstance IPv6 address
labelsobjectResource labels
mac-addressstringInstance MAC address
managerobjectResource manager schema details
namestringInstance name
private-networksarray[object]Instance Private Networks schema details
public-ipstringInstance public IPv4 address
public-ip-assignmentstringInstance public IP assignment

Allowed values: inet4, dual, none.
secureboot-enabledbooleanIndicates if the instance has secure boot enabled
security-groupsarray[object]Instance Security Groups schema details
snapshotsarray[object]Instance Snapshots schema details
ssh-keyobjectSSH key schema details
ssh-keysarray[object]Instance SSH Keys schema details
statestringInstance state

Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed.
templateobjectInstance template schema details
tpm-enabledbooleanIndicates if the instance has tpm enabled
user-datastringInstance Cloud-init user-data (base64 encoded)
Example output
{
  "anti-affinity-groups": [
    {
      "description": "string",
      "id": "string",
      "instances": [
        {
          "anti-affinity-groups": [
            null
          ],
          "application-consistent-snapshot-enabled": true,
          "created-at": "2024-01-01T12:00:00Z",
          "deploy-target": {
            "description": null,
            "id": null,
            "name": null,
            "type": null
          },
          "disk-size": 0,
          "elastic-ips": [
            null
          ],
          "id": "string",
          "instance-type": {
            "authorized": null,
            "cpus": null,
            "family": null,
            "gpus": null,
            "id": null,
            "memory": null,
            "size": null,
            "zones": null
          },
          "ipv6-address": "string",
          "labels": {},
          "mac-address": "string",
          "manager": {
            "id": null,
            "type": null
          },
          "name": "string",
          "private-networks": [
            null
          ],
          "public-ip": "string",
          "public-ip-assignment": "inet4",
          "secureboot-enabled": true,
          "security-groups": [
            null
          ],
          "snapshots": [
            null
          ],
          "ssh-key": {
            "fingerprint": null,
            "name": null
          },
          "ssh-keys": [
            null
          ],
          "state": "expunging",
          "template": {
            "application-consistent-snapshot-enabled": null,
            "boot-mode": null,
            "build": null,
            "checksum": null,
            "created-at": null,
            "default-user": null,
            "description": null,
            "family": null,
            "id": null,
            "maintainer": null,
            "name": null,
            "password-enabled": null,
            "size": null,
            "ssh-key-enabled": null,
            "url": null,
            "version": null,
            "visibility": null,
            "zones": null
          },
          "tpm-enabled": true,
          "user-data": "string"
        }
      ],
      "name": "string"
    }
  ],
  "application-consistent-snapshot-enabled": true,
  "created-at": "2024-01-01T12:00:00Z",
  "deploy-target": {
    "description": "string",
    "id": "string",
    "name": "string",
    "type": "edge"
  },
  "disk-size": 0,
  "elastic-ips": [
    {
      "addressfamily": "inet4",
      "cidr": "string",
      "description": "string",
      "healthcheck": {
        "interval": 0,
        "mode": "tcp",
        "port": 0,
        "strikes-fail": 0,
        "strikes-ok": 0,
        "timeout": 0,
        "tls-skip-verify": true,
        "tls-sni": "string",
        "uri": "string"
      },
      "id": "string",
      "ip": "string",
      "labels": {}
    }
  ],
  "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": [
    {
      "description": "string",
      "external-sources": [
        "string"
      ],
      "id": "string",
      "name": "string",
      "rules": [
        {
          "description": "string",
          "end-port": 0,
          "flow-direction": "ingress",
          "icmp": {
            "code": null,
            "type": null
          },
          "id": "string",
          "network": "string",
          "protocol": "tcp",
          "security-group": {
            "id": null,
            "name": null,
            "visibility": null
          },
          "start-port": 0
        }
      ]
    }
  ],
  "snapshots": [
    {
      "application-consistent": true,
      "created-at": "2024-01-01T12:00:00Z",
      "export": {
        "md5sum": "string",
        "presigned-url": "string"
      },
      "id": "string",
      "instance": {
        "anti-affinity-groups": [
          {
            "description": null,
            "id": null,
            "instances": null,
            "name": null
          }
        ],
        "application-consistent-snapshot-enabled": true,
        "created-at": "2024-01-01T12:00:00Z",
        "deploy-target": {
          "description": "string",
          "id": "string",
          "name": "string",
          "type": "edge"
        },
        "disk-size": 0,
        "elastic-ips": [
          {
            "addressfamily": null,
            "cidr": null,
            "description": null,
            "healthcheck": null,
            "id": null,
            "ip": null,
            "labels": 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": [
          {
            "description": null,
            "external-sources": null,
            "id": null,
            "name": null,
            "rules": null
          }
        ],
        "snapshots": [
          {
            "application-consistent": null,
            "created-at": null,
            "export": null,
            "id": null,
            "instance": null,
            "name": null,
            "size": null,
            "state": 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"
    }
  ],
  "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"
}

SDK reference for get-instance: golang | Python | Java

CLI: exo api get-instance

reset-instance

Reset a Compute instance to a base/target template

PUT /instance/{id}:reset

This operation re-installs a Compute instance to a base template. If target template is provided it will be used to recreated instance from. Warning: the operation wipes all data stored on the disk.

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegernoInstance disk size in GiB
templateobjectnoInstance template schema details
Example
{
  "disk-size": 0,
  "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"
    ]
  }
}

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.
referenceobjectRelated resource reference schema details
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 reset-instance: golang | Python | Java

CLI: exo api reset-instance

start-instance

Start a Compute instance

PUT /instance/{id}:start

This operation starts a virtual machine, potentially using a rescue profile if specified

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
rescue-profilestringnoBoot in Rescue Mode, using named profile (supported: netboot, netboot-efi)

Allowed values: netboot-efi, netboot.
Example
{
  "rescue-profile": "netboot-efi"
}

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.
referenceobjectRelated resource reference schema details
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 start-instance: golang | Python | Java

CLI: exo api start-instance

scale-instance

Scale a Compute instance to a new Instance Type

PUT /instance/{id}:scale

This operation changes the Compute instance’s type. Note: the new Instance Type must be within the same family (e.g. a standard instance cannot be scaled to gpu2 or storage).

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instance-typeobjectyesCompute instance type schema details
Example
{
  "instance-type": {
    "authorized": true,
    "cpus": 0,
    "family": "gpu3",
    "gpus": 0,
    "id": "string",
    "memory": 0,
    "size": "large",
    "zones": [
      "ch-dk-2"
    ]
  }
}

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.
referenceobjectRelated resource reference schema details
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 scale-instance: golang | Python | Java

CLI: exo api scale-instance

stop-instance

Stop a Compute instance

PUT /instance/{id}:stop

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.
referenceobjectRelated resource reference schema details
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 stop-instance: golang | Python | Java

CLI: exo api stop-instance

reboot-instance

Reboot a Compute instance

PUT /instance/{id}:reboot

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.
referenceobjectRelated resource reference schema details
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 reboot-instance: golang | Python | Java

CLI: exo api reboot-instance

update-instance

Update a Compute instance

PUT /instance/{id}

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
application-consistent-snapshot-enabledbooleannoEnable/Disable Application Consistent Snapshot for Instance
labelsobjectnoResource labels
namestringnoInstance name
public-ip-assignmentstringnoAssign public IP to the Instance

Allowed values: inet4, dual, none.
user-datastringnoInstance Cloud-init user-data (base64 encoded)
Example
{
  "application-consistent-snapshot-enabled": true,
  "labels": {},
  "name": "string",
  "public-ip-assignment": "inet4",
  "user-data": "string"
}

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.
referenceobjectRelated resource reference schema details
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 update-instance: golang | Python | Java

CLI: exo api update-instance

delete-instance

Delete a Compute instance

DELETE /instance/{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.
referenceobjectRelated resource reference schema details
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-instance: golang | Python | Java

CLI: exo api delete-instance

reveal-instance-password

Reveal the password used during instance creation or the latest password reset.

GET /instance/{id}:password

Reveal the password used during instance creation or the latest password reset. This is only available for VMs created against templates having the password-enabled property set to true.

        Passwords are transiently stored for at most 24 hours and intended to be retrieved shortly after
        creation or resets.

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
passwordstringPassword
Example output
{
  "password": "string"
}

SDK reference for reveal-instance-password: golang | Python | Java

CLI: exo api reveal-instance-password

reset-instance-password

Reset a compute instance password

PUT /instance/{id}:reset-password

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.
referenceobjectRelated resource reference schema details
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 reset-instance-password: golang | Python | Java

CLI: exo api reset-instance-password

remove-instance-protection

Remove instance destruction protection

PUT /instance/{id}:remove-protection

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.
referenceobjectRelated resource reference schema details
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 remove-instance-protection: golang | Python | Java

CLI: exo api remove-instance-protection

add-instance-protection

Set instance destruction protection

PUT /instance/{id}:add-protection

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.
referenceobjectRelated resource reference schema details
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 add-instance-protection: golang | Python | Java

CLI: exo api add-instance-protection


Other Operations

get-console-proxy-url

Retrieve signed url valid for 60 seconds to connect via console-proxy websocket to VM VNC console.

GET /console/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
hoststring
pathstring
urlstring
Example output
{
  "host": "string",
  "path": "string",
  "url": "string"
}

SDK reference for get-console-proxy-url: golang | Python | Java

CLI: exo api get-console-proxy-url

resize-instance-disk

Resize a Compute instance disk

PUT /instance/{id}:resize-disk

This operation resizes a Compute instance’s disk volume. Note: the disk can only grow, cannot be shrunk.

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesInstance disk size in GiB
Example
{
  "disk-size": 0
}

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.
referenceobjectRelated resource reference schema details
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 resize-instance-disk: golang | Python | Java

CLI: exo api resize-instance-disk

reset-instance-field

Reset Instance field

DELETE /instance/{id}/{field}

Path parameters

NameInDescription
idpath
fieldpath

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.
referenceobjectRelated resource reference schema details
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 reset-instance-field: golang | Python | Java

CLI: exo api reset-instance-field

revert-instance-to-snapshot

Revert a snapshot for an instance

POST /instance/{instance-id}:revert-snapshot

This operation reverts the snapshot to the Compute instance volume, restoring stored data as it was at the time of the snapshot. The Compute instance must be previously stopped.

Path parameters

NameInDescription
instance-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
idstringyesSnapshot ID
Example
{
  "id": "string"
}

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.
referenceobjectRelated resource reference schema details
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 revert-instance-to-snapshot: golang | Python | Java

CLI: exo api revert-instance-to-snapshot

list-instances

List Compute instances

GET /instance

Query parameters

NameInRequiredDescription
manager-idqueryno
manager-typequeryno
ip-addressqueryno

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
instancesarray[object]schema details
Example output
{
  "instances": [
    {
      "created-at": "2024-01-01T12:00:00Z",
      "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",
      "security-groups": [
        {
          "description": "string",
          "external-sources": [
            null
          ],
          "id": "string",
          "name": "string",
          "rules": [
            null
          ]
        }
      ],
      "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"
        ]
      }
    }
  ]
}

SDK reference for list-instances: golang | Python | Java

CLI: exo api list-instances

create-snapshot

Create a Snapshot of a Compute instance

POST /instance/{id}:create-snapshot

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.
referenceobjectRelated resource reference schema details
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 create-snapshot: golang | Python | Java

CLI: exo api create-snapshot

enable-tpm

Enable tpm for the instance.

POST /instance/{id}:enable-tpm

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.
referenceobjectRelated resource reference schema details
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 enable-tpm: golang | Python | Java

CLI: exo api enable-tpm

Last updated on