Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi
alicloud.ecs.getInstanceTypes
Explore with Pulumi AI
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_outdatedto true.
NOTE: If one instance type is sold out, it will not be exported.
NOTE: Available since v1.0.0.
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.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
                .instanceType(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.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());
        
}
    }
}
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)
// Output-based functions aren't available in Java yet
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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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 - The maximum number of network interfaces that an instance type can be attached to.
 - 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:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - 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:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU 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:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - Price string
 - The price of instance type.
 
- Availability
Zones []string - List of availability zones that support the instance type.
 - Burstable
Instance GetInstance Types Instance Type Burstable Instance  - The burstable instance attribution:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - Family string
 - The instance type family.
 - Gpu
Get
Instance Types Instance Type Gpu  - The GPU attribution of an instance type:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU 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:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - Price string
 - The price of instance type.
 
- 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:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - family String
 - The instance type family.
 - gpu
Get
Instance Types Instance Type Gpu  - The GPU attribution of an instance type:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU 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:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - price String
 - The price of instance type.
 
- availability
Zones string[] - List of availability zones that support the instance type.
 - burstable
Instance GetInstance Types Instance Type Burstable Instance  - The burstable instance attribution:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - family string
 - The instance type family.
 - gpu
Get
Instance Types Instance Type Gpu  - The GPU attribution of an instance type:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU 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:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - price string
 - The price of instance type.
 
- 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:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - family str
 - The instance type family.
 - gpu
Get
Instance Types Instance Type Gpu  - The GPU attribution of an instance type:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU 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:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - price str
 - The price of instance type.
 
- availability
Zones List<String> - List of availability zones that support the instance type.
 - burstable
Instance Property Map - The burstable instance attribution:
- initial_credit: The initial CPU credit of a burstable instance.
 - baseline_credit: The compute performance benchmark CPU credit of a burstable instance.
 
 - 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. - family String
 - The instance type family.
 - gpu Property Map
 - The GPU attribution of an instance type:
- amount: The amount of GPU of an instance type.
 - category: The category of GPU of an instance type.
 
 - id String
 - ID of the instance type.
 - local
Storage Property Map - Local storage of an instance type:
- capacity: The capacity of a local storage in GB.
 - amount: The number of local storage devices that an instance has been attached to.
 - category: The category of local storage that an instance has been attached to.
 
 - 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. Valid values:
- required: The cloud disk can be attached by using the NVMe protocol.
 - unsupported: The cloud disk cannot be attached by using the NVMe protocol.
 
 - price String
 - The price of instance type.
 
GetInstanceTypesInstanceTypeBurstableInstance      
- Baseline
Credit string - Initial
Credit string 
- Baseline
Credit string - Initial
Credit string 
- baseline
Credit String - initial
Credit String 
- baseline
Credit string - initial
Credit string 
- baseline_
credit str - initial_
credit str 
- baseline
Credit String - initial
Credit String 
GetInstanceTypesInstanceTypeGpu     
GetInstanceTypesInstanceTypeLocalStorage      
Package Details
- Repository
 - Alibaba Cloud pulumi/pulumi-alicloud
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
alicloudTerraform Provider.