#[non_exhaustive]
pub struct AutoScalingConfiguration { pub min_node_count: Option<i32>, pub max_node_count: Option<i32>, pub auto_scaling_metric: Option<AutoScalingMetric>, pub metric_target: Option<f64>, pub scale_in_cooldown_seconds: Option<f64>, pub scale_out_cooldown_seconds: Option<f64>, }
Expand description

The configuration based on which FinSpace will scale in or scale out nodes in your cluster.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§min_node_count: Option<i32>

The lowest number of nodes to scale. This value must be at least 1 and less than the maxNodeCount. If the nodes in a cluster belong to multiple availability zones, then minNodeCount must be at least 3.

§max_node_count: Option<i32>

The highest number of nodes to scale. This value cannot be greater than 5.

§auto_scaling_metric: Option<AutoScalingMetric>

The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.

§metric_target: Option<f64>

The desired value of the chosen autoScalingMetric. When the metric drops below this value, the cluster will scale in. When the metric goes above this value, the cluster will scale out. You can set the target value between 1 and 100 percent.

§scale_in_cooldown_seconds: Option<f64>

The duration in seconds that FinSpace will wait after a scale in event before initiating another scaling event.

§scale_out_cooldown_seconds: Option<f64>

The duration in seconds that FinSpace will wait after a scale out event before initiating another scaling event.

Implementations§

source§

impl AutoScalingConfiguration

source

pub fn min_node_count(&self) -> Option<i32>

The lowest number of nodes to scale. This value must be at least 1 and less than the maxNodeCount. If the nodes in a cluster belong to multiple availability zones, then minNodeCount must be at least 3.

source

pub fn max_node_count(&self) -> Option<i32>

The highest number of nodes to scale. This value cannot be greater than 5.

source

pub fn auto_scaling_metric(&self) -> Option<&AutoScalingMetric>

The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.

source

pub fn metric_target(&self) -> Option<f64>

The desired value of the chosen autoScalingMetric. When the metric drops below this value, the cluster will scale in. When the metric goes above this value, the cluster will scale out. You can set the target value between 1 and 100 percent.

source

pub fn scale_in_cooldown_seconds(&self) -> Option<f64>

The duration in seconds that FinSpace will wait after a scale in event before initiating another scaling event.

source

pub fn scale_out_cooldown_seconds(&self) -> Option<f64>

The duration in seconds that FinSpace will wait after a scale out event before initiating another scaling event.

source§

impl AutoScalingConfiguration

source

pub fn builder() -> AutoScalingConfigurationBuilder

Creates a new builder-style object to manufacture AutoScalingConfiguration.

Trait Implementations§

source§

impl Clone for AutoScalingConfiguration

source§

fn clone(&self) -> AutoScalingConfiguration

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AutoScalingConfiguration

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for AutoScalingConfiguration

source§

fn eq(&self, other: &AutoScalingConfiguration) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for AutoScalingConfiguration

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more