GetInstanceTypes

This data source provides the ECS instance types of Alibaba Cloud.

NOTE: By default, only the upgraded instance types are returned. If you want to get outdated instance types, you must set is_outdated to true.

NOTE: If one instance type is sold out, it will not be exported.

Example Usage

using Pulumi;
using AliCloud = Pulumi.AliCloud;

class MyStack : Stack
{
    public MyStack()
    {
        var typesDs = Output.Create(AliCloud.Ecs.GetInstanceTypes.InvokeAsync(new AliCloud.Ecs.GetInstanceTypesArgs
        {
            CpuCoreCount = 1,
            MemorySize = 2,
        }));
        var instance = new AliCloud.Ecs.Instance("instance", new AliCloud.Ecs.InstanceArgs
        {
            InstanceType = typesDs.Apply(typesDs => typesDs.InstanceTypes[0].Id),
        });
    }

}

Coming soon!

import pulumi
import pulumi_alicloud as alicloud

types_ds = alicloud.ecs.get_instance_types(cpu_core_count=1,
    memory_size=2)
instance = alicloud.ecs.Instance("instance", instance_type=types_ds.instance_types[0]["id"])
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

// Declare the data source
const typesDs = pulumi.output(alicloud.ecs.getInstanceTypes({
    cpuCoreCount: 1,
    memorySize: 2,
}, { async: true }));
const instance = new alicloud.ecs.Instance("instance", {
    instanceType: typesDs.instanceTypes[0].id,
});

Using GetInstanceTypes

function getInstanceTypes(args: GetInstanceTypesArgs, opts?: InvokeOptions): Promise<GetInstanceTypesResult>
function  get_instance_types(availability_zone=None, cpu_core_count=None, eni_amount=None, gpu_amount=None, gpu_spec=None, instance_charge_type=None, instance_type_family=None, is_outdated=None, kubernetes_node_role=None, memory_size=None, network_type=None, output_file=None, sorted_by=None, spot_strategy=None, opts=None)
func GetInstanceTypes(ctx *Context, args *GetInstanceTypesArgs, opts ...InvokeOption) (*GetInstanceTypesResult, error)
public static class GetInstanceTypes {
    public static Task<GetInstanceTypesResult> InvokeAsync(GetInstanceTypesArgs args, InvokeOptions? opts = null)
}

The following arguments are supported:

AvailabilityZone string

The zone where instance types are supported.

CpuCoreCount int

Filter the results to a specific number of cpu cores.

EniAmount int

Filter the result whose network interface number is no more than eni_amount.

GpuAmount int

The GPU amount of an instance type.

GpuSpec string

The GPU spec of an instance type.

InstanceChargeType string

Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

InstanceTypeFamily string

Filter the results based on their family name. For example: ‘ecs.n4’.

IsOutdated bool

If true, outdated instance types are included in the results. Default to false.

KubernetesNodeRole string
MemorySize double

Filter the results to a specific memory size in GB.

NetworkType string

Filter the results by network type. Valid values: Classic and Vpc.

OutputFile string
SortedBy string
SpotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

AvailabilityZone string

The zone where instance types are supported.

CpuCoreCount int

Filter the results to a specific number of cpu cores.

EniAmount int

Filter the result whose network interface number is no more than eni_amount.

GpuAmount int

The GPU amount of an instance type.

GpuSpec string

The GPU spec of an instance type.

InstanceChargeType string

Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

InstanceTypeFamily string

Filter the results based on their family name. For example: ‘ecs.n4’.

IsOutdated bool

If true, outdated instance types are included in the results. Default to false.

KubernetesNodeRole string
MemorySize float64

Filter the results to a specific memory size in GB.

NetworkType string

Filter the results by network type. Valid values: Classic and Vpc.

OutputFile string
SortedBy string
SpotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

availabilityZone string

The zone where instance types are supported.

cpuCoreCount number

Filter the results to a specific number of cpu cores.

eniAmount number

Filter the result whose network interface number is no more than eni_amount.

gpuAmount number

The GPU amount of an instance type.

gpuSpec string

The GPU spec of an instance type.

