Skip to main content

Autoscaler

Struct Autoscaler 

Source
#[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 */
}
Available on crate features 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
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.
§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

Source

pub fn new() -> Self

Source

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

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 */);
Source

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

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>);
Source

pub fn set_creation_timestamp<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of creation_timestamp.

§Example
let x = Autoscaler::new().set_creation_timestamp("example");
Source

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

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>);
Source

pub fn set_description<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of description.

§Example
let x = Autoscaler::new().set_description("example");
Source

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

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>);
Source

pub fn set_id<T>(self, v: T) -> Self
where T: Into<u64>,

Sets the value of id.

§Example
let x = Autoscaler::new().set_id(42_u32);
Source

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

Sets or clears the value of id.

§Example
let x = Autoscaler::new().set_or_clear_id(Some(42_u32));
let x = Autoscaler::new().set_or_clear_id(None::<u32>);
Source

pub fn set_kind<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of kind.

§Example
let x = Autoscaler::new().set_kind("example");
Source

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

Sets or clears the value of kind.

§Example
let x = Autoscaler::new().set_or_clear_kind(Some("example"));
let x = Autoscaler::new().set_or_clear_kind(None::<String>);
Source

pub fn set_name<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of name.

§Example
let x = Autoscaler::new().set_name("example");
Source

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

Sets or clears the value of name.

§Example
let x = Autoscaler::new().set_or_clear_name(Some("example"));
let x = Autoscaler::new().set_or_clear_name(None::<String>);

Sets the value of recommended_size.

§Example
let x = Autoscaler::new().set_recommended_size(42);

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>);
Source

pub fn set_region<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of region.

§Example
let x = Autoscaler::new().set_region("example");
Source

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

Sets or clears the value of region.

§Example
let x = Autoscaler::new().set_or_clear_region(Some("example"));
let x = Autoscaler::new().set_or_clear_region(None::<String>);
Source

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 */),
]);

Sets the value of self_link.

§Example
let x = Autoscaler::new().set_self_link("example");

Sets or clears the value of self_link.

§Example
let x = Autoscaler::new().set_or_clear_self_link(Some("example"));
let x = Autoscaler::new().set_or_clear_self_link(None::<String>);
Source

pub fn set_status<T>(self, v: T) -> Self
where T: Into<Status>,

Sets the value of status.

§Example
use google_cloud_compute_v1::model::autoscaler::Status;
let x0 = Autoscaler::new().set_status(Status::Deleting);
let x1 = Autoscaler::new().set_status(Status::Error);
let x2 = Autoscaler::new().set_status(Status::Pending);
Source

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

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>);
Source

pub fn set_status_details<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<AutoscalerStatusDetails>,

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 */,
    ]);
Source

pub fn set_target<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of target.

§Example
let x = Autoscaler::new().set_target("example");
Source

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

Sets or clears the value of target.

§Example
let x = Autoscaler::new().set_or_clear_target(Some("example"));
let x = Autoscaler::new().set_or_clear_target(None::<String>);
Source

pub fn set_zone<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of zone.

§Example
let x = Autoscaler::new().set_zone("example");
Source

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

Sets or clears the value of zone.

§Example
let x = Autoscaler::new().set_or_clear_zone(Some("example"));
let x = Autoscaler::new().set_or_clear_zone(None::<String>);

Trait Implementations§

Source§

impl Clone for Autoscaler

Source§

fn clone(&self) -> Autoscaler

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 Autoscaler

Source§

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

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

impl Default for Autoscaler

Source§

fn default() -> Autoscaler

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

impl Message for Autoscaler

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Autoscaler

Source§

fn eq(&self, other: &Autoscaler) -> 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 Autoscaler

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