Class InstanceGroupManagersResource.SuspendInstancesRequest
Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the instanceLifecyclePolicy.metadataBasedReadinessSignal field is set on the Instance Group Manager, each instance will be initialized before it is suspended, to give user programs time to perform necessary tasks. To initialize an instance, the Instance Group Manager sets the metadata key google-compute-initialization-intent to value INITIALIZE_AND_SUSPEND on the instance, and waits for the user program to signal it is ready. This is done by setting the guest attribute path google-compute/initialization-state to value INITIALIZED. If the instance does not signal successful initialization (does not set the guest attribute to INITIALIZED) before timeout, the initialization is considered failed and the instance is not suspended. 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 suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.
Inheritance
Inherited Members
Namespace: Google.Apis.Compute.alpha
Assembly: Google.Apis.Compute.alpha.dll
Syntax
public class SuspendInstancesRequest : ComputeBaseServiceRequest<Operation>, IClientServiceRequest<Operation>, IClientServiceRequest
Constructors
SuspendInstancesRequest(IClientService, InstanceGroupManagersSuspendInstancesRequest, String, String, String)
Constructs a new SuspendInstances request.
Declaration
public SuspendInstancesRequest(IClientService service, InstanceGroupManagersSuspendInstancesRequest body, string project, string zone, string instanceGroupManager)
Parameters
| Type | Name | Description |
|---|---|---|
| IClientService | service | |
| InstanceGroupManagersSuspendInstancesRequest | body | |
| System.String | project | |
| System.String | zone | |
| System.String | instanceGroupManager |
Properties
HttpMethod
Gets the HTTP method.
Declaration
public override string HttpMethod { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Overrides
InstanceGroupManager
The name of the managed instance group.
Declaration
[RequestParameter("instanceGroupManager", RequestParameterType.Path)]
public virtual string InstanceGroupManager { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
MethodName
Gets the method name.
Declaration
public override string MethodName { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Overrides
Project
Project ID for this request.
Declaration
[RequestParameter("project", RequestParameterType.Path)]
public virtual string Project { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
RequestId
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).
Declaration
[RequestParameter("requestId", RequestParameterType.Query)]
public virtual string RequestId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
RestPath
Gets the REST path.
Declaration
public override string RestPath { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Overrides
Zone
The name of the zone where the managed instance group is located.
Declaration
[RequestParameter("zone", RequestParameterType.Path)]
public virtual string Zone { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Methods
GetBody()
Returns the body of the request.
Declaration
protected override object GetBody()
Returns
| Type | Description |
|---|---|
| System.Object |
Overrides
InitParameters()
Initializes SuspendInstances parameter list.
Declaration
protected override void InitParameters()