/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a step scaling policy configuration to use with Application Auto
* Scaling. For more information, see Step
* scaling policies in the Application Auto Scaling User
* Guide.See Also:
AWS
* API Reference
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.
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.
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.
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.
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.
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.
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.
*/ inline const Aws::VectorA 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.
*/ inline bool StepAdjustmentsHasBeenSet() const { return m_stepAdjustmentsHasBeenSet; } /** *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.
*/ inline void SetStepAdjustments(const Aws::VectorA 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.
*/ inline void SetStepAdjustments(Aws::VectorA 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.
*/ inline StepScalingPolicyConfiguration& WithStepAdjustments(const Aws::VectorA 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.
*/ inline StepScalingPolicyConfiguration& WithStepAdjustments(Aws::VectorA 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.
*/ inline StepScalingPolicyConfiguration& AddStepAdjustments(const StepAdjustment& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(value); return *this; } /** *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.
*/ inline StepScalingPolicyConfiguration& AddStepAdjustments(StepAdjustment&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(std::move(value)); return *this; } /** *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.
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.
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.
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.
The amount of time, in seconds, to wait for a previous scaling activity to * take effect. If not specified, the default value is 300. For more information, * see Cooldown * period in the Application Auto Scaling User Guide.
*/ inline int GetCooldown() const{ return m_cooldown; } /** *The amount of time, in seconds, to wait for a previous scaling activity to * take effect. If not specified, the default value is 300. For more information, * see Cooldown * period in the Application Auto Scaling User Guide.
*/ inline bool CooldownHasBeenSet() const { return m_cooldownHasBeenSet; } /** *The amount of time, in seconds, to wait for a previous scaling activity to * take effect. If not specified, the default value is 300. For more information, * see Cooldown * period in the Application Auto Scaling User Guide.
*/ inline void SetCooldown(int value) { m_cooldownHasBeenSet = true; m_cooldown = value; } /** *The amount of time, in seconds, to wait for a previous scaling activity to * take effect. If not specified, the default value is 300. For more information, * see Cooldown * period in the Application Auto Scaling User Guide.
*/ inline StepScalingPolicyConfiguration& WithCooldown(int value) { SetCooldown(value); return *this;} /** *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
.
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
.
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
.
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
.
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
.
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
.