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

  • application/json
    • application-consistent-snapshot-enabled (boolean): Enable application consistent snapshots
    • anti-affinity-groups (array[object]): Instance Pool Anti-affinity Groups - schema details
    • description (string): Instance Pool description
    • public-ip-assignment (string): Determines public IP assignment of the Instances. Type none is final and can’t be changed later on.
    • labels (object)
    • security-groups (array[object]): Instance Pool Security Groups - schema details
    • elastic-ips (array[object]): Instances Elastic IPs - schema details
    • name (required) (string): Instance Pool name
    • instance-type (required) (object): Compute instance type - schema details
    • min-available (integer): Minimum number of running Instances
    • private-networks (array[object]): Instance Pool Private Networks - schema details
    • template (required) (object): Instance template - schema details
    • size (required) (integer): Number of Instances
    • ssh-key (object): SSH key - schema details
    • instance-prefix (string): Prefix to apply to Instances names (default: pool)
    • user-data (string): Instances Cloud-init user-data
    • deploy-target (object): Deploy target - schema details
    • ipv6-enabled (boolean): Enable IPv6. DEPRECATED: use public-ip-assignments.
    • disk-size (required) (integer): Instances disk size in GiB
    • ssh-keys (array[object]): Instances SSH Keys - schema details

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • id in path (required)

Responses

  • 200: 200
    • application/json
      • application-consistent-snapshot-enabled (boolean): Enable application consistent snapshots
      • anti-affinity-groups (array[object]): Instance Pool Anti-affinity Groups - schema details
      • description (string): Instance Pool description
      • public-ip-assignment (string)
      • labels (object)
      • security-groups (array[object]): Instance Pool Security Groups - schema details
      • elastic-ips (array[object]): Instances Elastic IPs - schema details
      • name (string): Instance Pool name
      • instance-type (object): Compute instance type - schema details
      • min-available (integer): Minimum number of running instances
      • private-networks (array[object]): Instance Pool Private Networks - schema details
      • template (object): Instance template - schema details
      • state (string): Instance Pool state
      • size (integer): Number of instances
      • ssh-key (object): SSH key - schema details
      • instance-prefix (string): The instances created by the Instance Pool will be prefixed with this value (default: pool)
      • user-data (string): Instances Cloud-init user-data
      • manager (object): Resource manager - schema details
      • instances (array[object]): Instances - schema details
      • deploy-target (object): Deploy target - schema details
      • ipv6-enabled (boolean): Enable IPv6 for instances
      • id (string): Instance Pool ID
      • disk-size (integer): Instances disk size in GiB
      • ssh-keys (array[object]): Instances SSH keys - schema details

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

  • id in path (required)

Request body

  • application/json
    • size (required) (integer): Number of managed Instances

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • id in path (required)

Request body

  • application/json
    • application-consistent-snapshot-enabled (boolean): Enable application consistent snapshots
    • anti-affinity-groups (array[object]): Instance Pool Anti-affinity Groups - schema details
    • description (string): Instance Pool description
    • public-ip-assignment (string): Determines public IP assignment of the Instances.
    • labels (object)
    • security-groups (array[object]): Instance Pool Security Groups - schema details
    • elastic-ips (array[object]): Instances Elastic IPs - schema details
    • name (string): Instance Pool name
    • instance-type (object): Compute instance type - schema details
    • min-available (integer): Minimum number of running Instances
    • private-networks (array[object]): Instance Pool Private Networks - schema details
    • template (object): Instance template - schema details
    • ssh-key (object): SSH key - schema details
    • instance-prefix (string): Prefix to apply to Instances names (default: pool)
    • user-data (string): Instances Cloud-init user-data
    • deploy-target (object): Deploy target - schema details
    • ipv6-enabled (boolean): Enable IPv6. DEPRECATED: use public-ip-assignments.
    • disk-size (integer): Instances disk size in GiB
    • ssh-keys (array[object]): Instances SSH keys - schema details

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • id in path (required)

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • id in path (required)

Request body

  • application/json
    • instances (array[string])

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • id in path (required)
  • field in path (required)

Responses

  • 200: 200
    • application/json
      • id (string): Operation ID
      • reason (string): Operation failure reason
      • reference (object): Related resource reference - schema details
      • message (string): Operation message
      • state (string): Operation status

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

  • 200: 200

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

CLI: exo api list-instance-pools

Last updated on