pub struct PredictiveScalingConfiguration {
pub max_capacity_breach_behavior: Option<String>,
pub max_capacity_buffer: Option<i64>,
pub metric_specifications: Vec<PredictiveScalingMetricSpecification>,
pub mode: Option<String>,
pub scheduling_buffer_time: Option<i64>,
}
Expand description
Represents a predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
Fields
max_capacity_breach_behavior: Option<String>
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 forMaxCapacityBuffer
.
max_capacity_buffer: Option<i64>
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.
metric_specifications: Vec<PredictiveScalingMetricSpecification>
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.
mode: Option<String>
The predictive scaling mode. Defaults to ForecastOnly
if not specified.
scheduling_buffer_time: Option<i64>
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.
Trait Implementations
sourceimpl Clone for PredictiveScalingConfiguration
impl Clone for PredictiveScalingConfiguration
sourcefn clone(&self) -> PredictiveScalingConfiguration
fn clone(&self) -> PredictiveScalingConfiguration
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Default for PredictiveScalingConfiguration
impl Default for PredictiveScalingConfiguration
sourcefn default() -> PredictiveScalingConfiguration
fn default() -> PredictiveScalingConfiguration
Returns the “default value” for a type. Read more
sourceimpl PartialEq<PredictiveScalingConfiguration> for PredictiveScalingConfiguration
impl PartialEq<PredictiveScalingConfiguration> for PredictiveScalingConfiguration
sourcefn eq(&self, other: &PredictiveScalingConfiguration) -> bool
fn eq(&self, other: &PredictiveScalingConfiguration) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &PredictiveScalingConfiguration) -> bool
fn ne(&self, other: &PredictiveScalingConfiguration) -> bool
This method tests for !=
.
impl StructuralPartialEq for PredictiveScalingConfiguration
Auto Trait Implementations
impl RefUnwindSafe for PredictiveScalingConfiguration
impl Send for PredictiveScalingConfiguration
impl Sync for PredictiveScalingConfiguration
impl Unpin for PredictiveScalingConfiguration
impl UnwindSafe for PredictiveScalingConfiguration
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more