@Generated(value="software.amazon.awssdk:codegen") public final class TargetTrackingScalingPolicyConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<TargetTrackingScalingPolicyConfiguration.Builder,TargetTrackingScalingPolicyConfiguration>
Represents a target tracking scaling policy configuration to use with Application Auto Scaling.
Modifier and Type | Class and Description |
---|---|
static interface |
TargetTrackingScalingPolicyConfiguration.Builder |
Modifier and Type | Method and Description |
---|---|
static TargetTrackingScalingPolicyConfiguration.Builder |
builder() |
CustomizedMetricSpecification |
customizedMetricSpecification()
A customized metric.
|
Boolean |
disableScaleIn()
Indicates whether scale in by the target tracking scaling policy is disabled.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj)
Indicates whether some other object is "equal to" this one by SDK fields.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
PredefinedMetricSpecification |
predefinedMetricSpecification()
A predefined metric.
|
Integer |
scaleInCooldown()
The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.
|
Integer |
scaleOutCooldown()
The amount of time, in seconds, to wait for a previous scale-out activity to take effect.
|
List<SdkField<?>> |
sdkFields() |
static Class<? extends TargetTrackingScalingPolicyConfiguration.Builder> |
serializableBuilderClass() |
Double |
targetValue()
The target value for the metric.
|
TargetTrackingScalingPolicyConfiguration.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString()
Returns a string representation of this object.
|
copy
public final Double targetValue()
The target value for the metric. Although this property accepts numbers of type Double, it won't accept values that are either too small or too large. Values must be in the range of -2^360 to 2^360. The value must be a valid number based on the choice of metric. For example, if the metric is CPU utilization, then the target value is a percent value that represents how much of the CPU can be used before scaling out.
public final PredefinedMetricSpecification predefinedMetricSpecification()
A predefined metric. You can specify either a predefined metric or a customized metric.
public final CustomizedMetricSpecification customizedMetricSpecification()
A customized metric. You can specify either a predefined metric or a customized metric.
public final Integer scaleOutCooldown()
The amount of time, in seconds, to wait for a previous scale-out activity to take effect.
With the scale-out cooldown period, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target tracking 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, the capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity.
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 the scale-out cooldown period, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target tracking 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, the capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity.
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 Integer scaleInCooldown()
The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.
With the scale-in cooldown period, 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 scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, the scale-in cooldown period 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 the scale-in cooldown period, 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 scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, the scale-in cooldown period 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 Boolean disableScaleIn()
Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true
,
scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable target.
Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable
target. The default value is false
.
true
, scale in is disabled and the target tracking scaling policy won't remove capacity from
the scalable target. Otherwise, scale in is enabled and the target tracking scaling policy can remove
capacity from the scalable target. The default value is false
.public TargetTrackingScalingPolicyConfiguration.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<TargetTrackingScalingPolicyConfiguration.Builder,TargetTrackingScalingPolicyConfiguration>
public static TargetTrackingScalingPolicyConfiguration.Builder builder()
public static Class<? extends TargetTrackingScalingPolicyConfiguration.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
SdkPojo
SdkPojo
class,
and is generated based on a service model.
If an SdkPojo
class does not have any inherited fields, equalsBySdkFields
and equals
are essentially the same.
equalsBySdkFields
in interface SdkPojo
obj
- the object to be compared withpublic final String toString()