1. Packages
  2. Exoscale
  3. API Docs
  4. getInstancePoolList
Exoscale v0.66.1 published on Tuesday, Nov 4, 2025 by Pulumiverse

exoscale.getInstancePoolList

Start a Neo task
Explain and create an exoscale.getInstancePoolList resource
exoscale logo
Exoscale v0.66.1 published on Tuesday, Nov 4, 2025 by Pulumiverse

    List Exoscale Instance Pools.

    Corresponding resource: exoscale_instance_pool.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as exoscale from "@pulumiverse/exoscale";
    import * as std from "@pulumi/std";
    
    const myInstancePoolList = exoscale.getInstancePoolList({
        zone: "ch-gva-2",
    });
    export const myInstancePoolIds = std.formatlist({
        input: "%s",
        args: [myInstancePoolList.then(myInstancePoolList => myInstancePoolList.pools.map(__item => __item.id))],
    }).then(invoke => std.join({
        separator: "\n",
        input: invoke.result,
    })).then(invoke => invoke.result);
    
    import pulumi
    import pulumi_exoscale as exoscale
    import pulumi_std as std
    
    my_instance_pool_list = exoscale.get_instance_pool_list(zone="ch-gva-2")
    pulumi.export("myInstancePoolIds", std.join(separator="\n",
        input=std.formatlist(input="%s",
            args=[[__item.id for __item in my_instance_pool_list.pools]]).result).result)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"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 {
    myInstancePoolList, err := exoscale.GetInstancePoolList(ctx, &exoscale.GetInstancePoolListArgs{
    Zone: "ch-gva-2",
    }, nil);
    if err != nil {
    return err
    }
    ctx.Export("myInstancePoolIds", pulumi.String(std.Join(ctx, &std.JoinArgs{
    Separator: "\n",
    Input: std.Formatlist(ctx, &std.FormatlistArgs{
    Input: "%s",
    Args: [][]*string{
    %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,16-46),
    },
    }, nil).Result,
    }, nil).Result))
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Exoscale = Pulumi.Exoscale;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var myInstancePoolList = Exoscale.GetInstancePoolList.Invoke(new()
        {
            Zone = "ch-gva-2",
        });
    
        return new Dictionary<string, object?>
        {
            ["myInstancePoolIds"] = Std.Formatlist.Invoke(new()
            {
                Input = "%s",
                Args = new[]
                {
                    myInstancePoolList.Apply(getInstancePoolListResult => getInstancePoolListResult.Pools).Select(__item => __item.Id).ToList(),
                },
            }).Apply(invoke => Std.Join.Invoke(new()
            {
                Separator = @"
    ",
                Input = invoke.Result,
            })).Apply(invoke => invoke.Result),
        };
    });
    
    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.GetInstancePoolListArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FormatlistArgs;
    import com.pulumi.std.inputs.JoinArgs;
    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 myInstancePoolList = ExoscaleFunctions.getInstancePoolList(GetInstancePoolListArgs.builder()
                .zone("ch-gva-2")
                .build());
    
            ctx.export("myInstancePoolIds", StdFunctions.join(JoinArgs.builder()
                .separator("""
    
                """)
                .input(StdFunctions.formatlist(FormatlistArgs.builder()
                    .input("%s")
                    .args(myInstancePoolList.pools().stream().map(element -> element.id()).collect(toList()))
                    .build()).result())
                .build()).result());
        }
    }
    
    Example coming soon!
    

    Please refer to the examples directory for complete configuration examples.

    Using getInstancePoolList

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getInstancePoolList(args: GetInstancePoolListArgs, opts?: InvokeOptions): Promise<GetInstancePoolListResult>
    function getInstancePoolListOutput(args: GetInstancePoolListOutputArgs, opts?: InvokeOptions): Output<GetInstancePoolListResult>
    def get_instance_pool_list(zone: Optional[str] = None,
                               opts: Optional[InvokeOptions] = None) -> GetInstancePoolListResult
    def get_instance_pool_list_output(zone: Optional[pulumi.Input[str]] = None,
                               opts: Optional[InvokeOptions] = None) -> Output[GetInstancePoolListResult]
    func GetInstancePoolList(ctx *Context, args *GetInstancePoolListArgs, opts ...InvokeOption) (*GetInstancePoolListResult, error)
    func GetInstancePoolListOutput(ctx *Context, args *GetInstancePoolListOutputArgs, opts ...InvokeOption) GetInstancePoolListResultOutput

    > Note: This function is named GetInstancePoolList in the Go SDK.

    public static class GetInstancePoolList 
    {
        public static Task<GetInstancePoolListResult> InvokeAsync(GetInstancePoolListArgs args, InvokeOptions? opts = null)
        public static Output<GetInstancePoolListResult> Invoke(GetInstancePoolListInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetInstancePoolListResult> getInstancePoolList(GetInstancePoolListArgs args, InvokeOptions options)
    public static Output<GetInstancePoolListResult> getInstancePoolList(GetInstancePoolListArgs args, InvokeOptions options)
    
    fn::invoke:
      function: exoscale:index/getInstancePoolList:getInstancePoolList
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Zone string
    The Exoscale Zone name.
    Zone string
    The Exoscale Zone name.
    zone String
    The Exoscale Zone name.
    zone string
    The Exoscale Zone name.
    zone str
    The Exoscale Zone name.
    zone String
    The Exoscale Zone name.

    getInstancePoolList Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Pools List<Pulumiverse.Exoscale.Outputs.GetInstancePoolListPool>
    The list of exoscaleinstancepool.
    Zone string
    The Exoscale Zone name.
    Id string
    The provider-assigned unique ID for this managed resource.
    Pools []GetInstancePoolListPool
    The list of exoscaleinstancepool.
    Zone string
    The Exoscale Zone name.
    id String
    The provider-assigned unique ID for this managed resource.
    pools List<GetInstancePoolListPool>
    The list of exoscaleinstancepool.
    zone String
    The Exoscale Zone name.
    id string
    The provider-assigned unique ID for this managed resource.
    pools GetInstancePoolListPool[]
    The list of exoscaleinstancepool.
    zone string
    The Exoscale Zone name.
    id str
    The provider-assigned unique ID for this managed resource.
    pools Sequence[GetInstancePoolListPool]
    The list of exoscaleinstancepool.
    zone str
    The Exoscale Zone name.
    id String
    The provider-assigned unique ID for this managed resource.
    pools List<Property Map>
    The list of exoscaleinstancepool.
    zone String
    The Exoscale Zone name.

    Supporting Types

    GetInstancePoolListPool

    AffinityGroupIds List<string>
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds List<string>
    The list of attached exoscale.AntiAffinityGroup (IDs).
    DeployTargetId string
    The deploy target ID.
    Description string
    The instance pool description.
    DiskSize int
    The managed instances disk size.
    ElasticIpIds List<string>
    The list of attached exoscale.ElasticIp (IDs).
    InstancePrefix string
    The string used to prefix the managed instances name.
    InstanceType string
    The managed instances type.
    Instances List<Pulumiverse.Exoscale.Inputs.GetInstancePoolListPoolInstance>
    The list of managed instances. Structure is documented below.
    Ipv6 bool
    Whether IPv6 is enabled on managed instances.
    KeyPair string
    The exoscale.SshKey (name) authorized on the managed instances.
    MinAvailable int
    Minimum number of running Instances.
    NetworkIds List<string>
    The list of attached exoscale.PrivateNetwork (IDs).
    SecurityGroupIds List<string>
    The list of attached exoscale.SecurityGroup (IDs).
    Size int
    The number managed instances.
    State string
    The pool state.
    TemplateId string
    The managed instances exoscale.getTemplate ID.
    UserData string
    cloud-init configuration.
    Zone string
    The Exoscale Zone name.
    Id string
    The instance pool ID to match (conflicts with name).
    Labels Dictionary<string, string>
    A map of key/value labels.
    Name string
    The pool name to match (conflicts with id).
    AffinityGroupIds []string
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    AntiAffinityGroupIds []string
    The list of attached exoscale.AntiAffinityGroup (IDs).
    DeployTargetId string
    The deploy target ID.
    Description string
    The instance pool description.
    DiskSize int
    The managed instances disk size.
    ElasticIpIds []string
    The list of attached exoscale.ElasticIp (IDs).
    InstancePrefix string
    The string used to prefix the managed instances name.
    InstanceType string
    The managed instances type.
    Instances []GetInstancePoolListPoolInstance
    The list of managed instances. Structure is documented below.
    Ipv6 bool
    Whether IPv6 is enabled on managed instances.
    KeyPair string
    The exoscale.SshKey (name) authorized on the managed instances.
    MinAvailable int
    Minimum number of running Instances.
    NetworkIds []string
    The list of attached exoscale.PrivateNetwork (IDs).
    SecurityGroupIds []string
    The list of attached exoscale.SecurityGroup (IDs).
    Size int
    The number managed instances.
    State string
    The pool state.
    TemplateId string
    The managed instances exoscale.getTemplate ID.
    UserData string
    cloud-init configuration.
    Zone string
    The Exoscale Zone name.
    Id string
    The instance pool ID to match (conflicts with name).
    Labels map[string]string
    A map of key/value labels.
    Name string
    The pool name to match (conflicts with id).
    affinityGroupIds List<String>
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    The list of attached exoscale.AntiAffinityGroup (IDs).
    deployTargetId String
    The deploy target ID.
    description String
    The instance pool description.
    diskSize Integer
    The managed instances disk size.
    elasticIpIds List<String>
    The list of attached exoscale.ElasticIp (IDs).
    instancePrefix String
    The string used to prefix the managed instances name.
    instanceType String
    The managed instances type.
    instances List<GetInstancePoolListPoolInstance>
    The list of managed instances. Structure is documented below.
    ipv6 Boolean
    Whether IPv6 is enabled on managed instances.
    keyPair String
    The exoscale.SshKey (name) authorized on the managed instances.
    minAvailable Integer
    Minimum number of running Instances.
    networkIds List<String>
    The list of attached exoscale.PrivateNetwork (IDs).
    securityGroupIds List<String>
    The list of attached exoscale.SecurityGroup (IDs).
    size Integer
    The number managed instances.
    state String
    The pool state.
    templateId String
    The managed instances exoscale.getTemplate ID.
    userData String
    cloud-init configuration.
    zone String
    The Exoscale Zone name.
    id String
    The instance pool ID to match (conflicts with name).
    labels Map<String,String>
    A map of key/value labels.
    name String
    The pool name to match (conflicts with id).
    affinityGroupIds string[]
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds string[]
    The list of attached exoscale.AntiAffinityGroup (IDs).
    deployTargetId string
    The deploy target ID.
    description string
    The instance pool description.
    diskSize number
    The managed instances disk size.
    elasticIpIds string[]
    The list of attached exoscale.ElasticIp (IDs).
    instancePrefix string
    The string used to prefix the managed instances name.
    instanceType string
    The managed instances type.
    instances GetInstancePoolListPoolInstance[]
    The list of managed instances. Structure is documented below.
    ipv6 boolean
    Whether IPv6 is enabled on managed instances.
    keyPair string
    The exoscale.SshKey (name) authorized on the managed instances.
    minAvailable number
    Minimum number of running Instances.
    networkIds string[]
    The list of attached exoscale.PrivateNetwork (IDs).
    securityGroupIds string[]
    The list of attached exoscale.SecurityGroup (IDs).
    size number
    The number managed instances.
    state string
    The pool state.
    templateId string
    The managed instances exoscale.getTemplate ID.
    userData string
    cloud-init configuration.
    zone string
    The Exoscale Zone name.
    id string
    The instance pool ID to match (conflicts with name).
    labels {[key: string]: string}
    A map of key/value labels.
    name string
    The pool name to match (conflicts with id).
    affinity_group_ids Sequence[str]
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    anti_affinity_group_ids Sequence[str]
    The list of attached exoscale.AntiAffinityGroup (IDs).
    deploy_target_id str
    The deploy target ID.
    description str
    The instance pool description.
    disk_size int
    The managed instances disk size.
    elastic_ip_ids Sequence[str]
    The list of attached exoscale.ElasticIp (IDs).
    instance_prefix str
    The string used to prefix the managed instances name.
    instance_type str
    The managed instances type.
    instances Sequence[GetInstancePoolListPoolInstance]
    The list of managed instances. Structure is documented below.
    ipv6 bool
    Whether IPv6 is enabled on managed instances.
    key_pair str
    The exoscale.SshKey (name) authorized on the managed instances.
    min_available int
    Minimum number of running Instances.
    network_ids Sequence[str]
    The list of attached exoscale.PrivateNetwork (IDs).
    security_group_ids Sequence[str]
    The list of attached exoscale.SecurityGroup (IDs).
    size int
    The number managed instances.
    state str
    The pool state.
    template_id str
    The managed instances exoscale.getTemplate ID.
    user_data str
    cloud-init configuration.
    zone str
    The Exoscale Zone name.
    id str
    The instance pool ID to match (conflicts with name).
    labels Mapping[str, str]
    A map of key/value labels.
    name str
    The pool name to match (conflicts with id).
    affinityGroupIds List<String>
    The list of attached exoscale.AntiAffinityGroup (IDs). Use anti_affinity_group_ids instead.

    Deprecated: Use anti_affinity_group_ids instead.

    antiAffinityGroupIds List<String>
    The list of attached exoscale.AntiAffinityGroup (IDs).
    deployTargetId String
    The deploy target ID.
    description String
    The instance pool description.
    diskSize Number
    The managed instances disk size.
    elasticIpIds List<String>
    The list of attached exoscale.ElasticIp (IDs).
    instancePrefix String
    The string used to prefix the managed instances name.
    instanceType String
    The managed instances type.
    instances List<Property Map>
    The list of managed instances. Structure is documented below.
    ipv6 Boolean
    Whether IPv6 is enabled on managed instances.
    keyPair String
    The exoscale.SshKey (name) authorized on the managed instances.
    minAvailable Number
    Minimum number of running Instances.
    networkIds List<String>
    The list of attached exoscale.PrivateNetwork (IDs).
    securityGroupIds List<String>
    The list of attached exoscale.SecurityGroup (IDs).
    size Number
    The number managed instances.
    state String
    The pool state.
    templateId String
    The managed instances exoscale.getTemplate ID.
    userData String
    cloud-init configuration.
    zone String
    The Exoscale Zone name.
    id String
    The instance pool ID to match (conflicts with name).
    labels Map<String>
    A map of key/value labels.
    name String
    The pool name to match (conflicts with id).

    GetInstancePoolListPoolInstance

    Ipv6Address string
    The instance (main network interface) IPv6 address.
    PublicIpAddress string
    The instance (main network interface) IPv4 address.
    Id string
    The compute instance ID.
    Name string
    The instance name.
    Ipv6Address string
    The instance (main network interface) IPv6 address.
    PublicIpAddress string
    The instance (main network interface) IPv4 address.
    Id string
    The compute instance ID.
    Name string
    The instance name.
    ipv6Address String
    The instance (main network interface) IPv6 address.
    publicIpAddress String
    The instance (main network interface) IPv4 address.
    id String
    The compute instance ID.
    name String
    The instance name.
    ipv6Address string
    The instance (main network interface) IPv6 address.
    publicIpAddress string
    The instance (main network interface) IPv4 address.
    id string
    The compute instance ID.
    name string
    The instance name.
    ipv6_address str
    The instance (main network interface) IPv6 address.
    public_ip_address str
    The instance (main network interface) IPv4 address.
    id str
    The compute instance ID.
    name str
    The instance name.
    ipv6Address String
    The instance (main network interface) IPv6 address.
    publicIpAddress String
    The instance (main network interface) IPv4 address.
    id String
    The compute instance ID.
    name String
    The instance name.

    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.66.1 published on Tuesday, Nov 4, 2025 by Pulumiverse
      Meet Neo: Your AI Platform Teammate