/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a predictive scaling policy configuration to use with Amazon EC2
* Auto Scaling.See Also:
AWS
* API Reference
This structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline const Aws::VectorThis structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline bool MetricSpecificationsHasBeenSet() const { return m_metricSpecificationsHasBeenSet; } /** *This structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline void SetMetricSpecifications(const Aws::VectorThis structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline void SetMetricSpecifications(Aws::VectorThis structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline PredictiveScalingConfiguration& WithMetricSpecifications(const Aws::VectorThis structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline PredictiveScalingConfiguration& WithMetricSpecifications(Aws::VectorThis structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline PredictiveScalingConfiguration& AddMetricSpecifications(const PredictiveScalingMetricSpecification& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications.push_back(value); return *this; } /** *This structure includes the metrics and target utilization to use for * predictive scaling.
This is an array, but we currently only support a * single metric specification. That is, you can specify a target value and a * single metric pair, or a target value and one scaling metric and one load * metric.
*/ inline PredictiveScalingConfiguration& AddMetricSpecifications(PredictiveScalingMetricSpecification&& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications.push_back(std::move(value)); return *this; } /** *The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The predictive scaling mode. Defaults to ForecastOnly
if not
* specified.
The amount of time, in seconds, by which the instance launch time can be * advanced. For example, the forecast says to add capacity at 10:00 AM, and you * choose to pre-launch instances by 5 minutes. In that case, the instances will be * launched at 9:55 AM. The intention is to give resources time to be provisioned. * It can take a few minutes to launch an EC2 instance. The actual amount of time * required depends on several factors, such as the size of the instance and * whether there are startup scripts to complete.
The value must be less * than the forecast interval duration of 3600 seconds (60 minutes). Defaults to * 300 seconds if not specified.
*/ inline int GetSchedulingBufferTime() const{ return m_schedulingBufferTime; } /** *The amount of time, in seconds, by which the instance launch time can be * advanced. For example, the forecast says to add capacity at 10:00 AM, and you * choose to pre-launch instances by 5 minutes. In that case, the instances will be * launched at 9:55 AM. The intention is to give resources time to be provisioned. * It can take a few minutes to launch an EC2 instance. The actual amount of time * required depends on several factors, such as the size of the instance and * whether there are startup scripts to complete.
The value must be less * than the forecast interval duration of 3600 seconds (60 minutes). Defaults to * 300 seconds if not specified.
*/ inline bool SchedulingBufferTimeHasBeenSet() const { return m_schedulingBufferTimeHasBeenSet; } /** *The amount of time, in seconds, by which the instance launch time can be * advanced. For example, the forecast says to add capacity at 10:00 AM, and you * choose to pre-launch instances by 5 minutes. In that case, the instances will be * launched at 9:55 AM. The intention is to give resources time to be provisioned. * It can take a few minutes to launch an EC2 instance. The actual amount of time * required depends on several factors, such as the size of the instance and * whether there are startup scripts to complete.
The value must be less * than the forecast interval duration of 3600 seconds (60 minutes). Defaults to * 300 seconds if not specified.
*/ inline void SetSchedulingBufferTime(int value) { m_schedulingBufferTimeHasBeenSet = true; m_schedulingBufferTime = value; } /** *The amount of time, in seconds, by which the instance launch time can be * advanced. For example, the forecast says to add capacity at 10:00 AM, and you * choose to pre-launch instances by 5 minutes. In that case, the instances will be * launched at 9:55 AM. The intention is to give resources time to be provisioned. * It can take a few minutes to launch an EC2 instance. The actual amount of time * required depends on several factors, such as the size of the instance and * whether there are startup scripts to complete.
The value must be less * than the forecast interval duration of 3600 seconds (60 minutes). Defaults to * 300 seconds if not specified.
*/ inline PredictiveScalingConfiguration& WithSchedulingBufferTime(int value) { SetSchedulingBufferTime(value); return *this;} /** *Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
Defines the behavior that should be applied if the forecast capacity
* approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults
* to HonorMaxCapacity
if not specified.
The following are * possible values:
HonorMaxCapacity
- Amazon EC2
* Auto Scaling cannot scale out capacity higher than the maximum capacity. The
* maximum capacity is enforced as a hard limit.
* IncreaseMaxCapacity
- Amazon EC2 Auto Scaling can scale out
* capacity higher than the maximum capacity when the forecast capacity is close to
* or exceeds the maximum capacity. The upper limit is determined by the forecasted
* capacity and the value for MaxCapacityBuffer
.
The size of the capacity buffer to use when the forecast capacity is close to * or exceeds the maximum capacity. The value is specified as a percentage relative * to the forecast capacity. For example, if the buffer is 10, this means a 10 * percent buffer, such that if the forecast capacity is 50, and the maximum * capacity is 40, then the effective maximum capacity is 55.
If set to 0, * Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to * equal but not exceed forecast capacity.
Required if the
* MaxCapacityBreachBehavior
property is set to
* IncreaseMaxCapacity
, and cannot be used otherwise.
The size of the capacity buffer to use when the forecast capacity is close to * or exceeds the maximum capacity. The value is specified as a percentage relative * to the forecast capacity. For example, if the buffer is 10, this means a 10 * percent buffer, such that if the forecast capacity is 50, and the maximum * capacity is 40, then the effective maximum capacity is 55.
If set to 0, * Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to * equal but not exceed forecast capacity.
Required if the
* MaxCapacityBreachBehavior
property is set to
* IncreaseMaxCapacity
, and cannot be used otherwise.
The size of the capacity buffer to use when the forecast capacity is close to * or exceeds the maximum capacity. The value is specified as a percentage relative * to the forecast capacity. For example, if the buffer is 10, this means a 10 * percent buffer, such that if the forecast capacity is 50, and the maximum * capacity is 40, then the effective maximum capacity is 55.
If set to 0, * Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to * equal but not exceed forecast capacity.
Required if the
* MaxCapacityBreachBehavior
property is set to
* IncreaseMaxCapacity
, and cannot be used otherwise.
The size of the capacity buffer to use when the forecast capacity is close to * or exceeds the maximum capacity. The value is specified as a percentage relative * to the forecast capacity. For example, if the buffer is 10, this means a 10 * percent buffer, such that if the forecast capacity is 50, and the maximum * capacity is 40, then the effective maximum capacity is 55.
If set to 0, * Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to * equal but not exceed forecast capacity.
Required if the
* MaxCapacityBreachBehavior
property is set to
* IncreaseMaxCapacity
, and cannot be used otherwise.