[][src]Struct google_compute1::InstanceGroupManagerResizeCall

pub struct InstanceGroupManagerResizeCall<'a, C, A> where
    C: 'a,
    A: 'a, 
{ /* fields omitted */ }

Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.

When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including:

  • The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance.

This list is subject to change.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

A builder for the resize method supported by a instanceGroupManager resource. It is not used directly, but through a InstanceGroupManagerMethods instance.

Example

Instantiate a resource method builder

 
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.instance_group_managers().resize("project", "zone", "instanceGroupManager", -3)
             .request_id("ipsum")
             .doit();

Methods

impl<'a, C, A> InstanceGroupManagerResizeCall<'a, C, A> where
    C: BorrowMut<Client>,
    A: GetToken
[src]

pub fn doit(self) -> Result<(Response, Operation)>[src]

Perform the operation you have build so far.

pub fn project(
    self,
    new_value: &str
) -> InstanceGroupManagerResizeCall<'a, C, A>
[src]

Project ID for this request.

Sets the project path property to the given value.

Even though the property as already been set when instantiating this call, we provide this method for API completeness.

pub fn zone(self, new_value: &str) -> InstanceGroupManagerResizeCall<'a, C, A>[src]

The name of the zone where the managed instance group is located.

Sets the zone path property to the given value.

Even though the property as already been set when instantiating this call, we provide this method for API completeness.

pub fn instance_group_manager(
    self,
    new_value: &str
) -> InstanceGroupManagerResizeCall<'a, C, A>
[src]

The name of the managed instance group.

Sets the instance group manager path property to the given value.

Even though the property as already been set when instantiating this call, we provide this method for API completeness.

pub fn size(self, new_value: i32) -> InstanceGroupManagerResizeCall<'a, C, A>[src]

The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.

Sets the size query property to the given value.

Even though the property as already been set when instantiating this call, we provide this method for API completeness.

pub fn request_id(
    self,
    new_value: &str
) -> InstanceGroupManagerResizeCall<'a, C, A>
[src]

An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

Sets the request id query property to the given value.

pub fn delegate(
    self,
    new_value: &'a mut dyn Delegate
) -> InstanceGroupManagerResizeCall<'a, C, A>
[src]

The delegate implementation is consulted whenever there is an intermediate result, or if something goes wrong while executing the actual API request.

It should be used to handle progress information, and to implement a certain level of resilience.

Sets the delegate property to the given value.

pub fn param<T>(
    self,
    name: T,
    value: T
) -> InstanceGroupManagerResizeCall<'a, C, A> where
    T: AsRef<str>, 
[src]

Set any additional parameter of the query string used in the request. It should be used to set parameters which are not yet available through their own setters.

Please note that this method must not be used to set any of the known parameters which have their own setter method. If done anyway, the request will fail.

Additional Parameters

  • quotaUser (query-string) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
  • oauth_token (query-string) - OAuth 2.0 token for the current user.
  • key (query-string) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • prettyPrint (query-boolean) - Returns response with indentations and line breaks.
  • userIp (query-string) - Deprecated. Please use quotaUser instead.
  • fields (query-string) - Selector specifying which fields to include in a partial response.
  • alt (query-string) - Data format for the response.

pub fn add_scope<T, S>(
    self,
    scope: T
) -> InstanceGroupManagerResizeCall<'a, C, A> where
    T: Into<Option<S>>,
    S: AsRef<str>, 
[src]

Identifies the authorization scope for the method you are building.

Use this method to actively specify which scope should be used, instead the default Scope variant Scope::CloudPlatform.

The scope will be added to a set of scopes. This is important as one can maintain access tokens for more than one scope. If None is specified, then all scopes will be removed and no default scope will be used either. In that case, you have to specify your API-key using the key parameter (see the param() function for details).

Usually there is more than one suitable scope to authorize an operation, some of which may encompass more rights than others. For example, for listing resources, a read-only scope will be sufficient, a read-write scope will do as well.

Trait Implementations

Auto Trait Implementations

impl<'a, C, A> !Send for InstanceGroupManagerResizeCall<'a, C, A>

impl<'a, C, A> Unpin for InstanceGroupManagerResizeCall<'a, C, A>

impl<'a, C, A> !Sync for InstanceGroupManagerResizeCall<'a, C, A>

impl<'a, C, A> !UnwindSafe for InstanceGroupManagerResizeCall<'a, C, A>

impl<'a, C, A> !RefUnwindSafe for InstanceGroupManagerResizeCall<'a, C, A>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.