Linode v4.22.0 published on Tuesday, Jun 25, 2024 by Pulumi
linode.getInstanceTypes
Explore with Pulumi AI
Provides information about Linode Instance types that match a set of filters.
Example Usage
Get information about all Linode Instance types with a certain number of VCPUs:
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])
package main
import (
	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		specific_types, err := linode.GetInstanceTypes(ctx, &linode.GetInstanceTypesArgs{
			Filters: []linode.GetInstanceTypesFilter{
				{
					Name: "vcpus",
					Values: []string{
						"2",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []*string
		for _, val0 := range specific_types.Types {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("typeIds", splat0)
		return nil
	})
}
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"] = specific_types.Apply(specific_types => specific_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types).Select(__item => __item.Id).ToList()),
    };
});
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()));
    }
}
Coming soon!
Get information about all Linode Instance types:
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])
package main
import (
	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		all_types, err := linode.GetInstanceTypes(ctx, nil, nil)
		if err != nil {
			return err
		}
		var splat0 []*string
		for _, val0 := range all_types.Types {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("typeIds", splat0)
		return nil
	})
}
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"] = all_types.Apply(all_types => all_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types).Select(__item => __item.Id).ToList()),
    };
});
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()));
    }
}
Coming soon!
Filterable Fields
classdiskgpuslabelmemorynetwork_outtransfervcpus
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,
                       types: Optional[Sequence[GetInstanceTypesType]] = 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,
                       types: Optional[pulumi.Input[Sequence[pulumi.Input[GetInstanceTypesTypeArgs]]]] = 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)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: linode:index/getInstanceTypes:getInstanceTypes
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Filters
List<Get
Instance Types Filter>  - Order string
 - The order in which results should be returned. (
asc,desc; defaultasc) - Order
By string - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - Types
List<Get
Instance Types Type>  
- Filters
[]Get
Instance Types Filter  - Order string
 - The order in which results should be returned. (
asc,desc; defaultasc) - Order
By string - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - Types
[]Get
Instance Types Type  
- filters
List<Get
Instance Types Filter>  - order String
 - The order in which results should be returned. (
asc,desc; defaultasc) - order
By String - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - types
List<Get
Instance Types Type>  
- filters
Get
Instance Types Filter[]  - order string
 - The order in which results should be returned. (
asc,desc; defaultasc) - order
By string - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - types
Get
Instance Types Type[]  
- filters
Sequence[Get
Instance Types Filter]  - order str
 - The order in which results should be returned. (
asc,desc; defaultasc) - order_
by str - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - types
Sequence[Get
Instance Types Type]  
- filters List<Property Map>
 - order String
 - The order in which results should be returned. (
asc,desc; defaultasc) - order
By String - The attribute to order the results by. See the Filterable Fields section for a list of valid fields.
 - types List<Property Map>
 
getInstanceTypes Result
The following output properties are available:
- Id string
 - The ID representing the Linode Type.
 - Filters
List<Get
Instance Types Filter>  - Order string
 - Order
By string - Types
List<Get
Instance Types Type>  
- Id string
 - The ID representing the Linode Type.
 - Filters
[]Get
Instance Types Filter  - Order string
 - Order
By string - Types
[]Get
Instance Types Type  
- id String
 - The ID representing the Linode Type.
 - filters
List<Get
Instance Types Filter>  - order String
 - order
By String - types
List<Get
Instance Types Type>  
- id string
 - The ID representing the Linode Type.
 - filters
Get
Instance Types Filter[]  - order string
 - order
By string - types
Get
Instance Types Type[]  
- id str
 - The ID representing the Linode Type.
 - filters
Sequence[Get
Instance Types Filter]  - order str
 - order_
by str - types
Sequence[Get
Instance Types Type]  
- id String
 - The ID representing the Linode Type.
 - filters List<Property Map>
 - order String
 - order
By String - types List<Property Map>
 
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.
 - Match
By string - The method to match the field by. (
exact,regex,substring; defaultexact) 
- 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.
 - Match
