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_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:
- 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
,SpotWithPriceLimit
andSpotAsPriceGo
. 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_efficiency
has 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
,SpotWithPriceLimit
andSpotAsPriceGo
. 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_efficiency
has 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
,SpotWithPriceLimit
andSpotAsPriceGo
. 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_efficiency
has 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
,SpotWithPriceLimit
andSpotAsPriceGo
. 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_efficiency
has 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
andSpotAsPriceGo
. 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_efficiency
has 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:
PrePaid
andPostPaid
. 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:
Master
andWorker
. - 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:
Classic
andVpc
. - 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
,SpotWithPriceLimit
andSpotAsPriceGo
. 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_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.
- 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
alicloud
Terraform Provider.