UNPKG

@google-cloud/container

Version:
771 lines 122 kB
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 v1beta1 * @class * @memberof v1beta1 */ 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.v1beta1.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/v1beta1/cluster_manager.list_clusters.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_ListClusters_async */ listClusters(request?: protos.google.container.v1beta1.IListClustersRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IListClustersResponse, protos.google.container.v1beta1.IListClustersRequest | undefined, {} | undefined ]>; listClusters(request: protos.google.container.v1beta1.IListClustersRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IListClustersResponse, protos.google.container.v1beta1.IListClustersRequest | null | undefined, {} | null | undefined>): void; listClusters(request: protos.google.container.v1beta1.IListClustersRequest, callback: Callback<protos.google.container.v1beta1.IListClustersResponse, protos.google.container.v1beta1.IListClustersRequest | null | undefined, {} | null | undefined>): void; /** * Gets the details 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 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.v1beta1.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/v1beta1/cluster_manager.get_cluster.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_GetCluster_async */ getCluster(request?: protos.google.container.v1beta1.IGetClusterRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.ICluster, protos.google.container.v1beta1.IGetClusterRequest | undefined, {} | undefined ]>; getCluster(request: protos.google.container.v1beta1.IGetClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.ICluster, protos.google.container.v1beta1.IGetClusterRequest | null | undefined, {} | null | undefined>): void; getCluster(request: protos.google.container.v1beta1.IGetClusterRequest, callback: Callback<protos.google.container.v1beta1.ICluster, protos.google.container.v1beta1.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.v1beta1.Cluster} request.cluster * Required. A [cluster * resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/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.v1beta1.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/v1beta1/cluster_manager.create_cluster.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_CreateCluster_async */ createCluster(request?: protos.google.container.v1beta1.ICreateClusterRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ICreateClusterRequest | undefined, {} | undefined ]>; createCluster(request: protos.google.container.v1beta1.ICreateClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ICreateClusterRequest | null | undefined, {} | null | undefined>): void; createCluster(request: protos.google.container.v1beta1.ICreateClusterRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ICreateClusterRequest | null | undefined, {} | null | undefined>): void; /** * Updates the settings 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.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.update_cluster.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_UpdateCluster_async */ updateCluster(request?: protos.google.container.v1beta1.IUpdateClusterRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateClusterRequest | undefined, {} | undefined ]>; updateCluster(request: protos.google.container.v1beta1.IUpdateClusterRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateClusterRequest | null | undefined, {} | null | undefined>): void; updateCluster(request: protos.google.container.v1beta1.IUpdateClusterRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateClusterRequest | null | undefined, {} | null | undefined>): void; /** * Updates the version and/or image type of a specific 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.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.v1beta1.WorkloadMetadataConfig} request.workloadMetadataConfig * The desired workload metadata config for the node pool. * @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 {google.container.v1beta1.NodePool.UpgradeSettings} request.upgradeSettings * Upgrade settings control disruption and speed of the upgrade. * @param {google.container.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.LinuxNodeConfig} request.linuxNodeConfig * Parameters that can be configured on Linux nodes. * @param {google.container.v1beta1.NodeKubeletConfig} request.kubeletConfig * Node kubelet configs. * @param {google.container.v1beta1.NodeNetworkConfig} request.nodeNetworkConfig * Node network config. * @param {google.container.v1beta1.GcfsConfig} request.gcfsConfig * GCFS config. * @param {google.container.v1beta1.ConfidentialNodes} request.confidentialNodes * Confidential nodes config. * All the nodes in the node pool will be Confidential VM once enabled. * @param {google.container.v1beta1.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.v1beta1.FastSocket} request.fastSocket * Enable or disable NCCL fast socket for the node pool. * @param {google.container.v1beta1.NodePoolLoggingConfig} request.loggingConfig * Logging configuration. * @param {google.container.v1beta1.ResourceLabels} request.resourceLabels * The resource labels for the node pool to use to annotate any related * Google Compute Engine resources. * @param {google.container.v1beta1.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 machine type 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 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. * Initiates an upgrade operation that migrates the nodes in the * node pool to the specified disk size. * @param {google.container.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.update_node_pool.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_UpdateNodePool_async */ updateNodePool(request?: protos.google.container.v1beta1.IUpdateNodePoolRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateNodePoolRequest | undefined, {} | undefined ]>; updateNodePool(request: protos.google.container.v1beta1.IUpdateNodePoolRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateNodePoolRequest | null | undefined, {} | null | undefined>): void; updateNodePool(request: protos.google.container.v1beta1.IUpdateNodePoolRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateNodePoolRequest | null | undefined, {} | null | undefined>): void; /** * Sets the autoscaling settings of a specific 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.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.set_node_pool_autoscaling.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetNodePoolAutoscaling_async */ setNodePoolAutoscaling(request?: protos.google.container.v1beta1.ISetNodePoolAutoscalingRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetNodePoolAutoscalingRequest | undefined, {} | undefined ]>; setNodePoolAutoscaling(request: protos.google.container.v1beta1.ISetNodePoolAutoscalingRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetNodePoolAutoscalingRequest | null | undefined, {} | null | undefined>): void; setNodePoolAutoscaling(request: protos.google.container.v1beta1.ISetNodePoolAutoscalingRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.set_logging_service.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetLoggingService_async */ setLoggingService(request?: protos.google.container.v1beta1.ISetLoggingServiceRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetLoggingServiceRequest | undefined, {} | undefined ]>; setLoggingService(request: protos.google.container.v1beta1.ISetLoggingServiceRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetLoggingServiceRequest | null | undefined, {} | null | undefined>): void; setLoggingService(request: protos.google.container.v1beta1.ISetLoggingServiceRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.set_monitoring_service.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetMonitoringService_async */ setMonitoringService(request?: protos.google.container.v1beta1.ISetMonitoringServiceRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetMonitoringServiceRequest | undefined, {} | undefined ]>; setMonitoringService(request: protos.google.container.v1beta1.ISetMonitoringServiceRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetMonitoringServiceRequest | null | undefined, {} | null | undefined>): void; setMonitoringService(request: protos.google.container.v1beta1.ISetMonitoringServiceRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.set_addons_config.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetAddonsConfig_async */ setAddonsConfig(request?: protos.google.container.v1beta1.ISetAddonsConfigRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetAddonsConfigRequest | undefined, {} | undefined ]>; setAddonsConfig(request: protos.google.container.v1beta1.ISetAddonsConfigRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetAddonsConfigRequest | null | undefined, {} | null | undefined>): void; setAddonsConfig(request: protos.google.container.v1beta1.ISetAddonsConfigRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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/v1beta1/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.v1beta1.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/v1beta1/cluster_manager.set_locations.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetLocations_async * @deprecated SetLocations is deprecated and may be removed in a future version. */ setLocations(request?: protos.google.container.v1beta1.ISetLocationsRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetLocationsRequest | undefined, {} | undefined ]>; setLocations(request: protos.google.container.v1beta1.ISetLocationsRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetLocationsRequest | null | undefined, {} | null | undefined>): void; setLocations(request: protos.google.container.v1beta1.ISetLocationsRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.update_master.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_UpdateMaster_async */ updateMaster(request?: protos.google.container.v1beta1.IUpdateMasterRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateMasterRequest | undefined, {} | undefined ]>; updateMaster(request: protos.google.container.v1beta1.IUpdateMasterRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.IUpdateMasterRequest | null | undefined, {} | null | undefined>): void; updateMaster(request: protos.google.container.v1beta1.IUpdateMasterRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.SetMasterAuthRequest.Action} request.action * Required. The exact form of action to be taken on the master auth. * @param {google.container.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.set_master_auth.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_SetMasterAuth_async */ setMasterAuth(request?: protos.google.container.v1beta1.ISetMasterAuthRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetMasterAuthRequest | undefined, {} | undefined ]>; setMasterAuth(request: protos.google.container.v1beta1.ISetMasterAuthRequest, options: CallOptions, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.ISetMasterAuthRequest | null | undefined, {} | null | undefined>): void; setMasterAuth(request: protos.google.container.v1beta1.ISetMasterAuthRequest, callback: Callback<protos.google.container.v1beta1.IOperation, protos.google.container.v1beta1.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.v1beta1.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/v1beta1/cluster_manager.delete_cluster.js</caption> * region_tag:container_v1beta1_generated_ClusterManager_DeleteCluster_async */ deleteCluster(request?: protos.google.container.v1beta1.IDeleteClusterRequest, options?: CallOptions): Promise<[ protos.google.container.v1beta1.I