exoscale_instance_pool (Resource)
Manage Exoscale Instance Pools.
Corresponding data sources: exoscale_instance_pool, exoscale_instance_pool_list.
Example Usage
data "exoscale_template" "my_template" {
zone = "ch-gva-2"
name = "Linux Ubuntu 22.04 LTS 64-bit"
}
resource "exoscale_instance_pool" "my_instance_pool" {
zone = "ch-gva-2"
name = "my-instance-pool"
template_id = data.exoscale_template.my_template.id
instance_type = "standard.medium"
disk_size = 10
size = 3
}Please refer to the examples directory for complete configuration examples.
Schema
Required
instance_type(String) The managed compute instances type (<family>.<size>, e.g.standard.medium; use the Exoscale CLI -exo compute instance-type list- for the list of available types).name(String) The instance pool name.size(Number) The number of managed instances.template_id(String) The exoscale_template (ID) to use when creating the managed instances.zone(String) ❗ The Exoscale Zone name.
Optional
affinity_group_ids(Set of String, Deprecated) A list of exoscale_anti_affinity_group (IDs; may only be set at creation time).anti_affinity_group_ids(Set of String) A list of exoscale_anti_affinity_group (IDs; may only be set at creation time).deploy_target_id(String) A deploy target ID.description(String) A free-form text describing the pool.disk_size(Number) The managed instances disk size (GiB).elastic_ip_ids(Set of String) A list of exoscale_elastic_ip (IDs).instance_prefix(String) The string used to prefix managed instances name (default:pool).ipv6(Boolean) Enable IPv6 on managed instances (boolean; default:false).key_pair(String) The exoscale_ssh_key (name) to authorize in the managed instances.labels(Map of String) A map of key/value labels.min_available(Number) Minimum number of running Instances.network_ids(Set of String) A list of exoscale_private_network (IDs).security_group_ids(Set of String) A list of exoscale_security_group (IDs).timeouts(Block, Optional) (see below for nested schema)user_data(String) cloud-init configuration to apply to the managed instances.
Read-Only
id(String) The ID of this resource.instances(Attributes Set) The list of managed instances. Structure is documented below. (see below for nested schema)state(String) The instance pool state.virtual_machines(Set of String, Deprecated) The list of managed instances (IDs). Please use theinstances.*.idattribute instead.
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.read(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Read operations occur during any refresh or planning operation when refresh is enabled.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
Nested Schema for instances
Read-Only:
id(String) The instance ID.ipv6_address(String) The instance (main network interface) IPv6 address.name(String) The instance name.public_ip_address(String) The instance (main network interface) IPv4 address.
-> The symbol ❗ in an attribute indicates that modifying it, will force the creation of a new resource.
Import
# An existing instance pool may be imported by `<ID>@<zone>`:
terraform import \
exoscale_instance_pool.my_instance_pool \
f81d4fae-7dec-11d0-a765-00a0c91e6bf6@ch-gva-2Last updated on