1. Packages
  2. Packages
  3. Linode Provider
  4. API Docs
  5. getInstanceTypes
Viewing docs for Linode v3.12.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
linode logo
Viewing docs for Linode v3.12.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Provides information about Linode Instance types that match a set of filters.

    Filterable Fields

    • class

    • disk

    • gpus

    • label

    • memory

    • network_out

    • transfer

    • vcpus

    Example Usage

    Get information about all Linode Instance types with a certain number of VCPUs

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var specific_types = Linode.GetInstanceTypes.Invoke(new()
        {
            Filters = new[]
            {
                new Linode.Inputs.GetInstanceTypesFilterInputArgs
                {
                    Name = "vcpus",
                    Values = new[]
                    {
                        "2",
                    },
                },
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["typeIds"] = new[]
            {
                specific_types.Apply(specific_types => specific_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types)),
            }.Select(__item => __item?.Id).ToList(),
        };
    });
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.LinodeFunctions;
    import com.pulumi.linode.inputs.GetInstanceTypesArgs;
    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 specific-types = LinodeFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
                .filters(GetInstanceTypesFilterArgs.builder()
                    .name("vcpus")
                    .values(2)
                    .build())
                .build());
    
            ctx.export("typeIds", specific_types.types().stream().map(element -> element.id()).collect(toList()));
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const specific-types = linode.getInstanceTypes({
        filters: [{
            name: "vcpus",
            values: ["2"],
        }],
    });
    export const typeIds = [specific_types.then(specific_types => specific_types.types)].map(__item => __item?.id);
    
    import pulumi
    import pulumi_linode as linode
    
    specific_types = linode.get_instance_types(filters=[linode.GetInstanceTypesFilterArgs(
        name="vcpus",
        values=["2"],
    )])
    pulumi.export("typeIds", [__item.id for __item in [specific_types.types]])
    

    Example coming soon!

    Get information about all Linode Instance types

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var all_types = Linode.GetInstanceTypes.Invoke();
    
        return new Dictionary<string, object?>
        {
            ["typeIds"] = new[]
            {
                all_types.Apply(all_types => all_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types)),
            }.Select(__item => __item?.Id).ToList(),
        };
    });
    

    Example coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.LinodeFunctions;
    import com.pulumi.linode.inputs.GetInstanceTypesArgs;
    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 all-types = LinodeFunctions.getInstanceTypes();
    
            ctx.export("typeIds", all_types.types().stream().map(element -> element.id()).collect(toList()));
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const all-types = linode.getInstanceTypes({});
    export const typeIds = [all_types.then(all_types => all_types.types)].map(__item => __item?.id);
    
    import pulumi
    import pulumi_linode as linode
    
    all_types = linode.get_instance_types()
    pulumi.export("typeIds", [__item.id for __item in [all_types.types]])
    

    Example coming soon!

    Using getInstanceTypes

    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 getInstanceTypes(args: GetInstanceTypesArgs, opts?: InvokeOptions): Promise<GetInstanceTypesResult>
    function getInstanceTypesOutput(args: GetInstanceTypesOutputArgs, opts?: InvokeOptions): Output<GetInstanceTypesResult>
    def get_instance_types(filters: Optional[Sequence[GetInstanceTypesFilter]] = None,
                           order: Optional[str] = None,
                           order_by: Optional[str] = None,
                           opts: Optional[InvokeOptions] = None) -> GetInstanceTypesResult
    def get_instance_types_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetInstanceTypesFilterArgs]]]] = None,
                           order: Optional[pulumi.Input[str]] = None,
                           order_by: Optional[pulumi.Input[str]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetInstanceTypesResult]
    func GetInstanceTypes(ctx *Context, args *GetInstanceTypesArgs, opts ...InvokeOption) (*GetInstanceTypesResult, error)
    func GetInstanceTypesOutput(ctx *Context, args *GetInstanceTypesOutputArgs, opts ...InvokeOption) GetInstanceTypesResultOutput

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

    public static class GetInstanceTypes 
    {
        public static Task<GetInstanceTypesResult> InvokeAsync(GetInstanceTypesArgs args, InvokeOptions? opts = null)
        public static Output<GetInstanceTypesResult> Invoke(GetInstanceTypesInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetInstanceTypesResult> getInstanceTypes(GetInstanceTypesArgs args, InvokeOptions options)
    public static Output<GetInstanceTypesResult> getInstanceTypes(GetInstanceTypesArgs args, InvokeOptions options)
    
    fn::invoke:
      function: linode:index/getInstanceTypes:getInstanceTypes
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Filters List<GetInstanceTypesFilter>
    Order string
    The order in which results should be returned. (asc, desc; default asc)
    OrderBy string
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
    Filters []GetInstanceTypesFilter
    Order string
    The order in which results should be returned. (asc, desc; default asc)
    OrderBy string
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
    filters List<GetInstanceTypesFilter>
    order String
    The order in which results should be returned. (asc, desc; default asc)
    orderBy String
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
    filters GetInstanceTypesFilter[]
    order string
    The order in which results should be returned. (asc, desc; default asc)
    orderBy string
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
    filters Sequence[GetInstanceTypesFilter]
    order str
    The order in which results should be returned. (asc, desc; default asc)
    order_by str
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
    filters List<Property Map>
    order String
    The order in which results should be returned. (asc, desc; default asc)
    orderBy String
    The attribute to order the results by. See the Filterable Fields section for a list of valid fields.

    getInstanceTypes Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Types List<GetInstanceTypesType>
    Filters List<GetInstanceTypesFilter>
    Order string
    OrderBy string
    Id string
    The provider-assigned unique ID for this managed resource.
    Types []GetInstanceTypesType
    Filters []GetInstanceTypesFilter
    Order string
    OrderBy string
    id String
    The provider-assigned unique ID for this managed resource.
    types List<GetInstanceTypesType>
    filters List<GetInstanceTypesFilter>
    order String
    orderBy String
    id string
    The provider-assigned unique ID for this managed resource.
    types GetInstanceTypesType[]
    filters GetInstanceTypesFilter[]
    order string
    orderBy string
    id str
    The provider-assigned unique ID for this managed resource.
    types Sequence[GetInstanceTypesType]
    filters Sequence[GetInstanceTypesFilter]
    order str
    order_by str
    id String
    The provider-assigned unique ID for this managed resource.
    types List<Property Map>
    filters List<Property Map>
    order String
    orderBy String

    Supporting Types

    GetInstanceTypesFilter

    Name string
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    Values List<string>
    A list of values for the filter to allow. These values should all be in string form.
    MatchBy string
    The method to match the field by. (exact, regex, substring; default exact)
    Name string
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    Values []string
    A list of values for the filter to allow. These values should all be in string form.
    MatchBy string
    The method to match the field by. (exact, regex, substring; default exact)
    name String
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    values List<String>
    A list of values for the filter to allow. These values should all be in string form.
    matchBy String
    The method to match the field by. (exact, regex, substring; default exact)
    name string
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    values string[]
    A list of values for the filter to allow. These values should all be in string form.
    matchBy string
    The method to match the field by. (exact, regex, substring; default exact)
    name str
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    values Sequence[str]
    A list of values for the filter to allow. These values should all be in string form.
    match_by str
    The method to match the field by. (exact, regex, substring; default exact)
    name String
    The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
    values List<String>
    A list of values for the filter to allow. These values should all be in string form.
    matchBy String
    The method to match the field by. (exact, regex, substring; default exact)

    GetInstanceTypesType

    Addons List<GetInstanceTypesTypeAddon>
    Class string
    The class of the Linode Type. See all classes here.
    Disk int
    The Disk size, in MB, of the Linode Type.
    Id string
    The ID representing the Linode Type.
    Label string
    The Linode Type's label is for display purposes only.
    Memory int
    The amount of RAM included in this Linode Type.
    NetworkOut int
    The Mbits outbound bandwidth allocation.
    Prices List<GetInstanceTypesTypePrice>
    Transfer int
    The monthly outbound transfer amount, in MB.
    Vcpus int
    The number of VCPU cores this Linode Type offers.
    Addons []GetInstanceTypesTypeAddon
    Class string
    The class of the Linode Type. See all classes here.
    Disk int
    The Disk size, in MB, of the Linode Type.
    Id string
    The ID representing the Linode Type.
    Label string
    The Linode Type's label is for display purposes only.
    Memory int
    The amount of RAM included in this Linode Type.
    NetworkOut int
    The Mbits outbound bandwidth allocation.
    Prices []GetInstanceTypesTypePrice
    Transfer int
    The monthly outbound transfer amount, in MB.
    Vcpus int
    The number of VCPU cores this Linode Type offers.
    addons List<GetInstanceTypesTypeAddon>
    class_ String
    The class of the Linode Type. See all classes here.
    disk Integer
    The Disk size, in MB, of the Linode Type.
    id String
    The ID representing the Linode Type.
    label String
    The Linode Type's label is for display purposes only.
    memory Integer
    The amount of RAM included in this Linode Type.
    networkOut Integer
    The Mbits outbound bandwidth allocation.
    prices List<GetInstanceTypesTypePrice>
    transfer Integer
    The monthly outbound transfer amount, in MB.
    vcpus Integer
    The number of VCPU cores this Linode Type offers.
    addons GetInstanceTypesTypeAddon[]
    class string
    The class of the Linode Type. See all classes here.
    disk number
    The Disk size, in MB, of the Linode Type.
    id string
    The ID representing the Linode Type.
    label string
    The Linode Type's label is for display purposes only.
    memory number
    The amount of RAM included in this Linode Type.
    networkOut number
    The Mbits outbound bandwidth allocation.
    prices GetInstanceTypesTypePrice[]
    transfer number
    The monthly outbound transfer amount, in MB.
    vcpus number
    The number of VCPU cores this Linode Type offers.
    addons Sequence[GetInstanceTypesTypeAddon]
    class_ str
    The class of the Linode Type. See all classes here.
    disk int
    The Disk size, in MB, of the Linode Type.
    id str
    The ID representing the Linode Type.
    label str
    The Linode Type's label is for display purposes only.
    memory int
    The amount of RAM included in this Linode Type.
    network_out int
    The Mbits outbound bandwidth allocation.
    prices Sequence[GetInstanceTypesTypePrice]
    transfer int
    The monthly outbound transfer amount, in MB.
    vcpus int
    The number of VCPU cores this Linode Type offers.
    addons List<Property Map>
    class String
    The class of the Linode Type. See all classes here.
    disk Number
    The Disk size, in MB, of the Linode Type.
    id String
    The ID representing the Linode Type.
    label String
    The Linode Type's label is for display purposes only.
    memory Number
    The amount of RAM included in this Linode Type.
    networkOut Number
    The Mbits outbound bandwidth allocation.
    prices List<Property Map>
    transfer Number
    The monthly outbound transfer amount, in MB.
    vcpus Number
    The number of VCPU cores this Linode Type offers.

    GetInstanceTypesTypeAddon

    GetInstanceTypesTypeAddonBackup

    GetInstanceTypesTypeAddonBackupPrice

    Hourly double
    Monthly double
    Hourly float64
    Monthly float64
    hourly Double
    monthly Double
    hourly number
    monthly number
    hourly float
    monthly float
    hourly Number
    monthly Number

    GetInstanceTypesTypePrice

    Hourly double
    Monthly double
    Hourly float64
    Monthly float64
    hourly Double
    monthly Double
    hourly number
    monthly number
    hourly float
    monthly float
    hourly Number
    monthly Number

    Package Details

    Repository
    Linode pulumi/pulumi-linode
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the linode Terraform Provider.
    linode logo
    Viewing docs for Linode v3.12.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.