1. Packages
  2. Exoscale
  3. API Docs
  4. InstancePool
Exoscale v0.59.2 published on Monday, Jul 22, 2024 by Pulumiverse

exoscale.InstancePool

Explore with Pulumi AI

exoscale logo
Exoscale v0.59.2 published on Monday, Jul 22, 2024 by Pulumiverse

    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.
    AffinityGroupIds List<string>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds List<string>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    DeployTargetId string
    A deploy target ID.
    Description string
    A free-form text describing the pool.
    DiskSize int
    The managed instances disk size (GiB).
    ElasticIpIds List<string>
    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.InstancePoolInstance>
    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).
    SecurityGroupIds List<string>
    A list of exoscalesecuritygroup (IDs).
    ServiceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute 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.
    AffinityGroupIds []string
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds []string
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    DeployTargetId string
    A deploy target ID.
    Description string
    A free-form text describing the pool.
    DiskSize int
    The managed instances disk size (GiB).
    ElasticIpIds []string
    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 []InstancePoolInstanceArgs
    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).
    SecurityGroupIds []string
    A list of exoscalesecuritygroup (IDs).
    ServiceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute 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.
    affinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId String
    A deploy target ID.
    description String
    A free-form text describing the pool.
    diskSize Integer
    The managed instances disk size (GiB).
    elasticIpIds List<String>
    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<InstancePoolInstance>
    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).
    securityGroupIds List<String>
    A list of exoscalesecuritygroup (IDs).
    serviceOffering String
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute 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.
    affinityGroupIds string[]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds string[]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId string
    A deploy target ID.
    description string
    A free-form text describing the pool.
    diskSize number
    The managed instances disk size (GiB).
    elasticIpIds string[]
    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 InstancePoolInstance[]
    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).
    securityGroupIds string[]
    A list of exoscalesecuritygroup (IDs).
    serviceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported 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_ids Sequence[str]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    anti_affinity_group_ids Sequence[str]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deploy_target_id str
    A deploy target ID.
    description str
    A free-form text describing the pool.
    disk_size int
    The managed instances disk size (GiB).
    elastic_ip_ids Sequence[str]
    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[InstancePoolInstanceArgs]
    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_ids Sequence[str]
    A list of exoscalesecuritygroup (IDs).
    service_offering str
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.

    Deprecated: Use the instances exported attribute 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.
    affinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId String
    A deploy target ID.
    description String
    A free-form text describing the pool.
    diskSize Number
    The managed instances disk size (GiB).
    elasticIpIds List<String>
    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).
    securityGroupIds List<String>
    A list of exoscalesecuritygroup (IDs).
    serviceOffering String
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported 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,
            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) -> 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.
    The following state arguments are supported:
    AffinityGroupIds List<string>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds List<string>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    DeployTargetId string
    A deploy target ID.
    Description string
    A free-form text describing the pool.
    DiskSize int
    The managed instances disk size (GiB).
    ElasticIpIds List<string>
    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.InstancePoolInstance>
    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).
    SecurityGroupIds List<string>
    A list of exoscalesecuritygroup (IDs).
    ServiceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute instead.

    Zone string
    ❗ The Exoscale Zone name.
    AffinityGroupIds []string
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds []string
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    DeployTargetId string
    A deploy target ID.
    Description string
    A free-form text describing the pool.
    DiskSize int
    The managed instances disk size (GiB).
    ElasticIpIds []string
    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 []InstancePoolInstanceArgs
    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).
    SecurityGroupIds []string
    A list of exoscalesecuritygroup (IDs).
    ServiceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute instead.

    Zone string
    ❗ The Exoscale Zone name.
    affinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId String
    A deploy target ID.
    description String
    A free-form text describing the pool.
    diskSize Integer
    The managed instances disk size (GiB).
    elasticIpIds List<String>
    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<InstancePoolInstance>
    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).
    securityGroupIds List<String>
    A list of exoscalesecuritygroup (IDs).
    serviceOffering String
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute instead.

    zone String
    ❗ The Exoscale Zone name.
    affinityGroupIds string[]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds string[]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId string
    A deploy target ID.
    description string
    A free-form text describing the pool.
    diskSize number
    The managed instances disk size (GiB).
    elasticIpIds string[]
    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 InstancePoolInstance[]
    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).
    securityGroupIds string[]
    A list of exoscalesecuritygroup (IDs).
    serviceOffering string
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported attribute instead.

    zone string
    ❗ The Exoscale Zone name.
    affinity_group_ids Sequence[str]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    anti_affinity_group_ids Sequence[str]
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deploy_target_id str
    A deploy target ID.
    description str
    A free-form text describing the pool.
    disk_size int
    The managed instances disk size (GiB).
    elastic_ip_ids Sequence[str]
    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[InstancePoolInstanceArgs]
    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_ids Sequence[str]
    A list of exoscalesecuritygroup (IDs).
    service_offering str
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.

    Deprecated: Use the instances exported attribute instead.

    zone str
    ❗ The Exoscale Zone name.
    affinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    A list of exoscaleantiaffinity_group (IDs; may only be set at creation time).
    deployTargetId String
    A deploy target ID.
    description String
    A free-form text describing the pool.
    diskSize Number
    The managed instances disk size (GiB).
    elasticIpIds List<String>
    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).
    securityGroupIds List<String>
    A list of exoscalesecuritygroup (IDs).
    serviceOffering String
    The managed instances type. Please use the instance_type argument instead.

    Deprecated: This attribute has been replaced by "instance_type".

    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.*.id attribute instead.

    Deprecated: Use the instances exported 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.
    PublicIpAddress string
    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.
    PublicIpAddress string
    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.
    publicIpAddress String
    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.
    publicIpAddress string
    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_address str
    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.
    publicIpAddress String
    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.
    exoscale logo
    Exoscale v0.59.2 published on Monday, Jul 22, 2024 by Pulumiverse