#[non_exhaustive]pub struct Autoscaler {Show 14 fields
pub autoscaling_policy: Option<AutoscalingPolicy>,
pub creation_timestamp: Option<String>,
pub description: Option<String>,
pub id: Option<u64>,
pub kind: Option<String>,
pub name: Option<String>,
pub recommended_size: Option<i32>,
pub region: Option<String>,
pub scaling_schedule_status: HashMap<String, ScalingScheduleStatus>,
pub self_link: Option<String>,
pub status: Option<Status>,
pub status_details: Vec<AutoscalerStatusDetails>,
pub target: Option<String>,
pub zone: Option<String>,
/* private fields */
}autoscalers or region-autoscalers only.Expand description
Represents an Autoscaler resource.
Google Compute Engine has two Autoscaler resources:
Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances.
For zonal managed instance groups resource, use the autoscaler resource.
For regional managed instance groups, use theregionAutoscalers resource.
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_policy: Option<AutoscalingPolicy>The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization,customMetricUtilizations, andloadBalancingUtilization.
If none of these are specified, the default will be to autoscale based oncpuUtilization to 0.6 or 60%.
creation_timestamp: Option<String>Output only. [Output Only] Creation timestamp inRFC3339 text format.
description: Option<String>An optional description of this resource. Provide this property when you create the resource.
id: Option<u64>Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server.
kind: Option<String>Output only. [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
name: Option<String>Name of the resource. Provided by the client when the resource is created.
The name must be 1-63 characters long, and comply withRFC1035.
Specifically, the name must be 1-63 characters long and match the regular
expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
character must be a lowercase letter, and all following characters must
be a dash, lowercase letter, or digit, except the last character, which
cannot be a dash.
recommended_size: Option<i32>Output only. [Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.
region: Option<String>Output only. [Output Only] URL of theregion where the instance group resides (for autoscalers living in regional scope).
scaling_schedule_status: HashMap<String, ScalingScheduleStatus>Output only. [Output Only] Status information of existing scaling schedules.
self_link: Option<String>[Output Only] Server-defined URL for the resource.
status: Option<Status>[Output Only] The status of the autoscaler configuration. Current set of possible values:
- PENDING: Autoscaler backend hasn’t read new/updated configuration.
- DELETING: Configuration is being deleted.
- ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field.
- ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field.
New values might be added in the future.
status_details: Vec<AutoscalerStatusDetails>[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation forCommonly returned status messages for examples of status messages you might encounter.
target: Option<String>URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.
zone: Option<String>Output only. [Output Only] URL of thezone where the instance group resides (for autoscalers living in zonal scope).
Implementations§
Source§impl Autoscaler
impl Autoscaler
pub fn new() -> Self
Sourcepub fn set_autoscaling_policy<T>(self, v: T) -> Selfwhere
T: Into<AutoscalingPolicy>,
pub fn set_autoscaling_policy<T>(self, v: T) -> Selfwhere
T: Into<AutoscalingPolicy>,
Sets the value of autoscaling_policy.
§Example
use google_cloud_compute_v1::model::AutoscalingPolicy;
let x = Autoscaler::new().set_autoscaling_policy(AutoscalingPolicy::default()/* use setters */);Sourcepub fn set_or_clear_autoscaling_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutoscalingPolicy>,
pub fn set_or_clear_autoscaling_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutoscalingPolicy>,
Sets or clears the value of autoscaling_policy.
§Example
use google_cloud_compute_v1::model::AutoscalingPolicy;
let x = Autoscaler::new().set_or_clear_autoscaling_policy(Some(AutoscalingPolicy::default()/* use setters */));
let x = Autoscaler::new().set_or_clear_autoscaling_policy(None::<AutoscalingPolicy>);Sourcepub fn set_creation_timestamp<T>(self, v: T) -> Self
pub fn set_creation_timestamp<T>(self, v: T) -> Self
Sets the value of creation_timestamp.
§Example
let x = Autoscaler::new().set_creation_timestamp("example");Sourcepub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
Sets or clears the value of creation_timestamp.
§Example
let x = Autoscaler::new().set_or_clear_creation_timestamp(Some("example"));
let x = Autoscaler::new().set_or_clear_creation_timestamp(None::<String>);Sourcepub fn set_description<T>(self, v: T) -> Self
pub fn set_description<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
Sets or clears the value of description.
§Example
let x = Autoscaler::new().set_or_clear_description(Some("example"));
let x = Autoscaler::new().set_or_clear_description(None::<String>);Sourcepub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
Sourcepub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
Sourcepub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
Sourcepub fn set_recommended_size<T>(self, v: T) -> Self
pub fn set_recommended_size<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_recommended_size<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_recommended_size<T>(self, v: Option<T>) -> Self
Sets or clears the value of recommended_size.
§Example
let x = Autoscaler::new().set_or_clear_recommended_size(Some(42));
let x = Autoscaler::new().set_or_clear_recommended_size(None::<i32>);Sourcepub fn set_region<T>(self, v: T) -> Self
pub fn set_region<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_region<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_region<T>(self, v: Option<T>) -> Self
Sourcepub fn set_scaling_schedule_status<T, K, V>(self, v: T) -> Self
pub fn set_scaling_schedule_status<T, K, V>(self, v: T) -> Self
Sets the value of scaling_schedule_status.
§Example
use google_cloud_compute_v1::model::ScalingScheduleStatus;
let x = Autoscaler::new().set_scaling_schedule_status([
("key0", ScalingScheduleStatus::default()/* use setters */),
("key1", ScalingScheduleStatus::default()/* use (different) setters */),
]);Sourcepub fn set_self_link<T>(self, v: T) -> Self
pub fn set_self_link<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_self_link<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_self_link<T>(self, v: Option<T>) -> Self
Sourcepub fn set_status<T>(self, v: T) -> Self
pub fn set_status<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_status<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_status<T>(self, v: Option<T>) -> Self
Sets or clears the value of status.
§Example
use google_cloud_compute_v1::model::autoscaler::Status;
let x0 = Autoscaler::new().set_or_clear_status(Some(Status::Deleting));
let x1 = Autoscaler::new().set_or_clear_status(Some(Status::Error));
let x2 = Autoscaler::new().set_or_clear_status(Some(Status::Pending));
let x_none = Autoscaler::new().set_or_clear_status(None::<Status>);Sourcepub fn set_status_details<T, V>(self, v: T) -> Self
pub fn set_status_details<T, V>(self, v: T) -> Self
Sets the value of status_details.
§Example
use google_cloud_compute_v1::model::AutoscalerStatusDetails;
let x = Autoscaler::new()
.set_status_details([
AutoscalerStatusDetails::default()/* use setters */,
AutoscalerStatusDetails::default()/* use (different) setters */,
]);Sourcepub fn set_target<T>(self, v: T) -> Self
pub fn set_target<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_target<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_target<T>(self, v: Option<T>) -> Self
Trait Implementations§
Source§impl Clone for Autoscaler
impl Clone for Autoscaler
Source§fn clone(&self) -> Autoscaler
fn clone(&self) -> Autoscaler
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more