Class v1.RegionInstanceGroupManagersClient (3.5.0)

Stay organized with collections Save and categorize content based on your preferences.

The RegionInstanceGroupManagers API. v1

Package

@google-cloud/compute

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of RegionInstanceGroupManagersClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

port

static get port(): number;

The port for this API service.

regionInstanceGroupManagersStub

regionInstanceGroupManagersStub?: Promise<{
        [name: string]: Function;
    }>;

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

abandonInstances(request, options)

abandonInstances(request?: protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. 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. You can specify a maximum of 1000 instances with this method per request.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersAbandonInstancesRequestResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callAbandonInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersAbandonInstancesRequestResource,
    };

    // Run request
    const response = await computeClient.abandonInstances(request);
    console.log(response);
  }

  callAbandonInstances();

abandonInstances(request, options, callback)

abandonInstances(request: protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

abandonInstances(request, callback)

abandonInstances(request: protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IAbandonInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

applyUpdatesToInstances(request, options)

applyUpdatesToInstances(request?: protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Apply updates to selected instances the managed instance group.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group, should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request, should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersApplyUpdatesRequestResource = {}

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callApplyUpdatesToInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersApplyUpdatesRequestResource,
    };

    // Run request
    const response = await computeClient.applyUpdatesToInstances(request);
    console.log(response);
  }

  callApplyUpdatesToInstances();

applyUpdatesToInstances(request, options, callback)

applyUpdatesToInstances(request: protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

applyUpdatesToInstances(request, callback)

applyUpdatesToInstances(request: protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IApplyUpdatesToInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

createInstances(request, options)

createInstances(request?: protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.

Parameters
NameDescription
request protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group. It should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  The name of the region where the managed instance group is located. It should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersCreateInstancesRequestResource = {}
  /**
   *  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. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callCreateInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersCreateInstancesRequestResource,
    };

    // Run request
    const response = await computeClient.createInstances(request);
    console.log(response);
  }

  callCreateInstances();

createInstances(request, options, callback)

createInstances(request: protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

createInstances(request, callback)

createInstances(request: protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ICreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

delete(request, options)

delete(request?: protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Deletes the specified managed instance group and all of the instances in that group.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group to delete.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callDelete() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
    };

    // Run request
    const response = await computeClient.delete(request);
    console.log(response);
  }

  callDelete();

delete(request, options, callback)

delete(request: protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

delete(request, callback)

delete(request: protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deleteInstances(request, options)

deleteInstances(request?: protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. 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. You can specify a maximum of 1000 instances with this method per request.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersDeleteInstancesRequestResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callDeleteInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersDeleteInstancesRequestResource,
    };

    // Run request
    const response = await computeClient.deleteInstances(request);
    console.log(response);
  }

  callDeleteInstances();

deleteInstances(request, options, callback)

deleteInstances(request: protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deleteInstances(request, callback)

deleteInstances(request: protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeleteInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deletePerInstanceConfigs(request, options)

deletePerInstanceConfigs(request?: protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Deletes selected per-instance configurations for the managed instance group.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group. It should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request, should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagerDeleteInstanceConfigReqResource = {}

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callDeletePerInstanceConfigs() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagerDeleteInstanceConfigReqResource,
    };

    // Run request
    const response = await computeClient.deletePerInstanceConfigs(request);
    console.log(response);
  }

  callDeletePerInstanceConfigs();

deletePerInstanceConfigs(request, options, callback)

deletePerInstanceConfigs(request: protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

deletePerInstanceConfigs(request, callback)

deletePerInstanceConfigs(request: protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IDeletePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

get(request, options)

get(request?: protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        protos.google.cloud.compute.v1.IInstanceGroupManager,
        (protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | undefined),
        {} | undefined
    ]>;

Returns all of the details about the specified managed instance group.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.compute.v1.IInstanceGroupManager, (protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | undefined), {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [InstanceGroupManager]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group to return.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callGet() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
    };

    // Run request
    const response = await computeClient.get(request);
    console.log(response);
  }

  callGet();

get(request, options, callback)

get(request: protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IInstanceGroupManager, protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IInstanceGroupManager, protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

get(request, callback)

get(request: protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IInstanceGroupManager, protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IInstanceGroupManager, protos.google.cloud.compute.v1.IGetRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

insert(request, options)

insert(request?: protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The body resource for this request
   */
  // const instanceGroupManagerResource = {}
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callInsert() {
    // Construct request
    const request = {
      instanceGroupManagerResource,
      project,
      region,
    };

    // Run request
    const response = await computeClient.insert(request);
    console.log(response);
  }

  callInsert();

insert(request, options, callback)

insert(request: protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

insert(request, callback)

insert(request: protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IInsertRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

list(request, options)

list(request?: protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, options?: CallOptions): Promise<[
        protos.google.cloud.compute.v1.IInstanceGroupManager[],
        protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest | null,
        protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList
    ]>;

Retrieves the list of managed instance groups that are contained within the specified region.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.compute.v1.IInstanceGroupManager[], protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest | null, protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [InstanceGroupManager]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

list(request, options, callback)

list(request: protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList | null | undefined, protos.google.cloud.compute.v1.IInstanceGroupManager>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList | null | undefined, protos.google.cloud.compute.v1.IInstanceGroupManager>
Returns
TypeDescription
void

list(request, callback)

list(request: protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, callback: PaginationCallback<protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList | null | undefined, protos.google.cloud.compute.v1.IInstanceGroupManager>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest
callback PaginationCallback<protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagerList | null | undefined, protos.google.cloud.compute.v1.IInstanceGroupManager>
Returns
TypeDescription
void

listAsync(request, options)

listAsync(request?: protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.compute.v1.IInstanceGroupManager>;

Equivalent to list, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.compute.v1.IInstanceGroupManager>

{Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [InstanceGroupManager]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`,><=`, `="">=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
   */
  // const filter = 'abc123'
  /**
   *  The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
   */
  // const maxResults = 1234
  /**
   *  Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
   */
  // const orderBy = 'abc123'
  /**
   *  Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
   */
  // const pageToken = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
   */
  // const returnPartialSuccess = true

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callList() {
    // Construct request
    const request = {
      project,
      region,
    };

    // Run request
    const iterable = await computeClient.listAsync(request);
    for await (const response of iterable) {
        console.log(response);
    }
  }

  callList();

listErrors(request, options)

listErrors(request?: protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, options?: CallOptions): Promise<[
        protos.google.cloud.compute.v1.IInstanceManagedByIgmError[],
        protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest | null,
        protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse
    ]>;

Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.compute.v1.IInstanceManagedByIgmError[], protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest | null, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [InstanceManagedByIgmError]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listErrorsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listErrors(request, options, callback)

listErrors(request: protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse | null | undefined, protos.google.cloud.compute.v1.IInstanceManagedByIgmError>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse | null | undefined, protos.google.cloud.compute.v1.IInstanceManagedByIgmError>
Returns
TypeDescription
void

listErrors(request, callback)

listErrors(request: protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, callback: PaginationCallback<protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse | null | undefined, protos.google.cloud.compute.v1.IInstanceManagedByIgmError>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest
callback PaginationCallback<protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListErrorsResponse | null | undefined, protos.google.cloud.compute.v1.IInstanceManagedByIgmError>
Returns
TypeDescription
void

listErrorsAsync(request, options)

listErrorsAsync(request?: protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.compute.v1.IInstanceManagedByIgmError>;

Equivalent to listErrors, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.compute.v1.IInstanceManagedByIgmError>

{Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [InstanceManagedByIgmError]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`,><=`, `="">=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
   */
  // const filter = 'abc123'
  /**
   *  The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
   */
  // const maxResults = 1234
  /**
   *  Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
   */
  // const orderBy = 'abc123'
  /**
   *  Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
   */
  // const pageToken = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request. This should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
   */
  // const returnPartialSuccess = true

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callListErrors() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
    };

    // Run request
    const iterable = await computeClient.listErrorsAsync(request);
    for await (const response of iterable) {
        console.log(response);
    }
  }

  callListErrors();

listErrorsStream(request, options)

listErrorsStream(request?: protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListErrorsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [InstanceManagedByIgmError] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listErrorsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listManagedInstances(request, options)

listManagedInstances(request?: protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, options?: CallOptions): Promise<[
        protos.google.cloud.compute.v1.IManagedInstance[],
        protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest | null,
        protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse
    ]>;

Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The pageToken query parameter is supported only in the alpha and beta API and only if the group's listManagedInstancesResults field is set to PAGINATED.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.compute.v1.IManagedInstance[], protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest | null, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [ManagedInstance]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listManagedInstancesAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listManagedInstances(request, options, callback)

listManagedInstances(request: protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse | null | undefined, protos.google.cloud.compute.v1.IManagedInstance>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse | null | undefined, protos.google.cloud.compute.v1.IManagedInstance>
Returns
TypeDescription
void

listManagedInstances(request, callback)

listManagedInstances(request: protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, callback: PaginationCallback<protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse | null | undefined, protos.google.cloud.compute.v1.IManagedInstance>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest
callback PaginationCallback<protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstancesResponse | null | undefined, protos.google.cloud.compute.v1.IManagedInstance>
Returns
TypeDescription
void

listManagedInstancesAsync(request, options)

listManagedInstancesAsync(request?: protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.compute.v1.IManagedInstance>;

Equivalent to listManagedInstances, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.compute.v1.IManagedInstance>

{Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [ManagedInstance]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`,><=`, `="">=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
   */
  // const filter = 'abc123'
  /**
   *  The name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
   */
  // const maxResults = 1234
  /**
   *  Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
   */
  // const orderBy = 'abc123'
  /**
   *  Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
   */
  // const pageToken = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
   */
  // const returnPartialSuccess = true

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callListManagedInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
    };

    // Run request
    const iterable = await computeClient.listManagedInstancesAsync(request);
    for await (const response of iterable) {
        console.log(response);
    }
  }

  callListManagedInstances();

listManagedInstancesStream(request, options)

listManagedInstancesStream(request?: protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListManagedInstancesRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [ManagedInstance] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listManagedInstancesAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listPerInstanceConfigs(request, options)

listPerInstanceConfigs(request?: protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, options?: CallOptions): Promise<[
        protos.google.cloud.compute.v1.IPerInstanceConfig[],
        protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest | null,
        protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp
    ]>;

Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.compute.v1.IPerInstanceConfig[], protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest | null, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp ]>

{Promise} - The promise which resolves to an array. The first element of the array is Array of [PerInstanceConfig]. The client library will perform auto-pagination by default: it will call the API as many times as needed and will merge results from all the pages into this array. Note that it can affect your quota. We recommend using listPerInstanceConfigsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listPerInstanceConfigs(request, options, callback)

listPerInstanceConfigs(request: protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp | null | undefined, protos.google.cloud.compute.v1.IPerInstanceConfig>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest
options CallOptions
callback PaginationCallback<protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp | null | undefined, protos.google.cloud.compute.v1.IPerInstanceConfig>
Returns
TypeDescription
void

listPerInstanceConfigs(request, callback)

listPerInstanceConfigs(request: protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, callback: PaginationCallback<protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp | null | undefined, protos.google.cloud.compute.v1.IPerInstanceConfig>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest
callback PaginationCallback<protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, protos.google.cloud.compute.v1.IRegionInstanceGroupManagersListInstanceConfigsResp | null | undefined, protos.google.cloud.compute.v1.IPerInstanceConfig>
Returns
TypeDescription
void

listPerInstanceConfigsAsync(request, options)

listPerInstanceConfigsAsync(request?: protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.compute.v1.IPerInstanceConfig>;

Equivalent to listPerInstanceConfigs, but returns an iterable object.

for-await-of syntax is used with the iterable to get response elements on-demand.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
AsyncIterable<protos.google.cloud.compute.v1.IPerInstanceConfig>

{Object} An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). When you iterate the returned iterable, each element will be an object representing [PerInstanceConfig]. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`,><=`, `="">=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
   */
  // const filter = 'abc123'
  /**
   *  The name of the managed instance group. It should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
   */
  // const maxResults = 1234
  /**
   *  Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
   */
  // const orderBy = 'abc123'
  /**
   *  Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
   */
  // const pageToken = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request, should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
   */
  // const returnPartialSuccess = true

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callListPerInstanceConfigs() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
    };

    // Run request
    const iterable = await computeClient.listPerInstanceConfigsAsync(request);
    for await (const response of iterable) {
        console.log(response);
    }
  }

  callListPerInstanceConfigs();

listPerInstanceConfigsStream(request, options)

listPerInstanceConfigsStream(request?: protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListPerInstanceConfigsRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [PerInstanceConfig] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listPerInstanceConfigsAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

listStream(request, options)

listStream(request?: protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest, options?: CallOptions): Transform;

Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IListRegionInstanceGroupManagersRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Transform

{Stream} An object stream which emits an object representing [InstanceGroupManager] on 'data' event. The client library will perform auto-pagination by default: it will call the API as many times as needed. Note that it can affect your quota. We recommend using listAsync() method described below for async iteration which you can stop as needed. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) for more details and examples.

patch(request, options)

patch(request?: protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the instance group manager.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  The body resource for this request
   */
  // const instanceGroupManagerResource = {}
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callPatch() {
    // Construct request
    const request = {
      instanceGroupManager,
      instanceGroupManagerResource,
      project,
      region,
    };

    // Run request
    const response = await computeClient.patch(request);
    console.log(response);
  }

  callPatch();

patch(request, options, callback)

patch(request: protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

patch(request, callback)

patch(request: protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

patchPerInstanceConfigs(request, options)

patchPerInstanceConfigs(request?: protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group. It should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request, should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagerPatchInstanceConfigReqResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callPatchPerInstanceConfigs() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagerPatchInstanceConfigReqResource,
    };

    // Run request
    const response = await computeClient.patchPerInstanceConfigs(request);
    console.log(response);
  }

  callPatchPerInstanceConfigs();

patchPerInstanceConfigs(request, options, callback)

patchPerInstanceConfigs(request: protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

patchPerInstanceConfigs(request, callback)

patchPerInstanceConfigs(request: protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IPatchPerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

recreateInstances(request, options)

recreateInstances(request?: protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. 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. You can specify a maximum of 1000 instances with this method per request.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersRecreateRequestResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callRecreateInstances() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersRecreateRequestResource,
    };

    // Run request
    const response = await computeClient.recreateInstances(request);
    console.log(response);
  }

  callRecreateInstances();

recreateInstances(request, options, callback)

recreateInstances(request: protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

recreateInstances(request, callback)

recreateInstances(request: protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IRecreateInstancesRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

resize(request, options)

resize(request?: protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Changes the intended size of 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 one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. 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.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  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).
   */
  // const requestId = 'abc123'
  /**
   *  Number of instances that should exist in this instance group manager.
   */
  // const size = 1234

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callResize() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      size,
    };

    // Run request
    const response = await computeClient.resize(request);
    console.log(response);
  }

  callResize();

resize(request, options, callback)

resize(request: protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

resize(request, callback)

resize(request: protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IResizeRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setInstanceTemplate(request, options)

setInstanceTemplate(request?: protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.

Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersSetTemplateRequestResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callSetInstanceTemplate() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersSetTemplateRequestResource,
    };

    // Run request
    const response = await computeClient.setInstanceTemplate(request);
    console.log(response);
  }

  callSetInstanceTemplate();

setInstanceTemplate(request, options, callback)

setInstanceTemplate(request: protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setInstanceTemplate(request, callback)

setInstanceTemplate(request: protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetInstanceTemplateRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setTargetPools(request, options)

setTargetPools(request?: protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.

Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Name of the managed instance group.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagersSetTargetPoolsRequestResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callSetTargetPools() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagersSetTargetPoolsRequestResource,
    };

    // Run request
    const response = await computeClient.setTargetPools(request);
    console.log(response);
  }

  callSetTargetPools();

setTargetPools(request, options, callback)

setTargetPools(request: protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

setTargetPools(request, callback)

setTargetPools(request: protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.ISetTargetPoolsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updatePerInstanceConfigs(request, options)

updatePerInstanceConfigs(request?: protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.compute.v1.IOperation, null>,
        protos.google.cloud.compute.v1.IOperation | undefined,
        {} | undefined
    ]>;

Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.

Parameters
NameDescription
request protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.compute.v1.IOperation, null>, protos.google.cloud.compute.v1.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples. This method is considered to be in beta. This means while stable it is still a work-in-progress and under active development, and might get backwards-incompatible changes at any time. .promise() is not supported yet.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  The name of the managed instance group. It should conform to RFC1035.
   */
  // const instanceGroupManager = 'abc123'
  /**
   *  Project ID for this request.
   */
  // const project = 'my-project'
  /**
   *  Name of the region scoping this request, should conform to RFC1035.
   */
  // const region = 'us-central1'
  /**
   *  The body resource for this request
   */
  // const regionInstanceGroupManagerUpdateInstanceConfigReqResource = {}
  /**
   *  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).
   */
  // const requestId = 'abc123'

  // Imports the Compute library
  const {RegionInstanceGroupManagersClient} = require('@google-cloud/compute').v1;

  // Instantiates a client
  const computeClient = new RegionInstanceGroupManagersClient();

  async function callUpdatePerInstanceConfigs() {
    // Construct request
    const request = {
      instanceGroupManager,
      project,
      region,
      regionInstanceGroupManagerUpdateInstanceConfigReqResource,
    };

    // Run request
    const response = await computeClient.updatePerInstanceConfigs(request);
    console.log(response);
  }

  callUpdatePerInstanceConfigs();

updatePerInstanceConfigs(request, options, callback)

updatePerInstanceConfigs(request: protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest, options: CallOptions, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest
options CallOptions
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

updatePerInstanceConfigs(request, callback)

updatePerInstanceConfigs(request: protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest, callback: Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest
callback Callback<protos.google.cloud.compute.v1.IOperation, protos.google.cloud.compute.v1.IUpdatePerInstanceConfigsRegionInstanceGroupManagerRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void