You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::ApplicationAutoScaling::Types::StepScalingPolicyConfiguration

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 StepScalingPolicyConfiguration data as a hash:

{
  adjustment_type: "ChangeInCapacity", # accepts ChangeInCapacity, PercentChangeInCapacity, ExactCapacity
  step_adjustments: [
    {
      metric_interval_lower_bound: 1.0,
      metric_interval_upper_bound: 1.0,
      scaling_adjustment: 1, # required
    },
  ],
  min_adjustment_magnitude: 1,
  cooldown: 1,
  metric_aggregation_type: "Average", # accepts Average, Minimum, Maximum
}

Represents a step scaling policy configuration.

Instance Attribute Summary collapse

Instance Attribute Details

#adjustment_typeString

The adjustment type, which specifies how the ScalingAdjustment parameter in a StepAdjustment is interpreted.

Returns:

  • (String)


2094
2095
2096
2097
2098
2099
2100
2101
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 2094

class StepScalingPolicyConfiguration < Struct.new(
  :adjustment_type,
  :step_adjustments,
  :min_adjustment_magnitude,
  :cooldown,
  :metric_aggregation_type)
  include Aws::Structure
end

#cooldownInteger

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale out policies, while the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale in policies, the cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

Returns:

  • (Integer)


2094
2095
2096
2097
2098
2099
2100
2101
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 2094

class StepScalingPolicyConfiguration < Struct.new(
  :adjustment_type,
  :step_adjustments,
  :min_adjustment_magnitude,
  :cooldown,
  :metric_aggregation_type)
  include Aws::Structure
end

#metric_aggregation_typeString

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

Returns:

  • (String)


2094
2095
2096
2097
2098
2099
2100
2101
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 2094

class StepScalingPolicyConfiguration < Struct.new(
  :adjustment_type,
  :step_adjustments,
  :min_adjustment_magnitude,
  :cooldown,
  :metric_aggregation_type)
  include Aws::Structure
end

#min_adjustment_magnitudeInteger

The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

Returns:

  • (Integer)


2094
2095
2096
2097
2098
2099
2100
2101
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 2094

class StepScalingPolicyConfiguration < Struct.new(
  :adjustment_type,
  :step_adjustments,
  :min_adjustment_magnitude,
  :cooldown,
  :metric_aggregation_type)
  include Aws::Structure
end

#step_adjustmentsArray<Types::StepAdjustment>

A set of adjustments that enable you to scale based on the size of the alarm breach.

Returns:



2094
2095
2096
2097
2098
2099
2100
2101
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 2094

class StepScalingPolicyConfiguration < Struct.new(
  :adjustment_type,
  :step_adjustments,
  :min_adjustment_magnitude,
  :cooldown,
  :metric_aggregation_type)
  include Aws::Structure
end