class Aws::AutoScaling::Types::PredictiveScalingConfiguration

Represents a predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.

@note When making an API call, you may pass PredictiveScalingConfiguration

data as a hash:

    {
      metric_specifications: [ # required
        {
          target_value: 1.0, # required
          predefined_metric_pair_specification: {
            predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
            resource_label: "XmlStringMaxLen1023",
          },
          predefined_scaling_metric_specification: {
            predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
            resource_label: "XmlStringMaxLen1023",
          },
          predefined_load_metric_specification: {
            predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
            resource_label: "XmlStringMaxLen1023",
          },
        },
      ],
      mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
      scheduling_buffer_time: 1,
      max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
      max_capacity_buffer: 1,
    }

@!attribute [rw] metric_specifications

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.
@return [Array<Types::PredictiveScalingMetricSpecification>]

@!attribute [rw] mode

The predictive scaling mode. Defaults to `ForecastOnly` if not
specified.
@return [String]

@!attribute [rw] scheduling_buffer_time

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.
@return [Integer]

@!attribute [rw] max_capacity_breach_behavior

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`.
@return [String]

@!attribute [rw] max_capacity_buffer

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.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingConfiguration AWS API Documentation

Constants

SENSITIVE