exoscale.InstancePool
Explore with Pulumi AI
Manage Exoscale Instance Pools.
Corresponding data sources: exoscale_instance_pool, exoscale_instance_pool_list.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as exoscale from "@pulumi/exoscale";
import * as exoscale from "@pulumiverse/exoscale";
const myTemplate = exoscale.getTemplate({
zone: "ch-gva-2",
name: "Linux Ubuntu 22.04 LTS 64-bit",
});
const myInstancePool = new exoscale.InstancePool("myInstancePool", {
zone: "ch-gva-2",
templateId: myTemplate.then(myTemplate => myTemplate.id),
instanceType: "standard.medium",
diskSize: 10,
size: 3,
});
import pulumi
import pulumi_exoscale as exoscale
import pulumiverse_exoscale as exoscale
my_template = exoscale.get_template(zone="ch-gva-2",
name="Linux Ubuntu 22.04 LTS 64-bit")
my_instance_pool = exoscale.InstancePool("myInstancePool",
zone="ch-gva-2",
template_id=my_template.id,
instance_type="standard.medium",
disk_size=10,
size=3)
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-exoscale/sdk/go/exoscale"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myTemplate, err := exoscale.GetTemplate(ctx, &exoscale.GetTemplateArgs{
Zone: "ch-gva-2",
Name: pulumi.StringRef("Linux Ubuntu 22.04 LTS 64-bit"),
}, nil)
if err != nil {
return err
}
_, err = exoscale.NewInstancePool(ctx, "myInstancePool", &exoscale.InstancePoolArgs{
Zone: pulumi.String("ch-gva-2"),
TemplateId: pulumi.String(myTemplate.Id),
InstanceType: pulumi.String("standard.medium"),
DiskSize: pulumi.Int(10),
Size: pulumi.Int(3),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Exoscale = Pulumi.Exoscale;
using Exoscale = Pulumiverse.Exoscale;
return await Deployment.RunAsync(() =>
{
var myTemplate = Exoscale.GetTemplate.Invoke(new()
{
Zone = "ch-gva-2",
Name = "Linux Ubuntu 22.04 LTS 64-bit",
});
var myInstancePool = new Exoscale.InstancePool("myInstancePool", new()
{
Zone = "ch-gva-2",
TemplateId = myTemplate.Apply(getTemplateResult => getTemplateResult.Id),
InstanceType = "standard.medium",
DiskSize = 10,
Size = 3,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.exoscale.ExoscaleFunctions;
import com.pulumi.exoscale.inputs.GetTemplateArgs;
import com.pulumi.exoscale.InstancePool;
import com.pulumi.exoscale.InstancePoolArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var myTemplate = ExoscaleFunctions.getTemplate(GetTemplateArgs.builder()
.zone("ch-gva-2")
.name("Linux Ubuntu 22.04 LTS 64-bit")
.build());
var myInstancePool = new InstancePool("myInstancePool", InstancePoolArgs.builder()
.zone("ch-gva-2")
.templateId(myTemplate.applyValue(getTemplateResult -> getTemplateResult.id()))
.instanceType("standard.medium")
.diskSize(10)
.size(3)
.build());
}
}
resources:
myInstancePool:
type: exoscale:InstancePool
properties:
zone: ch-gva-2
templateId: ${myTemplate.id}
instanceType: standard.medium
diskSize: 10
size: 3
variables:
myTemplate:
fn::invoke:
Function: exoscale:getTemplate
Arguments:
zone: ch-gva-2
name: Linux Ubuntu 22.04 LTS 64-bit
Please refer to the examples directory for complete configuration examples.
Create InstancePool Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new InstancePool(name: string, args: InstancePoolArgs, opts?: CustomResourceOptions);
@overload
def InstancePool(resource_name: str,
args: InstancePoolArgs,
opts: Optional[ResourceOptions] = None)
@overload
def InstancePool(resource_name: str,
opts: Optional[ResourceOptions] = None,
size: Optional[int] = None,
zone: Optional[str] = None,
template_id: Optional[str] = None,
instance_prefix: Optional[str] = None,
network_ids: Optional[Sequence[str]] = None,
affinity_group_ids: Optional[Sequence[str]] = None,
instance_type: Optional[str] = None,
instances: Optional[Sequence[InstancePoolInstanceArgs]] = None,
ipv6: Optional[bool] = None,
key_pair: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
elastic_ip_ids: Optional[Sequence[str]] = None,
security_group_ids: Optional[Sequence[str]] = None,
service_offering: Optional[str] = None,
disk_size: Optional[int] = None,
state: Optional[str] = None,
description: Optional[str] = None,
user_data: Optional[str] = None,
virtual_machines: Optional[Sequence[str]] = None,
deploy_target_id: Optional[str] = None)
func NewInstancePool(ctx *Context, name string, args InstancePoolArgs, opts ...ResourceOption) (*InstancePool, error)
public InstancePool(string name, InstancePoolArgs args, CustomResourceOptions? opts = null)
public InstancePool(String name, InstancePoolArgs args)
public InstancePool(String name, InstancePoolArgs args, CustomResourceOptions options)
type: exoscale:InstancePool
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args InstancePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args InstancePoolArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args InstancePoolArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstancePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstancePoolArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var instancePoolResource = new Exoscale.InstancePool("instancePoolResource", new()
{
Size = 0,
Zone = "string",
TemplateId = "string",
InstancePrefix = "string",
NetworkIds = new[]
{
"string",
},
AffinityGroupIds = new[]
{
"string",
},
InstanceType = "string",
Instances = new[]
{
new Exoscale.Inputs.InstancePoolInstanceArgs
{
Id = "string",
Ipv6Address = "string",
Name = "string",
PublicIpAddress = "string",
},
},
Ipv6 = false,
KeyPair = "string",
Labels =
{
{ "string", "string" },
},
Name = "string",
ElasticIpIds = new[]
{
"string",
},
SecurityGroupIds = new[]
{
"string",
},
DiskSize = 0,
State = "string",
Description = "string",
UserData = "string",
DeployTargetId = "string",
});
example, err := exoscale.NewInstancePool(ctx, "instancePoolResource", &exoscale.InstancePoolArgs{
Size: pulumi.Int(0),
Zone: pulumi.String("string"),
TemplateId: pulumi.String("string"),
InstancePrefix: pulumi.String("string"),
NetworkIds: pulumi.StringArray{
pulumi.String("string"),
},
AffinityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
InstanceType: pulumi.String("string"),
Instances: exoscale.InstancePoolInstanceArray{
&exoscale.InstancePoolInstanceArgs{
Id: pulumi.String("string"),
Ipv6Address: pulumi.String("string"),
Name: pulumi.String("string"),
PublicIpAddress: pulumi.String("string"),
},
},
Ipv6: pulumi.Bool(false),
KeyPair: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
ElasticIpIds: pulumi.StringArray{
pulumi.String("string"),
},
SecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
DiskSize: pulumi.Int(0),
State: pulumi.String("string"),
Description: pulumi.String("string"),
UserData: pulumi.String("string"),
DeployTargetId: pulumi.String("string"),
})
var instancePoolResource = new InstancePool("instancePoolResource", InstancePoolArgs.builder()
.size(0)
.zone("string")
.templateId("string")
.instancePrefix("string")
.networkIds("string")
.affinityGroupIds("string")
.instanceType("string")
.instances(InstancePoolInstanceArgs.builder()
.id("string")
.ipv6Address("string")
.name("string")
.publicIpAddress("string")
.build())
.ipv6(false)
.keyPair("string")
.labels(Map.of("string", "string"))
.name("string")
.elasticIpIds("string")
.securityGroupIds("string")
.diskSize(0)
.state("string")
.description("string")
.userData("string")
.deployTargetId("string")
.build());
instance_pool_resource = exoscale.InstancePool("instancePoolResource",
size=0,
zone="string",
template_id="string",
instance_prefix="string",
network_ids=["string"],
affinity_group_ids=["string"],
instance_type="string",
instances=[exoscale.InstancePoolInstanceArgs(
id="string",
ipv6_address="string",
name="string",
public_ip_address="string",
)],
ipv6=False,
key_pair="string",
labels={
"string": "string",
},
name="string",
elastic_ip_ids=["string"],
security_group_ids=["string"],
disk_size=0,
state="string",
description="string",
user_data="string",
deploy_target_id="string")
const instancePoolResource = new exoscale.InstancePool("instancePoolResource", {
size: 0,
zone: "string",
templateId: "string",
instancePrefix: "string",
networkIds: ["string"],
affinityGroupIds: ["string"],
instanceType: "string",
instances: [{
id: "string",
ipv6Address: "string",
name: "string",
publicIpAddress: "string",
}],
ipv6: false,
keyPair: "string",
labels: {
string: "string",
},
name: "string",
elasticIpIds: ["string"],
securityGroupIds: ["string"],
diskSize: 0,
state: "string",
description: "string",
userData: "string",
deployTargetId: "string",
});
type: exoscale:InstancePool
properties:
affinityGroupIds:
- string
deployTargetId: string
description: string
diskSize: 0
elasticIpIds:
- string
instancePrefix: string
instanceType: string
instances:
- id: string
ipv6Address: string
name: string
publicIpAddress: string
ipv6: false
keyPair: string
labels:
string: string
name: string
networkIds:
- string
securityGroupIds:
- string
size: 0
state: string
templateId: string
userData: string
zone: string
InstancePool Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The InstancePool resource accepts the following input properties:
- Size int
- The number of managed instances.
- Template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- Zone string
- ❗ The Exoscale Zone name.
- Affinity
Group List<string>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- Deploy
Target stringId - A deploy target ID.
- Description string
- A free-form text describing the pool.
- Disk
Size int - The managed instances disk size (GiB).
- Elastic
Ip List<string>Ids - A list of exoscaleelasticip (IDs).
- Instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - Instances
List<Pulumiverse.
Exoscale. Inputs. Instance Pool Instance> - The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - Key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- Labels Dictionary<string, string>
- A map of key/value labels.
- Name string
- The instance pool name.
- Network
Ids List<string> - A list of exoscaleprivatenetwork (IDs).
- Security
Group List<string>Ids - A list of exoscalesecuritygroup (IDs).
- Service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - State string
- User
Data string - cloud-init configuration to apply to the managed instances.
- Virtual
Machines List<string> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
- Size int
- The number of managed instances.
- Template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- Zone string
- ❗ The Exoscale Zone name.
- Affinity
Group []stringIds - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- Deploy
Target stringId - A deploy target ID.
- Description string
- A free-form text describing the pool.
- Disk
Size int - The managed instances disk size (GiB).
- Elastic
Ip []stringIds - A list of exoscaleelasticip (IDs).
- Instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - Instances
[]Instance
Pool Instance Args - The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - Key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- Labels map[string]string
- A map of key/value labels.
- Name string
- The instance pool name.
- Network
Ids []string - A list of exoscaleprivatenetwork (IDs).
- Security
Group []stringIds - A list of exoscalesecuritygroup (IDs).
- Service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - State string
- User
Data string - cloud-init configuration to apply to the managed instances.
- Virtual
Machines []string - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
- size Integer
- The number of managed instances.
- template
Id String - The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone String
- ❗ The Exoscale Zone name.
- affinity
Group List<String>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target StringId - A deploy target ID.
- description String
- A free-form text describing the pool.
- disk
Size Integer - The managed instances disk size (GiB).
- elastic
Ip List<String>Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix String - The string used to prefix managed instances name (default:
pool
). - 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). - instances
List<Instance
Pool Instance> - The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair String - The exoscalesshkey (name) to authorize in the managed instances.
- labels Map<String,String>
- A map of key/value labels.
- name String
- The instance pool name.
- network
Ids List<String> - A list of exoscaleprivatenetwork (IDs).
- security
Group List<String>Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering String - The managed instances type. Please use the
instance_type
argument instead. - state String
- user
Data String - cloud-init configuration to apply to the managed instances.
- virtual
Machines List<String> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
- size number
- The number of managed instances.
- template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone string
- ❗ The Exoscale Zone name.
- affinity
Group string[]Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target stringId - A deploy target ID.
- description string
- A free-form text describing the pool.
- disk
Size number - The managed instances disk size (GiB).
- elastic
Ip string[]Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - instances
Instance
Pool Instance[] - The list of managed instances. Structure is documented below.
- ipv6 boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- labels {[key: string]: string}
- A map of key/value labels.
- name string
- The instance pool name.
- network
Ids string[] - A list of exoscaleprivatenetwork (IDs).
- security
Group string[]Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - state string
- user
Data string - cloud-init configuration to apply to the managed instances.
- virtual
Machines string[] - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
- size int
- The number of managed instances.
- template_
id str - The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone str
- ❗ The Exoscale Zone name.
- affinity_
group_ Sequence[str]ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy_
target_ strid - A deploy target ID.
- description str
- A free-form text describing the pool.
- disk_
size int - The managed instances disk size (GiB).
- elastic_
ip_ Sequence[str]ids - A list of exoscaleelasticip (IDs).
- instance_
prefix str - The string used to prefix managed instances name (default:
pool
). - instance_
type str - 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). - instances
Sequence[Instance
Pool Instance Args] - The list of managed instances. Structure is documented below.
- ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - key_
pair str - The exoscalesshkey (name) to authorize in the managed instances.
- labels Mapping[str, str]
- A map of key/value labels.
- name str
- The instance pool name.
- network_
ids Sequence[str] - A list of exoscaleprivatenetwork (IDs).
- security_
group_ Sequence[str]ids - A list of exoscalesecuritygroup (IDs).
- service_
offering str - The managed instances type. Please use the
instance_type
argument instead. - state str
- user_
data str - cloud-init configuration to apply to the managed instances.
- virtual_
machines Sequence[str] - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
- size Number
- The number of managed instances.
- template
Id String - The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone String
- ❗ The Exoscale Zone name.
- affinity
Group List<String>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target StringId - A deploy target ID.
- description String
- A free-form text describing the pool.
- disk
Size Number - The managed instances disk size (GiB).
- elastic
Ip List<String>Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix String - The string used to prefix managed instances name (default:
pool
). - 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). - instances List<Property Map>
- The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair String - The exoscalesshkey (name) to authorize in the managed instances.
- labels Map<String>
- A map of key/value labels.
- name String
- The instance pool name.
- network
Ids List<String> - A list of exoscaleprivatenetwork (IDs).
- security
Group List<String>Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering String - The managed instances type. Please use the
instance_type
argument instead. - state String
- user
Data String - cloud-init configuration to apply to the managed instances.
- virtual
Machines List<String> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead.
Outputs
All input properties are implicitly available as output properties. Additionally, the InstancePool resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing InstancePool Resource
Get an existing InstancePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: InstancePoolState, opts?: CustomResourceOptions): InstancePool
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
affinity_group_ids: Optional[Sequence[str]] = None,
deploy_target_id: Optional[str] = None,
description: Optional[str] = None,
disk_size: Optional[int] = None,
elastic_ip_ids: Optional[Sequence[str]] = None,
instance_prefix: Optional[str] = None,
instance_type: Optional[str] = None,
instances: Optional[Sequence[InstancePoolInstanceArgs]] = None,
ipv6: Optional[bool] = None,
key_pair: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
network_ids: Optional[Sequence[str]] = None,
security_group_ids: Optional[Sequence[str]] = None,
service_offering: Optional[str] = None,
size: Optional[int] = None,
state: Optional[str] = None,
template_id: Optional[str] = None,
user_data: Optional[str] = None,
virtual_machines: Optional[Sequence[str]] = None,
zone: Optional[str] = None) -> InstancePool
func GetInstancePool(ctx *Context, name string, id IDInput, state *InstancePoolState, opts ...ResourceOption) (*InstancePool, error)
public static InstancePool Get(string name, Input<string> id, InstancePoolState? state, CustomResourceOptions? opts = null)
public static InstancePool get(String name, Output<String> id, InstancePoolState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Affinity
Group List<string>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- Deploy
Target stringId - A deploy target ID.
- Description string
- A free-form text describing the pool.
- Disk
Size int - The managed instances disk size (GiB).
- Elastic
Ip List<string>Ids - A list of exoscaleelasticip (IDs).
- Instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - Instances
List<Pulumiverse.
Exoscale. Inputs. Instance Pool Instance> - The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - Key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- Labels Dictionary<string, string>
- A map of key/value labels.
- Name string
- The instance pool name.
- Network
Ids List<string> - A list of exoscaleprivatenetwork (IDs).
- Security
Group List<string>Ids - A list of exoscalesecuritygroup (IDs).
- Service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - Size int
- The number of managed instances.
- State string
- Template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- User
Data string - cloud-init configuration to apply to the managed instances.
- Virtual
Machines List<string> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - Zone string
- ❗ The Exoscale Zone name.
- Affinity
Group []stringIds - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- Deploy
Target stringId - A deploy target ID.
- Description string
- A free-form text describing the pool.
- Disk
Size int - The managed instances disk size (GiB).
- Elastic
Ip []stringIds - A list of exoscaleelasticip (IDs).
- Instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - Instances
[]Instance
Pool Instance Args - The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - Key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- Labels map[string]string
- A map of key/value labels.
- Name string
- The instance pool name.
- Network
Ids []string - A list of exoscaleprivatenetwork (IDs).
- Security
Group []stringIds - A list of exoscalesecuritygroup (IDs).
- Service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - Size int
- The number of managed instances.
- State string
- Template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- User
Data string - cloud-init configuration to apply to the managed instances.
- Virtual
Machines []string - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - Zone string
- ❗ The Exoscale Zone name.
- affinity
Group List<String>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target StringId - A deploy target ID.
- description String
- A free-form text describing the pool.
- disk
Size Integer - The managed instances disk size (GiB).
- elastic
Ip List<String>Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix String - The string used to prefix managed instances name (default:
pool
). - 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). - instances
List<Instance
Pool Instance> - The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair String - The exoscalesshkey (name) to authorize in the managed instances.
- labels Map<String,String>
- A map of key/value labels.
- name String
- The instance pool name.
- network
Ids List<String> - A list of exoscaleprivatenetwork (IDs).
- security
Group List<String>Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering String - The managed instances type. Please use the
instance_type
argument instead. - size Integer
- The number of managed instances.
- state String
- template
Id String - The exoscale.getTemplate (ID) to use when creating the managed instances.
- user
Data String - cloud-init configuration to apply to the managed instances.
- virtual
Machines List<String> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - zone String
- ❗ The Exoscale Zone name.
- affinity
Group string[]Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target stringId - A deploy target ID.
- description string
- A free-form text describing the pool.
- disk
Size number - The managed instances disk size (GiB).
- elastic
Ip string[]Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix string - The string used to prefix managed instances name (default:
pool
). - 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). - instances
Instance
Pool Instance[] - The list of managed instances. Structure is documented below.
- ipv6 boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair string - The exoscalesshkey (name) to authorize in the managed instances.
- labels {[key: string]: string}
- A map of key/value labels.
- name string
- The instance pool name.
- network
Ids string[] - A list of exoscaleprivatenetwork (IDs).
- security
Group string[]Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering string - The managed instances type. Please use the
instance_type
argument instead. - size number
- The number of managed instances.
- state string
- template
Id string - The exoscale.getTemplate (ID) to use when creating the managed instances.
- user
Data string - cloud-init configuration to apply to the managed instances.
- virtual
Machines string[] - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - zone string
- ❗ The Exoscale Zone name.
- affinity_
group_ Sequence[str]ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy_
target_ strid - A deploy target ID.
- description str
- A free-form text describing the pool.
- disk_
size int - The managed instances disk size (GiB).
- elastic_
ip_ Sequence[str]ids - A list of exoscaleelasticip (IDs).
- instance_
prefix str - The string used to prefix managed instances name (default:
pool
). - instance_
type str - 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). - instances
Sequence[Instance
Pool Instance Args] - The list of managed instances. Structure is documented below.
- ipv6 bool
- Enable IPv6 on managed instances (boolean; default:
false
). - key_
pair str - The exoscalesshkey (name) to authorize in the managed instances.
- labels Mapping[str, str]
- A map of key/value labels.
- name str
- The instance pool name.
- network_
ids Sequence[str] - A list of exoscaleprivatenetwork (IDs).
- security_
group_ Sequence[str]ids - A list of exoscalesecuritygroup (IDs).
- service_
offering str - The managed instances type. Please use the
instance_type
argument instead. - size int
- The number of managed instances.
- state str
- template_
id str - The exoscale.getTemplate (ID) to use when creating the managed instances.
- user_
data str - cloud-init configuration to apply to the managed instances.
- virtual_
machines Sequence[str] - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - zone str
- ❗ The Exoscale Zone name.
- affinity
Group List<String>Ids - A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deploy
Target StringId - A deploy target ID.
- description String
- A free-form text describing the pool.
- disk
Size Number - The managed instances disk size (GiB).
- elastic
Ip List<String>Ids - A list of exoscaleelasticip (IDs).
- instance
Prefix String - The string used to prefix managed instances name (default:
pool
). - 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). - instances List<Property Map>
- The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default:
false
). - key
Pair String - The exoscalesshkey (name) to authorize in the managed instances.
- labels Map<String>
- A map of key/value labels.
- name String
- The instance pool name.
- network
Ids List<String> - A list of exoscaleprivatenetwork (IDs).
- security
Group List<String>Ids - A list of exoscalesecuritygroup (IDs).
- service
Offering String - The managed instances type. Please use the
instance_type
argument instead. - size Number
- The number of managed instances.
- state String
- template
Id String - The exoscale.getTemplate (ID) to use when creating the managed instances.
- user
Data String - cloud-init configuration to apply to the managed instances.
- virtual
Machines List<String> - The list of managed instances (IDs). Please use the
instances.*.id
attribute instead. - zone String
- ❗ The Exoscale Zone name.
Supporting Types
InstancePoolInstance, InstancePoolInstanceArgs
- Id string
- The ID of this resource.
- Ipv6Address string
- The instance (main network interface) IPv6 address.
- Name string
- The instance name.
- Public
Ip stringAddress - The instance (main network interface) IPv4 address.
- Id string
- The ID of this resource.
- Ipv6Address string
- The instance (main network interface) IPv6 address.
- Name string
- The instance name.
- Public
Ip stringAddress - The instance (main network interface) IPv4 address.
- id String
- The ID of this resource.
- ipv6Address String
- The instance (main network interface) IPv6 address.
- name String
- The instance name.
- public
Ip StringAddress - The instance (main network interface) IPv4 address.
- id string
- The ID of this resource.
- ipv6Address string
- The instance (main network interface) IPv6 address.
- name string
- The instance name.
- public
Ip stringAddress - The instance (main network interface) IPv4 address.
- id str
- The ID of this resource.
- ipv6_
address str - The instance (main network interface) IPv6 address.
- name str
- The instance name.
- public_
ip_ straddress - The instance (main network interface) IPv4 address.
- id String
- The ID of this resource.
- ipv6Address String
- The instance (main network interface) IPv6 address.
- name String
- The instance name.
- public
Ip StringAddress - The instance (main network interface) IPv4 address.
Import
An existing instance pool may be imported by <ID>@<zone>
:
$ pulumi import exoscale:index/instancePool:InstancePool \
exoscale_instance_pool.my_instance_pool \
f81d4fae-7dec-11d0-a765-00a0c91e6bf6@ch-gva-2
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- exoscale pulumiverse/pulumi-exoscale
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
exoscale
Terraform Provider.