libZSservicesZSamazonka-application-autoscalingZSamazonka-application-autoscaling
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Description

 
Synopsis

Documentation

data StepScalingPolicyConfiguration Source #

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

See: newStepScalingPolicyConfiguration smart constructor.

Constructors

StepScalingPolicyConfiguration' 

Fields

  • stepAdjustments :: Maybe [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.

  • adjustmentType :: Maybe AdjustmentType

    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 :: Maybe Int

    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 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

    • AppStream 2.0 fleets
    • Aurora DB clusters
    • ECS services
    • EMR clusters
    • Neptune clusters
    • SageMaker endpoint variants
    • Spot Fleets
    • Custom resources

    For all other scalable targets, the default value is 0:

    • Amazon Comprehend document classification and entity recognizer endpoints
    • DynamoDB tables and global secondary indexes
    • Amazon Keyspaces tables
    • Lambda provisioned concurrency
    • Amazon MSK broker storage
  • metricAggregationType :: Maybe MetricAggregationType

    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.

  • minAdjustmentMagnitude :: Maybe Int

    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.

Instances

Instances details
Eq StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Read StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Show StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Generic StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Associated Types

type Rep StepScalingPolicyConfiguration :: Type -> Type #

NFData StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

Hashable StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

ToJSON StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

FromJSON StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

type Rep StepScalingPolicyConfiguration Source # 
Instance details

Defined in Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration

type Rep StepScalingPolicyConfiguration = D1 ('MetaData "StepScalingPolicyConfiguration" "Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration" "libZSservicesZSamazonka-application-autoscalingZSamazonka-application-autoscaling" 'False) (C1 ('MetaCons "StepScalingPolicyConfiguration'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stepAdjustments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [StepAdjustment])) :*: S1 ('MetaSel ('Just "adjustmentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AdjustmentType))) :*: (S1 ('MetaSel ('Just "cooldown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: (S1 ('MetaSel ('Just "metricAggregationType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe MetricAggregationType)) :*: S1 ('MetaSel ('Just "minAdjustmentMagnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))))

newStepScalingPolicyConfiguration :: StepScalingPolicyConfiguration Source #

Create a value of StepScalingPolicyConfiguration with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:stepAdjustments:StepScalingPolicyConfiguration', stepScalingPolicyConfiguration_stepAdjustments - 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.

$sel:adjustmentType:StepScalingPolicyConfiguration', stepScalingPolicyConfiguration_adjustmentType - 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.

$sel:cooldown:StepScalingPolicyConfiguration', stepScalingPolicyConfiguration_cooldown - 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 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

  • AppStream 2.0 fleets
  • Aurora DB clusters
  • ECS services
  • EMR clusters
  • Neptune clusters
  • SageMaker endpoint variants
  • Spot Fleets
  • Custom resources

For all other scalable targets, the default value is 0:

  • Amazon Comprehend document classification and entity recognizer endpoints
  • DynamoDB tables and global secondary indexes
  • Amazon Keyspaces tables
  • Lambda provisioned concurrency
  • Amazon MSK broker storage

$sel:metricAggregationType:StepScalingPolicyConfiguration', stepScalingPolicyConfiguration_metricAggregationType - 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.

$sel:minAdjustmentMagnitude:StepScalingPolicyConfiguration', stepScalingPolicyConfiguration_minAdjustmentMagnitude - 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.

stepScalingPolicyConfiguration_stepAdjustments :: Lens' StepScalingPolicyConfiguration (Maybe [StepAdjustment]) Source #

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.

stepScalingPolicyConfiguration_adjustmentType :: Lens' StepScalingPolicyConfiguration (Maybe AdjustmentType) Source #

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.

stepScalingPolicyConfiguration_cooldown :: Lens' StepScalingPolicyConfiguration (Maybe Int) Source #

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 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

  • AppStream 2.0 fleets
  • Aurora DB clusters
  • ECS services
  • EMR clusters
  • Neptune clusters
  • SageMaker endpoint variants
  • Spot Fleets
  • Custom resources

For all other scalable targets, the default value is 0:

  • Amazon Comprehend document classification and entity recognizer endpoints
  • DynamoDB tables and global secondary indexes
  • Amazon Keyspaces tables
  • Lambda provisioned concurrency
  • Amazon MSK broker storage

stepScalingPolicyConfiguration_metricAggregationType :: Lens' StepScalingPolicyConfiguration (Maybe MetricAggregationType) Source #

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.

stepScalingPolicyConfiguration_minAdjustmentMagnitude :: Lens' StepScalingPolicyConfiguration (Maybe Int) Source #

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.