linode.getInstanceTypes
Explore with Pulumi AI
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"] = specific_types.Apply(specific_types => specific_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types).Select(__item => __item.Id).ToList()),
};
});
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
})
}
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 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])
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));
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"] = all_types.Apply(all_types => all_types.Apply(getInstanceTypesResult => getInstanceTypesResult.Types).Select(__item => __item.Id).ToList()),
};
});
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
})
}
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 pulumi
import pulumi_linode as linode
all_types = linode.get_instance_types()
pulumi.export("typeIds", [__item.id for __item in all_types.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));
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,
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 dictionary
The 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> - 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> - 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 - 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 - 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> - 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> - 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[] - 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[] - 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] - 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] - 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.
- network
Out 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
GetInstanceTypesTypePrice
Package Details
- Repository
- Linode pulumi/pulumi-linode
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
linode
Terraform Provider.