googleapis
Version:
Google APIs Client Library for Node.js
563 lines (562 loc) • 25.4 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* Google Compute Engine Instance Group Manager API
*
* [Deprecated. Please use Instance Group Manager in Compute API] Provides
* groups of homogenous Compute Engine instances.
*
* @example
* const google = require('googleapis');
* const replicapool = google.replicapool('v1beta2');
*
* @namespace replicapool
* @type {Function}
* @version v1beta2
* @variation v1beta2
* @param {object=} options Options for Replicapool
*/
export declare class Replicapool {
_options: GlobalOptions;
google: GoogleApis;
root: this;
instanceGroupManagers: Resource$Instancegroupmanagers;
zoneOperations: Resource$Zoneoperations;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* An Instance Group Manager resource.
*/
export interface Schema$InstanceGroupManager {
/**
* The autohealing policy for this managed instance group. You can specify
* only one value.
*/
autoHealingPolicies: Schema$ReplicaPoolAutoHealingPolicy[];
/**
* The base instance name to use for instances in this group. The value must
* be a valid RFC1035 name. Supported characters are lowercase letters,
* numbers, and hyphens (-). Instances are named by appending a hyphen and a
* random four-character string to the base instance name.
*/
baseInstanceName: string;
/**
* [Output only] The time the instance group manager was created, in RFC3339
* text format.
*/
creationTimestamp: string;
/**
* [Output only] The number of instances that currently exist and are a part
* of this group. This includes instances that are starting but are not yet
* RUNNING, and instances that are in the process of being deleted or
* abandoned.
*/
currentSize: number;
/**
* An optional textual description of the instance group manager.
*/
description: string;
/**
* [Output only] Fingerprint of the instance group manager. This field is used
* for optimistic locking. An up-to-date fingerprint must be provided in order
* to modify the Instance Group Manager resource.
*/
fingerprint: string;
/**
* [Output only] The full URL of the instance group created by the manager.
* This group contains all of the instances being managed, and cannot contain
* non-managed instances.
*/
group: string;
/**
* [Output only] A server-assigned unique identifier for the resource.
*/
id: string;
/**
* The full URL to an instance template from which all new instances will be
* created.
*/
instanceTemplate: string;
/**
* [Output only] The resource type. Always replicapool#instanceGroupManager.
*/
kind: string;
/**
* The name of the instance group manager. Must be 1-63 characters long and
* comply with RFC1035. Supported characters include lowercase letters,
* numbers, and hyphens.
*/
name: string;
/**
* [Output only] The fully qualified URL for this resource.
*/
selfLink: string;
/**
* The full URL of all target pools to which new instances in the group are
* added. Updating the target pool values does not affect existing instances.
*/
targetPools: string[];
/**
* [Output only] The number of instances that the manager is attempting to
* maintain. Deleting or abandoning instances affects this number, as does
* resizing the group.
*/
targetSize: number;
}
export interface Schema$InstanceGroupManagerList {
/**
* Unique identifier for the resource; defined by the server (output only).
*/
id: string;
/**
* A list of instance resources.
*/
items: Schema$InstanceGroupManager[];
/**
* Type of resource.
*/
kind: string;
/**
* A token used to continue a truncated list request (output only).
*/
nextPageToken: string;
/**
* Server defined URL for this resource (output only).
*/
selfLink: string;
}
export interface Schema$InstanceGroupManagersAbandonInstancesRequest {
/**
* The names of one or more instances to abandon. For example: {
* 'instances': [ 'instance-c3po', 'instance-r2d2' ] }
*/
instances: string[];
}
export interface Schema$InstanceGroupManagersDeleteInstancesRequest {
/**
* Names of instances to delete. Example: 'instance-foo',
* 'instance-bar'
*/
instances: string[];
}
export interface Schema$InstanceGroupManagersRecreateInstancesRequest {
/**
* The names of one or more instances to recreate. For example: {
* 'instances': [ 'instance-c3po', 'instance-r2d2' ] }
*/
instances: string[];
}
export interface Schema$InstanceGroupManagersSetInstanceTemplateRequest {
/**
* The full URL to an Instance Template from which all new instances will be
* created.
*/
instanceTemplate: string;
}
export interface Schema$InstanceGroupManagersSetTargetPoolsRequest {
/**
* The current fingerprint of the Instance Group Manager resource. If this
* does not match the server-side fingerprint of the resource, then the
* request will be rejected.
*/
fingerprint: string;
/**
* A list of fully-qualified URLs to existing Target Pool resources. New
* instances in the Instance Group Manager will be added to the specified
* target pools; existing instances are not affected.
*/
targetPools: string[];
}
/**
* An operation resource, used to manage asynchronous API requests.
*/
export interface Schema$Operation {
/**
* [Output only] An optional identifier specified by the client when the
* mutation was initiated. Must be unique for all operation resources in the
* project.
*/
clientOperationId: string;
/**
* [Output Only] The time that this operation was requested, in RFC3339 text
* format.
*/
creationTimestamp: string;
/**
* [Output Only] The time that this operation was completed, in RFC3339 text
* format.
*/
endTime: string;
/**
* [Output Only] If errors occurred during processing of this operation, this
* field will be populated.
*/
error: any;
/**
* [Output only] If operation fails, the HTTP error message returned.
*/
httpErrorMessage: string;
/**
* [Output only] If operation fails, the HTTP error status code returned.
*/
httpErrorStatusCode: number;
/**
* [Output Only] Unique identifier for the resource, generated by the server.
*/
id: string;
/**
* [Output Only] The time that this operation was requested, in RFC3339 text
* format.
*/
insertTime: string;
/**
* [Output only] Type of the resource.
*/
kind: string;
/**
* [Output Only] Name of the resource.
*/
name: string;
/**
* [Output only] Type of the operation. Operations include insert, update, and
* delete.
*/
operationType: string;
/**
* [Output only] An optional progress indicator that ranges from 0 to 100.
* There is no requirement that this be linear or support any granularity of
* operations. This should not be used to guess at when the operation will be
* complete. This number should be monotonically increasing as the operation
* progresses.
*/
progress: number;
/**
* [Output Only] URL of the region where the operation resides. Only available
* when performing regional operations.
*/
region: string;
/**
* [Output Only] Server-defined fully-qualified URL for this resource.
*/
selfLink: string;
/**
* [Output Only] The time that this operation was started by the server, in
* RFC3339 text format.
*/
startTime: string;
/**
* [Output Only] Status of the operation.
*/
status: string;
/**
* [Output Only] An optional textual description of the current status of the
* operation.
*/
statusMessage: string;
/**
* [Output Only] Unique target ID which identifies a particular incarnation of
* the target.
*/
targetId: string;
/**
* [Output only] URL of the resource the operation is mutating.
*/
targetLink: string;
/**
* [Output Only] User who requested the operation, for example:
* user@example.com.
*/
user: string;
/**
* [Output Only] If there are issues with this operation, a warning is
* returned.
*/
warnings: any[];
/**
* [Output Only] URL of the zone where the operation resides. Only available
* when performing per-zone operations.
*/
zone: string;
}
export interface Schema$OperationList {
/**
* Unique identifier for the resource; defined by the server (output only).
*/
id: string;
/**
* The operation resources.
*/
items: Schema$Operation[];
/**
* Type of resource.
*/
kind: string;
/**
* A token used to continue a truncated list request (output only).
*/
nextPageToken: string;
/**
* Server defined URL for this resource (output only).
*/
selfLink: string;
}
export interface Schema$ReplicaPoolAutoHealingPolicy {
/**
* The action to perform when an instance becomes unhealthy. Possible values
* are RECREATE or REBOOT. RECREATE replaces an unhealthy instance with a new
* instance that is based on the instance template for this managed instance
* group. REBOOT performs a soft reboot on an instance. If the instance cannot
* reboot, the instance performs a hard restart.
*/
actionType: string;
/**
* The URL for the HealthCheck that signals autohealing.
*/
healthCheck: string;
}
export declare class Resource$Instancegroupmanagers {
root: Replicapool;
constructor(root: Replicapool);
getRoot(): Replicapool;
/**
* replicapool.instanceGroupManagers.abandonInstances
* @desc Removes the specified instances from the managed instance group, and
* from any target pools of which they were members, without deleting the
* instances.
* @alias replicapool.instanceGroupManagers.abandonInstances
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManagersAbandonInstancesRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
abandonInstances(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
abandonInstances(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.delete
* @desc Deletes the instance group manager and all instances contained
* within. If you'd like to delete the manager without deleting the instances,
* you must first abandon the instances to remove them from the group.
* @alias replicapool.instanceGroupManagers.delete
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager Name of the Instance Group Manager resource to delete.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
delete(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
delete(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.deleteInstances
* @desc Deletes the specified instances. The instances are deleted, then
* removed from the instance group and any target pools of which they were a
* member. The targetSize of the instance group manager is reduced by the
* number of instances deleted.
* @alias replicapool.instanceGroupManagers.deleteInstances
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManagersDeleteInstancesRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
deleteInstances(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
deleteInstances(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.get
* @desc Returns the specified Instance Group Manager resource.
* @alias replicapool.instanceGroupManagers.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager Name of the instance resource to return.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: any, options?: MethodOptions): AxiosPromise<Schema$InstanceGroupManager>;
get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$InstanceGroupManager>, callback?: BodyResponseCallback<Schema$InstanceGroupManager>): void;
/**
* replicapool.instanceGroupManagers.insert
* @desc Creates an instance group manager, as well as the instance group and
* the specified number of instances.
* @alias replicapool.instanceGroupManagers.insert
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.project The Google Developers Console project name.
* @param {integer} params.size Number of instances that should exist.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManager} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
insert(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
insert(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.list
* @desc Retrieves the list of Instance Group Manager resources contained
* within the specified zone.
* @alias replicapool.instanceGroupManagers.list
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string=} params.filter Optional. Filter expression for filtering listed resources.
* @param {integer=} params.maxResults Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
* @param {string=} params.pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
list(params?: any, options?: MethodOptions): AxiosPromise<Schema$InstanceGroupManagerList>;
list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$InstanceGroupManagerList>, callback?: BodyResponseCallback<Schema$InstanceGroupManagerList>): void;
/**
* replicapool.instanceGroupManagers.recreateInstances
* @desc Recreates the specified instances. The instances are deleted, then
* recreated using the instance group manager's current instance template.
* @alias replicapool.instanceGroupManagers.recreateInstances
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManagersRecreateInstancesRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
recreateInstances(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
recreateInstances(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.resize
* @desc Resizes the managed instance group up or down. If resized up, new
* instances are created using the current instance template. If resized down,
* instances are removed in the order outlined in Resizing a managed instance
* group.
* @alias replicapool.instanceGroupManagers.resize
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {integer} params.size Number of instances that should exist in this Instance Group Manager.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
resize(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
resize(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.setInstanceTemplate
* @desc Sets the instance template to use when creating new instances in this
* group. Existing instances are not affected.
* @alias replicapool.instanceGroupManagers.setInstanceTemplate
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManagersSetInstanceTemplateRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
setInstanceTemplate(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
setInstanceTemplate(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.instanceGroupManagers.setTargetPools
* @desc Modifies the target pools to which all new instances in this group
* are assigned. Existing instances in the group are not affected.
* @alias replicapool.instanceGroupManagers.setTargetPools
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.instanceGroupManager The name of the instance group manager.
* @param {string} params.project The Google Developers Console project name.
* @param {string} params.zone The name of the zone in which the instance group manager resides.
* @param {().InstanceGroupManagersSetTargetPoolsRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
setTargetPools(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
setTargetPools(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
}
export declare class Resource$Zoneoperations {
root: Replicapool;
constructor(root: Replicapool);
getRoot(): Replicapool;
/**
* replicapool.zoneOperations.get
* @desc Retrieves the specified zone-specific operation resource.
* @alias replicapool.zoneOperations.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.operation Name of the operation resource to return.
* @param {string} params.project Name of the project scoping this request.
* @param {string} params.zone Name of the zone scoping this request.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
/**
* replicapool.zoneOperations.list
* @desc Retrieves the list of operation resources contained within the
* specified zone.
* @alias replicapool.zoneOperations.list
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string=} params.filter Optional. Filter expression for filtering listed resources.
* @param {integer=} params.maxResults Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
* @param {string=} params.pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
* @param {string} params.project Name of the project scoping this request.
* @param {string} params.zone Name of the zone scoping this request.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
list(params?: any, options?: MethodOptions): AxiosPromise<Schema$OperationList>;
list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$OperationList>, callback?: BodyResponseCallback<Schema$OperationList>): void;
}