The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::ApplicationAutoScaling::TargetTrackingScalingPolicyConfiguration

USAGE

This class represents one of two things:

Arguments in a call to a service

Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. Each attribute should be used as a named argument in the calls that expect this type of object.

As an example, if Att1 is expected to be a Paws::ApplicationAutoScaling::TargetTrackingScalingPolicyConfiguration object:

  $service_obj->Method(Att1 => { CustomizedMetricSpecification => $value, ..., TargetValue => $value  });

Results returned from an API call

Use accessors for each attribute. If Att1 is expected to be an Paws::ApplicationAutoScaling::TargetTrackingScalingPolicyConfiguration object:

  $result = $service_obj->Method(...);
  $result->Att1->CustomizedMetricSpecification

DESCRIPTION

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

ATTRIBUTES

CustomizedMetricSpecification => Paws::ApplicationAutoScaling::CustomizedMetricSpecification

A customized metric. You can specify either a predefined metric or a customized metric.

DisableScaleIn => Bool

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.

PredefinedMetricSpecification => Paws::ApplicationAutoScaling::PredefinedMetricSpecification

A predefined metric. You can specify either a predefined metric or a customized metric.

ScaleInCooldown => Int

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

ScaleOutCooldown => Int

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

REQUIRED TargetValue => Num

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.

SEE ALSO

This class forms part of Paws, describing an object used in Paws::ApplicationAutoScaling

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues