@Generated(value="software.amazon.awssdk:codegen") public final class StepScalingPolicyConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<StepScalingPolicyConfiguration.Builder,StepScalingPolicyConfiguration>
Represents a step scaling policy configuration to use with Application Auto Scaling.
| Modifier and Type | Class and Description |
|---|---|
static interface |
StepScalingPolicyConfiguration.Builder |
| Modifier and Type | Method and Description |
|---|---|
AdjustmentType |
adjustmentType()
Specifies how the
ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). |
String |
adjustmentTypeAsString()
Specifies how the
ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). |
static StepScalingPolicyConfiguration.Builder |
builder() |
Integer |
cooldown()
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
boolean |
hasStepAdjustments()
Returns true if the StepAdjustments property was specified by the sender (it may be empty), or false if the
sender did not specify the value (it will be empty).
|
MetricAggregationType |
metricAggregationType()
The aggregation type for the CloudWatch metrics.
|
String |
metricAggregationTypeAsString()
The aggregation type for the CloudWatch metrics.
|
Integer |
minAdjustmentMagnitude()
The minimum value to scale by when the adjustment type is
PercentChangeInCapacity. |
List<SdkField<?>> |
sdkFields() |
static Class<? extends StepScalingPolicyConfiguration.Builder> |
serializableBuilderClass() |
List<StepAdjustment> |
stepAdjustments()
A set of adjustments that enable you to scale based on the size of the alarm breach.
|
StepScalingPolicyConfiguration.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcopypublic final AdjustmentType adjustmentType()
Specifies how the ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). The valid values are
ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
AdjustmentType is required if you are adding a new step scaling policy configuration.
If the service returns an enum value that is not available in the current SDK version, adjustmentType
will return AdjustmentType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available
from adjustmentTypeAsString().
ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). The valid values
are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
AdjustmentType is required if you are adding a new step scaling policy configuration.
AdjustmentTypepublic final String adjustmentTypeAsString()
Specifies how the ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). The valid values are
ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
AdjustmentType is required if you are adding a new step scaling policy configuration.
If the service returns an enum value that is not available in the current SDK version, adjustmentType
will return AdjustmentType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available
from adjustmentTypeAsString().
ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a percentage). The valid values
are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
AdjustmentType is required if you are adding a new step scaling policy configuration.
AdjustmentTypepublic final boolean hasStepAdjustments()
public final List<StepAdjustment> stepAdjustments()
A set of adjustments that enable you to scale based on the size of the alarm breach.
At least one step adjustment is required if you are adding a new step scaling policy configuration.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasStepAdjustments() to see if a value was sent in this field.
At least one step adjustment is required if you are adding a new step scaling policy configuration.
public final Integer minAdjustmentMagnitude()
The minimum value to scale by when the adjustment type is PercentChangeInCapacity. 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.
PercentChangeInCapacity. 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.public final Integer cooldown()
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
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 300 for the following scalable targets:
ECS services
Spot Fleet requests
EMR clusters
AppStream 2.0 fleets
Aurora DB clusters
Amazon SageMaker endpoint variants
Custom resources
For all other scalable targets, the default value is 0:
DynamoDB tables
DynamoDB global secondary indexes
Amazon Comprehend document classification and entity recognizer endpoints
Lambda provisioned concurrency
Amazon Keyspaces tables
Amazon MSK broker storage
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 300 for the following scalable targets:
ECS services
Spot Fleet requests
EMR clusters
AppStream 2.0 fleets
Aurora DB clusters
Amazon SageMaker endpoint variants
Custom resources
For all other scalable targets, the default value is 0:
DynamoDB tables
DynamoDB global secondary indexes
Amazon Comprehend document classification and entity recognizer endpoints
Lambda provisioned concurrency
Amazon Keyspaces tables
Amazon MSK broker storage
public final MetricAggregationType metricAggregationType()
The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and
Average. If the aggregation type is null, the value is treated as Average.
If the service returns an enum value that is not available in the current SDK version,
metricAggregationType will return MetricAggregationType.UNKNOWN_TO_SDK_VERSION. The raw value
returned by the service is available from metricAggregationTypeAsString().
Minimum,
Maximum, and Average. If the aggregation type is null, the value is treated as
Average.MetricAggregationTypepublic final String metricAggregationTypeAsString()
The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and
Average. If the aggregation type is null, the value is treated as Average.
If the service returns an enum value that is not available in the current SDK version,
metricAggregationType will return MetricAggregationType.UNKNOWN_TO_SDK_VERSION. The raw value
returned by the service is available from metricAggregationTypeAsString().
Minimum,
Maximum, and Average. If the aggregation type is null, the value is treated as
Average.MetricAggregationTypepublic StepScalingPolicyConfiguration.Builder toBuilder()
toBuilder in interface ToCopyableBuilder<StepScalingPolicyConfiguration.Builder,StepScalingPolicyConfiguration>public static StepScalingPolicyConfiguration.Builder builder()
public static Class<? extends StepScalingPolicyConfiguration.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields in interface SdkPojopublic final String toString()
Copyright © 2021. All rights reserved.