Skip to content

RecommendInstanceTypes

This class encapsulates and extends the ROS resource type DATASOURCE::ECS::RecommendInstanceTypes, which is used to query the recommended Elastic Compute Service (ECS) instance types.

Initializers

import com.aliyun.ros.cdk.ecs.datasource.RecommendInstanceTypes;
RecommendInstanceTypes.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
//  .cores(java.lang.Number)
//  .cores(IResolvable)
//  .instanceChargeType(java.lang.String)
//  .instanceChargeType(IResolvable)
//  .instanceFamilyLevel(java.lang.String)
//  .instanceFamilyLevel(IResolvable)
//  .instanceType(java.lang.String)
//  .instanceType(IResolvable)
//  .instanceTypeFamilies(IResolvable)
//  .instanceTypeFamilies(java.util.List<java.lang.String)
//  .instanceTypeFamilies(IResolvable>)
//  .ioOptimized(java.lang.String)
//  .ioOptimized(IResolvable)
//  .maxPrice(java.lang.Number)
//  .maxPrice(IResolvable)
//  .memory(java.lang.Number)
//  .memory(IResolvable)
//  .priorityStrategy(java.lang.String)
//  .priorityStrategy(IResolvable)
//  .refreshOptions(java.lang.String)
//  .refreshOptions(IResolvable)
//  .scene(java.lang.String)
//  .scene(IResolvable)
//  .spotStrategy(java.lang.String)
//  .spotStrategy(IResolvable)
//  .systemDiskCategory(java.lang.String)
//  .systemDiskCategory(IResolvable)
//  .zoneId(java.lang.String)
//  .zoneId(IResolvable)
//  .zoneMatchMode(java.lang.String)
//  .zoneMatchMode(IResolvable)
    .build();
Name Type Description
scope com.aliyun.ros.cdk.core.Construct No description.
id java.lang.String No description.
enableResourcePropertyConstraint java.lang.Boolean No description.
cores java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property cores: The number of vCPUs of the instance.
instanceChargeType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property instanceChargeType: The billing method of the instances of the instance type.
instanceFamilyLevel java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property instanceFamilyLevel: The level of the instance family.
instanceType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property instanceType: The specified instance type.
instanceTypeFamilies com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property instanceTypeFamilies: The list of instance family to be filtered out.
ioOptimized java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property ioOptimized: Specifies whether to match I\/O optimized instances.
maxPrice java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property maxPrice: The maximum hourly price for pay-as-you-go instances or preemptible instances.
memory java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property memory: The memory size of the instance.
priorityStrategy java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property priorityStrategy: The policy for recommending instance types.
refreshOptions java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated.
scene java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property scene: Specifies the scenario in which the instance type is recommended.
spotStrategy java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property spotStrategy: The bidding policy of preemptible instances.
systemDiskCategory java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property systemDiskCategory: The category of the system disk.
zoneId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property zoneId: The zone ID of the alternative instance types.
zoneMatchMode java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property zoneMatchMode: Specifies which alternative instance types are recommended.

scopeRequired

  • Type: com.aliyun.ros.cdk.core.Construct

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

coresOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property cores: The number of vCPUs of the instance.

Note 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.


instanceChargeTypeOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property instanceChargeType: The billing method of the instances of the instance type.

Valid values: PrePaid: subscription PostPaid: pay-as-you-go Default value: PostPaid.


instanceFamilyLevelOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property instanceFamilyLevel: The level of the instance family.

Valid values: EntryLevel, EnterpriseLevel, CreditEntryLevel.


instanceTypeOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property instanceType: The specified instance type.

For more information, see Instance families or call ECS DescribeInstanceTypes operation to query the most recent instance type list. Note If the InstanceType parameter is specified, none of the Cores and Memory parameters can be specified.


instanceTypeFamiliesOptional

  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property instanceTypeFamilies: The list of instance family to be filtered out.

You can also call ECS DescribeInstanceTypeFamilies operation to query the list of instance families.


ioOptimizedOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property ioOptimized: Specifies whether to match I\/O optimized instances.

The IoOptimized parameter cannot be specified when the instance is not I/O optimized. Valid values: optimized: matches I/O optimized instances. none: matches non-I/O optimized instances. Default value: optimized. If you query alternative instance types for retired instance types, this parameter is set to none by default. Default value: none.


maxPriceOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property maxPrice: The maximum hourly price for pay-as-you-go instances or preemptible instances.

Note If this parameter is specified, the SpotStrategy parameter must be set to SpotWithPriceLimit.


memoryOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property memory: The memory size of the instance.

Unit: GiB. Note 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.


priorityStrategyOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property priorityStrategy: The policy for recommending instance types.

Valid values: InventoryFirst: Instance types are recommended in descending order based on resource availability. PriceFirst: Instance types are recommended in ascending order based on hourly price per vCPU. NewProductFirst: The latest instance types are recommended first. Default value: InventoryFirst.


refreshOptionsOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated.

Valid values:

  • Never: Never refresh the datasource resource when the stack is updated.
  • Always: Always refresh the datasource resource when the stack is updated. Default is Never.

sceneOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property scene: Specifies the scenario in which the instance type is recommended.

Valid values: UPGRADE: instance type upgrade or downgrade CREATE: instance creation Default value: CREATE.


spotStrategyOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property spotStrategy: The bidding policy of preemptible instances.

Valid values: NoSpot: applies to regular pay-as-you-go instances. SpotWithPriceLimit: applies to preemptible instances that have user-defined maximum hourly prices. SpotAsPriceGo: applies to preemptible instances that are of the market price at the time of purchase. Note If the SpotStrategy parameter is specified, the InstanceChargeType parameter must be set to PostPaid. Default value: NoSpot.


systemDiskCategoryOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property systemDiskCategory: The category of the system disk.

Valid values: cloud_efficiency: ultra disk cloud_ssd: standard SSD cloud_essd: enhanced SSD (ESSD) cloud: basic disk For non-I/O optimized instances, the default value is cloud. For I/O optimized instances, the default value is cloud_efficiency.


zoneIdOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property zoneId: The zone ID of the alternative instance types.

You can call ECS DescribeZones operation to query the most recent zone list.When you specify this parameter, we recommend that you set ZoneMatchMode to the default value Include. This value indicates that instance types in the zone specified by ZoneId are preferentially recommended, and instance types in other zones in the same region are also listed.


zoneMatchModeOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property zoneMatchMode: Specifies which alternative instance types are recommended.

Valid values: Strict: recommends only alternative instance types in the zone specified by ZoneId. Include: recommends all instance types in all the zones in the same region as the specified instance type. When ZoneId is specified, the default value of this parameter is Strict. This value indicates that only alternative instance types in the zone specified by ZoneId are recommended.


Methods

Name Description
toString Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
addCondition No description.
addCount No description.
addDependency No description.
addResourceDesc No description.
applyRemovalPolicy No description.
getAtt No description.
setMetadata No description.

toString

public java.lang.String toString()

Returns a string representation of this construct.

synthesize

public void synthesize(ISynthesisSession session)

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: com.aliyun.ros.cdk.core.ISynthesisSession

The synthesis session.


addCondition

public void addCondition(RosCondition condition)

conditionRequired

  • Type: com.aliyun.ros.cdk.core.RosCondition

addCount

public void addCount(java.lang.Number OR IResolvable count)

countRequired

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

addDependency

public void addDependency(Resource resource)

resourceRequired

  • Type: com.aliyun.ros.cdk.core.Resource

addResourceDesc

public void addResourceDesc(java.lang.String desc)

descRequired

  • Type: java.lang.String

applyRemovalPolicy

public void applyRemovalPolicy(RemovalPolicy policy)

policyRequired

  • Type: com.aliyun.ros.cdk.core.RemovalPolicy

getAtt

public IResolvable getAtt(java.lang.String name)

nameRequired

  • Type: java.lang.String

setMetadata

public void setMetadata(java.lang.String key, java.lang.Object value)

keyRequired

  • Type: java.lang.String

valueRequired

  • Type: java.lang.Object

Static Functions

Name Description
isConstruct Return whether the given object is a Construct.

isConstruct

import com.aliyun.ros.cdk.ecs.datasource.RecommendInstanceTypes;
RecommendInstanceTypes.isConstruct(java.lang.Object x)

Return whether the given object is a Construct.

xRequired

  • Type: java.lang.Object

Properties

Name Type Description
node com.aliyun.ros.cdk.core.ConstructNode The construct tree node associated with this construct.
ref java.lang.String No description.
stack com.aliyun.ros.cdk.core.Stack The stack in which this resource is defined.
resource com.aliyun.ros.cdk.core.RosResource No description.
attrInstanceTypeIds com.aliyun.ros.cdk.core.IResolvable Attribute InstanceTypeIds: The list of instance type ids.
attrInstanceTypes com.aliyun.ros.cdk.core.IResolvable Attribute InstanceTypes: The list of instance types, including information such as cores and memory.

nodeRequired

public ConstructNode getNode();
  • Type: com.aliyun.ros.cdk.core.ConstructNode

The construct tree node associated with this construct.


refRequired

public java.lang.String getRef();
  • Type: java.lang.String

stackRequired

public Stack getStack();
  • Type: com.aliyun.ros.cdk.core.Stack

The stack in which this resource is defined.


resourceOptional

public RosResource getResource();
  • Type: com.aliyun.ros.cdk.core.RosResource

attrInstanceTypeIdsRequired

public IResolvable getAttrInstanceTypeIds();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InstanceTypeIds: The list of instance type ids.

Note that instance type ids are not unique.


attrInstanceTypesRequired

public IResolvable getAttrInstanceTypes();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InstanceTypes: The list of instance types, including information such as cores and memory.