Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
This data source provides the ECS instance types of Alibaba Cloud.
NOTE: Available since v1.0.0.
NOTE: By default, only the upgraded instance types are returned. If you want to get outdated instance types, you must set
is_outdatedto true.
NOTE: If one instance type is sold out, it will not be exported.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "terraform-example";
const _default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
// Declare the data source
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
availabilityZone: _default.zones?.[0]?.id,
instanceTypeFamily: "ecs.sn1ne",
}));
const defaultGetImages = alicloud.ecs.getImages({
nameRegex: "^ubuntu_[0-9]+_[0-9]+_x64*",
mostRecent: true,
owners: "system",
});
const defaultNetwork = new alicloud.vpc.Network("default", {
vpcName: name,
cidrBlock: "192.168.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
vswitchName: name,
vpcId: defaultNetwork.id,
cidrBlock: "192.168.192.0/24",
zoneId: _default.then(_default => _default.zones?.[0]?.id),
});
const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
name: name,
vpcId: defaultNetwork.id,
});
const defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface("default", {
networkInterfaceName: name,
vswitchId: defaultSwitch.id,
securityGroupIds: [defaultSecurityGroup.id],
});
const defaultInstance: alicloud.ecs.Instance[] = [];
for (const range = {value: 0}; range.value < 14; range.value++) {
defaultInstance.push(new alicloud.ecs.Instance(`default-${range.value}`, {
imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
instanceName: name,
securityGroups: [defaultSecurityGroup].map(__item => __item.id),
internetChargeType: "PayByTraffic",
internetMaxBandwidthOut: 10,
availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
instanceChargeType: "PostPaid",
systemDiskCategory: "cloud_efficiency",
vswitchId: defaultSwitch.id,
}));
}
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
default = alicloud.get_zones(available_resource_creation="VSwitch")
# Declare the data source
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
instance_type_family="ecs.sn1ne")
default_get_images = alicloud.ecs.get_images(name_regex="^ubuntu_[0-9]+_[0-9]+_x64*",
most_recent=True,
owners="system")
default_network = alicloud.vpc.Network("default",
vpc_name=name,
cidr_block="192.168.0.0/16")
default_switch = alicloud.vpc.Switch("default",
vswitch_name=name,
vpc_id=default_network.id,
cidr_block="192.168.192.0/24",
zone_id=default.zones[0].id)
default_security_group = alicloud.ecs.SecurityGroup("default",
name=name,
vpc_id=default_network.id)
default_ecs_network_interface = alicloud.ecs.EcsNetworkInterface("default",
network_interface_name=name,
vswitch_id=default_switch.id,
security_group_ids=[default_security_group.id])
default_instance = []
for range in [{"value": i} for i in range(0, 14)]:
default_instance.append(alicloud.ecs.Instance(f"default-{range['value']}",
image_id=default_get_images.images[0].id,
instance_type=default_get_instance_types.instance_types[0].id,
instance_name=name,
security_groups=[__item.id for __item in [default_security_group]],
internet_charge_type="PayByTraffic",
internet_max_bandwidth_out=10,
availability_zone=default.zones[0].id,
instance_charge_type="PostPaid",
system_disk_category="cloud_efficiency",
vswitch_id=default_switch.id))
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "terraform-example";
if param := cfg.Get("name"); param != ""{
name = param
}
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil);
if err != nil {
return err
}
// Declare the data source
defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
InstanceTypeFamily: pulumi.StringRef("ecs.sn1ne"),
}, nil);
if err != nil {
return err
}
defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
NameRegex: pulumi.StringRef("^ubuntu_[0-9]+_[0-9]+_x64*"),
MostRecent: pulumi.BoolRef(true),
Owners: pulumi.StringRef("system"),
}, nil);
if err != nil {
return err
}
defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
VpcName: pulumi.String(name),
CidrBlock: pulumi.String("192.168.0.0/16"),
})
if err != nil {
return err
}
defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
VswitchName: pulumi.String(name),
VpcId: defaultNetwork.ID(),
CidrBlock: pulumi.String("192.168.192.0/24"),
ZoneId: pulumi.String(_default.Zones[0].Id),
})
if err != nil {
return err
}
defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
Name: pulumi.String(name),
VpcId: defaultNetwork.ID(),
})
if err != nil {
return err
}
_, err = ecs.NewEcsNetworkInterface(ctx, "default", &ecs.EcsNetworkInterfaceArgs{
NetworkInterfaceName: pulumi.String(name),
VswitchId: defaultSwitch.ID(),
SecurityGroupIds: pulumi.StringArray{
defaultSecurityGroup.ID(),
},
})
if err != nil {
return err
}
var splat0 pulumi.StringArray
for _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {
splat0 = append(splat0, val0.ID())
}
var defaultInstance []*ecs.Instance
for index := 0; index < 14; index++ {
key0 := index
_ := index
__res, err := ecs.NewInstance(ctx, fmt.Sprintf("default-%v", key0), &ecs.InstanceArgs{
ImageId: pulumi.String(defaultGetImages.Images[0].Id),
InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
InstanceName: pulumi.String(name),
SecurityGroups: splat0,
InternetChargeType: pulumi.String("PayByTraffic"),
InternetMaxBandwidthOut: pulumi.Int(10),
AvailabilityZone: pulumi.String(_default.Zones[0].Id),
InstanceChargeType: pulumi.String("PostPaid"),
SystemDiskCategory: pulumi.String("cloud_efficiency"),
VswitchId: defaultSwitch.ID(),
})
if err != nil {
return err
}
defaultInstance = append(defaultInstance, __res)
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform-example";
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
// Declare the data source
var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
{
AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
InstanceTypeFamily = "ecs.sn1ne",
});
var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
{
NameRegex = "^ubuntu_[0-9]+_[0-9]+_x64*",
MostRecent = true,
Owners = "system",
});
var defaultNetwork = new AliCloud.Vpc.Network("default", new()
{
VpcName = name,
CidrBlock = "192.168.0.0/16",
});
var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
{
VswitchName = name,
VpcId = defaultNetwork.Id,
CidrBlock = "192.168.192.0/24",
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
});
var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("default", new()
{
Name = name,
VpcId = defaultNetwork.Id,
});
var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface("default", new()
{
NetworkInterfaceName = name,
VswitchId = defaultSwitch.Id,
SecurityGroupIds = new[]
{
defaultSecurityGroup.Id,
},
});
var defaultInstance = new List<AliCloud.Ecs.Instance>();
for (var rangeIndex = 0; rangeIndex < 14; rangeIndex++)
{
var range = new { Value = rangeIndex };
defaultInstance.Add(new AliCloud.Ecs.Instance($"default-{range.Value}", new()
{
ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
InstanceName = name,
SecurityGroups = new[]
{
defaultSecurityGroup,
}.Select(__item => __item.Id).ToList(),
InternetChargeType = "PayByTraffic",
InternetMaxBandwidthOut = 10,
AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
InstanceChargeType = "PostPaid",
SystemDiskCategory = "cloud_efficiency",
VswitchId = defaultSwitch.Id,
}));
}
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.EcsNetworkInterface;
import com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.codegen.internal.KeyedValue;
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 config = ctx.config();
final var name = config.get("name").orElse("terraform-example");
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
// Declare the data source
final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(default_.zones()[0].id())
.instanceTypeFamily("ecs.sn1ne")
.build());
final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
.mostRecent(true)
.owners("system")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("192.168.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.vpcId(defaultNetwork.id())
.cidrBlock("192.168.192.0/24")
.zoneId(default_.zones()[0].id())
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.name(name)
.vpcId(defaultNetwork.id())
.build());
var defaultEcsNetworkInterface = new EcsNetworkInterface("defaultEcsNetworkInterface", EcsNetworkInterfaceArgs.builder()
.networkInterfaceName(name)
.vswitchId(defaultSwitch.id())
.securityGroupIds(defaultSecurityGroup.id())
.build());
for (var i = 0; i < 14; i++) {
new Instance("defaultInstance-" + i, InstanceArgs.builder()
.imageId(defaultGetImages.images()[0].id())
.instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())
.instanceName(name)
.securityGroups(defaultSecurityGroup.stream().map(element -> element.id()).collect(toList()))
.internetChargeType("PayByTraffic")
.internetMaxBandwidthOut(10)
.availabilityZone(default_.zones()[0].id())
.instanceChargeType("PostPaid")
.systemDiskCategory("cloud_efficiency")
.vswitchId(defaultSwitch.id())
.build());
}
}
}
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(availability_zone: Optional[str] = None,
cpu_core_count: Optional[int] = None,
eni_amount: Optional[int] = None,
gpu_amount: Optional[int] = None,
gpu_spec: Optional[str] = None,
image_id: Optional[str] = None,
instance_charge_type: Optional[str] = None,
instance_type: Optional[str] = None,
instance_type_family: Optional[str] = None,
is_outdated: Optional[bool] = None,
kubernetes_node_role: Optional[str] = None,
memory_size: Optional[float] = None,
minimum_eni_ipv6_address_quantity: Optional[int] = None,
minimum_eni_private_ip_address_quantity: Optional[int] = None,
network_type: Optional[str] = None,
output_file: Optional[str] = None,
sorted_by: Optional[str] = None,
spot_strategy: Optional[str] = None,
system_disk_category: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetInstanceTypesResult
def get_instance_types_output(availability_zone: Optional[pulumi.Input[str]] = None,
cpu_core_count: Optional[pulumi.Input[int]] = None,
eni_amount: Optional[pulumi.Input[int]] = None,
gpu_amount: Optional[pulumi.Input[int]] = None,
gpu_spec: Optional[pulumi.Input[str]] = None,
image_id: Optional[pulumi.Input[str]] = None,
instance_charge_type: Optional[pulumi.Input[str]] = None,
instance_type: Optional[pulumi.Input[str]] = None,
instance_type_family: Optional[pulumi.Input[str]] = None,
is_outdated: Optional[pulumi.Input[bool]] = None,
kubernetes_node_role: Optional[pulumi.Input[str]] = None,
memory_size: Optional[pulumi.Input[float]] = None,
minimum_eni_ipv6_address_quantity: Optional[pulumi.Input[int]] = None,
minimum_eni_private_ip_address_quantity: Optional[pulumi.Input[int]] = None,
network_type: Optional[pulumi.Input[str]] = None,
output_file: Optional[pulumi.Input[str]] = None,
sorted_by: Optional[pulumi.Input[str]] = None,
spot_strategy: Optional[pulumi.Input[str]] = None,
system_disk_category: 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: alicloud:ecs/getInstanceTypes:getInstanceTypes
arguments:
# arguments dictionaryThe following arguments are supported:
- Availability
Zone string - The zone where instance types are supported.
- Cpu
Core intCount - Filter the results to a specific number of cpu cores.
- Eni
Amount int - Filter the result whose network interface number is no more than
eni_amount. - Gpu
Amount int - The GPU amount of an instance type.
- Gpu
Spec string - The GPU spec of an instance type.
- Image
Id string - The ID of the image.
- Instance
Charge stringType - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - Instance
Type string - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- Instance
Type stringFamily - 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 stringRole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - Memory
Size double - Filter the results to a specific memory size in GB.
- Minimum
Eni intIpv6Address Quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- Minimum
Eni intPrivate Ip Address Quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- Network
Type string - Filter the results by network type. Valid values:
ClassicandVpc. - Output
File string - File name where to save data source results (after running
pulumi preview). - Sorted
By string - Sort mode, valid values:
CPU,Memory,Price. - Spot
Strategy string - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - System
Disk stringCategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
- Availability
Zone string - The zone where instance types are supported.
- Cpu
Core intCount - Filter the results to a specific number of cpu cores.
- Eni
Amount int - Filter the result whose network interface number is no more than
eni_amount. - Gpu
Amount int - The GPU amount of an instance type.
- Gpu
Spec string - The GPU spec of an instance type.
- Image
Id string - The ID of the image.
- Instance
Charge stringType - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - Instance
Type string - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- Instance
Type stringFamily - 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 stringRole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - Memory
Size float64 - Filter the results to a specific memory size in GB.
- Minimum
Eni intIpv6Address Quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- Minimum
Eni intPrivate Ip Address Quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- Network
Type string - Filter the results by network type. Valid values:
ClassicandVpc. - Output
File string - File name where to save data source results (after running
pulumi preview). - Sorted
By string - Sort mode, valid values:
CPU,Memory,Price. - Spot
Strategy string - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - System
Disk stringCategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
- availability
Zone String - The zone where instance types are supported.
- cpu
Core IntegerCount - Filter the results to a specific number of cpu cores.
- eni
Amount Integer - Filter the result whose network interface number is no more than
eni_amount. - gpu
Amount Integer - The GPU amount of an instance type.
- gpu
Spec String - The GPU spec of an instance type.
- image
Id String - The ID of the image.
- instance
Charge StringType - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - instance
Type String - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- instance
Type StringFamily - Filter the results based on their family name. For example: 'ecs.n4'.
- is
Outdated Boolean - If true, outdated instance types are included in the results. Default to false.
- kubernetes
Node StringRole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - memory
Size Double - Filter the results to a specific memory size in GB.
- minimum
Eni IntegerIpv6Address Quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- minimum
Eni IntegerPrivate Ip Address Quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- network
Type String - Filter the results by network type. Valid values:
ClassicandVpc. - output
File String - File name where to save data source results (after running
pulumi preview). - sorted
By String - Sort mode, valid values:
CPU,Memory,Price. - spot
Strategy String - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - system
Disk StringCategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
- availability
Zone string - The zone where instance types are supported.
- cpu
Core numberCount - Filter the results to a specific number of cpu cores.
- eni
Amount number - Filter the result whose network interface number is no more than
eni_amount. - gpu
Amount number - The GPU amount of an instance type.
- gpu
Spec string - The GPU spec of an instance type.
- image
Id string - The ID of the image.
- instance
Charge stringType - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - instance
Type string - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- instance
Type stringFamily - Filter the results based on their family name. For example: 'ecs.n4'.
- is
Outdated boolean - If true, outdated instance types are included in the results. Default to false.
- kubernetes
Node stringRole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - memory
Size number - Filter the results to a specific memory size in GB.
- minimum
Eni numberIpv6Address Quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- minimum
Eni numberPrivate Ip Address Quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- network
Type string - Filter the results by network type. Valid values:
ClassicandVpc. - output
File string - File name where to save data source results (after running
pulumi preview). - sorted
By string - Sort mode, valid values:
CPU,Memory,Price. - spot
Strategy string - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - system
Disk stringCategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
- availability_
zone str - The zone where instance types are supported.
- cpu_
core_ intcount - Filter the results to a specific number of cpu cores.
- eni_
amount int - Filter the result whose network interface number is no more than
eni_amount. - gpu_
amount int - The GPU amount of an instance type.
- gpu_
spec str - The GPU spec of an instance type.
- image_
id str - The ID of the image.
- instance_
charge_ strtype - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - instance_
type str - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- instance_
type_ strfamily - 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_ strrole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - memory_
size float - Filter the results to a specific memory size in GB.
- minimum_
eni_ intipv6_ address_ quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- minimum_
eni_ intprivate_ ip_ address_ quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- network_
type str - Filter the results by network type. Valid values:
ClassicandVpc. - output_
file str - File name where to save data source results (after running
pulumi preview). - sorted_
by str - Sort mode, valid values:
CPU,Memory,Price. - spot_
strategy str - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - system_
disk_ strcategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
- availability
Zone String - The zone where instance types are supported.
- cpu
Core NumberCount - Filter the results to a specific number of cpu cores.
- eni
Amount Number - Filter the result whose network interface number is no more than
eni_amount. - gpu
Amount Number - The GPU amount of an instance type.
- gpu
Spec String - The GPU spec of an instance type.
- image
Id String - The ID of the image.
- instance
Charge StringType - Filter the results by charge type. Valid values:
PrePaidandPostPaid. Default toPostPaid. - instance
Type String - Instance specifications. For more information, see instance Specification Family, or you can call the describe instance types interface to get the latest specification table.
- instance
Type StringFamily - Filter the results based on their family name. For example: 'ecs.n4'.
- is
Outdated Boolean - If true, outdated instance types are included in the results. Default to false.
- kubernetes
Node StringRole - Filter the result which is used to create a kubernetes cluster
and managed kubernetes cluster. Optional Values:
MasterandWorker. - memory
Size Number - Filter the results to a specific memory size in GB.
- minimum
Eni NumberIpv6Address Quantity - The minimum number of IPv6 addresses per ENI. Note: If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried.
- minimum
Eni NumberPrivate Ip Address Quantity - The minimum expected IPv4 address upper limit of a single ENI when querying instance specifications. Note: If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried.
- network
Type String - Filter the results by network type. Valid values:
ClassicandVpc. - output
File String - File name where to save data source results (after running
pulumi preview). - sorted
By String - Sort mode, valid values:
CPU,Memory,Price. - spot
Strategy String - Filter the results by ECS spot type. Valid values:
NoSpot,SpotWithPriceLimitandSpotAsPriceGo. Default toNoSpot. - system
Disk StringCategory - Filter the results by system disk category. Valid values:
cloud,ephemeral_ssd,cloud_essd,cloud_efficiency,cloud_ssd,cloud_essd_entry,cloud_auto. NOTE: Its default valuecloud_efficiencyhas been removed from the version v1.150.0.
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.
- Instance
Types List<Pulumi.Ali Cloud. Ecs. Outputs. Get Instance Types Instance Type> - A list of image types. Each element contains the following attributes:
- Availability
Zone string - Cpu
Core intCount - Number of CPU cores.
- Eni
Amount int - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - Gpu
Amount int - Gpu
Spec string - Image
Id string - Instance
Charge stringType - Instance
Type string - Instance
Type stringFamily - Is
Outdated bool - Kubernetes
Node stringRole - Memory
Size double - Size of memory, measured in GB.
- Minimum
Eni intIpv6Address Quantity - Minimum
Eni intPrivate Ip Address Quantity - Network
Type string - Output
File string - Sorted
By string - Spot
Strategy string - System
Disk stringCategory
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- A list of instance type IDs.
- Instance
Types []GetInstance Types Instance Type - A list of image types. Each element contains the following attributes:
- Availability
Zone string - Cpu
Core intCount - Number of CPU cores.
- Eni
Amount int - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - Gpu
Amount int - Gpu
Spec string - Image
Id string - Instance
Charge stringType - Instance
Type string - Instance
Type stringFamily - Is
Outdated bool - Kubernetes
Node stringRole - Memory
Size float64 - Size of memory, measured in GB.
- Minimum
Eni intIpv6Address Quantity - Minimum
Eni intPrivate Ip Address Quantity - Network
Type string - Output
File string - Sorted
By string - Spot
Strategy string - System
Disk stringCategory
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of instance type IDs.
- instance
Types List<GetInstance Types Instance Type> - A list of image types. Each element contains the following attributes:
- availability
Zone String - cpu
Core IntegerCount - Number of CPU cores.
- eni
Amount Integer - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - gpu
Amount Integer - gpu
Spec String - image
Id String - instance
Charge StringType - instance
Type String - instance
Type StringFamily - is
Outdated Boolean - kubernetes
Node StringRole - memory
Size Double - Size of memory, measured in GB.
- minimum
Eni IntegerIpv6Address Quantity - minimum
Eni IntegerPrivate Ip Address Quantity - network
Type String - output
File String - sorted
By String - spot
Strategy String - system
Disk StringCategory
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- A list of instance type IDs.
- instance
Types GetInstance Types Instance Type[] - A list of image types. Each element contains the following attributes:
- availability
Zone string - cpu
Core numberCount - Number of CPU cores.
- eni
Amount number - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - gpu
Amount number - gpu
Spec string - image
Id string - instance
Charge stringType - instance
Type string - instance
Type stringFamily - is
Outdated boolean - kubernetes
Node stringRole - memory
Size number - Size of memory, measured in GB.
- minimum
Eni numberIpv6Address Quantity - minimum
Eni numberPrivate Ip Address Quantity - network
Type string - output
File string - sorted
By string - spot
Strategy string - system
Disk stringCategory
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- A list of instance type IDs.
- instance_
types Sequence[GetInstance Types Instance Type] - A list of image types. Each element contains the following attributes:
- availability_
zone str - cpu_
core_ intcount - Number of CPU cores.
- eni_
amount int - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - gpu_
amount int - gpu_
spec str - image_
id str - instance_
charge_ strtype - instance_
type str - instance_
type_ strfamily - is_
outdated bool - kubernetes_
node_ strrole - memory_
size float - Size of memory, measured in GB.
- minimum_
eni_ intipv6_ address_ quantity - minimum_
eni_ intprivate_ ip_ address_ quantity - network_
type str - output_
file str - sorted_
by str - spot_
strategy str - system_
disk_ strcategory
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of instance type IDs.
- instance
Types List<Property Map> - A list of image types. Each element contains the following attributes:
- availability
Zone String - cpu
Core NumberCount - Number of CPU cores.
- eni
Amount Number - (Deprecated since v1.239.0) The maximum number of ENIs per instance. It sames as
eni_quantity. - gpu
Amount Number - gpu
Spec String - image
Id String - instance
Charge StringType - instance
Type String - instance
Type StringFamily - is
Outdated Boolean - kubernetes
Node StringRole - memory
Size Number - Size of memory, measured in GB.
- minimum
Eni NumberIpv6Address Quantity - minimum
Eni NumberPrivate Ip Address Quantity - network
Type String - output
File String - sorted
By String - spot
Strategy String - system
Disk StringCategory
Supporting Types
GetInstanceTypesInstanceType
- Availability
Zones List<string> - List of availability zones that support the instance type.
- Burstable
Instance Pulumi.Ali Cloud. Ecs. Inputs. Get Instance Types Instance Type Burstable Instance - The burstable instance attribution.
- Cpu
Core intCount - Filter the results to a specific number of cpu cores.
- Eni
Amount int - Filter the result whose network interface number is no more than
eni_amount. - Eni
Ipv6Address intQuantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- Eni
Private intIp Address Quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- Eni
Quantity int - (Available since v1.239.0) The maximum number of ENIs per instance.
- Family string
- The instance type family.
- Gpu
Pulumi.
Ali Cloud. Ecs. Inputs. Get Instance Types Instance Type Gpu - The GPU attribution of an instance type:
- Id string
- ID of the instance type.
- Local
Storage Pulumi.Ali Cloud. Ecs. Inputs. Get Instance Types Instance Type Local Storage - Local storage of an instance type.
- Maximum
Queue intNumber Per Eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- Memory
Size double - Filter the results to a specific memory size in GB.
- Nvme
Support string - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- Price string
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - Primary
Eni intQueue Number - (Available since v1.239.0) The default number of queues per primary ENI.
- Secondary
Eni intQueue Number - (Available since v1.239.0) The default number of queues per secondary ENI.
- Total
Eni intQueue Quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
- Availability
Zones []string - List of availability zones that support the instance type.
- Burstable
Instance GetInstance Types Instance Type Burstable Instance - The burstable instance attribution.
- Cpu
Core intCount - Filter the results to a specific number of cpu cores.
- Eni
Amount int - Filter the result whose network interface number is no more than
eni_amount. - Eni
Ipv6Address intQuantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- Eni
Private intIp Address Quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- Eni
Quantity int - (Available since v1.239.0) The maximum number of ENIs per instance.
- Family string
- The instance type family.
- Gpu
Get
Instance Types Instance Type Gpu - The GPU attribution of an instance type:
- Id string
- ID of the instance type.
- Local
Storage GetInstance Types Instance Type Local Storage - Local storage of an instance type.
- Maximum
Queue intNumber Per Eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- Memory
Size float64 - Filter the results to a specific memory size in GB.
- Nvme
Support string - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- Price string
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - Primary
Eni intQueue Number - (Available since v1.239.0) The default number of queues per primary ENI.
- Secondary
Eni intQueue Number - (Available since v1.239.0) The default number of queues per secondary ENI.
- Total
Eni intQueue Quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
- availability
Zones List<String> - List of availability zones that support the instance type.
- burstable
Instance GetInstance Types Instance Type Burstable Instance - The burstable instance attribution.
- cpu
Core IntegerCount - Filter the results to a specific number of cpu cores.
- eni
Amount Integer - Filter the result whose network interface number is no more than
eni_amount. - eni
Ipv6Address IntegerQuantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- eni
Private IntegerIp Address Quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- eni
Quantity Integer - (Available since v1.239.0) The maximum number of ENIs per instance.
- family String
- The instance type family.
- gpu
Get
Instance Types Instance Type Gpu - The GPU attribution of an instance type:
- id String
- ID of the instance type.
- local
Storage GetInstance Types Instance Type Local Storage - Local storage of an instance type.
- maximum
Queue IntegerNumber Per Eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- memory
Size Double - Filter the results to a specific memory size in GB.
- nvme
Support String - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- price String
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - primary
Eni IntegerQueue Number - (Available since v1.239.0) The default number of queues per primary ENI.
- secondary
Eni IntegerQueue Number - (Available since v1.239.0) The default number of queues per secondary ENI.
- total
Eni IntegerQueue Quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
- availability
Zones string[] - List of availability zones that support the instance type.
- burstable
Instance GetInstance Types Instance Type Burstable Instance - The burstable instance attribution.
- cpu
Core numberCount - Filter the results to a specific number of cpu cores.
- eni
Amount number - Filter the result whose network interface number is no more than
eni_amount. - eni
Ipv6Address numberQuantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- eni
Private numberIp Address Quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- eni
Quantity number - (Available since v1.239.0) The maximum number of ENIs per instance.
- family string
- The instance type family.
- gpu
Get
Instance Types Instance Type Gpu - The GPU attribution of an instance type:
- id string
- ID of the instance type.
- local
Storage GetInstance Types Instance Type Local Storage - Local storage of an instance type.
- maximum
Queue numberNumber Per Eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- memory
Size number - Filter the results to a specific memory size in GB.
- nvme
Support string - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- price string
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - primary
Eni numberQueue Number - (Available since v1.239.0) The default number of queues per primary ENI.
- secondary
Eni numberQueue Number - (Available since v1.239.0) The default number of queues per secondary ENI.
- total
Eni numberQueue Quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
- availability_
zones Sequence[str] - List of availability zones that support the instance type.
- burstable_
instance GetInstance Types Instance Type Burstable Instance - The burstable instance attribution.
- cpu_
core_ intcount - Filter the results to a specific number of cpu cores.
- eni_
amount int - Filter the result whose network interface number is no more than
eni_amount. - eni_
ipv6_ intaddress_ quantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- eni_
private_ intip_ address_ quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- eni_
quantity int - (Available since v1.239.0) The maximum number of ENIs per instance.
- family str
- The instance type family.
- gpu
Get
Instance Types Instance Type Gpu - The GPU attribution of an instance type:
- id str
- ID of the instance type.
- local_
storage GetInstance Types Instance Type Local Storage - Local storage of an instance type.
- maximum_
queue_ intnumber_ per_ eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- memory_
size float - Filter the results to a specific memory size in GB.
- nvme_
support str - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- price str
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - primary_
eni_ intqueue_ number - (Available since v1.239.0) The default number of queues per primary ENI.
- secondary_
eni_ intqueue_ number - (Available since v1.239.0) The default number of queues per secondary ENI.
- total_
eni_ intqueue_ quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
- availability
Zones List<String> - List of availability zones that support the instance type.
- burstable
Instance Property Map - The burstable instance attribution.
- cpu
Core NumberCount - Filter the results to a specific number of cpu cores.
- eni
Amount Number - Filter the result whose network interface number is no more than
eni_amount. - eni
Ipv6Address NumberQuantity - (Available since v1.239.0) The maximum number of IPv6 addresses per ENI.
- eni
Private NumberIp Address Quantity - (Available since v1.239.0) The maximum number of IPv4 addresses per ENI.
- eni
Quantity Number - (Available since v1.239.0) The maximum number of ENIs per instance.
- family String
- The instance type family.
- gpu Property Map
- The GPU attribution of an instance type:
- id String
- ID of the instance type.
- local
Storage Property Map - Local storage of an instance type.
- maximum
Queue NumberNumber Per Eni - (Available since v1.239.0) The maximum number of queues per ENI, including primary and secondary ENIs.
- memory
Size Number - Filter the results to a specific memory size in GB.
- nvme
Support String - Indicates whether the cloud disk can be attached by using the nonvolatile memory express (NVMe) protocol.
- price String
- The price of instance type. Note:
pricetakes effect only ifsorted_byis set toPrice. - primary
Eni NumberQueue Number - (Available since v1.239.0) The default number of queues per primary ENI.
- secondary
Eni NumberQueue Number - (Available since v1.239.0) The default number of queues per secondary ENI.
- total
Eni NumberQueue Quantity - (Available since v1.239.0) The maximum number of queues on ENIs that the instance type supports.
GetInstanceTypesInstanceTypeBurstableInstance
- Baseline
Credit string - The compute performance benchmark CPU credit of a burstable instance.
- Initial
Credit string - The initial CPU credit of a burstable instance.
- Baseline
Credit string - The compute performance benchmark CPU credit of a burstable instance.
- Initial
Credit string - The initial CPU credit of a burstable instance.
- baseline
Credit String - The compute performance benchmark CPU credit of a burstable instance.
- initial
Credit String - The initial CPU credit of a burstable instance.
- baseline
Credit string - The compute performance benchmark CPU credit of a burstable instance.
- initial
Credit string - The initial CPU credit of a burstable instance.
- baseline_
credit str - The compute performance benchmark CPU credit of a burstable instance.
- initial_
credit str - The initial CPU credit of a burstable instance.
- baseline
Credit String - The compute performance benchmark CPU credit of a burstable instance.
- initial
Credit String - The initial CPU credit of a burstable instance.
GetInstanceTypesInstanceTypeGpu
GetInstanceTypesInstanceTypeLocalStorage
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