instanceChargeType string

Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

instanceTypeFamily string

Filter the results based on their family name. For example: ‘ecs.n4’.

isOutdated boolean

If true, outdated instance types are included in the results. Default to false.

kubernetesNodeRole string
memorySize number

Filter the results to a specific memory size in GB.

networkType string

Filter the results by network type. Valid values: Classic and Vpc.

outputFile string
sortedBy string
spotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

availability_zone str

The zone where instance types are supported.

cpu_core_count float

Filter the results to a specific number of cpu cores.

eni_amount float

Filter the result whose network interface number is no more than eni_amount.

gpu_amount float

The GPU amount of an instance type.

gpu_spec str

The GPU spec of an instance type.

instance_charge_type str

Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

instance_type_family str

Filter the results based on their family name. For example: ‘ecs.n4’.

is_outdated bool

If true, outdated instance types are included in the results. Default to false.

kubernetes_node_role str
memory_size float

Filter the results to a specific memory size in GB.

network_type str

Filter the results by network type. Valid values: Classic and Vpc.

output_file str
sorted_by str
spot_strategy str

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

GetInstanceTypes Result

The following output properties are available:

Id string

The provider-assigned unique ID for this managed resource.

Ids List<string>

A list of instance type IDs.

InstanceTypes List<Pulumi.AliCloud.Ecs.Outputs.GetInstanceTypesInstanceType>

A list of image types. Each element contains the following attributes:

AvailabilityZone string
CpuCoreCount int

Number of CPU cores.

EniAmount int

The maximum number of network interfaces that an instance type can be attached to.

GpuAmount int
GpuSpec string
InstanceChargeType string
InstanceTypeFamily string
IsOutdated bool
KubernetesNodeRole string
MemorySize double

Size of memory, measured in GB.

NetworkType string
OutputFile string
SortedBy string
SpotStrategy string
Id string

The provider-assigned unique ID for this managed resource.

Ids []string

A list of instance type IDs.

InstanceTypes []GetInstanceTypesInstanceType

A list of image types. Each element contains the following attributes:

AvailabilityZone string
CpuCoreCount int

Number of CPU cores.

EniAmount int

The maximum number of network interfaces that an instance type can be attached to.

GpuAmount int
GpuSpec string
InstanceChargeType string
InstanceTypeFamily string
IsOutdated bool
KubernetesNodeRole string
MemorySize float64

Size of memory, measured in GB.

NetworkType string
OutputFile string
SortedBy string
SpotStrategy string
id string

The provider-assigned unique ID for this managed resource.

ids string[]

A list of instance type IDs.

instanceTypes GetInstanceTypesInstanceType[]

A list of image types. Each element contains the following attributes:

availabilityZone string
cpuCoreCount number

Number of CPU cores.

eniAmount number

The maximum number of network interfaces that an instance type can be attached to.

gpuAmount number
gpuSpec string
instanceChargeType string
instanceTypeFamily string
isOutdated boolean
kubernetesNodeRole string
memorySize number

Size of memory, measured in GB.

networkType string
outputFile string
sortedBy string
spotStrategy string
id str

The provider-assigned unique ID for this managed resource.

ids List[str]

A list of instance type IDs.

instance_types List[GetInstanceTypesInstanceType]

A list of image types. Each element contains the following attributes:

availability_zone str
cpu_core_count float

Number of CPU cores.

eni_amount float

The maximum number of network interfaces that an instance type can be attached to.

gpu_amount float
gpu_spec str
instance_charge_type str
instance_type_family str
is_outdated bool
kubernetes_node_role str
memory_size float

Size of memory, measured in GB.

network_type str
output_file str
sorted_by str
spot_strategy str

Supporting Types

GetInstanceTypesInstanceType

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

AvailabilityZones List<string>

List of availability zones that support the instance type.

BurstableInstance Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeBurstableInstanceArgs

The burstable instance attribution:

CpuCoreCount int

Filter the results to a specific number of cpu cores.

EniAmount int

Filter the result whose network interface number is no more than eni_amount.

Family string

The instance type family.

Gpu Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeGpuArgs

The GPU attribution of an instance type:

