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,
                 key_pair: Optional[str] = None,
                 name: Optional[str] = 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,
                 affinity_group_ids: Optional[Sequence[str]] = None,
                 labels: Optional[Mapping[str, str]] = None,
                 disk_size: Optional[int] = None,
                 network_ids: Optional[Sequence[str]] = None,
                 security_group_ids: Optional[Sequence[str]] = None,
                 service_offering: Optional[str] = None,
                 description: Optional[str] = None,
                 state: Optional[str] = None,
                 deploy_target_id: Optional[str] = None,
                 user_data: Optional[str] = None,
                 virtual_machines: Optional[Sequence[str]] = None,
                 anti_affinity_group_ids: Optional[Sequence[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",
    KeyPair = "string",
    Name = "string",
    ElasticIpIds = new[]
    {
        "string",
    },
    InstancePrefix = "string",
    InstanceType = "string",
    Instances = new[]
    {
        new Exoscale.Inputs.InstancePoolInstanceArgs
        {
            Id = "string",
            Ipv6Address = "string",
            Name = "string",
            PublicIpAddress = "string",
        },
    },
    Ipv6 = false,
    Labels = 
    {
        { "string", "string" },
    },
    DiskSize = 0,
    NetworkIds = new[]
    {
        "string",
    },
    SecurityGroupIds = new[]
    {
        "string",
    },
    Description = "string",
    State = "string",
    DeployTargetId = "string",
    UserData = "string",
    AntiAffinityGroupIds = new[]
    {
        "string",
    },
});
example, err := exoscale.NewInstancePool(ctx, "instancePoolResource", &exoscale.InstancePoolArgs{
	Size:       pulumi.Int(0),
	Zone:       pulumi.String("string"),
	TemplateId: pulumi.String("string"),
	KeyPair:    pulumi.String("string"),
	Name:       pulumi.String("string"),
	ElasticIpIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	InstancePrefix: 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),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	DiskSize: pulumi.Int(0),
	NetworkIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	SecurityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Description:    pulumi.String("string"),
	State:          pulumi.String("string"),
	DeployTargetId: pulumi.String("string"),
	UserData:       pulumi.String("string"),
	AntiAffinityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var instancePoolResource = new InstancePool("instancePoolResource", InstancePoolArgs.builder()
    .size(0)
    .zone("string")
    .templateId("string")
    .keyPair("string")
    .name("string")
    .elasticIpIds("string")
    .instancePrefix("string")
    .instanceType("string")
    .instances(InstancePoolInstanceArgs.builder()
        .id("string")
        .ipv6Address("string")
        .name("string")
        .publicIpAddress("string")
        .build())
    .ipv6(false)
    .labels(Map.of("string", "string"))
    .diskSize(0)
    .networkIds("string")
    .securityGroupIds("string")
    .description("string")
    .state("string")
    .deployTargetId("string")
    .userData("string")
    .antiAffinityGroupIds("string")
    .build());
instance_pool_resource = exoscale.InstancePool("instancePoolResource",
    size=0,
    zone="string",
    template_id="string",
    key_pair="string",
    name="string",
    elastic_ip_ids=["string"],
    instance_prefix="string",
    instance_type="string",
    instances=[{
        "id": "string",
        "ipv6_address": "string",
        "name": "string",
        "public_ip_address": "string",
    }],
    ipv6=False,
    labels={
        "string": "string",
    },
    disk_size=0,
    network_ids=["string"],
    security_group_ids=["string"],
    description="string",
    state="string",
    deploy_target_id="string",
    user_data="string",
    anti_affinity_group_ids=["string"])
const instancePoolResource = new exoscale.InstancePool("instancePoolResource", {
    size: 0,
    zone: "string",
    templateId: "string",
    keyPair: "string",
    name: "string",
    elasticIpIds: ["string"],
    instancePrefix: "string",
    instanceType: "string",
    instances: [{
        id: "string",
        ipv6Address: "string",
        name: "string",
        publicIpAddress: "string",
    }],
    ipv6: false,
    labels: {
        string: "string",
    },
    diskSize: 0,
    networkIds: ["string"],
    securityGroupIds: ["string"],
    description: "string",
    state: "string",
    deployTargetId: "string",
    userData: "string",
    antiAffinityGroupIds: ["string"],
});
type: exoscale:InstancePool
properties:
    antiAffinityGroupIds:
        - 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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The InstancePool resource accepts the following input properties:
- Size int
- The number of managed instances.
- TemplateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- Zone string
- ❗ The Exoscale Zone name.
- AffinityGroup List<string>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- AntiAffinity List<string>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- DeployTarget stringId 
- A deploy target ID.
- Description string
- A free-form text describing the pool.
- DiskSize int
- The managed instances disk size (GiB).
- ElasticIp List<string>Ids 
- A list of exoscaleelasticip (IDs).
- InstancePrefix string
- The string used to prefix managed instances name (default: pool).
- InstanceType 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).
- KeyPair 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.
- NetworkIds List<string>
- A list of exoscaleprivatenetwork (IDs).
- SecurityGroup List<string>Ids 
- A list of exoscalesecuritygroup (IDs).
- ServiceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- State string
- UserData string
- cloud-init configuration to apply to the managed instances.
- VirtualMachines List<string>
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- Size int
- The number of managed instances.
- TemplateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- Zone string
- ❗ The Exoscale Zone name.
- AffinityGroup []stringIds 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- AntiAffinity []stringGroup Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- DeployTarget stringId 
- A deploy target ID.
- Description string
- A free-form text describing the pool.
- DiskSize int
- The managed instances disk size (GiB).
- ElasticIp []stringIds 
- A list of exoscaleelasticip (IDs).
- InstancePrefix string
- The string used to prefix managed instances name (default: pool).
- InstanceType 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
[]InstancePool Instance Args 
- The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default: false).
- KeyPair 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.
- NetworkIds []string
- A list of exoscaleprivatenetwork (IDs).
- SecurityGroup []stringIds 
- A list of exoscalesecuritygroup (IDs).
- ServiceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- State string
- UserData string
- cloud-init configuration to apply to the managed instances.
- VirtualMachines []string
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- size Integer
- The number of managed instances.
- templateId String
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone String
- ❗ The Exoscale Zone name.
- affinityGroup List<String>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity List<String>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget StringId 
- A deploy target ID.
- description String
- A free-form text describing the pool.
- diskSize Integer
- The managed instances disk size (GiB).
- elasticIp List<String>Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix String
- The string used to prefix managed instances name (default: pool).
- instanceType 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<InstancePool Instance> 
- The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default: false).
- keyPair 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.
- networkIds List<String>
- A list of exoscaleprivatenetwork (IDs).
- securityGroup List<String>Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering String
- The managed instances type. Please use the instance_typeargument instead.
- state String
- userData String
- cloud-init configuration to apply to the managed instances.
- virtualMachines List<String>
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- size number
- The number of managed instances.
- templateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone string
- ❗ The Exoscale Zone name.
- affinityGroup string[]Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity string[]Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget stringId 
- A deploy target ID.
- description string
- A free-form text describing the pool.
- diskSize number
- The managed instances disk size (GiB).
- elasticIp string[]Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix string
- The string used to prefix managed instances name (default: pool).
- instanceType 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
InstancePool Instance[] 
- The list of managed instances. Structure is documented below.
- ipv6 boolean
- Enable IPv6 on managed instances (boolean; default: false).
- keyPair 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.
- networkIds string[]
- A list of exoscaleprivatenetwork (IDs).
- securityGroup string[]Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- state string
- userData string
- cloud-init configuration to apply to the managed instances.
- virtualMachines string[]
- The list of managed instances (IDs). Please use the instances.*.idattribute 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).
- anti_affinity_ Sequence[str]group_ 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[InstancePool 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_typeargument 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.*.idattribute instead.
- size Number
- The number of managed instances.
- templateId String
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- zone String
- ❗ The Exoscale Zone name.
- affinityGroup List<String>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity List<String>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget StringId 
- A deploy target ID.
- description String
- A free-form text describing the pool.
- diskSize Number
- The managed instances disk size (GiB).
- elasticIp List<String>Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix String
- The string used to prefix managed instances name (default: pool).
- instanceType 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).
- keyPair 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.
- networkIds List<String>
- A list of exoscaleprivatenetwork (IDs).
- securityGroup List<String>Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering String
- The managed instances type. Please use the instance_typeargument instead.
- state String
- userData String
- cloud-init configuration to apply to the managed instances.
- virtualMachines List<String>
- The list of managed instances (IDs). Please use the instances.*.idattribute 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,
        anti_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) -> InstancePoolfunc 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)resources:  _:    type: exoscale:InstancePool    get:      id: ${id}- 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.
