class Aws::AutoScalingPlans::Types::TargetTrackingConfiguration

Describes a target tracking configuration to use with AWS Auto Scaling. Used with ScalingInstruction and ScalingPolicy.

@note When making an API call, you may pass TargetTrackingConfiguration

data as a hash:

    {
      predefined_scaling_metric_specification: {
        predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
        resource_label: "ResourceLabel",
      },
      customized_scaling_metric_specification: {
        metric_name: "MetricName", # required
        namespace: "MetricNamespace", # required
        dimensions: [
          {
            name: "MetricDimensionName", # required
            value: "MetricDimensionValue", # required
          },
        ],
        statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
        unit: "MetricUnit",
      },
      target_value: 1.0, # required
      disable_scale_in: false,
      scale_out_cooldown: 1,
      scale_in_cooldown: 1,
      estimated_instance_warmup: 1,
    }

@!attribute [rw] predefined_scaling_metric_specification

A predefined metric. You can specify either a predefined metric or a
customized metric.
@return [Types::PredefinedScalingMetricSpecification]

@!attribute [rw] customized_scaling_metric_specification

A customized metric. You can specify either a predefined metric or a
customized metric.
@return [Types::CustomizedScalingMetricSpecification]

@!attribute [rw] target_value

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.
@return [Float]

@!attribute [rw] disable_scale_in

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 doesn't remove capacity from the
scalable resource. Otherwise, scale in is enabled and the target
tracking scaling policy can remove capacity from the scalable
resource.

The default value is `false`.
@return [Boolean]

@!attribute [rw] scale_out_cooldown

The amount of time, in seconds, to wait for a previous scale-out
activity to take effect. This property is not used if the scalable
resource is an Auto Scaling group.

With the *scale-out cooldown period*, the intention is to
continuously (but not excessively) scale out. After 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.
@return [Integer]

@!attribute [rw] scale_in_cooldown

The amount of time, in seconds, after a scale-in activity completes
before another scale-in activity can start. This property is not
used if the scalable resource is an Auto Scaling group.

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, Auto Scaling scales out the
target immediately. In this case, the scale-in cooldown period stops
and doesn't complete.
@return [Integer]

@!attribute [rw] estimated_instance_warmup

The estimated time, in seconds, until a newly launched instance can
contribute to the CloudWatch metrics. This value is used only if the
resource is an Auto Scaling group.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/TargetTrackingConfiguration AWS API Documentation

Constants

SENSITIVE