/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The managed scaling settings for the Auto Scaling group capacity
* provider. When managed scaling is turned on, Amazon ECS manages the
* scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a
* target tracking scaling policy using an Amazon ECS managed CloudWatch metric
* with the specified If managed scaling is off, the user must manage the scaling of
* the Auto Scaling group.targetCapacity
value as the target value for the
* metric. For more information, see Using
* managed scaling in the Amazon Elastic Container Service Developer
* Guide.See Also:
AWS
* API Reference
Determines whether to use managed scaling for the capacity provider.
*/ inline const ManagedScalingStatus& GetStatus() const{ return m_status; } /** *Determines whether to use managed scaling for the capacity provider.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Determines whether to use managed scaling for the capacity provider.
*/ inline void SetStatus(const ManagedScalingStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Determines whether to use managed scaling for the capacity provider.
*/ inline void SetStatus(ManagedScalingStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Determines whether to use managed scaling for the capacity provider.
*/ inline ManagedScaling& WithStatus(const ManagedScalingStatus& value) { SetStatus(value); return *this;} /** *Determines whether to use managed scaling for the capacity provider.
*/ inline ManagedScaling& WithStatus(ManagedScalingStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The target capacity utilization as a percentage for the capacity provider.
* The specified value must be greater than 0
and less than or equal
* to 100
. For example, if you want the capacity provider to maintain
* 10% spare capacity, then that means the utilization is 90%, so use a
* targetCapacity
of 90
. The default value of
* 100
percent results in the Amazon EC2 instances in your Auto
* Scaling group being completely used.
The target capacity utilization as a percentage for the capacity provider.
* The specified value must be greater than 0
and less than or equal
* to 100
. For example, if you want the capacity provider to maintain
* 10% spare capacity, then that means the utilization is 90%, so use a
* targetCapacity
of 90
. The default value of
* 100
percent results in the Amazon EC2 instances in your Auto
* Scaling group being completely used.
The target capacity utilization as a percentage for the capacity provider.
* The specified value must be greater than 0
and less than or equal
* to 100
. For example, if you want the capacity provider to maintain
* 10% spare capacity, then that means the utilization is 90%, so use a
* targetCapacity
of 90
. The default value of
* 100
percent results in the Amazon EC2 instances in your Auto
* Scaling group being completely used.
The target capacity utilization as a percentage for the capacity provider.
* The specified value must be greater than 0
and less than or equal
* to 100
. For example, if you want the capacity provider to maintain
* 10% spare capacity, then that means the utilization is 90%, so use a
* targetCapacity
of 90
. The default value of
* 100
percent results in the Amazon EC2 instances in your Auto
* Scaling group being completely used.
The minimum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter If this
* parameter is omitted, the default value of 1
is used.
When * additional capacity is required, Amazon ECS will scale up the minimum scaling * step size even if the actual demand is less than the minimum scaling step * size.
If you use a capacity provider with an Auto Scaling group * configured with more than one Amazon EC2 instance type or Availability Zone, * Amazon ECS will scale up by the exact minimum scaling step size value and will * ignore both the maximum scaling step size as well as the capacity demand.
*/ inline int GetMinimumScalingStepSize() const{ return m_minimumScalingStepSize; } /** *The minimum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter If this
* parameter is omitted, the default value of 1
is used.
When * additional capacity is required, Amazon ECS will scale up the minimum scaling * step size even if the actual demand is less than the minimum scaling step * size.
If you use a capacity provider with an Auto Scaling group * configured with more than one Amazon EC2 instance type or Availability Zone, * Amazon ECS will scale up by the exact minimum scaling step size value and will * ignore both the maximum scaling step size as well as the capacity demand.
*/ inline bool MinimumScalingStepSizeHasBeenSet() const { return m_minimumScalingStepSizeHasBeenSet; } /** *The minimum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter If this
* parameter is omitted, the default value of 1
is used.
When * additional capacity is required, Amazon ECS will scale up the minimum scaling * step size even if the actual demand is less than the minimum scaling step * size.
If you use a capacity provider with an Auto Scaling group * configured with more than one Amazon EC2 instance type or Availability Zone, * Amazon ECS will scale up by the exact minimum scaling step size value and will * ignore both the maximum scaling step size as well as the capacity demand.
*/ inline void SetMinimumScalingStepSize(int value) { m_minimumScalingStepSizeHasBeenSet = true; m_minimumScalingStepSize = value; } /** *The minimum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter If this
* parameter is omitted, the default value of 1
is used.
When * additional capacity is required, Amazon ECS will scale up the minimum scaling * step size even if the actual demand is less than the minimum scaling step * size.
If you use a capacity provider with an Auto Scaling group * configured with more than one Amazon EC2 instance type or Availability Zone, * Amazon ECS will scale up by the exact minimum scaling step size value and will * ignore both the maximum scaling step size as well as the capacity demand.
*/ inline ManagedScaling& WithMinimumScalingStepSize(int value) { SetMinimumScalingStepSize(value); return *this;} /** *The maximum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter. If this
* parameter is omitted, the default value of 1
is used.
The maximum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter. If this
* parameter is omitted, the default value of 1
is used.
The maximum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter. If this
* parameter is omitted, the default value of 1
is used.
The maximum number of Amazon EC2 instances that Amazon ECS will scale out at
* one time. The scale in process is not affected by this parameter. If this
* parameter is omitted, the default value of 1
is used.
The period of time, in seconds, after a newly launched Amazon EC2 instance
* can contribute to CloudWatch metrics for Auto Scaling group. If this parameter
* is omitted, the default value of 300
seconds is used.
The period of time, in seconds, after a newly launched Amazon EC2 instance
* can contribute to CloudWatch metrics for Auto Scaling group. If this parameter
* is omitted, the default value of 300
seconds is used.
The period of time, in seconds, after a newly launched Amazon EC2 instance
* can contribute to CloudWatch metrics for Auto Scaling group. If this parameter
* is omitted, the default value of 300
seconds is used.
The period of time, in seconds, after a newly launched Amazon EC2 instance
* can contribute to CloudWatch metrics for Auto Scaling group. If this parameter
* is omitted, the default value of 300
seconds is used.