You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::ApplicationAutoScaling::Types::StepScalingPolicyConfiguration
- Inherits:
- 
      Struct
      
        - Object
- Struct
- Aws::ApplicationAutoScaling::Types::StepScalingPolicyConfiguration
 
- Defined in:
- (unknown)
Overview
When passing StepScalingPolicyConfiguration as input to an Aws::Client method, you can use a vanilla 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 to use with Application Auto Scaling.
Returned by:
Instance Attribute Summary collapse
- 
  
    
      #adjustment_type  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Specifies how the ScalingAdjustmentvalue in a [StepAdjustment][1] is interpreted (for example, an absolute number or a percentage).
- 
  
    
      #cooldown  ⇒ Integer 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The amount of time, in seconds, to wait for a previous scaling activity to take effect. 
- 
  
    
      #metric_aggregation_type  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The aggregation type for the CloudWatch metrics. 
- 
  
    
      #min_adjustment_magnitude  ⇒ Integer 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The minimum value to scale by when the adjustment type is PercentChangeInCapacity.
- 
  
    
      #step_adjustments  ⇒ Array<Types::StepAdjustment> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    A set of adjustments that enable you to scale based on the size of the alarm breach. 
Instance Attribute Details
#adjustment_type ⇒ String
Specifies how the ScalingAdjustment value in a StepAdjustment is
interpreted (for example, an absolute number or a percentage). The valid
values are ChangeInCapacity, ExactCapacity, and
PercentChangeInCapacity.
AdjustmentType is required if you are adding a new step scaling policy
configuration.
#cooldown ⇒ Integer
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step 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, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.
With scale-in policies, 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 cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity 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 cluster storage 
#metric_aggregation_type ⇒ String
The aggregation type for the CloudWatch metrics. Valid values are
Minimum, Maximum, and Average. If the aggregation type is null,
the value is treated as Average. 
Possible values:
- Average
- Minimum
- Maximum
#min_adjustment_magnitude ⇒ Integer
The minimum value to scale by when the adjustment type is
PercentChangeInCapacity. For example, suppose that you create a step
scaling policy to scale out an Amazon ECS service by 25 percent and you
specify a MinAdjustmentMagnitude of 2. If the service has 4 tasks and
the scaling policy is performed, 25 percent of 4 is 1. However, because
you specified a MinAdjustmentMagnitude of 2, Application Auto Scaling
scales out the service by 2 tasks.
#step_adjustments ⇒ Array<Types::StepAdjustment>
A set of adjustments that enable you to scale based on the size of the alarm breach.
At least one step adjustment is required if you are adding a new step scaling policy configuration.