Skip to main content

AutoscalingPolicyCpuUtilization

Struct AutoscalingPolicyCpuUtilization 

Source
#[non_exhaustive]
pub struct AutoscalingPolicyCpuUtilization { pub predictive_method: Option<PredictiveMethod>, pub utilization_target: Option<f64>, /* private fields */ }
Available on crate features autoscalers or region-autoscalers only.
Expand description

CPU utilization policy.

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.
§predictive_method: Option<PredictiveMethod>

Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:

  • NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.
  • OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.
§utilization_target: Option<f64>

The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is0.6.

If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.

If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.

Implementations§

Source§

impl AutoscalingPolicyCpuUtilization

Source

pub fn new() -> Self

Source

pub fn set_predictive_method<T>(self, v: T) -> Self

Sets the value of predictive_method.

§Example
use google_cloud_compute_v1::model::autoscaling_policy_cpu_utilization::PredictiveMethod;
let x0 = AutoscalingPolicyCpuUtilization::new().set_predictive_method(PredictiveMethod::OptimizeAvailability);
Source

pub fn set_or_clear_predictive_method<T>(self, v: Option<T>) -> Self

Sets or clears the value of predictive_method.

§Example
use google_cloud_compute_v1::model::autoscaling_policy_cpu_utilization::PredictiveMethod;
let x0 = AutoscalingPolicyCpuUtilization::new().set_or_clear_predictive_method(Some(PredictiveMethod::OptimizeAvailability));
let x_none = AutoscalingPolicyCpuUtilization::new().set_or_clear_predictive_method(None::<PredictiveMethod>);
Source

pub fn set_utilization_target<T>(self, v: T) -> Self
where T: Into<f64>,

Sets the value of utilization_target.

§Example
let x = AutoscalingPolicyCpuUtilization::new().set_utilization_target(42.0);
Source

pub fn set_or_clear_utilization_target<T>(self, v: Option<T>) -> Self
where T: Into<f64>,

Sets or clears the value of utilization_target.

§Example
let x = AutoscalingPolicyCpuUtilization::new().set_or_clear_utilization_target(Some(42.0));
let x = AutoscalingPolicyCpuUtilization::new().set_or_clear_utilization_target(None::<f32>);

Trait Implementations§

Source§

impl Clone for AutoscalingPolicyCpuUtilization

Source§

fn clone(&self) -> AutoscalingPolicyCpuUtilization

Returns a duplicate 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 AutoscalingPolicyCpuUtilization

Source§

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

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

impl Default for AutoscalingPolicyCpuUtilization

Source§

fn default() -> AutoscalingPolicyCpuUtilization

Returns the “default value” for a type. Read more
Source§

impl Message for AutoscalingPolicyCpuUtilization

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for AutoscalingPolicyCpuUtilization

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for AutoscalingPolicyCpuUtilization

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

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>,

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,