[−][src]Struct rusoto_application_autoscaling::StepScalingPolicyConfiguration
Represents a step scaling policy configuration to use with Application Auto Scaling.
Fields
adjustment_type: Option<String>
Specifies whether the ScalingAdjustment
value in a StepAdjustment is an absolute number or a percentage of the current capacity.
AdjustmentType
is required if you are adding a new step scaling policy configuration.
cooldown: Option<i64>
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.
With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.
Application Auto Scaling provides a default value of 300 for the following scalable targets:
-
ECS services
-
Spot Fleet requests
-
EMR clusters
-
AppStream 2.0 fleets
-
Aurora DB clusters
-
Amazon SageMaker endpoint variants
-
Custom resources
For all other scalable targets, the default value is 0:
-
DynamoDB tables
-
DynamoDB global secondary indexes
-
Amazon Comprehend document classification endpoints
-
Lambda provisioned concurrency
-
Amazon Keyspaces tables
metric_aggregation_type: Option<String>
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
.
min_adjustment_magnitude: Option<i64>
The minimum value to scale by when scaling by percentages. 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.
Valid only if the adjustment type is PercentChangeInCapacity
.
step_adjustments: Option<Vec<StepAdjustment>>
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.
Trait Implementations
impl Clone for StepScalingPolicyConfiguration
[src]
pub fn clone(&self) -> StepScalingPolicyConfiguration
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for StepScalingPolicyConfiguration
[src]
impl Default for StepScalingPolicyConfiguration
[src]
pub fn default() -> StepScalingPolicyConfiguration
[src]
impl<'de> Deserialize<'de> for StepScalingPolicyConfiguration
[src]
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl PartialEq<StepScalingPolicyConfiguration> for StepScalingPolicyConfiguration
[src]
pub fn eq(&self, other: &StepScalingPolicyConfiguration) -> bool
[src]
pub fn ne(&self, other: &StepScalingPolicyConfiguration) -> bool
[src]
impl Serialize for StepScalingPolicyConfiguration
[src]
pub fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for StepScalingPolicyConfiguration
[src]
Auto Trait Implementations
impl RefUnwindSafe for StepScalingPolicyConfiguration
[src]
impl Send for StepScalingPolicyConfiguration
[src]
impl Sync for StepScalingPolicyConfiguration
[src]
impl Unpin for StepScalingPolicyConfiguration
[src]
impl UnwindSafe for StepScalingPolicyConfiguration
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,