1. Packages
  2. Alibaba Cloud
  3. API Docs
  4. ecs
  5. getInstanceTypes
Alibaba Cloud v3.59.0 published on Friday, Jul 12, 2024 by Pulumi

alicloud.ecs.getInstanceTypes

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.59.0 published on Friday, Jul 12, 2024 by Pulumi

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

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

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

    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 dictionary

    The following arguments are supported:

    AvailabilityZone string
    The zone where instance types are supported.
    CpuCoreCount int
    Filter the results to a specific number of cpu cores.
    EniAmount int
    Filter the result whose network interface number is no more than eni_amount.
    GpuAmount int
    The GPU amount of an instance type.
    GpuSpec string
    The GPU spec of an instance type.
    ImageId string
    The ID of the image.
    InstanceChargeType string
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    InstanceType 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.
    InstanceTypeFamily string
    Filter the results based on their family name. For example: 'ecs.n4'.
    IsOutdated bool
    If true, outdated instance types are included in the results. Default to false.
    KubernetesNodeRole string
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    MemorySize double
    Filter the results to a specific memory size in GB.
    MinimumEniIpv6AddressQuantity int
    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.
    MinimumEniPrivateIpAddressQuantity int
    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.
    NetworkType string
    Filter the results by network type. Valid values: Classic and Vpc.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    SortedBy string
    Sort mode, valid values: CPU, Memory, Price.
    SpotStrategy string
    Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    SystemDiskCategory string
    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 value cloud_efficiency has been removed from the version v1.150.0.
    AvailabilityZone string
    The zone where instance types are supported.
    CpuCoreCount int
    Filter the results to a specific number of cpu cores.
    EniAmount int
    Filter the result whose network interface number is no more than eni_amount.
    GpuAmount int
    The GPU amount of an instance type.
    GpuSpec string
    The GPU spec of an instance type.
    ImageId string
    The ID of the image.
    InstanceChargeType string
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    InstanceType 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.
    InstanceTypeFamily string
    Filter the results based on their family name. For example: 'ecs.n4'.
    IsOutdated bool
    If true, outdated instance types are included in the results. Default to false.
    KubernetesNodeRole string
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    MemorySize float64
    Filter the results to a specific memory size in GB.
    MinimumEniIpv6AddressQuantity int
    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.
    MinimumEniPrivateIpAddressQuantity int
    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.
    NetworkType string
    Filter the results by network type. Valid values: Classic and Vpc.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    SortedBy string
    Sort mode, valid values: CPU, Memory, Price.
    SpotStrategy string
    Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    SystemDiskCategory string
    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 value cloud_efficiency has been removed from the version v1.150.0.
    availabilityZone String
    The zone where instance types are supported.
    cpuCoreCount Integer
    Filter the results to a specific number of cpu cores.
    eniAmount Integer
    Filter the result whose network interface number is no more than eni_amount.
    gpuAmount Integer
    The GPU amount of an instance type.
    gpuSpec String
    The GPU spec of an instance type.
    imageId String
    The ID of the image.
    instanceChargeType String
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    instanceType 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.
    instanceTypeFamily String
    Filter the results based on their family name. For example: 'ecs.n4'.
    isOutdated Boolean
    If true, outdated instance types are included in the results. Default to false.
    kubernetesNodeRole String
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    memorySize Double
    Filter the results to a specific memory size in GB.
    minimumEniIpv6AddressQuantity Integer
    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.
    minimumEniPrivateIpAddressQuantity Integer
    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.
    networkType String
    Filter the results by network type. Valid values: Classic and Vpc.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    sortedBy String
    Sort mode, valid values: CPU, Memory, Price.
    spotStrategy String
    Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    systemDiskCategory String
    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 value cloud_efficiency has been removed from the version v1.150.0.
    availabilityZone string
    The zone where instance types are supported.
    cpuCoreCount number
    Filter the results to a specific number of cpu cores.
    eniAmount number
    Filter the result whose network interface number is no more than eni_amount.
    gpuAmount number
    The GPU amount of an instance type.
    gpuSpec string
    The GPU spec of an instance type.
    imageId string
    The ID of the image.
    instanceChargeType string
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    instanceType 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.
    instanceTypeFamily string
    Filter the results based on their family name. For example: 'ecs.n4'.
    isOutdated boolean
    If true, outdated instance types are included in the results. Default to false.
    kubernetesNodeRole string
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    memorySize number
    Filter the results to a specific memory size in GB.
    minimumEniIpv6AddressQuantity number
    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.
    minimumEniPrivateIpAddressQuantity number
    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.
    networkType string
    Filter the results by network type. Valid values: Classic and Vpc.
    outputFile string
    File name where to save data source results (after running pulumi preview).
    sortedBy string
    Sort mode, valid values: CPU, Memory, Price.
    spotStrategy string
    Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    systemDiskCategory string
    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 value cloud_efficiency has been removed from the version v1.150.0.
    availability_zone str
    The zone where instance types are supported.
    cpu_core_count int
    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_type str
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    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_family str
    Filter the results based on their family name. For example: 'ecs.n4'.
    is_outdated bool
    If true, outdated instance types are included in the results. Default to false.
    kubernetes_node_role str
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    memory_size float
    Filter the results to a specific memory size in GB.
    minimum_eni_ipv6_address_quantity int
    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_private_ip_address_quantity int
    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: Classic and Vpc.
    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, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    system_disk_category str
    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 value cloud_efficiency has been removed from the version v1.150.0.
    availabilityZone String
    The zone where instance types are supported.
    cpuCoreCount Number
    Filter the results to a specific number of cpu cores.
    eniAmount Number
    Filter the result whose network interface number is no more than eni_amount.
    gpuAmount Number
    The GPU amount of an instance type.
    gpuSpec String
    The GPU spec of an instance type.
    imageId String
    The ID of the image.
    instanceChargeType String
    Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.
    instanceType 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.
    instanceTypeFamily String
    Filter the results based on their family name. For example: 'ecs.n4'.
    isOutdated Boolean
    If true, outdated instance types are included in the results. Default to false.
    kubernetesNodeRole String
    Filter the result which is used to create a kubernetes cluster and managed kubernetes cluster. Optional Values: Master and Worker.
    memorySize Number
    Filter the results to a specific memory size in GB.
    minimumEniIpv6AddressQuantity Number
    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.
    minimumEniPrivateIpAddressQuantity Number
    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.
    networkType String
    Filter the results by network type. Valid values: Classic and Vpc.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    sortedBy String
    Sort mode, valid values: CPU, Memory, Price.
    spotStrategy String
    Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.
    systemDiskCategory String
    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 value cloud_efficiency has 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.
    InstanceTypes List<Pulumi.AliCloud.Ecs.Outputs.GetInstanceTypesInstanceType>
    A list of image types. Each element contains the following attributes:
    AvailabilityZone string
    CpuCoreCount int
    Number of CPU cores.
    EniAmount int
    The maximum number of network interfaces that an instance type can be attached to.
    GpuAmount int
    GpuSpec string
    ImageId string
    InstanceChargeType string
    InstanceType string
    InstanceTypeFamily string
    IsOutdated bool
    KubernetesNodeRole string
    MemorySize double
    Size of memory, measured in GB.
    MinimumEniIpv6AddressQuantity int
    MinimumEniPrivateIpAddressQuantity int
    NetworkType string
    OutputFile string
    SortedBy string
    SpotStrategy string
    SystemDiskCategory string
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    A list of instance type IDs.
    InstanceTypes []GetInstanceTypesInstanceType
    A list of image types. Each element contains the following attributes:
    AvailabilityZone string
    CpuCoreCount int
    Number of CPU cores.
    EniAmount int
    The maximum number of network interfaces that an instance type can be attached to.
    GpuAmount int
    GpuSpec string
    ImageId string
    InstanceChargeType string
    InstanceType string
    InstanceTypeFamily string
    IsOutdated bool
    KubernetesNodeRole string
    MemorySize float64
    Size of memory, measured in GB.
    MinimumEniIpv6AddressQuantity int
    MinimumEniPrivateIpAddressQuantity int
    NetworkType string
    OutputFile string
    SortedBy string
    SpotStrategy string
    SystemDiskCategory string
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    A list of instance type IDs.
    instanceTypes List<GetInstanceTypesInstanceType>
    A list of image types. Each element contains the following attributes:
    availabilityZone String
    cpuCoreCount Integer
    Number of CPU cores.
    eniAmount Integer
    The maximum number of network interfaces that an instance type can be attached to.
    gpuAmount Integer
    gpuSpec String
    imageId String
    instanceChargeType String
    instanceType String
    instanceTypeFamily String
    isOutdated Boolean
    kubernetesNodeRole String
    memorySize Double
    Size of memory, measured in GB.
    minimumEniIpv6AddressQuantity Integer
    minimumEniPrivateIpAddressQuantity Integer
    networkType String
    outputFile String
    sortedBy String
    spotStrategy String
    systemDiskCategory String
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    A list of instance type IDs.
    instanceTypes GetInstanceTypesInstanceType[]
    A list of image types. Each element contains the following attributes:
    availabilityZone string
    cpuCoreCount number
    Number of CPU cores.
    eniAmount number
    The maximum number of network interfaces that an instance type can be attached to.
    gpuAmount number
    gpuSpec string
    imageId string
    instanceChargeType string
    instanceType string
    instanceTypeFamily string
    isOutdated boolean
    kubernetesNodeRole string
    memorySize number
    Size of memory, measured in GB.
    minimumEniIpv6AddressQuantity number
    minimumEniPrivateIpAddressQuantity number
    networkType string
    outputFile string
    sortedBy string
    spotStrategy string
    systemDiskCategory string
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    A list of instance type IDs.
    instance_types Sequence[GetInstanceTypesInstanceType]
    A list of image types. Each element contains the following attributes:
    availability_zone str
    cpu_core_count int
    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_type str
    instance_type str
    instance_type_family str
    is_outdated bool
    kubernetes_node_role str
    memory_size float
    Size of memory, measured in GB.
    minimum_eni_ipv6_address_quantity int
    minimum_eni_private_ip_address_quantity int
    network_type str
    output_file str
    sorted_by str
    spot_strategy str
    system_disk_category str
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    A list of instance type IDs.
    instanceTypes List<Property Map>
    A list of image types. Each element contains the following attributes:
    availabilityZone String
    cpuCoreCount Number
    Number of CPU cores.
    eniAmount Number
    The maximum number of network interfaces that an instance type can be attached to.
    gpuAmount Number
    gpuSpec String
    imageId String
    instanceChargeType String
    instanceType String
    instanceTypeFamily String
    isOutdated Boolean
    kubernetesNodeRole String
    memorySize Number
    Size of memory, measured in GB.
    minimumEniIpv6AddressQuantity Number
    minimumEniPrivateIpAddressQuantity Number
    networkType String
    outputFile String
    sortedBy String
    spotStrategy String
    systemDiskCategory String

    Supporting Types

    GetInstanceTypesInstanceType

    AvailabilityZones List<string>
    List of availability zones that support the instance type.
    BurstableInstance Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeBurstableInstance
    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.
    CpuCoreCount int
    Filter the results to a specific number of cpu cores.
    EniAmount int
    Filter the result whose network interface number is no more than eni_amount.
    Family string
    The instance type family.
    Gpu Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeGpu
    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.
    LocalStorage Pulumi.AliCloud.Ecs.Inputs.GetInstanceTypesInstanceTypeLocalStorage
    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.
    MemorySize double
    Filter the results to a specific memory size in GB.
    NvmeSupport 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.
    AvailabilityZones []string
    List of availability zones that support the instance type.
    BurstableInstance GetInstanceTypesInstanceTypeBurstableInstance
    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.
    CpuCoreCount int
    Filter the results to a specific number of cpu cores.
    EniAmount int
    Filter the result whose network interface number is no more than eni_amount.
    Family string
    The instance type family.
    Gpu GetInstanceTypesInstanceTypeGpu
    The GPU attribution of an instance type:

    • 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.
    LocalStorage GetInstanceTypesInstanceTypeLocalStorage
    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.
    MemorySize float64
    Filter the results to a specific memory size in GB.
    NvmeSupport 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.
    availabilityZones List<String>
    List of availability zones that support the instance type.
    burstableInstance GetInstanceTypesInstanceTypeBurstableInstance
    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.
    cpuCoreCount Integer
    Filter the results to a specific number of cpu cores.
    eniAmount Integer
    Filter the result whose network interface number is no more than eni_amount.
    family String
    The instance type family.
    gpu GetInstanceTypesInstanceTypeGpu
    The GPU attribution of an instance type:

    • 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.
    localStorage GetInstanceTypesInstanceTypeLocalStorage
    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.
    memorySize Double
    Filter the results to a specific memory size in GB.
    nvmeSupport 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.
    availabilityZones string[]
    List of availability zones that support the instance type.
    burstableInstance GetInstanceTypesInstanceTypeBurstableInstance
    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.
    cpuCoreCount number
    Filter the results to a specific number of cpu cores.
    eniAmount number
    Filter the result whose network interface number is no more than eni_amount.
    family string
    The instance type family.
    gpu GetInstanceTypesInstanceTypeGpu
    The GPU attribution of an instance type:

    • 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.
    localStorage GetInstanceTypesInstanceTypeLocalStorage
    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.
    memorySize number
    Filter the results to a specific memory size in GB.
    nvmeSupport 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 GetInstanceTypesInstanceTypeBurstableInstance
    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_count int
    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 GetInstanceTypesInstanceTypeGpu
    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 GetInstanceTypesInstanceTypeLocalStorage
    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.
    availabilityZones List<String>
    List of availability zones that support the instance type.
    burstableInstance 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.
    cpuCoreCount Number
    Filter the results to a specific number of cpu cores.
    eniAmount Number
    Filter the result whose network interface number is no more than eni_amount.
    family String
    The instance type family.
    gpu 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.
    localStorage 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.
    memorySize Number
    Filter the results to a specific memory size in GB.
    nvmeSupport 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

    GetInstanceTypesInstanceTypeGpu

    Amount string
    Category string
    Amount string
    Category string
    amount String
    category String
    amount string
    category string
    amount String
    category String

    GetInstanceTypesInstanceTypeLocalStorage

    Amount string
    Capacity string
    Category string
    Amount string
    Capacity string
    Category string
    amount String
    capacity String
    category String
    amount string
    capacity string
    category string
    amount String
    capacity String
    category String

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.59.0 published on Friday, Jul 12, 2024 by Pulumi