By string - The method to match the field by. (
exact,regex,substring; defaultexact) 
- 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.
 - match
By String - The method to match the field by. (
exact,regex,substring; defaultexact) 
- 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.
 - match
By string - The method to match the field by. (
exact,regex,substring; defaultexact) 
- 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; defaultexact) 
- 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.
 - match
By String - The method to match the field by. (
exact,regex,substring; defaultexact) 
GetInstanceTypesType   
- Addons
List<Get
Instance Types Type Addon>  - Information about the optional Backup service offered for Linodes.
 - 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.
 - Network
Out int - The Mbits outbound bandwidth allocation.
 - Prices
List<Get
Instance Types Type Price>  - Cost in US dollars, broken down into hourly and monthly charges.
 - Region
Prices List<GetInstance Types Type Region Price>  - A list of region-specific prices for this plan.
 - Transfer int
 - The monthly outbound transfer amount, in MB.
 - Vcpus int
 - The number of VCPU cores this Linode Type offers.
 
- Addons
[]Get
Instance Types Type Addon  - Information about the optional Backup service offered for Linodes.
 - 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.
 - Network
Out int - The Mbits outbound bandwidth allocation.
 - Prices
[]Get
Instance Types Type Price  - Cost in US dollars, broken down into hourly and monthly charges.
 - Region
Prices []GetInstance Types Type Region Price  - A list of region-specific prices for this plan.
 - Transfer int
 - The monthly outbound transfer amount, in MB.
 - Vcpus int
 - The number of VCPU cores this Linode Type offers.
 
- addons
List<Get
Instance Types Type Addon>  - Information about the optional Backup service offered for Linodes.
 - 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.
 - network
Out Integer - The Mbits outbound bandwidth allocation.
 - prices
List<Get
Instance Types Type Price>  - Cost in US dollars, broken down into hourly and monthly charges.
 - region
Prices List<GetInstance Types Type Region Price>  - A list of region-specific prices for this plan.
 - transfer Integer
 - The monthly outbound transfer amount, in MB.
 - vcpus Integer
 - The number of VCPU cores this Linode Type offers.
 
- addons
Get
Instance Types Type Addon[]  - Information about the optional Backup service offered for Linodes.
 - 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.
 - network
Out number - The Mbits outbound bandwidth allocation.
 - prices
Get
Instance Types Type Price[]  - Cost in US dollars, broken down into hourly and monthly charges.
 - region
Prices GetInstance Types Type Region Price[]  - A list of region-specific prices for this plan.
 - transfer number
 - The monthly outbound transfer amount, in MB.
 - vcpus number
 - The number of VCPU cores this Linode Type offers.
 
- addons
Sequence[Get
Instance Types Type Addon]  - Information about the optional Backup service offered for Linodes.
 - 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[Get
Instance Types Type Price]  - Cost in US dollars, broken down into hourly and monthly charges.
 - region_
prices Sequence[GetInstance Types Type Region Price]  - A list of region-specific prices for this plan.
 - transfer int
 - The monthly outbound transfer amount, in MB.
 - vcpus int
 - The number of VCPU cores this Linode Type offers.
 
- addons List<Property Map>
 - Information about the optional Backup service offered for Linodes.
 - 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.
 - network
Out Number - The Mbits outbound bandwidth allocation.
 - prices List<Property Map>
 - Cost in US dollars, broken down into hourly and monthly charges.
 - region
Prices List<Property Map> - A list of region-specific prices for this plan.
 - transfer Number
 - The monthly outbound transfer amount, in MB.
 - vcpus Number
 - The number of VCPU cores this Linode Type offers.
 
GetInstanceTypesTypeAddon    
GetInstanceTypesTypeAddonBackup     
GetInstanceTypesTypeAddonBackupPrice      
GetInstanceTypesTypeAddonBackupRegionPrice       
GetInstanceTypesTypePrice    
GetInstanceTypesTypeRegionPrice     
Package Details
- Repository
 - Linode pulumi/pulumi-linode
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
linodeTerraform Provider.