public static interface CfnAutoScalingGroup.InstancesDistributionProperty
For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide .
InstancesDistribution
is a property of the AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy property type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import software.amazon.awscdk.services.autoscaling.*; InstancesDistributionProperty instancesDistributionProperty = InstancesDistributionProperty.builder() .onDemandAllocationStrategy("onDemandAllocationStrategy") .onDemandBaseCapacity(123) .onDemandPercentageAboveBaseCapacity(123) .spotAllocationStrategy("spotAllocationStrategy") .spotInstancePools(123) .spotMaxPrice("spotMaxPrice") .build();
Modifier and Type | Interface and Description |
---|---|
static class |
CfnAutoScalingGroup.InstancesDistributionProperty.Builder
A builder for
CfnAutoScalingGroup.InstancesDistributionProperty |
static class |
CfnAutoScalingGroup.InstancesDistributionProperty.Jsii$Proxy
An implementation for
CfnAutoScalingGroup.InstancesDistributionProperty |
Modifier and Type | Method and Description |
---|---|
static CfnAutoScalingGroup.InstancesDistributionProperty.Builder |
builder() |
default java.lang.String |
getOnDemandAllocationStrategy()
The allocation strategy to apply to your On-Demand Instances when they are launched.
|
default java.lang.Number |
getOnDemandBaseCapacity()
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
|
default java.lang.Number |
getOnDemandPercentageAboveBaseCapacity()
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond `OnDemandBaseCapacity` .
|
default java.lang.String |
getSpotAllocationStrategy()
The allocation strategy to apply to your Spot Instances when they are launched.
|
default java.lang.Number |
getSpotInstancePools()
The number of Spot Instance pools across which to allocate your Spot Instances.
|
default java.lang.String |
getSpotMaxPrice()
The maximum price per unit hour that you are willing to pay for a Spot Instance.
|
default java.lang.String getOnDemandAllocationStrategy()
Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
InstanceRequirements
.InstanceRequirements
and cannot be used for groups that do.default java.lang.Number getOnDemandBaseCapacity()
This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
An update to this setting means a gradual replacement of instances to adjust the current On-Demand Instance levels. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the previous ones.
default java.lang.Number getOnDemandPercentageAboveBaseCapacity()
Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
An update to this setting means a gradual replacement of instances to adjust the current On-Demand and Spot Instance levels for your additional capacity higher than the base capacity. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the previous ones.
default java.lang.String getSpotAllocationStrategy()
Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
capacity-optimized-prioritized
.prioritized
, the same priority is applied when fulfilling On-Demand capacity. This is not a valid value for Auto Scaling groups that specify InstanceRequirements
.SpotInstancePools
property. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. This is the default value, but it might lead to high interruption rates because this strategy only considers instance price and not available capacity.default java.lang.Number getSpotInstancePools()
The Spot pools are determined from the different instance types in the overrides. Valid only when the SpotAllocationStrategy
is lowest-price
. Value must be in the range of 1–20.
Default: 2
default java.lang.String getSpotMaxPrice()
If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string ("") for the value.
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
static CfnAutoScalingGroup.InstancesDistributionProperty.Builder builder()