- AffinityGroup List<string>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- AntiAffinity List<string>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- DeployTarget stringId 
- A deploy target ID.
- Description string
- A free-form text describing the pool.
- DiskSize int
- The managed instances disk size (GiB).
- ElasticIp List<string>Ids 
- A list of exoscaleelasticip (IDs).
- InstancePrefix string
- The string used to prefix managed instances name (default: pool).
- InstanceType 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).
- KeyPair 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.
- NetworkIds List<string>
- A list of exoscaleprivatenetwork (IDs).
- SecurityGroup List<string>Ids 
- A list of exoscalesecuritygroup (IDs).
- ServiceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- Size int
- The number of managed instances.
- State string
- TemplateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- UserData string
- cloud-init configuration to apply to the managed instances.
- VirtualMachines List<string>
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- Zone string
- ❗ The Exoscale Zone name.
- AffinityGroup []stringIds 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- AntiAffinity []stringGroup Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- DeployTarget stringId 
- A deploy target ID.
- Description string
- A free-form text describing the pool.
- DiskSize int
- The managed instances disk size (GiB).
- ElasticIp []stringIds 
- A list of exoscaleelasticip (IDs).
- InstancePrefix string
- The string used to prefix managed instances name (default: pool).
- InstanceType 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
[]InstancePool Instance Args 
- The list of managed instances. Structure is documented below.
- Ipv6 bool
- Enable IPv6 on managed instances (boolean; default: false).
- KeyPair 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.
- NetworkIds []string
- A list of exoscaleprivatenetwork (IDs).
- SecurityGroup []stringIds 
- A list of exoscalesecuritygroup (IDs).
- ServiceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- Size int
- The number of managed instances.
- State string
- TemplateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- UserData string
- cloud-init configuration to apply to the managed instances.
- VirtualMachines []string
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- Zone string
- ❗ The Exoscale Zone name.
- affinityGroup List<String>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity List<String>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget StringId 
- A deploy target ID.
- description String
- A free-form text describing the pool.
- diskSize Integer
- The managed instances disk size (GiB).
- elasticIp List<String>Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix String
- The string used to prefix managed instances name (default: pool).
- instanceType 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<InstancePool Instance> 
- The list of managed instances. Structure is documented below.
- ipv6 Boolean
- Enable IPv6 on managed instances (boolean; default: false).
- keyPair 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.
- networkIds List<String>
- A list of exoscaleprivatenetwork (IDs).
- securityGroup List<String>Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering String
- The managed instances type. Please use the instance_typeargument instead.
- size Integer
- The number of managed instances.
- state String
- templateId String
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- userData String
- cloud-init configuration to apply to the managed instances.
- virtualMachines List<String>
- The list of managed instances (IDs). Please use the instances.*.idattribute instead.
- zone String
- ❗ The Exoscale Zone name.
- affinityGroup string[]Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity string[]Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget stringId 
- A deploy target ID.
- description string
- A free-form text describing the pool.
- diskSize number
- The managed instances disk size (GiB).
- elasticIp string[]Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix string
- The string used to prefix managed instances name (default: pool).
- instanceType 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
InstancePool Instance[] 
- The list of managed instances. Structure is documented below.
- ipv6 boolean
- Enable IPv6 on managed instances (boolean; default: false).
- keyPair 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.
- networkIds string[]
- A list of exoscaleprivatenetwork (IDs).
- securityGroup string[]Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering string
- The managed instances type. Please use the instance_typeargument instead.
- size number
- The number of managed instances.
- state string
- templateId string
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- userData string
- cloud-init configuration to apply to the managed instances.
- virtualMachines string[]
- The list of managed instances (IDs). Please use the instances.*.idattribute 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).
- anti_affinity_ Sequence[str]group_ 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[InstancePool 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_typeargument 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.*.idattribute instead.
- zone str
- ❗ The Exoscale Zone name.
- affinityGroup List<String>Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- antiAffinity List<String>Group Ids 
- A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
- deployTarget StringId 
- A deploy target ID.
- description String
- A free-form text describing the pool.
- diskSize Number
- The managed instances disk size (GiB).
- elasticIp List<String>Ids 
- A list of exoscaleelasticip (IDs).
- instancePrefix String
- The string used to prefix managed instances name (default: pool).
- instanceType 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).
- keyPair 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.
- networkIds List<String>
- A list of exoscaleprivatenetwork (IDs).
- securityGroup List<String>Ids 
- A list of exoscalesecuritygroup (IDs).
- serviceOffering String
- The managed instances type. Please use the instance_typeargument instead.
- size Number
- The number of managed instances.
- state String
- templateId String
- The exoscale.getTemplate (ID) to use when creating the managed instances.
- userData String
- cloud-init configuration to apply to the managed instances.
- virtualMachines List<String>
- The list of managed instances (IDs). Please use the instances.*.idattribute 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.
- PublicIp 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.
- PublicIp 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.
- publicIp 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.
- publicIp 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.
- publicIp 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 exoscaleTerraform Provider.