Instance Pool

Instance Pools is an Exoscale service allowing users to provision managed groups of identical Compute instances automatically.

Read more

create-instance-pool

Create an Instance Pool

POST /instance-pool

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesInstances disk size in GiB
instance-typeobjectyesCompute instance type schema details
namestringyesInstance Pool name
sizeintegeryesNumber of Instances
templateobjectyesInstance template schema details
anti-affinity-groupsarray[object]noInstance Pool Anti-affinity Groups schema details
application-consistent-snapshot-enabledbooleannoEnable application consistent snapshots
deploy-targetobjectnoDeploy target schema details
descriptionstringnoInstance Pool description
elastic-ipsarray[object]noInstances Elastic IPs schema details
instance-prefixstringnoPrefix to apply to Instances names (default: pool)
ipv6-enabledbooleannoEnable IPv6. DEPRECATED: use public-ip-assignments.
labelsobjectnoInstance Pool Labels
min-availableintegernoMinimum number of running Instances
private-networksarray[object]noInstance Pool Private Networks schema details
public-ip-assignmentstringnoDetermines public IP assignment of the Instances. Type none is final and can’t be changed later on.

Allowed values: inet4, dual, none.
security-groupsarray[object]noInstance Pool Security Groups schema details
ssh-keyobjectnoSSH key schema details
ssh-keysarray[object]noInstances SSH Keys schema details
user-datastringnoInstances Cloud-init user-data
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,
  "deploy-target": {
    "description": "string",
    "id": "string",
    "name": "string",
    "type": "edge"
  },
  "description": "string",
  "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": {}
    }
  ],
  "instance-prefix": "string",
  "instance-type": {
    "authorized": true,
    "cpus": 0,
    "family": "gpu3",
    "gpus": 0,
    "id": "string",
    "memory": 0,
    "size": "large",
    "zones": [
      "ch-dk-2"
    ]
  },
  "ipv6-enabled": true,
  "labels": {},
  "min-available": 0,
  "name": "string",
  "private-networks": [
    {
      "description": "string",
      "end-ip": "string",
      "id": "string",
      "labels": {},
      "leases": [
        {
          "instance-id": "string",
          "ip": "string"
        }
      ],
      "name": "string",
      "netmask": "string",
      "options": {
        "dns-servers": [
          "string"
        ],
        "domain-search": [
          "string"
        ],
        "ntp-servers": [
          "string"
        ],
        "routers": [
          "string"
        ]
      },
      "start-ip": "string",
      "vni": 0
    }
  ],
  "public-ip-assignment": "inet4",
  "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
        }
      ]
    }
  ],
  "size": 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"
    ]
  },
  "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-pool: golang | Python | Java

CLI: exo api create-instance-pool

get-instance-pool

Retrieve Instance Pool details

GET /instance-pool/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
anti-affinity-groupsarray[object]Instance Pool Anti-affinity Groups schema details
application-consistent-snapshot-enabledbooleanEnable application consistent snapshots
deploy-targetobjectDeploy target schema details
descriptionstringInstance Pool description
disk-sizeintegerInstances disk size in GiB
elastic-ipsarray[object]Instances Elastic IPs schema details
idstringInstance Pool ID
instance-prefixstringThe instances created by the Instance Pool will be prefixed with this value (default: pool)
instance-typeobjectCompute instance type schema details
instancesarray[object]Instances schema details
ipv6-enabledbooleanEnable IPv6 for instances
labelsobjectInstance Pool Labels
managerobjectResource manager schema details
min-availableintegerMinimum number of running instances
namestringInstance Pool name
private-networksarray[object]Instance Pool Private Networks schema details
public-ip-assignmentstringInstance Pool public IP assignment

Allowed values: inet4, dual, none.
security-groupsarray[object]Instance Pool Security Groups schema details
sizeintegerNumber of instances
ssh-keyobjectSSH key schema details
ssh-keysarray[object]Instances SSH keys schema details
statestringInstance Pool state

