Class: Aws::AutoScalingPlans::Types::TargetTrackingConfiguration

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

Overview

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,
}

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#customized_scaling_metric_specificationTypes::CustomizedScalingMetricSpecification

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



1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  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 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.

Returns:

  • (Boolean)


1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  SENSITIVE = []
  include Aws::Structure
end

#estimated_instance_warmupInteger

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.

Returns:

  • (Integer)


1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  SENSITIVE = []
  include Aws::Structure
end

#predefined_scaling_metric_specificationTypes::PredefinedScalingMetricSpecification

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



1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  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. 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.

Returns:

  • (Integer)


1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  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. 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.

Returns:

  • (Integer)


1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  SENSITIVE = []
  include Aws::Structure
end

#target_valueFloat

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 -2360 to 2360.

Returns:

  • (Float)


1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'gems/aws-sdk-autoscalingplans/lib/aws-sdk-autoscalingplans/types.rb', line 1441

class TargetTrackingConfiguration < Struct.new(
  :predefined_scaling_metric_specification,
  :customized_scaling_metric_specification,
  :target_value,
  :disable_scale_in,
  :scale_out_cooldown,
  :scale_in_cooldown,
  :estimated_instance_warmup)
  SENSITIVE = []
  include Aws::Structure
end