Class: Aws::ApplicationAutoScaling::Types::TargetTrackingScalingPolicyConfiguration

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb

Overview

Note:

When making an API call, you may pass TargetTrackingScalingPolicyConfiguration data as a hash:

{
  target_value: 1.0, # required
  predefined_metric_specification: {
    predefined_metric_type: "DynamoDBReadCapacityUtilization", # required, accepts DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut, SageMakerVariantInvocationsPerInstance, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, AppStreamAverageCapacityUtilization, ComprehendInferenceUtilization, LambdaProvisionedConcurrencyUtilization, CassandraReadCapacityUtilization, CassandraWriteCapacityUtilization
    resource_label: "ResourceLabel",
  },
  customized_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",
  },
  scale_out_cooldown: 1,
  scale_in_cooldown: 1,
  disable_scale_in: false,
}

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#customized_metric_specificationTypes::CustomizedMetricSpecification

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



3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end

#disable_scale_inBoolean

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.

Returns:

  • (Boolean)


3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end

#predefined_metric_specificationTypes::PredefinedMetricSpecification

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



3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end

#scale_in_cooldownInteger

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 endpoints

  • Lambda provisioned concurrency

  • Amazon Keyspaces tables

Returns:

  • (Integer)


3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end

#scale_out_cooldownInteger

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. While the scale-out 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 endpoints

  • Lambda provisioned concurrency

  • Amazon Keyspaces tables

Returns:

  • (Integer)


3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end

#target_valueFloat

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

Returns:

  • (Float)


3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3191

class TargetTrackingScalingPolicyConfiguration < Struct.new(
  :target_value,
  :predefined_metric_specification,
  :customized_metric_specification,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :disable_scale_in)
  SENSITIVE = []
  include Aws::Structure
end