Instance Pool
Instance Pools is an Exoscale service allowing users to provision managed groups of identical Compute instances automatically.
create-instance-pool
Create an Instance Pool
POST /instance-poolRequest body
application/jsonapplication-consistent-snapshot-enabled(boolean): Enable application consistent snapshotsanti-affinity-groups(array[object]): Instance Pool Anti-affinity Groups - schema detailsdescription(string): Instance Pool descriptionpublic-ip-assignment(string): Determines public IP assignment of the Instances. Typenoneis final and can’t be changed later on.labels(object)security-groups(array[object]): Instance Pool Security Groups - schema detailselastic-ips(array[object]): Instances Elastic IPs - schema detailsname(required) (string): Instance Pool nameinstance-type(required) (object): Compute instance type - schema detailsmin-available(integer): Minimum number of running Instancesprivate-networks(array[object]): Instance Pool Private Networks - schema detailstemplate(required) (object): Instance template - schema detailssize(required) (integer): Number of Instancesssh-key(object): SSH key - schema detailsinstance-prefix(string): Prefix to apply to Instances names (default: pool)user-data(string): Instances Cloud-init user-datadeploy-target(object): Deploy target - schema detailsipv6-enabled(boolean): Enable IPv6. DEPRECATED: usepublic-ip-assignments.disk-size(required) (integer): Instances disk size in GiBssh-keys(array[object]): Instances SSH Keys - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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
idinpath(required)
Responses
200: 200application/jsonapplication-consistent-snapshot-enabled(boolean): Enable application consistent snapshotsanti-affinity-groups(array[object]): Instance Pool Anti-affinity Groups - schema detailsdescription(string): Instance Pool descriptionpublic-ip-assignment(string)labels(object)security-groups(array[object]): Instance Pool Security Groups - schema detailselastic-ips(array[object]): Instances Elastic IPs - schema detailsname(string): Instance Pool nameinstance-type(object): Compute instance type - schema detailsmin-available(integer): Minimum number of running instancesprivate-networks(array[object]): Instance Pool Private Networks - schema detailstemplate(object): Instance template - schema detailsstate(string): Instance Pool statesize(integer): Number of instancesssh-key(object): SSH key - schema detailsinstance-prefix(string): The instances created by the Instance Pool will be prefixed with this value (default: pool)user-data(string): Instances Cloud-init user-datamanager(object): Resource manager - schema detailsinstances(array[object]): Instances - schema detailsdeploy-target(object): Deploy target - schema detailsipv6-enabled(boolean): Enable IPv6 for instancesid(string): Instance Pool IDdisk-size(integer): Instances disk size in GiBssh-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}:scalePath parameters
idinpath(required)
Request body
application/jsonsize(required) (integer): Number of managed Instances
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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
idinpath(required)
Request body
application/jsonapplication-consistent-snapshot-enabled(boolean): Enable application consistent snapshotsanti-affinity-groups(array[object]): Instance Pool Anti-affinity Groups - schema detailsdescription(string): Instance Pool descriptionpublic-ip-assignment(string): Determines public IP assignment of the Instances.labels(object)security-groups(array[object]): Instance Pool Security Groups - schema detailselastic-ips(array[object]): Instances Elastic IPs - schema detailsname(string): Instance Pool nameinstance-type(object): Compute instance type - schema detailsmin-available(integer): Minimum number of running Instancesprivate-networks(array[object]): Instance Pool Private Networks - schema detailstemplate(object): Instance template - schema detailsssh-key(object): SSH key - schema detailsinstance-prefix(string): Prefix to apply to Instances names (default: pool)user-data(string): Instances Cloud-init user-datadeploy-target(object): Deploy target - schema detailsipv6-enabled(boolean): Enable IPv6. DEPRECATED: usepublic-ip-assignments.disk-size(integer): Instances disk size in GiBssh-keys(array[object]): Instances SSH keys - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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
idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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}:evictThis operation evicts the specified Compute instances member from the Instance Pool, shrinking it to <current pool size> - <# evicted members>.
Path parameters
idinpath(required)
Request body
application/jsoninstances(array[string])
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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
idinpath(required)fieldinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(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-poolResponses
200: 200application/jsoninstance-pools(array[object]) - schema details
SDK reference for list-instance-pools: golang | Python | Java
CLI: exo api list-instance-pools