Id string

ID of the instance type.

LocalStorage Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeLocalStorageArgs

Local storage of an instance type:

MemorySize double

Filter the results to a specific memory size in GB.

Price string
AvailabilityZones []string

List of availability zones that support the instance type.

BurstableInstance GetInstanceTypesInstanceTypeBurstableInstance

The burstable instance attribution:

CpuCoreCount int

Filter the results to a specific number of cpu cores.

EniAmount int

Filter the result whose network interface number is no more than eni_amount.

Family string

The instance type family.

Gpu GetInstanceTypesInstanceTypeGpu

The GPU attribution of an instance type:

Id string

ID of the instance type.

LocalStorage GetInstanceTypesInstanceTypeLocalStorage

Local storage of an instance type:

MemorySize float64

Filter the results to a specific memory size in GB.

Price string
availabilityZones string[]

List of availability zones that support the instance type.

burstableInstance GetInstanceTypesInstanceTypeBurstableInstance

The burstable instance attribution:

cpuCoreCount number

Filter the results to a specific number of cpu cores.

eniAmount number

Filter the result whose network interface number is no more than eni_amount.

family string

The instance type family.

gpu GetInstanceTypesInstanceTypeGpu

The GPU attribution of an instance type:

id string

ID of the instance type.

localStorage GetInstanceTypesInstanceTypeLocalStorage

Local storage of an instance type:

memorySize number

Filter the results to a specific memory size in GB.

price string
availabilityZones List[str]

List of availability zones that support the instance type.

burstableInstance Dict[GetInstanceTypesInstanceTypeBurstableInstance]

The burstable instance attribution:

cpuCoreCount float

Filter the results to a specific number of cpu cores.

eniAmount float

Filter the result whose network interface number is no more than eni_amount.

family str

The instance type family.

gpu Dict[GetInstanceTypesInstanceTypeGpu]

The GPU attribution of an instance type:

id str

ID of the instance type.

localStorage Dict[GetInstanceTypesInstanceTypeLocalStorage]

Local storage of an instance type:

memory_size float

Filter the results to a specific memory size in GB.

price str

GetInstanceTypesInstanceTypeBurstableInstance

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

BaselineCredit string

The compute performance benchmark CPU credit of a burstable instance.

InitialCredit string

The initial CPU credit of a burstable instance.

BaselineCredit string

The compute performance benchmark CPU credit of a burstable instance.

InitialCredit string

The initial CPU credit of a burstable instance.

baselineCredit string

The compute performance benchmark CPU credit of a burstable instance.

initialCredit string

The initial CPU credit of a burstable instance.

baselineCredit str

The compute performance benchmark CPU credit of a burstable instance.

initialCredit str

The initial CPU credit of a burstable instance.

GetInstanceTypesInstanceTypeGpu

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

Amount string

The number of local storage devices that an instance has been attached to.

Category string

The category of local storage that an instance has been attached to.

Amount string

The number of local storage devices that an instance has been attached to.

Category string

The category of local storage that an instance has been attached to.

amount string

The number of local storage devices that an instance has been attached to.

category string

The category of local storage that an instance has been attached to.

amount str

The number of local storage devices that an instance has been attached to.

category str

The category of local storage that an instance has been attached to.

GetInstanceTypesInstanceTypeLocalStorage

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

Amount string

The number of local storage devices that an instance has been attached to.

Capacity string

The capacity of a local storage in GB.

Category string

The category of local storage that an instance has been attached to.

Amount string

The number of local storage devices that an instance has been attached to.

Capacity string

The capacity of a local storage in GB.

Category string

The category of local storage that an instance has been attached to.

amount string

The number of local storage devices that an instance has been attached to.

capacity string

The capacity of a local storage in GB.

category string

The category of local storage that an instance has been attached to.

amount str

The number of local storage devices that an instance has been attached to.

capacity str

The capacity of a local storage in GB.

category str

The category of local storage that an instance has been attached to.

Package Details

Repository
https://github.com/pulumi/pulumi-alicloud
License
Apache-2.0
Notes
This Pulumi package is based on the alicloud Terraform Provider.