public static interface CfnScalingPolicy.StepScalingPolicyConfigurationProperty
For more information, see PutScalingPolicy in the Application Auto Scaling API Reference . For more information about step scaling policies, see Step scaling policies in the Application Auto Scaling User Guide .
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.applicationautoscaling.*; StepScalingPolicyConfigurationProperty stepScalingPolicyConfigurationProperty = StepScalingPolicyConfigurationProperty.builder() .adjustmentType("adjustmentType") .cooldown(123) .metricAggregationType("metricAggregationType") .minAdjustmentMagnitude(123) .stepAdjustments(List.of(StepAdjustmentProperty.builder() .scalingAdjustment(123) // the properties below are optional .metricIntervalLowerBound(123) .metricIntervalUpperBound(123) .build())) .build();
Modifier and Type | Interface and Description |
---|---|
static class |
CfnScalingPolicy.StepScalingPolicyConfigurationProperty.Builder
A builder for
CfnScalingPolicy.StepScalingPolicyConfigurationProperty |
static class |
CfnScalingPolicy.StepScalingPolicyConfigurationProperty.Jsii$Proxy
An implementation for
CfnScalingPolicy.StepScalingPolicyConfigurationProperty |
Modifier and Type | Method and Description |
---|---|
static CfnScalingPolicy.StepScalingPolicyConfigurationProperty.Builder |
builder() |
default java.lang.String |
getAdjustmentType()
Specifies whether the `ScalingAdjustment` value in the `StepAdjustment` property is an absolute number or a percentage of the current capacity.
|
default java.lang.Number |
getCooldown()
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
|
default java.lang.String |
getMetricAggregationType()
The aggregation type for the CloudWatch metrics.
|
default java.lang.Number |
getMinAdjustmentMagnitude()
The minimum value to scale by when the adjustment type is `PercentChangeInCapacity` .
|
default java.lang.Object |
getStepAdjustments()
A set of adjustments that enable you to scale based on the size of the alarm breach.
|
default java.lang.String getAdjustmentType()
default java.lang.Number getCooldown()
With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.
With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.
Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:
For all other scalable targets, the default value is 0:
default java.lang.String getMetricAggregationType()
Valid values are Minimum
, Maximum
, and Average
. If the aggregation type is null, the value is treated as Average
.
default java.lang.Number getMinAdjustmentMagnitude()
For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude
of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude
of 2, Application Auto Scaling scales out the service by 2 tasks.
default java.lang.Object getStepAdjustments()
At least one step adjustment is required if you are adding a new step scaling policy configuration.