Linode v4.27.2 published on Tuesday, Sep 24, 2024 by Pulumi
linode.getInstanceTypes
Explore with Pulumi AI
Provides information about Linode Instance types that match a set of filters. For more information, see the Linode APIv4 docs.
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=[{
"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
}
ctx.Export("typeIds", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:8,11-37)))
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
}
ctx.Export("typeIds", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,11-32)))
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
class
disk
gpus
label
memory
network_out
transfer
vcpus
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> - 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
linode
Terraform Provider.