@google-cloud/container
Version:
Google Container Engine API client for Node.js
781 lines • 118 kB
TypeScript
import type * as gax from 'google-gax';
import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax';
import { Transform } from 'stream';
import * as protos from '../../protos/protos';
/**
* Google Kubernetes Engine Cluster Manager v1
* @class
* @memberof v1
*/
export declare class ClusterManagerClient {
private _terminated;
private _opts;
private _providedCustomServicePath;
private _gaxModule;
private _gaxGrpc;
private _protos;
private _defaults;
private _universeDomain;
private _servicePath;
private _log;
auth: gax.GoogleAuth;
descriptors: Descriptors;
warn: (code: string, message: string, warnType?: string) => void;
innerApiCalls: {
[name: string]: Function;
};
pathTemplates: {
[name: string]: gax.PathTemplate;
};
clusterManagerStub?: Promise<{
[name: string]: Function;
}>;
/**
* Construct an instance of ClusterManagerClient.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new ClusterManagerClient({fallback: true}, gax);
* ```
*/
constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
/**
* 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 {Promise} A promise that resolves to an authenticated service stub.
*/
initialize(): Promise<{
[name: string]: Function;
}>;
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath(): string;
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint(): string;
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint(): string;
get universeDomain(): string;
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port(): number;
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes(): string[];
getProjectId(): Promise<string>;
getProjectId(callback: Callback<string, undefined, undefined>): void;
/**
* Lists all clusters owned by a project in either the specified zone or all
* zones.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the parent field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides, or "-" for all zones. This field has been
* deprecated and replaced by the parent field.
* @param {string} request.parent
* The parent (project and location) where the clusters will be listed.
* Specified in the format `projects/* /locations/*`.
* Location "-" matches all zones and all regions.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.ListClustersResponse|ListClustersResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.list_clusters.js</caption>
* region_tag:container_v1_generated_ClusterManager_ListClusters_async
*/
listClusters(request?: protos.google.container.v1.IListClustersRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IListClustersResponse,
protos.google.container.v1.IListClustersRequest | undefined,
{} | undefined
]>;
listClusters(request: protos.google.container.v1.IListClustersRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IListClustersResponse, protos.google.container.v1.IListClustersRequest | null | undefined, {} | null | undefined>): void;
listClusters(request: protos.google.container.v1.IListClustersRequest, callback: Callback<protos.google.container.v1.IListClustersResponse, protos.google.container.v1.IListClustersRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets the details of a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to retrieve.
* This field has been deprecated and replaced by the name field.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to retrieve.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Cluster|Cluster}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.get_cluster.js</caption>
* region_tag:container_v1_generated_ClusterManager_GetCluster_async
*/
getCluster(request?: protos.google.container.v1.IGetClusterRequest, options?: CallOptions): Promise<[
protos.google.container.v1.ICluster,
protos.google.container.v1.IGetClusterRequest | undefined,
{} | undefined
]>;
getCluster(request: protos.google.container.v1.IGetClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1.ICluster, protos.google.container.v1.IGetClusterRequest | null | undefined, {} | null | undefined>): void;
getCluster(request: protos.google.container.v1.IGetClusterRequest, callback: Callback<protos.google.container.v1.ICluster, protos.google.container.v1.IGetClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Creates a cluster, consisting of the specified number and type of Google
* Compute Engine instances.
*
* By default, the cluster is created in the project's
* [default
* network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
*
* One firewall is added for the cluster. After cluster creation,
* the Kubelet creates routes for each node to allow the containers
* on that node to communicate with all other instances in the
* cluster.
*
* Finally, an entry is added to the project's global metadata indicating
* which CIDR range the cluster is using.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the parent field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the parent field.
* @param {google.container.v1.Cluster} request.cluster
* Required. A [cluster
* resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
* @param {string} request.parent
* The parent (project and location) where the cluster will be created.
* Specified in the format `projects/* /locations/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.create_cluster.js</caption>
* region_tag:container_v1_generated_ClusterManager_CreateCluster_async
*/
createCluster(request?: protos.google.container.v1.ICreateClusterRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ICreateClusterRequest | undefined,
{} | undefined
]>;
createCluster(request: protos.google.container.v1.ICreateClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ICreateClusterRequest | null | undefined, {} | null | undefined>): void;
createCluster(request: protos.google.container.v1.ICreateClusterRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ICreateClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Updates the settings of a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {google.container.v1.ClusterUpdate} request.update
* Required. A description of the update.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to update.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.update_cluster.js</caption>
* region_tag:container_v1_generated_ClusterManager_UpdateCluster_async
*/
updateCluster(request?: protos.google.container.v1.IUpdateClusterRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.IUpdateClusterRequest | undefined,
{} | undefined
]>;
updateCluster(request: protos.google.container.v1.IUpdateClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateClusterRequest | null | undefined, {} | null | undefined>): void;
updateCluster(request: protos.google.container.v1.IUpdateClusterRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Updates the version and/or image type for the specified node pool.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.nodePoolId
* Deprecated. The name of the node pool to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.nodeVersion
* Required. The Kubernetes version to change the nodes to (typically an
* upgrade).
*
* Users may specify either explicit versions offered by Kubernetes Engine or
* version aliases, which have the following behavior:
*
* - "latest": picks the highest valid Kubernetes version
* - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
* - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
* - "1.X.Y-gke.N": picks an explicit Kubernetes version
* - "-": picks the Kubernetes master version
* @param {string} request.imageType
* Required. The desired image type for the node pool. Please see
* https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
* for available image types.
* @param {string} request.name
* The name (project, location, cluster, node pool) of the node pool to
* update. Specified in the format
* `projects/* /locations/* /clusters/* /nodePools/*`.
* @param {string[]} request.locations
* The desired list of Google Compute Engine
* [zones](https://cloud.google.com/compute/docs/zones#available)
* in which the node pool's nodes should be located. Changing the locations
* for a node pool will result in nodes being either created or removed from
* the node pool, depending on whether locations are being added or removed.
* @param {google.container.v1.WorkloadMetadataConfig} request.workloadMetadataConfig
* The desired workload metadata config for the node pool.
* @param {google.container.v1.NodePool.UpgradeSettings} request.upgradeSettings
* Upgrade settings control disruption and speed of the upgrade.
* @param {google.container.v1.NetworkTags} request.tags
* The desired network tags to be applied to all nodes in the node pool.
* If this field is not present, the tags will not be changed. Otherwise,
* the existing network tags will be *replaced* with the provided tags.
* @param {google.container.v1.NodeTaints} request.taints
* The desired node taints to be applied to all nodes in the node pool.
* If this field is not present, the taints will not be changed. Otherwise,
* the existing node taints will be *replaced* with the provided taints.
* @param {google.container.v1.NodeLabels} request.labels
* The desired node labels to be applied to all nodes in the node pool.
* If this field is not present, the labels will not be changed. Otherwise,
* the existing node labels will be *replaced* with the provided labels.
* @param {google.container.v1.LinuxNodeConfig} request.linuxNodeConfig
* Parameters that can be configured on Linux nodes.
* @param {google.container.v1.NodeKubeletConfig} request.kubeletConfig
* Node kubelet configs.
* @param {google.container.v1.NodeNetworkConfig} request.nodeNetworkConfig
* Node network config.
* @param {google.container.v1.GcfsConfig} request.gcfsConfig
* GCFS config.
* @param {google.container.v1.ConfidentialNodes} request.confidentialNodes
* Confidential nodes config.
* All the nodes in the node pool will be Confidential VM once enabled.
* @param {google.container.v1.VirtualNIC} request.gvnic
* Enable or disable gvnic on the node pool.
* @param {string} request.etag
* The current etag of the node pool.
* If an etag is provided and does not match the current etag of the node
* pool, update will be blocked and an ABORTED error will be returned.
* @param {google.container.v1.FastSocket} request.fastSocket
* Enable or disable NCCL fast socket for the node pool.
* @param {google.container.v1.NodePoolLoggingConfig} request.loggingConfig
* Logging configuration.
* @param {google.container.v1.ResourceLabels} request.resourceLabels
* The resource labels for the node pool to use to annotate any related
* Google Compute Engine resources.
* @param {google.container.v1.WindowsNodeConfig} request.windowsNodeConfig
* Parameters that can be configured on Windows nodes.
* @param {number[]} request.accelerators
* A list of hardware accelerators to be attached to each node.
* See
* https://cloud.google.com/compute/docs/gpus
* for more information about support for GPUs.
* @param {string} [request.machineType]
* Optional. The desired [Google Compute Engine machine
* type](https://cloud.google.com/compute/docs/machine-types)
* for nodes in the node pool. Initiates an upgrade operation that migrates
* the nodes in the node pool to the specified machine type.
* @param {string} [request.diskType]
* Optional. The desired disk type (e.g. 'pd-standard', 'pd-ssd' or
* 'pd-balanced') for nodes in the node pool.
* Initiates an upgrade operation that migrates the nodes in the
* node pool to the specified disk type.
* @param {number} [request.diskSizeGb]
* Optional. The desired disk size for nodes in the node pool specified in GB.
* The smallest allowed disk size is 10GB.
* Initiates an upgrade operation that migrates the nodes in the
* node pool to the specified disk size.
* @param {google.container.v1.ResourceManagerTags} request.resourceManagerTags
* Desired resource manager tag keys and values to be attached to the nodes
* for managing Compute Engine firewalls using Network Firewall Policies.
* Existing tags will be replaced with new values.
* @param {google.container.v1.ContainerdConfig} request.containerdConfig
* The desired containerd config for nodes in the node pool.
* Initiates an upgrade operation that recreates the nodes with the new
* config.
* @param {google.container.v1.NodePool.QueuedProvisioning} request.queuedProvisioning
* Specifies the configuration of queued provisioning.
* @param {string[]} request.storagePools
* List of Storage Pools where boot disks are provisioned.
* Existing Storage Pools will be replaced with storage-pools.
* @param {google.protobuf.Duration} request.maxRunDuration
* The maximum duration for the nodes to exist.
* If unspecified, the nodes can exist indefinitely.
* @param {boolean} request.flexStart
* Flex Start flag for enabling Flex Start VM.
* @param {google.container.v1.BootDisk} request.bootDisk
* The desired boot disk config for nodes in the node pool.
* Initiates an upgrade operation that migrates the nodes in the
* node pool to the specified boot disk config.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.update_node_pool.js</caption>
* region_tag:container_v1_generated_ClusterManager_UpdateNodePool_async
*/
updateNodePool(request?: protos.google.container.v1.IUpdateNodePoolRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.IUpdateNodePoolRequest | undefined,
{} | undefined
]>;
updateNodePool(request: protos.google.container.v1.IUpdateNodePoolRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateNodePoolRequest | null | undefined, {} | null | undefined>): void;
updateNodePool(request: protos.google.container.v1.IUpdateNodePoolRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateNodePoolRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the autoscaling settings for the specified node pool.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.nodePoolId
* Deprecated. The name of the node pool to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {google.container.v1.NodePoolAutoscaling} request.autoscaling
* Required. Autoscaling configuration for the node pool.
* @param {string} request.name
* The name (project, location, cluster, node pool) of the node pool to set
* autoscaler settings. Specified in the format
* `projects/* /locations/* /clusters/* /nodePools/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetNodePoolAutoscaling_async
*/
setNodePoolAutoscaling(request?: protos.google.container.v1.ISetNodePoolAutoscalingRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetNodePoolAutoscalingRequest | undefined,
{} | undefined
]>;
setNodePoolAutoscaling(request: protos.google.container.v1.ISetNodePoolAutoscalingRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetNodePoolAutoscalingRequest | null | undefined, {} | null | undefined>): void;
setNodePoolAutoscaling(request: protos.google.container.v1.ISetNodePoolAutoscalingRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetNodePoolAutoscalingRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the logging service for a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.loggingService
* Required. The logging service the cluster should use to write logs.
* Currently available options:
*
* * `logging.googleapis.com/kubernetes` - The Cloud Logging
* service with a Kubernetes-native resource model
* * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
* available as of GKE 1.15).
* * `none` - no logs will be exported from the cluster.
*
* If left as an empty string,`logging.googleapis.com/kubernetes` will be
* used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to set logging.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_logging_service.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetLoggingService_async
*/
setLoggingService(request?: protos.google.container.v1.ISetLoggingServiceRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetLoggingServiceRequest | undefined,
{} | undefined
]>;
setLoggingService(request: protos.google.container.v1.ISetLoggingServiceRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetLoggingServiceRequest | null | undefined, {} | null | undefined>): void;
setLoggingService(request: protos.google.container.v1.ISetLoggingServiceRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetLoggingServiceRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the monitoring service for a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.monitoringService
* Required. The monitoring service the cluster should use to write metrics.
* Currently available options:
*
* * `monitoring.googleapis.com/kubernetes` - The Cloud Monitoring
* service with a Kubernetes-native resource model
* * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
* longer available as of GKE 1.15).
* * `none` - No metrics will be exported from the cluster.
*
* If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
* used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to set monitoring.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_monitoring_service.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetMonitoringService_async
*/
setMonitoringService(request?: protos.google.container.v1.ISetMonitoringServiceRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetMonitoringServiceRequest | undefined,
{} | undefined
]>;
setMonitoringService(request: protos.google.container.v1.ISetMonitoringServiceRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetMonitoringServiceRequest | null | undefined, {} | null | undefined>): void;
setMonitoringService(request: protos.google.container.v1.ISetMonitoringServiceRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetMonitoringServiceRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the addons for a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {google.container.v1.AddonsConfig} request.addonsConfig
* Required. The desired configurations for the various addons available to
* run in the cluster.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to set addons.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_addons_config.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetAddonsConfig_async
*/
setAddonsConfig(request?: protos.google.container.v1.ISetAddonsConfigRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetAddonsConfigRequest | undefined,
{} | undefined
]>;
setAddonsConfig(request: protos.google.container.v1.ISetAddonsConfigRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetAddonsConfigRequest | null | undefined, {} | null | undefined>): void;
setAddonsConfig(request: protos.google.container.v1.ISetAddonsConfigRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetAddonsConfigRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the locations for a specific cluster.
* Deprecated. Use
* [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)
* instead.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string[]} request.locations
* Required. The desired list of Google Compute Engine
* [zones](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster's nodes should be located. Changing the locations a
* cluster is in will result in nodes being either created or removed from the
* cluster, depending on whether locations are being added or removed.
*
* This list must always include the cluster's primary zone.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to set locations.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_locations.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetLocations_async
* @deprecated SetLocations is deprecated and may be removed in a future version.
*/
setLocations(request?: protos.google.container.v1.ISetLocationsRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetLocationsRequest | undefined,
{} | undefined
]>;
setLocations(request: protos.google.container.v1.ISetLocationsRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetLocationsRequest | null | undefined, {} | null | undefined>): void;
setLocations(request: protos.google.container.v1.ISetLocationsRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetLocationsRequest | null | undefined, {} | null | undefined>): void;
/**
* Updates the master for a specific cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {string} request.masterVersion
* Required. The Kubernetes version to change the master to.
*
* Users may specify either explicit versions offered by Kubernetes Engine or
* version aliases, which have the following behavior:
*
* - "latest": picks the highest valid Kubernetes version
* - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
* - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
* - "1.X.Y-gke.N": picks an explicit Kubernetes version
* - "-": picks the default Kubernetes version
* @param {string} request.name
* The name (project, location, cluster) of the cluster to update.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.update_master.js</caption>
* region_tag:container_v1_generated_ClusterManager_UpdateMaster_async
*/
updateMaster(request?: protos.google.container.v1.IUpdateMasterRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.IUpdateMasterRequest | undefined,
{} | undefined
]>;
updateMaster(request: protos.google.container.v1.IUpdateMasterRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateMasterRequest | null | undefined, {} | null | undefined>): void;
updateMaster(request: protos.google.container.v1.IUpdateMasterRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IUpdateMasterRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets master auth materials. Currently supports changing the admin password
* or a specific cluster, either via password generation or explicitly setting
* the password.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to upgrade.
* This field has been deprecated and replaced by the name field.
* @param {google.container.v1.SetMasterAuthRequest.Action} request.action
* Required. The exact form of action to be taken on the master auth.
* @param {google.container.v1.MasterAuth} request.update
* Required. A description of the update.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to set auth.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.set_master_auth.js</caption>
* region_tag:container_v1_generated_ClusterManager_SetMasterAuth_async
*/
setMasterAuth(request?: protos.google.container.v1.ISetMasterAuthRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.ISetMasterAuthRequest | undefined,
{} | undefined
]>;
setMasterAuth(request: protos.google.container.v1.ISetMasterAuthRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetMasterAuthRequest | null | undefined, {} | null | undefined>): void;
setMasterAuth(request: protos.google.container.v1.ISetMasterAuthRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.ISetMasterAuthRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes the cluster, including the Kubernetes endpoint and all worker
* nodes.
*
* Firewalls and routes that were configured during cluster creation
* are also deleted.
*
* Other Google Compute Engine resources that might be in use by the cluster,
* such as load balancer resources, are not deleted if they weren't present
* when the cluster was initially created.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.projectId
* Deprecated. The Google Developers Console [project ID or project
* number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
* This field has been deprecated and replaced by the name field.
* @param {string} request.zone
* Deprecated. The name of the Google Compute Engine
* [zone](https://cloud.google.com/compute/docs/zones#available)
* in which the cluster resides. This field has been deprecated and replaced
* by the name field.
* @param {string} request.clusterId
* Deprecated. The name of the cluster to delete.
* This field has been deprecated and replaced by the name field.
* @param {string} request.name
* The name (project, location, cluster) of the cluster to delete.
* Specified in the format `projects/* /locations/* /clusters/*`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.container.v1.Operation|Operation}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/cluster_manager.delete_cluster.js</caption>
* region_tag:container_v1_generated_ClusterManager_DeleteCluster_async
*/
deleteCluster(request?: protos.google.container.v1.IDeleteClusterRequest, options?: CallOptions): Promise<[
protos.google.container.v1.IOperation,
protos.google.container.v1.IDeleteClusterRequest | undefined,
{} | undefined
]>;
deleteCluster(request: protos.google.container.v1.IDeleteClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IDeleteClusterRequest | null | undefined, {} | null | undefined>): void;
deleteCluster(request: protos.google.container.v1.IDeleteClusterRequest, callback: Callback<protos.google.container.v1.IOperation, protos.google.container.v1.IDeleteClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Lists all operations in a project in a specific zone or a