#[non_exhaustive]pub struct AutoscalingSettings {
pub autoscaling_policies: HashMap<String, AutoscalingPolicy>,
pub min_cluster_node_count: i32,
pub max_cluster_node_count: i32,
pub cool_down_period: Option<Duration>,
/* private fields */
}Expand description
Autoscaling settings define the rules used by VMware Engine to automatically scale-out and scale-in the clusters in a private cloud.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.autoscaling_policies: HashMap<String, AutoscalingPolicy>Required. The map with autoscaling policies applied to the cluster. The key is the identifier of the policy. It must meet the following requirements:
- Only contains 1-63 alphanumeric characters and hyphens
- Begins with an alphabetical character
- Ends with a non-hyphen character
- Not formatted as a UUID
- Complies with RFC 1034 (section 3.5)
Currently there map must contain only one element that describes the autoscaling policy for compute nodes.
min_cluster_node_count: i32Optional. Minimum number of nodes of any type in a cluster. If not specified the default limits apply.
max_cluster_node_count: i32Optional. Maximum number of nodes of any type in a cluster. If not specified the default limits apply.
cool_down_period: Option<Duration>Optional. The minimum duration between consecutive autoscale operations. It starts once addition or removal of nodes is fully completed. Defaults to 30 minutes if not specified. Cool down period must be in whole minutes (for example, 30, 31, 50, 180 minutes).
Implementations§
Source§impl AutoscalingSettings
impl AutoscalingSettings
Sourcepub fn set_autoscaling_policies<T, K, V>(self, v: T) -> Self
pub fn set_autoscaling_policies<T, K, V>(self, v: T) -> Self
Sets the value of autoscaling_policies.
§Example
use google_cloud_vmwareengine_v1::model::autoscaling_settings::AutoscalingPolicy;
let x = AutoscalingSettings::new().set_autoscaling_policies([
("key0", AutoscalingPolicy::default()/* use setters */),
("key1", AutoscalingPolicy::default()/* use (different) setters */),
]);Sourcepub fn set_min_cluster_node_count<T: Into<i32>>(self, v: T) -> Self
pub fn set_min_cluster_node_count<T: Into<i32>>(self, v: T) -> Self
Sets the value of min_cluster_node_count.
§Example
let x = AutoscalingSettings::new().set_min_cluster_node_count(42);Sourcepub fn set_max_cluster_node_count<T: Into<i32>>(self, v: T) -> Self
pub fn set_max_cluster_node_count<T: Into<i32>>(self, v: T) -> Self
Sets the value of max_cluster_node_count.
§Example
let x = AutoscalingSettings::new().set_max_cluster_node_count(42);Sourcepub fn set_cool_down_period<T>(self, v: T) -> Self
pub fn set_cool_down_period<T>(self, v: T) -> Self
Sets the value of cool_down_period.
§Example
use wkt::Duration;
let x = AutoscalingSettings::new().set_cool_down_period(Duration::default()/* use setters */);Sourcepub fn set_or_clear_cool_down_period<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_cool_down_period<T>(self, v: Option<T>) -> Self
Sets or clears the value of cool_down_period.
§Example
use wkt::Duration;
let x = AutoscalingSettings::new().set_or_clear_cool_down_period(Some(Duration::default()/* use setters */));
let x = AutoscalingSettings::new().set_or_clear_cool_down_period(None::<Duration>);Trait Implementations§
Source§impl Clone for AutoscalingSettings
impl Clone for AutoscalingSettings
Source§fn clone(&self) -> AutoscalingSettings
fn clone(&self) -> AutoscalingSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AutoscalingSettings
impl Debug for AutoscalingSettings
Source§impl Default for AutoscalingSettings
impl Default for AutoscalingSettings
Source§fn default() -> AutoscalingSettings
fn default() -> AutoscalingSettings
Source§impl Message for AutoscalingSettings
impl Message for AutoscalingSettings
Source§impl PartialEq for AutoscalingSettings
impl PartialEq for AutoscalingSettings
impl StructuralPartialEq for AutoscalingSettings
Auto Trait Implementations§
impl Freeze for AutoscalingSettings
impl RefUnwindSafe for AutoscalingSettings
impl Send for AutoscalingSettings
impl Sync for AutoscalingSettings
impl Unpin for AutoscalingSettings
impl UnsafeUnpin for AutoscalingSettings
impl UnwindSafe for AutoscalingSettings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request