Allowed values: scaling-up, scaling-down, destroying, creating, suspended, running, updating.
templateobjectInstance template schema details
user-datastringInstances Cloud-init user-data
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,
  "deploy-target": {
    "description": "string",
    "id": "string",
    "name": "string",
    "type": "edge"
  },
  "description": "string",
  "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-prefix": "string",
  "instance-type": {
    "authorized": true,
    "cpus": 0,
    "family": "gpu3",
    "gpus": 0,
    "id": "string",
    "memory": 0,
    "size": "large",
    "zones": [
      "ch-dk-2"
    ]
  },
  "instances": [
    {
      "anti-affinity-groups": [
        {
          "description": "string",
          "id": "string",
          "instances": [
            null
          ],
          "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": null,
            "mode": null,
            "port": null,
            "strikes-fail": null,
            "strikes-ok": null,
            "timeout": null,
            "tls-skip-verify": null,
            "tls-sni": null,
            "uri": null
          },
          "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": [
            null
          ],
          "id": "string",
          "name": "string",
          "rules": [
            null
          ]
        }
      ],
      "snapshots": [
        {
          "application-consistent": true,
          "created-at": "2024-01-01T12:00:00Z",
          "export": {
            "md5sum": null,
            "presigned-url": null
          },
          "id": "string",
          "instance": {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "created-at": null,
            "deploy-target": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-type": null,
            "ipv6-address": null,
            "labels": null,
            "mac-address": null,
            "manager": null,
            "name": null,
            "private-networks": null,
            "public-ip": null,
            "public-ip-assignment": null,
            "secureboot-enabled": null,
            "security-groups": null,
            "snapshots": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "tpm-enabled": null,
            "user-data": null
          },
          "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"
    }
  ],
  "ipv6-enabled": true,
  "labels": {},
  "manager": {
    "id": "string",
    "type": "sks-nodepool"
  },
  "min-available": 0,
  "name": "string",
  "private-networks": [
    {
      "description": "string",
      "end-ip": "string",
      "id": "string",
      "labels": {},
      "leases": [
        {
          "instance-id": "string",
          "ip": "string"
        }
      ],
      "name": "string",
      "netmask": "string",
      "options": {
        "dns-servers": [
          "string"
        ],
        "domain-search": [
          "string"
        ],
        "ntp-servers": [
          "string"
        ],
        "routers": [
          "string"
        ]
      },
      "start-ip": "string",
      "vni": 0
    }
  ],
  "public-ip-assignment": "inet4",
  "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
        }
      ]
    }
  ],
  "size": 0,
  "ssh-key": {
    "fingerprint": "string",
    "name": "string"
  },
  "ssh-keys": [
    {
      "fingerprint": "string",
      "name": "string"
    }
  ],
  "state": "scaling-up",
  "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"
    ]
  },
  "user-data": "string"
}

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

CLI: exo api get-instance-pool

scale-instance-pool

Scale an Instance Pool

PUT /instance-pool/{id}:scale

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
sizeintegeryesNumber of managed Instances
Example
{
  "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 scale-instance-pool: golang | Python | Java

CLI: exo api scale-instance-pool

update-instance-pool

Update an Instance Pool

PUT /instance-pool/{id}

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
anti-affinity-groupsarray[object]noInstance Pool Anti-affinity Groups schema details
application-consistent-snapshot-enabledbooleannoEnable application consistent snapshots
deploy-targetobjectnoDeploy target schema details
descriptionstringnoInstance Pool description
disk-sizeintegernoInstances disk size in GiB
elastic-ipsarray[object]noInstances Elastic IPs schema details
instance-prefixstringnoPrefix to apply to Instances names (default: pool)
instance-typeobjectnoCompute instance type schema details
ipv6-enabledbooleannoEnable IPv6. DEPRECATED: use public-ip-assignments.
labelsobjectnoInstance Pool Labels
min-availableintegernoMinimum number of running Instances
namestringnoInstance Pool name
private-networksarray[object]noInstance Pool Private Networks schema details
public-ip-assignmentstringnoDetermines public IP assignment of the Instances.

Allowed values: inet4, dual.
security-groupsarray[object]noInstance Pool Security Groups schema details
ssh-keyobjectnoSSH key schema details
ssh-keysarray[object]noInstances SSH keys schema details
templateobjectnoInstance template schema details
user-datastringnoInstances Cloud-init user-data
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,
  "deploy-target": {
    "description": "string",
    "id": "string",
    "name": "string",
    "type": "edge"
  },
  "description": "string",
  "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": {}
    }
  ],
  "instance-prefix": "string",
  "instance-type": {
    "authorized": true,
    "cpus": 0,
    "family": "gpu3",
    "gpus": 0,
    "id": "string",
    "memory": 0,
    "size": "large",
    "zones": [
      "ch-dk-2"
    ]
  },
  "ipv6-enabled": true,
  "labels": {},
  "min-available": 0,
  "name": "string",
  "private-networks": [
    {
      "description": "string",
      "end-ip": "string",
      "id": "string",
      "labels": {},
      "leases": [
        {
          "instance-id": "string",
          "ip": "string"
        }
      ],
      "name": "string",
      "netmask": "string",
      "options": {
        "dns-servers": [
          "string"
        ],
        "domain-search": [
          "string"
        ],
        "ntp-servers": [
          "string"
        ],
        "routers": [
          "string"
        ]
      },
      "start-ip": "string",
      "vni": 0
    }
  ],
  "public-ip-assignment": "inet4",
  "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"
    ]
  },
  "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-pool: golang | Python | Java

