DATASOURCE::ECS::RecommendInstanceTypes类型用于查询ECS实例规格。

语法

{
  "Type": "DATASOURCE::ECS::RecommendInstanceTypes",
  "Properties": {
    "ZoneMatchMode": String,
    "IoOptimized": String,
    "ZoneId": String,
    "InstanceChargeType": String,
    "Memory": Number,
    "Scene": String,
    "SystemDiskCategory": String,
    "Cores": Integer,
    "PriorityStrategy": String,
    "InstanceFamilyLevel": String,
    "MaxPrice": Number,
    "InstanceType": String,
    "InstanceTypeFamilies": List,
    "SpotStrategy": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ZoneMatchMode String 是否仅推荐指定可用区中的实例规格。 取值:
  • Strict:仅推荐指定可用区中的实例规格。
  • Include:推荐同地域下其他可用区中的实例规格。
说明 当指定ZoneId时,ZoneMatchMode默认值为Strict。
IoOptimized String 是否为I/O优化实例。 取值:
  • optimized(默认值):I/O优化实例。
  • none:非I/O优化实例。
说明 如果您设置的是已停售实例规格,默认值为none。
ZoneId String 可用区ID。 您可以调用DescribeZones接口查询可用区列表。
InstanceChargeType String ECS实例的计费方式。 取值:
  • PrePaid:包年包月。
  • PostPaid(默认值):按量付费。
Memory Number ECS实例的内存大小。 单位:GiB。

同时指定Cores参数和Memory参数时,会匹配所有满足vCPU核数和内存大小的实例规格。

Scene String 实例规格的应用场景。 取值:
  • UPGRADE:升级或降低实例规格。
  • CREATE(默认值):创建实例。
SystemDiskCategory String 系统盘类型。 取值:
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • cloud_essd:ESSD云盘。
  • cloud:普通云盘。
说明 非I/O优化实例的默认值为cloud,I/O优化实例的默认值为cloud_efficiency。
Cores Integer ECS实例的vCPU核数。 同时指定Cores参数和Memory参数时,会匹配所有满足vCPU核数和内存大小的实例规格。
PriorityStrategy String 优先推荐策略。 取值:
  • InventoryFirst(默认值):库存优先。
  • PriceFirst:价格优先,按每小时vCPU单价从低到高排序。
  • NewProductFirst:最新产品优先。
InstanceFamilyLevel String 实例规格族级别。 取值:
  • EntryLevel:入门级。
  • EnterpriseLevel:企业级。
  • CreditEntryLevel:积分入门级。更多信息,请参见突发性能实例概述
MaxPrice Number 按量付费实例或者抢占式实例可接受的每小时最高价格。 当SpotStrategy取值为SpotWithPriceLimit时,支持设置抢占式实例的最高单价。
InstanceType String ECS实例类型。 更多信息,请参见实例规格族DescribeInstanceTypes
说明 InstanceType不能与Cores或者Memory同时指定。
InstanceTypeFamilies List 实例规格族列表。 您可以调用DescribeInstanceTypeFamilies查询实例规格族列表。
SpotStrategy String 抢占式实例的竞价策略。 取值:
  • NoSpot(默认值):按量付费实例。
  • SpotWithPriceLimit:设置上限价格的抢占式实例。
  • SpotAsPriceGo:系统自动出价,最高按量付费价格。
说明 当InstanceChargerType取值为PostPaid时该参数有效。

返回数据(Fn::GetAtt)

  • InstanceTypeIds:实例规格列表。
  • InstanceTypes:实例类型列表。
属性名称 类型 描述 约束
InstanceTypeIds List 实例规格列表。
InstanceTypes List 实例类型列表。
CommodityCode String 实例规格的商品编码。
ZoneId String 实例规格所在的可用区ID。
Priority Integer 排序优先级。
NetworkType String ECS实例的网络类型。 取值:
  • classic:经典网络。
  • vpc:专有网络VPC。
Scene String 实例规格的应用场景。
SpotStrategy String 抢占式实例的竞价策略。
InstanceChargeType String ECS实例的计费方式。
InstanceType String ECS实例类型。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Cores": {
      "Type": "String",
      "Description": "The number of vCPUs of the instance.\nNote If the Cores and Memory parameters are both specified, all instance types that offer the vCPUs and memory size specified by the parameters are matched.",
      "Default": 1
    },
    "Memory": {
      "Type": "String",
      "Description": "The memory size of the instance. Unit: GiB.\nNote If the Cores and Memory parameters are both specified, all instance types that offer the vCPUs and memory size specified by the parameters are matched.",
      "Default": 1
    }
  },
  "Resources": {
    "RecommendInstanceTypes": {
      "Type": "DATASOURCE::ECS::RecommendInstanceTypes",
      "Properties": {
        "Cores": 1,
        "Memory": 1
      }
    }
  },
  "Outputs": {
    "RecommendInstanceTypes": {
      "Value": {
        "Ref": "RecommendInstanceTypes"
      }
    }
  }
}