CLI: exo api update-instance-pool

delete-instance-pool

Delete an Instance Pool

DELETE /instance-pool/{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-pool: golang | Python | Java

CLI: exo api delete-instance-pool


Other Operations

evict-instance-pool-members

Evict Instance Pool members

PUT /instance-pool/{id}:evict

This operation evicts the specified Compute instances member from the Instance Pool, shrinking it to <current pool size> - <# evicted members>.

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instancesarray[string]no
Example
{
  "instances": [
    "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 evict-instance-pool-members: golang | Python | Java

CLI: exo api evict-instance-pool-members

reset-instance-pool-field

Reset an Instance Pool field to its default value

DELETE /instance-pool/{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-pool-field: golang | Python | Java

CLI: exo api reset-instance-pool-field

list-instance-pools

List Instance Pools

GET /instance-pool

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
instance-poolsarray[object]schema details
Example output
{
  "instance-pools": [
    {
      "anti-affinity-groups": [
        {
          "description": "string",
          "id": "string",
          "instances": [
            null
          ],
          "name": "string"
        }
      ],
      "application-consistent-snapshot-enabled": true,
      "deploy-target": {
        "description": "string",
        "id": "string",
        "name": "string",
        "type": "edge"
      },
      "description": "string",
      "disk-size": 0,
      "elastic-ips": [
        {
          "addressfamily": "inet4",
          "cidr": "string",
          "description": "string",
          "healthcheck": {
            "interval": null,
            "mode": null,
            "port": null,
            "strikes-fail": null,
            "strikes-ok": null,
            "timeout": null,
            "tls-skip-verify": null,
            "tls-sni": null,
            "uri": null
          },
          "id": "string",
          "ip": "string",
          "labels": {}
        }
      ],
      "id": "string",
      "instance-prefix": "string",
      "instance-type": {
        "authorized": true,
        "cpus": 0,
        "family": "gpu3",
        "gpus": 0,
        "id": "string",
        "memory": 0,
        "size": "large",
        "zones": [
          "ch-dk-2"
        ]
      },
      "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"
        }
      ],
      "ipv6-enabled": true,
      "labels": {},
      "manager": {
        "id": "string",
        "type": "sks-nodepool"
      },
      "min-available": 0,
      "name": "string",
      "private-networks": [
        {
          "description": "string",
          "end-ip": "string",
          "id": "string",
          "labels": {},
          "leases": [
            null
          ],
          "name": "string",
          "netmask": "string",
          "options": {
            "dns-servers": null,
            "domain-search": null,
            "ntp-servers": null,
            "routers": null
          },
          "start-ip": "string",
          "vni": 0
        }
      ],
      "public-ip-assignment": "inet4",
      "security-groups": [
        {
          "description": "string",
          "external-sources": [
            null
          ],
          "id": "string",
          "name": "string",
          "rules": [
            null
          ]
        }
      ],
      "size": 0,
      "ssh-key": {
        "fingerprint": "string",
        "name": "string"
      },
      "ssh-keys": [
        {
          "fingerprint": "string",
          "name": "string"
        }
      ],
      "state": "scaling-up",
      "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"
        ]
      },
      "user-data": "string"
    }
  ]
}

SDK reference for list-instance-pools: golang | Python | Java

CLI: exo api list-instance-pools

Last updated on