From 71c31c31fb1b006ecd05ca2701c9fc6ccb371280 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 25 Jan 2022 19:50:36 +0000 Subject: [PATCH 1/2] fix: reverting unintentional breaking change: GetOpenIdConfigRequest, GetOpenIdConfigResponse PiperOrigin-RevId: 424115592 Source-Link: https://github.com/googleapis/googleapis/commit/853e8a29cecd0816c8b003b299032c3a5168ef8b Source-Link: https://github.com/googleapis/googleapis-gen/commit/8e17f77fb9e4843845bf0ee1d466dcee001cc2c4 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGUxN2Y3N2ZiOWU0ODQzODQ1YmYwZWUxZDQ2NmRjZWUwMDFjYzJjNCJ9 --- owl-bot-staging/v1/.eslintignore | 7 + owl-bot-staging/v1/.eslintrc.json | 3 + owl-bot-staging/v1/.gitignore | 14 + owl-bot-staging/v1/.jsdoc.js | 55 + owl-bot-staging/v1/.mocharc.js | 33 + owl-bot-staging/v1/.prettierrc.js | 22 + owl-bot-staging/v1/README.md | 1 + owl-bot-staging/v1/linkinator.config.json | 10 + owl-bot-staging/v1/package.json | 64 + .../google/container/v1/cluster_service.proto | 3982 +++++++++++++++++ .../v1/cluster_manager.cancel_operation.js | 53 + .../cluster_manager.complete_i_p_rotation.js | 53 + .../v1/cluster_manager.create_cluster.js | 59 + .../v1/cluster_manager.create_node_pool.js | 59 + .../v1/cluster_manager.delete_cluster.js | 53 + .../v1/cluster_manager.delete_node_pool.js | 54 + .../v1/cluster_manager.get_cluster.js | 53 + .../cluster_manager.get_j_s_o_n_web_keys.js | 53 + .../v1/cluster_manager.get_node_pool.js | 54 + .../v1/cluster_manager.get_operation.js | 53 + .../v1/cluster_manager.get_server_config.js | 53 + .../v1/cluster_manager.list_clusters.js | 54 + .../v1/cluster_manager.list_node_pools.js | 53 + .../v1/cluster_manager.list_operations.js | 54 + ...cluster_manager.list_usable_subnetworks.js | 74 + ...ster_manager.rollback_node_pool_upgrade.js | 54 + .../v1/cluster_manager.set_addons_config.js | 59 + .../v1/cluster_manager.set_labels.js | 68 + .../v1/cluster_manager.set_legacy_abac.js | 58 + .../v1/cluster_manager.set_locations.js | 63 + .../v1/cluster_manager.set_logging_service.js | 66 + .../cluster_manager.set_maintenance_policy.js | 78 + .../v1/cluster_manager.set_master_auth.js | 63 + .../cluster_manager.set_monitoring_service.js | 66 + .../v1/cluster_manager.set_network_policy.js | 58 + ...uster_manager.set_node_pool_autoscaling.js | 59 + ...luster_manager.set_node_pool_management.js | 59 + .../v1/cluster_manager.set_node_pool_size.js | 59 + .../v1/cluster_manager.start_i_p_rotation.js | 57 + .../v1/cluster_manager.update_cluster.js | 58 + .../v1/cluster_manager.update_master.js | 65 + .../v1/cluster_manager.update_node_pool.js | 104 + owl-bot-staging/v1/src/index.ts | 25 + .../v1/src/v1/cluster_manager_client.ts | 3295 ++++++++++++++ .../src/v1/cluster_manager_client_config.json | 184 + .../v1/src/v1/cluster_manager_proto_list.json | 3 + owl-bot-staging/v1/src/v1/gapic_metadata.json | 347 ++ owl-bot-staging/v1/src/v1/index.ts | 19 + .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 32 + owl-bot-staging/v1/system-test/install.ts | 49 + .../v1/test/gapic_cluster_manager_v1.ts | 3090 +++++++++++++ owl-bot-staging/v1/tsconfig.json | 19 + owl-bot-staging/v1/webpack.config.js | 64 + 54 files changed, 13271 insertions(+) create mode 100644 owl-bot-staging/v1/.eslintignore create mode 100644 owl-bot-staging/v1/.eslintrc.json create mode 100644 owl-bot-staging/v1/.gitignore create mode 100644 owl-bot-staging/v1/.jsdoc.js create mode 100644 owl-bot-staging/v1/.mocharc.js create mode 100644 owl-bot-staging/v1/.prettierrc.js create mode 100644 owl-bot-staging/v1/README.md create mode 100644 owl-bot-staging/v1/linkinator.config.json create mode 100644 owl-bot-staging/v1/package.json create mode 100644 owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js create mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js create mode 100644 owl-bot-staging/v1/src/index.ts create mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_client.ts create mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_client_config.json create mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json create mode 100644 owl-bot-staging/v1/src/v1/gapic_metadata.json create mode 100644 owl-bot-staging/v1/src/v1/index.ts create mode 100644 owl-bot-staging/v1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/v1/system-test/install.ts create mode 100644 owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts create mode 100644 owl-bot-staging/v1/tsconfig.json create mode 100644 owl-bot-staging/v1/webpack.config.js diff --git a/owl-bot-staging/v1/.eslintignore b/owl-bot-staging/v1/.eslintignore new file mode 100644 index 0000000..cfc348e --- /dev/null +++ b/owl-bot-staging/v1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/v1/.eslintrc.json b/owl-bot-staging/v1/.eslintrc.json new file mode 100644 index 0000000..7821534 --- /dev/null +++ b/owl-bot-staging/v1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/v1/.gitignore b/owl-bot-staging/v1/.gitignore new file mode 100644 index 0000000..5d32b23 --- /dev/null +++ b/owl-bot-staging/v1/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/v1/.jsdoc.js b/owl-bot-staging/v1/.jsdoc.js new file mode 100644 index 0000000..4734dd1 --- /dev/null +++ b/owl-bot-staging/v1/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/container', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/v1/.mocharc.js b/owl-bot-staging/v1/.mocharc.js new file mode 100644 index 0000000..481c522 --- /dev/null +++ b/owl-bot-staging/v1/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/v1/.prettierrc.js b/owl-bot-staging/v1/.prettierrc.js new file mode 100644 index 0000000..494e147 --- /dev/null +++ b/owl-bot-staging/v1/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/v1/README.md b/owl-bot-staging/v1/README.md new file mode 100644 index 0000000..f32441d --- /dev/null +++ b/owl-bot-staging/v1/README.md @@ -0,0 +1 @@ +Container: Nodejs Client diff --git a/owl-bot-staging/v1/linkinator.config.json b/owl-bot-staging/v1/linkinator.config.json new file mode 100644 index 0000000..0121dfa --- /dev/null +++ b/owl-bot-staging/v1/linkinator.config.json @@ -0,0 +1,10 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io" + ], + "silent": true, + "concurrency": 5 +} diff --git a/owl-bot-staging/v1/package.json b/owl-bot-staging/v1/package.json new file mode 100644 index 0000000..2191344 --- /dev/null +++ b/owl-bot-staging/v1/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-cloud/container", + "version": "0.1.0", + "description": "Container client for Node.js", + "repository": "googleapis/nodejs-container", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google container", + "container", + "cluster manager" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^2.28.0" + }, + "devDependencies": { + "@types/mocha": "^9.0.0", + "@types/node": "^14.17.32", + "@types/sinon": "^10.0.6", + "c8": "^7.10.0", + "gts": "^3.1.0", + "jsdoc": "^3.6.7", + "jsdoc-fresh": "^1.1.1", + "jsdoc-region-tag": "^1.3.1", + "linkinator": "^2.14.5", + "mocha": "^9.1.3", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^11.1.2", + "ts-loader": "^9.2.6", + "typescript": "^4.4.4", + "webpack": "^5.62.1", + "webpack-cli": "^4.9.1" + }, + "engines": { + "node": ">=v10.24.0" + } +} diff --git a/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto b/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto new file mode 100644 index 0000000..6dc6eec --- /dev/null +++ b/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto @@ -0,0 +1,3982 @@ +// Copyright 2021 Google LLC +// +// 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. + +syntax = "proto3"; + +package google.container.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; +import "google/rpc/code.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.Container.V1"; +option go_package = "google.golang.org/genproto/googleapis/container/v1;container"; +option java_multiple_files = true; +option java_outer_classname = "ClusterServiceProto"; +option java_package = "com.google.container.v1"; +option php_namespace = "Google\\Cloud\\Container\\V1"; +option ruby_package = "Google::Cloud::Container::V1"; +option (google.api.resource_definition) = { + type: "pubsub.googleapis.com/Topic" + pattern: "projects/{project}/topics/{topic}" +}; + +// Google Kubernetes Engine Cluster Manager v1 +service ClusterManager { + option (google.api.default_host) = "container.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all clusters owned by a project in either the specified zone or all + // zones. + rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/clusters" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/clusters" + } + }; + option (google.api.method_signature) = "project_id,zone"; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a specific cluster. + rpc GetCluster(GetClusterRequest) returns (Cluster) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/clusters/*}" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; + option (google.api.method_signature) = "name"; + } + + // 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. + rpc CreateCluster(CreateClusterRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/clusters" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster"; + option (google.api.method_signature) = "parent,cluster"; + } + + // Updates the settings of a specific cluster. + rpc UpdateCluster(UpdateClusterRequest) returns (Operation) { + option (google.api.http) = { + put: "/v1/{name=projects/*/locations/*/clusters/*}" + body: "*" + additional_bindings { + put: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,update"; + option (google.api.method_signature) = "name,update"; + } + + // Updates the version and/or image type for the specified node pool. + rpc UpdateNodePool(UpdateNodePoolRequest) returns (Operation) { + option (google.api.http) = { + put: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/update" + body: "*" + } + }; + } + + // Sets the autoscaling settings for the specified node pool. + rpc SetNodePoolAutoscaling(SetNodePoolAutoscalingRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setAutoscaling" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/autoscaling" + body: "*" + } + }; + } + + // Sets the logging service for a specific cluster. + rpc SetLoggingService(SetLoggingServiceRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setLogging" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/logging" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,logging_service"; + option (google.api.method_signature) = "name,logging_service"; + } + + // Sets the monitoring service for a specific cluster. + rpc SetMonitoringService(SetMonitoringServiceRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setMonitoring" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/monitoring" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,monitoring_service"; + option (google.api.method_signature) = "name,monitoring_service"; + } + + // Sets the addons for a specific cluster. + rpc SetAddonsConfig(SetAddonsConfigRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setAddons" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/addons" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,addons_config"; + option (google.api.method_signature) = "name,addons_config"; + } + + // 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. + rpc SetLocations(SetLocationsRequest) returns (Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setLocations" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/locations" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,locations"; + option (google.api.method_signature) = "name,locations"; + } + + // Updates the master for a specific cluster. + rpc UpdateMaster(UpdateMasterRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:updateMaster" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/master" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,master_version"; + option (google.api.method_signature) = "name,master_version"; + } + + // Sets master auth materials. Currently supports changing the admin password + // or a specific cluster, either via password generation or explicitly setting + // the password. + rpc SetMasterAuth(SetMasterAuthRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setMasterAuth" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMasterAuth" + body: "*" + } + }; + } + + // 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. + rpc DeleteCluster(DeleteClusterRequest) returns (Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/clusters/*}" + additional_bindings { + delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; + option (google.api.method_signature) = "name"; + } + + // Lists all operations in a project in a specific zone or all zones. + rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/operations" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/operations" + } + }; + option (google.api.method_signature) = "project_id,zone"; + } + + // Gets the specified operation. + rpc GetOperation(GetOperationRequest) returns (Operation) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/operations/*}" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}" + } + }; + option (google.api.method_signature) = "project_id,zone,operation_id"; + option (google.api.method_signature) = "name"; + } + + // Cancels the specified operation. + rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/operations/*}:cancel" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}:cancel" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,operation_id"; + option (google.api.method_signature) = "name"; + } + + // Returns configuration info about the Google Kubernetes Engine service. + rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*}/serverConfig" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/serverconfig" + } + }; + option (google.api.method_signature) = "project_id,zone"; + option (google.api.method_signature) = "name"; + } + + // Gets the public component of the cluster signing keys in + // JSON Web Key format. + // This API is not yet intended for general use, and is not available for all + // clusters. + rpc GetJSONWebKeys(GetJSONWebKeysRequest) returns (GetJSONWebKeysResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/clusters/*}/jwks" + }; + } + + // Lists the node pools for a cluster. + rpc ListNodePools(ListNodePoolsRequest) returns (ListNodePoolsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/clusters/*}/nodePools" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the requested node pool. + rpc GetNodePool(GetNodePoolRequest) returns (NodePool) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" + additional_bindings { + get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; + option (google.api.method_signature) = "name"; + } + + // Creates a node pool for a cluster. + rpc CreateNodePool(CreateNodePoolRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/clusters/*}/nodePools" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool"; + option (google.api.method_signature) = "parent,node_pool"; + } + + // Deletes a node pool from a cluster. + rpc DeleteNodePool(DeleteNodePoolRequest) returns (Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" + additional_bindings { + delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; + option (google.api.method_signature) = "name"; + } + + // Rolls back a previously Aborted or Failed NodePool upgrade. + // This makes no changes if the last upgrade successfully completed. + rpc RollbackNodePoolUpgrade(RollbackNodePoolUpgradeRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:rollback" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}:rollback" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; + option (google.api.method_signature) = "name"; + } + + // Sets the NodeManagement options for a node pool. + rpc SetNodePoolManagement(SetNodePoolManagementRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setManagement" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setManagement" + body: "*" + } + }; + } + + // Sets labels on a cluster. + rpc SetLabels(SetLabelsRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setResourceLabels" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/resourceLabels" + body: "*" + } + }; + } + + // Enables or disables the ABAC authorization mechanism on a cluster. + rpc SetLegacyAbac(SetLegacyAbacRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setLegacyAbac" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/legacyAbac" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,enabled"; + option (google.api.method_signature) = "name,enabled"; + } + + // Starts master IP rotation. + rpc StartIPRotation(StartIPRotationRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:startIpRotation" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:startIpRotation" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; + option (google.api.method_signature) = "name"; + } + + // Completes master IP rotation. + rpc CompleteIPRotation(CompleteIPRotationRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:completeIpRotation" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:completeIpRotation" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; + option (google.api.method_signature) = "name"; + } + + // Sets the size for a specific node pool. The new size will be used for all + // replicas, including future replicas created by modifying + // [NodePool.locations][google.container.v1.NodePool.locations]. + rpc SetNodePoolSize(SetNodePoolSizeRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setSize" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setSize" + body: "*" + } + }; + } + + // Enables or disables Network Policy for a cluster. + rpc SetNetworkPolicy(SetNetworkPolicyRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setNetworkPolicy" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setNetworkPolicy" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,network_policy"; + option (google.api.method_signature) = "name,network_policy"; + } + + // Sets the maintenance policy for a cluster. + rpc SetMaintenancePolicy(SetMaintenancePolicyRequest) returns (Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*}:setMaintenancePolicy" + body: "*" + additional_bindings { + post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMaintenancePolicy" + body: "*" + } + }; + option (google.api.method_signature) = "project_id,zone,cluster_id,maintenance_policy"; + option (google.api.method_signature) = "name,maintenance_policy"; + } + + // Lists subnetworks that are usable for creating clusters in a project. + rpc ListUsableSubnetworks(ListUsableSubnetworksRequest) returns (ListUsableSubnetworksResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*}/aggregated/usableSubnetworks" + }; + } +} + +// Parameters that can be configured on Linux nodes. +message LinuxNodeConfig { + // The Linux kernel parameters to be applied to the nodes and all pods running + // on the nodes. + // + // The following parameters are supported. + // + // net.core.netdev_max_backlog + // net.core.rmem_max + // net.core.wmem_default + // net.core.wmem_max + // net.core.optmem_max + // net.core.somaxconn + // net.ipv4.tcp_rmem + // net.ipv4.tcp_wmem + // net.ipv4.tcp_tw_reuse + map sysctls = 1; +} + +// Node kubelet configs. +message NodeKubeletConfig { + // Control the CPU management policy on the node. + // See + // https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ + // + // The following values are allowed. + // * "none": the default, which represents the existing scheduling behavior. + // * "static": allows pods with certain resource characteristics to be granted + // increased CPU affinity and exclusivity on the node. + // The default value is 'none' if unspecified. + string cpu_manager_policy = 1; + + // Enable CPU CFS quota enforcement for containers that specify CPU limits. + // + // This option is enabled by default which makes kubelet use CFS quota + // (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to + // enforce container CPU limits. Otherwise, CPU limits will not be enforced at + // all. + // + // Disable this option to mitigate CPU throttling problems while still having + // your pods to be in Guaranteed QoS class by specifying the CPU limits. + // + // The default value is 'true' if unspecified. + google.protobuf.BoolValue cpu_cfs_quota = 2; + + // Set the CPU CFS quota period value 'cpu.cfs_period_us'. + // + // The string must be a sequence of decimal numbers, each with optional + // fraction and a unit suffix, such as "300ms". + // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". + // The value must be a positive duration. + string cpu_cfs_quota_period = 3; +} + +// Parameters that describe the nodes in a cluster. +message NodeConfig { + // The name of a Google Compute Engine [machine + // type](https://cloud.google.com/compute/docs/machine-types) + // + // If unspecified, the default machine type is `e2-medium`. + string machine_type = 1; + + // Size of the disk attached to each node, specified in GB. + // The smallest allowed disk size is 10GB. + // + // If unspecified, the default disk size is 100GB. + int32 disk_size_gb = 2; + + // The set of Google API scopes to be made available on all of the + // node VMs under the "default" service account. + // + // The following scopes are recommended, but not required, and by default are + // not included: + // + // * `https://www.googleapis.com/auth/compute` is required for mounting + // persistent storage on your nodes. + // * `https://www.googleapis.com/auth/devstorage.read_only` is required for + // communicating with **gcr.io** + // (the [Google Container + // Registry](https://cloud.google.com/container-registry/)). + // + // If unspecified, no scopes are added, unless Cloud Logging or Cloud + // Monitoring are enabled, in which case their required scopes will be added. + repeated string oauth_scopes = 3; + + // The Google Cloud Platform Service Account to be used by the node VMs. + // Specify the email address of the Service Account; otherwise, if no Service + // Account is specified, the "default" service account is used. + string service_account = 9; + + // The metadata key/value pairs assigned to instances in the cluster. + // + // Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes + // in length. These are reflected as part of a URL in the metadata server. + // Additionally, to avoid ambiguity, keys must not conflict with any other + // metadata keys for the project or be one of the reserved keys: + // - "cluster-location" + // - "cluster-name" + // - "cluster-uid" + // - "configure-sh" + // - "containerd-configure-sh" + // - "enable-os-login" + // - "gci-ensure-gke-docker" + // - "gci-metrics-enabled" + // - "gci-update-strategy" + // - "instance-template" + // - "kube-env" + // - "startup-script" + // - "user-data" + // - "disable-address-manager" + // - "windows-startup-script-ps1" + // - "common-psm1" + // - "k8s-node-setup-psm1" + // - "install-ssh-psm1" + // - "user-profile-psm1" + // + // Values are free-form strings, and only have meaning as interpreted by + // the image running in the instance. The only restriction placed on them is + // that each value's size must be less than or equal to 32 KB. + // + // The total size of all keys and values must be less than 512 KB. + map metadata = 4; + + // The image type to use for this node. Note that for a given image type, + // the latest version of it will be used. + string image_type = 5; + + // The map of Kubernetes labels (key/value pairs) to be applied to each node. + // These will added in addition to any default label(s) that + // Kubernetes may apply to the node. + // In case of conflict in label keys, the applied set may differ depending on + // the Kubernetes version -- it's best to assume the behavior is undefined + // and conflicts should be avoided. + // For more information, including usage and the valid values, see: + // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + map labels = 6; + + // The number of local SSD disks to be attached to the node. + // + // The limit for this value is dependent upon the maximum number of + // disks available on a machine per zone. See: + // https://cloud.google.com/compute/docs/disks/local-ssd + // for more information. + int32 local_ssd_count = 7; + + // The list of instance tags applied to all nodes. Tags are used to identify + // valid sources or targets for network firewalls and are specified by + // the client during cluster or node pool creation. Each tag within the list + // must comply with RFC1035. + repeated string tags = 8; + + // Whether the nodes are created as preemptible VM instances. See: + // https://cloud.google.com/compute/docs/instances/preemptible for more + // information about preemptible VM instances. + bool preemptible = 10; + + // 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. + repeated AcceleratorConfig accelerators = 11; + + // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or + // 'pd-balanced') + // + // If unspecified, the default disk type is 'pd-standard' + string disk_type = 12; + + // Minimum CPU platform to be used by this instance. The instance may be + // scheduled on the specified or newer CPU platform. Applicable values are the + // friendly names of CPU platforms, such as + // `minCpuPlatform: "Intel Haswell"` or + // `minCpuPlatform: "Intel Sandy Bridge"`. For more + // information, read [how to specify min CPU + // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + string min_cpu_platform = 13; + + // The workload metadata configuration for this node. + WorkloadMetadataConfig workload_metadata_config = 14; + + // List of kubernetes taints to be applied to each node. + // + // For more information, including usage and the valid values, see: + // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + repeated NodeTaint taints = 15; + + // Sandbox configuration for this node. + SandboxConfig sandbox_config = 17; + + // Setting this field will assign instances of this + // pool to run on the specified node group. This is useful for running + // workloads on [sole tenant + // nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + string node_group = 18; + + // The optional reservation affinity. Setting this field will apply + // the specified [Zonal Compute + // Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) + // to this node pool. + ReservationAffinity reservation_affinity = 19; + + // Shielded Instance options. + ShieldedInstanceConfig shielded_instance_config = 20; + + // Parameters that can be configured on Linux nodes. + LinuxNodeConfig linux_node_config = 21; + + // Node kubelet configs. + NodeKubeletConfig kubelet_config = 22; + + // + // The Customer Managed Encryption Key used to encrypt the boot disk attached + // to each node in the node pool. This should be of the form + // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. + // For more information about protecting resources with Cloud KMS Keys please + // see: + // https://cloud.google.com/compute/docs/disks/customer-managed-encryption + string boot_disk_kms_key = 23; + + // Google Container File System (image streaming) configs. + GcfsConfig gcfs_config = 25; + + // Advanced features for the Compute Engine VM. + AdvancedMachineFeatures advanced_machine_features = 26; + + // Enable or disable gvnic in the node pool. + VirtualNIC gvnic = 29; +} + +// Specifies options for controlling advanced machine features. +message AdvancedMachineFeatures { + // The number of threads per physical core. To disable simultaneous + // multithreading (SMT) set this to 1. If unset, the maximum number of threads + // supported per core by the underlying processor is assumed. + optional int64 threads_per_core = 1; +} + +// Parameters for node pool-level network config. +message NodeNetworkConfig { + // Input only. Whether to create a new range for pod IPs in this node pool. + // Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they + // are not specified. + // + // If neither `create_pod_range` or `pod_range` are specified, the + // cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is + // used. + // + // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. + // + // This field cannot be changed after the node pool has been created. + bool create_pod_range = 4 [(google.api.field_behavior) = INPUT_ONLY]; + + // The ID of the secondary range for pod IPs. + // If `create_pod_range` is true, this ID is used for the new range. + // If `create_pod_range` is false, uses an existing secondary range with this + // ID. + // + // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. + // + // This field cannot be changed after the node pool has been created. + string pod_range = 5; + + // The IP address range for pod IPs in this node pool. + // + // Only applicable if `create_pod_range` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a specific + // netmask. + // + // Set to a + // [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`) to pick a specific range to use. + // + // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. + // + // This field cannot be changed after the node pool has been created. + string pod_ipv4_cidr_block = 6; +} + +// A set of Shielded Instance options. +message ShieldedInstanceConfig { + // Defines whether the instance has Secure Boot enabled. + // + // Secure Boot helps ensure that the system only runs authentic software by + // verifying the digital signature of all boot components, and halting the + // boot process if signature verification fails. + bool enable_secure_boot = 1; + + // Defines whether the instance has integrity monitoring enabled. + // + // Enables monitoring and attestation of the boot integrity of the instance. + // The attestation is performed against the integrity policy baseline. This + // baseline is initially derived from the implicitly trusted boot image when + // the instance is created. + bool enable_integrity_monitoring = 2; +} + +// SandboxConfig contains configurations of the sandbox to use for the node. +message SandboxConfig { + // Possible types of sandboxes. + enum Type { + // Default value. This should not be used. + UNSPECIFIED = 0; + + // Run sandbox using gvisor. + GVISOR = 1; + } + + // Type of the sandbox to use for the node. + Type type = 2; +} + +// GcfsConfig contains configurations of Google Container File System +// (image streaming). +message GcfsConfig { + // Whether to use GCFS. + bool enabled = 1; +} + +// [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) +// is the configuration of desired reservation which instances could take +// capacity from. +message ReservationAffinity { + // Indicates whether to consume capacity from a reservation or not. + enum Type { + // Default value. This should not be used. + UNSPECIFIED = 0; + + // Do not consume from any reserved capacity. + NO_RESERVATION = 1; + + // Consume any reservation available. + ANY_RESERVATION = 2; + + // Must consume from a specific reservation. Must specify key value fields + // for specifying the reservations. + SPECIFIC_RESERVATION = 3; + } + + // Corresponds to the type of reservation consumption. + Type consume_reservation_type = 1; + + // Corresponds to the label key of a reservation resource. To target a + // SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as + // the key and specify the name of your reservation as its value. + string key = 2; + + // Corresponds to the label value(s) of reservation resource(s). + repeated string values = 3; +} + +// Kubernetes taint is comprised of three fields: key, value, and effect. Effect +// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. +// +// See +// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) +// for more information, including usage and the valid values. +message NodeTaint { + // Possible values for Effect in taint. + enum Effect { + // Not set + EFFECT_UNSPECIFIED = 0; + + // NoSchedule + NO_SCHEDULE = 1; + + // PreferNoSchedule + PREFER_NO_SCHEDULE = 2; + + // NoExecute + NO_EXECUTE = 3; + } + + // Key for taint. + string key = 1; + + // Value for taint. + string value = 2; + + // Effect for taint. + Effect effect = 3; +} + +// The authentication information for accessing the master endpoint. +// Authentication can be done using HTTP basic auth or using client +// certificates. +message MasterAuth { + // The username to use for HTTP basic authentication to the master endpoint. + // For clusters v1.6.0 and later, basic authentication can be disabled by + // leaving username unspecified (or setting it to the empty string). + // + // Warning: basic authentication is deprecated, and will be removed in GKE + // control plane versions 1.19 and newer. For a list of recommended + // authentication methods, see: + // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication + string username = 1 [deprecated = true]; + + // The password to use for HTTP basic authentication to the master endpoint. + // Because the master endpoint is open to the Internet, you should create a + // strong password. If a password is provided for cluster creation, username + // must be non-empty. + // + // Warning: basic authentication is deprecated, and will be removed in GKE + // control plane versions 1.19 and newer. For a list of recommended + // authentication methods, see: + // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication + string password = 2 [deprecated = true]; + + // Configuration for client certificate authentication on the cluster. For + // clusters before v1.12, if no configuration is specified, a client + // certificate is issued. + ClientCertificateConfig client_certificate_config = 3; + + // [Output only] Base64-encoded public certificate that is the root of + // trust for the cluster. + string cluster_ca_certificate = 100; + + // [Output only] Base64-encoded public certificate used by clients to + // authenticate to the cluster endpoint. + string client_certificate = 101; + + // [Output only] Base64-encoded private key used by clients to authenticate + // to the cluster endpoint. + string client_key = 102; +} + +// Configuration for client certificates on the cluster. +message ClientCertificateConfig { + // Issue a client certificate. + bool issue_client_certificate = 1; +} + +// Configuration for the addons that can be automatically spun up in the +// cluster, enabling additional functionality. +message AddonsConfig { + // Configuration for the HTTP (L7) load balancing controller addon, which + // makes it easy to set up HTTP load balancers for services in a cluster. + HttpLoadBalancing http_load_balancing = 1; + + // Configuration for the horizontal pod autoscaling feature, which + // increases or decreases the number of replica pods a replication controller + // has based on the resource usage of the existing pods. + HorizontalPodAutoscaling horizontal_pod_autoscaling = 2; + + // Configuration for the Kubernetes Dashboard. + // This addon is deprecated, and will be disabled in 1.15. It is recommended + // to use the Cloud Console to manage and monitor your Kubernetes clusters, + // workloads and applications. For more information, see: + // https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards + KubernetesDashboard kubernetes_dashboard = 3 [deprecated = true]; + + // Configuration for NetworkPolicy. This only tracks whether the addon + // is enabled or not on the Master, it does not track whether network policy + // is enabled for the nodes. + NetworkPolicyConfig network_policy_config = 4; + + // Configuration for the Cloud Run addon, which allows the user to use a + // managed Knative service. + CloudRunConfig cloud_run_config = 7; + + // Configuration for NodeLocalDNS, a dns cache running on cluster nodes + DnsCacheConfig dns_cache_config = 8; + + // Configuration for the ConfigConnector add-on, a Kubernetes + // extension to manage hosted GCP services through the Kubernetes API + ConfigConnectorConfig config_connector_config = 10; + + // Configuration for the Compute Engine Persistent Disk CSI driver. + GcePersistentDiskCsiDriverConfig gce_persistent_disk_csi_driver_config = 11; + + // Configuration for the GCP Filestore CSI driver. + GcpFilestoreCsiDriverConfig gcp_filestore_csi_driver_config = 14; +} + +// Configuration options for the HTTP (L7) load balancing controller addon, +// which makes it easy to set up HTTP load balancers for services in a cluster. +message HttpLoadBalancing { + // Whether the HTTP Load Balancing controller is enabled in the cluster. + // When enabled, it runs a small pod in the cluster that manages the load + // balancers. + bool disabled = 1; +} + +// Configuration options for the horizontal pod autoscaling feature, which +// increases or decreases the number of replica pods a replication controller +// has based on the resource usage of the existing pods. +message HorizontalPodAutoscaling { + // Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. + // When enabled, it ensures that metrics are collected into Stackdriver + // Monitoring. + bool disabled = 1; +} + +// Configuration for the Kubernetes Dashboard. +message KubernetesDashboard { + // Whether the Kubernetes Dashboard is enabled for this cluster. + bool disabled = 1; +} + +// Configuration for NetworkPolicy. This only tracks whether the addon +// is enabled or not on the Master, it does not track whether network policy +// is enabled for the nodes. +message NetworkPolicyConfig { + // Whether NetworkPolicy is enabled for this cluster. + bool disabled = 1; +} + +// Configuration for NodeLocal DNSCache +message DnsCacheConfig { + // Whether NodeLocal DNSCache is enabled for this cluster. + bool enabled = 1; +} + +// Configuration for controlling master global access settings. +message PrivateClusterMasterGlobalAccessConfig { + // Whenever master is accessible globally or not. + bool enabled = 1; +} + +// Configuration options for private clusters. +message PrivateClusterConfig { + // Whether nodes have internal IP addresses only. If enabled, all nodes are + // given only RFC 1918 private addresses and communicate with the master via + // private networking. + bool enable_private_nodes = 1; + + // Whether the master's internal IP address is used as the cluster endpoint. + bool enable_private_endpoint = 2; + + // The IP range in CIDR notation to use for the hosted master network. This + // range will be used for assigning internal IP addresses to the master or + // set of masters, as well as the ILB VIP. This range must not overlap with + // any other ranges in use within the cluster's network. + string master_ipv4_cidr_block = 3; + + // Output only. The internal IP address of this cluster's master endpoint. + string private_endpoint = 4; + + // Output only. The external IP address of this cluster's master endpoint. + string public_endpoint = 5; + + // Output only. The peering name in the customer VPC used by this cluster. + string peering_name = 7; + + // Controls master global access settings. + PrivateClusterMasterGlobalAccessConfig master_global_access_config = 8; +} + +// Configuration for returning group information from authenticators. +message AuthenticatorGroupsConfig { + // Whether this cluster should return group membership lookups + // during authentication using a group of security groups. + bool enabled = 1; + + // The name of the security group-of-groups to be used. Only relevant + // if enabled = true. + string security_group = 2; +} + +// Configuration options for the Cloud Run feature. +message CloudRunConfig { + // Load balancer type of ingress service of Cloud Run. + enum LoadBalancerType { + // Load balancer type for Cloud Run is unspecified. + LOAD_BALANCER_TYPE_UNSPECIFIED = 0; + + // Install external load balancer for Cloud Run. + LOAD_BALANCER_TYPE_EXTERNAL = 1; + + // Install internal load balancer for Cloud Run. + LOAD_BALANCER_TYPE_INTERNAL = 2; + } + + // Whether Cloud Run addon is enabled for this cluster. + bool disabled = 1; + + // Which load balancer type is installed for Cloud Run. + LoadBalancerType load_balancer_type = 3; +} + +// Configuration options for the Config Connector add-on. +message ConfigConnectorConfig { + // Whether Cloud Connector is enabled for this cluster. + bool enabled = 1; +} + +// Configuration for the Compute Engine PD CSI driver. +message GcePersistentDiskCsiDriverConfig { + // Whether the Compute Engine PD CSI driver is enabled for this cluster. + bool enabled = 1; +} + +// Configuration for the GCP Filestore CSI driver. +message GcpFilestoreCsiDriverConfig { + // Whether the GCP Filestore CSI driver is enabled for this cluster. + bool enabled = 1; +} + +// Configuration options for the master authorized networks feature. Enabled +// master authorized networks will disallow all external traffic to access +// Kubernetes master through HTTPS except traffic from the given CIDR blocks, +// Google Compute Engine Public IPs and Google Prod IPs. +message MasterAuthorizedNetworksConfig { + // CidrBlock contains an optional name and one CIDR block. + message CidrBlock { + // display_name is an optional field for users to identify CIDR blocks. + string display_name = 1; + + // cidr_block must be specified in CIDR notation. + string cidr_block = 2; + } + + // Whether or not master authorized networks is enabled. + bool enabled = 1; + + // cidr_blocks define up to 50 external networks that could access + // Kubernetes master through HTTPS. + repeated CidrBlock cidr_blocks = 2; +} + +// Configuration for the legacy Attribute Based Access Control authorization +// mode. +message LegacyAbac { + // Whether the ABAC authorizer is enabled for this cluster. When enabled, + // identities in the system, including service accounts, nodes, and + // controllers, will have statically granted permissions beyond those + // provided by the RBAC configuration or IAM. + bool enabled = 1; +} + +// Configuration options for the NetworkPolicy feature. +// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ +message NetworkPolicy { + // Allowed Network Policy providers. + enum Provider { + // Not set + PROVIDER_UNSPECIFIED = 0; + + // Tigera (Calico Felix). + CALICO = 1; + } + + // The selected network policy provider. + Provider provider = 1; + + // Whether network policy is enabled on the cluster. + bool enabled = 2; +} + +// Configuration for Binary Authorization. +message BinaryAuthorization { + // Enable Binary Authorization for this cluster. If enabled, all container + // images will be validated by Binary Authorization. + bool enabled = 1; +} + +// Configuration for controlling how IPs are allocated in the cluster. +message IPAllocationPolicy { + // Whether alias IPs will be used for pod IPs in the cluster. + // This is used in conjunction with use_routes. It cannot + // be true if use_routes is true. If both use_ip_aliases and use_routes are + // false, then the server picks the default IP allocation mode + bool use_ip_aliases = 1; + + // Whether a new subnetwork will be created automatically for the cluster. + // + // This field is only applicable when `use_ip_aliases` is true. + bool create_subnetwork = 2; + + // A custom subnetwork name to be used if `create_subnetwork` is true. If + // this field is empty, then an automatic name will be chosen for the new + // subnetwork. + string subnetwork_name = 3; + + // This field is deprecated, use cluster_ipv4_cidr_block. + string cluster_ipv4_cidr = 4 [deprecated = true]; + + // This field is deprecated, use node_ipv4_cidr_block. + string node_ipv4_cidr = 5 [deprecated = true]; + + // This field is deprecated, use services_ipv4_cidr_block. + string services_ipv4_cidr = 6 [deprecated = true]; + + // The name of the secondary range to be used for the cluster CIDR + // block. The secondary range will be used for pod IP + // addresses. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases is true and + // create_subnetwork is false. + string cluster_secondary_range_name = 7; + + // The name of the secondary range to be used as for the services + // CIDR block. The secondary range will be used for service + // ClusterIPs. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases is true and + // create_subnetwork is false. + string services_secondary_range_name = 8; + + // The IP address range for the cluster pod IPs. If this field is set, then + // `cluster.cluster_ipv4_cidr` must be left blank. + // + // This field is only applicable when `use_ip_aliases` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a specific + // netmask. + // + // Set to a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + // to use. + string cluster_ipv4_cidr_block = 9; + + // The IP address range of the instance IPs in this cluster. + // + // This is applicable only if `create_subnetwork` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a specific + // netmask. + // + // Set to a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + // to use. + string node_ipv4_cidr_block = 10; + + // The IP address range of the services IPs in this cluster. If blank, a range + // will be automatically chosen with the default size. + // + // This field is only applicable when `use_ip_aliases` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a specific + // netmask. + // + // Set to a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + // to use. + string services_ipv4_cidr_block = 11; + + // The IP address range of the Cloud TPUs in this cluster. If unspecified, a + // range will be automatically chosen with the default size. + // + // This field is only applicable when `use_ip_aliases` is true. + // + // If unspecified, the range will use the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a specific + // netmask. + // + // Set to a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range + // to use. + string tpu_ipv4_cidr_block = 13; + + // Whether routes will be used for pod IPs in the cluster. + // This is used in conjunction with use_ip_aliases. It cannot be true if + // use_ip_aliases is true. If both use_ip_aliases and use_routes are false, + // then the server picks the default IP allocation mode + bool use_routes = 15; +} + +// A Google Kubernetes Engine cluster. +message Cluster { + // The current status of the cluster. + enum Status { + // Not set. + STATUS_UNSPECIFIED = 0; + + // The PROVISIONING state indicates the cluster is being created. + PROVISIONING = 1; + + // The RUNNING state indicates the cluster has been created and is fully + // usable. + RUNNING = 2; + + // The RECONCILING state indicates that some work is actively being done on + // the cluster, such as upgrading the master or node software. Details can + // be found in the `statusMessage` field. + RECONCILING = 3; + + // The STOPPING state indicates the cluster is being deleted. + STOPPING = 4; + + // The ERROR state indicates the cluster is unusable. It will be + // automatically deleted. Details can be found in the `statusMessage` field. + ERROR = 5; + + // The DEGRADED state indicates the cluster requires user action to restore + // full functionality. Details can be found in the `statusMessage` field. + DEGRADED = 6; + } + + // The name of this cluster. The name must be unique within this project + // and location (e.g. zone or region), and can be up to 40 characters with + // the following restrictions: + // + // * Lowercase letters, numbers, and hyphens only. + // * Must start with a letter. + // * Must end with a number or a letter. + string name = 1; + + // An optional description of this cluster. + string description = 2; + + // The number of nodes to create in this cluster. You must ensure that your + // Compute Engine [resource quota](https://cloud.google.com/compute/quotas) + // is sufficient for this number of instances. You must also have available + // firewall and routes quota. + // For requests, this field should only be used in lieu of a + // "node_pool" object, since this configuration (along with the + // "node_config") will be used to create a "NodePool" object with an + // auto-generated name. Do not use this and a node_pool at the same time. + // + // This field is deprecated, use node_pool.initial_node_count instead. + int32 initial_node_count = 3 [deprecated = true]; + + // Parameters used in creating the cluster's nodes. + // For requests, this field should only be used in lieu of a + // "node_pool" object, since this configuration (along with the + // "initial_node_count") will be used to create a "NodePool" object with an + // auto-generated name. Do not use this and a node_pool at the same time. + // For responses, this field will be populated with the node configuration of + // the first node pool. (For configuration of each node pool, see + // `node_pool.config`) + // + // If unspecified, the defaults are used. + // This field is deprecated, use node_pool.config instead. + NodeConfig node_config = 4 [deprecated = true]; + + // The authentication information for accessing the master endpoint. + // If unspecified, the defaults are used: + // For clusters before v1.12, if master_auth is unspecified, `username` will + // be set to "admin", a random password will be generated, and a client + // certificate will be issued. + MasterAuth master_auth = 5; + + // 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. + string logging_service = 6; + + // 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. + string monitoring_service = 7; + + // The name of the Google Compute Engine + // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + // to which the cluster is connected. If left unspecified, the `default` + // network will be used. + string network = 8; + + // The IP address range of the container pods in this cluster, in + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `10.96.0.0/14`). Leave blank to have + // one automatically chosen or specify a `/14` block in `10.0.0.0/8`. + string cluster_ipv4_cidr = 9; + + // Configurations for the various addons available to run in the cluster. + AddonsConfig addons_config = 10; + + // The name of the Google Compute Engine + // [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which + // the cluster is connected. + string subnetwork = 11; + + // The node pools associated with this cluster. + // This field should not be set if "node_config" or "initial_node_count" are + // specified. + repeated NodePool node_pools = 12; + + // The list of Google Compute Engine + // [zones](https://cloud.google.com/compute/docs/zones#available) in which the + // cluster's nodes should be located. + // + // This field provides a default value if + // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) + // are not specified during node pool creation. + // + // Warning: changing cluster locations will update the + // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) + // of all node pools and will result in nodes being added and/or removed. + repeated string locations = 13; + + // Kubernetes alpha features are enabled on this cluster. This includes alpha + // API groups (e.g. v1alpha1) and features that may not be production ready in + // the kubernetes version of the master and nodes. + // The cluster has no SLA for uptime and master/node upgrades are disabled. + // Alpha enabled clusters are automatically deleted thirty days after + // creation. + bool enable_kubernetes_alpha = 14; + + // The resource labels for the cluster to use to annotate any related + // Google Compute Engine resources. + map resource_labels = 15; + + // The fingerprint of the set of labels for this cluster. + string label_fingerprint = 16; + + // Configuration for the legacy ABAC authorization mode. + LegacyAbac legacy_abac = 18; + + // Configuration options for the NetworkPolicy feature. + NetworkPolicy network_policy = 19; + + // Configuration for cluster IP allocation. + IPAllocationPolicy ip_allocation_policy = 20; + + // The configuration options for master authorized networks feature. + MasterAuthorizedNetworksConfig master_authorized_networks_config = 22; + + // Configure the maintenance policy for this cluster. + MaintenancePolicy maintenance_policy = 23; + + // Configuration for Binary Authorization. + BinaryAuthorization binary_authorization = 24; + + // Cluster-level autoscaling configuration. + ClusterAutoscaling autoscaling = 26; + + // Configuration for cluster networking. + NetworkConfig network_config = 27; + + // The default constraint on the maximum number of pods that can be run + // simultaneously on a node in the node pool of this cluster. Only honored + // if cluster created with IP Alias support. + MaxPodsConstraint default_max_pods_constraint = 30; + + // Configuration for exporting resource usages. Resource usage export is + // disabled when this config is unspecified. + ResourceUsageExportConfig resource_usage_export_config = 33; + + // Configuration controlling RBAC group membership information. + AuthenticatorGroupsConfig authenticator_groups_config = 34; + + // Configuration for private cluster. + PrivateClusterConfig private_cluster_config = 37; + + // Configuration of etcd encryption. + DatabaseEncryption database_encryption = 38; + + // Cluster-level Vertical Pod Autoscaling configuration. + VerticalPodAutoscaling vertical_pod_autoscaling = 39; + + // Shielded Nodes configuration. + ShieldedNodes shielded_nodes = 40; + + // Release channel configuration. + ReleaseChannel release_channel = 41; + + // Configuration for the use of Kubernetes Service Accounts in GCP IAM + // policies. + WorkloadIdentityConfig workload_identity_config = 43; + + // Configuration for issuance of mTLS keys and certificates to Kubernetes + // pods. + MeshCertificates mesh_certificates = 67; + + // Notification configuration of the cluster. + NotificationConfig notification_config = 49; + + // Configuration of Confidential Nodes + ConfidentialNodes confidential_nodes = 50; + + // [Output only] Server-defined URL for the resource. + string self_link = 100; + + // [Output only] The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) in which the + // cluster resides. This field is deprecated, use location instead. + string zone = 101 [deprecated = true]; + + // [Output only] The IP address of this cluster's master endpoint. + // The endpoint can be accessed from the internet at + // `https://username:password@endpoint/`. + // + // See the `masterAuth` property of this resource for username and + // password information. + string endpoint = 102; + + // The initial Kubernetes version for this cluster. Valid versions are those + // found in validMasterVersions returned by getServerConfig. The version can + // be upgraded over time; such upgrades are reflected in + // currentMasterVersion and currentNodeVersion. + // + // 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 + string initial_cluster_version = 103; + + // [Output only] The current software version of the master endpoint. + string current_master_version = 104; + + // [Output only] Deprecated, use + // [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) + // instead. The current version of the node software components. If they are + // currently at multiple versions because they're in the process of being + // upgraded, this reflects the minimum version of all nodes. + string current_node_version = 105 [deprecated = true]; + + // [Output only] The time the cluster was created, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string create_time = 106; + + // [Output only] The current status of this cluster. + Status status = 107; + + // [Output only] Deprecated. Use conditions instead. + // Additional information about the current status of this + // cluster, if available. + string status_message = 108 [deprecated = true]; + + // [Output only] The size of the address space on each node for hosting + // containers. This is provisioned from within the `container_ipv4_cidr` + // range. This field will only be set when cluster is in route-based network + // mode. + int32 node_ipv4_cidr_size = 109; + + // [Output only] The IP address range of the Kubernetes services in + // this cluster, in + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `1.2.3.4/29`). Service addresses are + // typically put in the last `/16` from the container CIDR. + string services_ipv4_cidr = 110; + + // Deprecated. Use node_pools.instance_group_urls. + repeated string instance_group_urls = 111 [deprecated = true]; + + // [Output only] The number of nodes currently in the cluster. Deprecated. + // Call Kubernetes API directly to retrieve node information. + int32 current_node_count = 112 [deprecated = true]; + + // [Output only] The time the cluster will be automatically + // deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string expire_time = 113; + + // [Output only] The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) + // or + // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) + // in which the cluster resides. + string location = 114; + + // Enable the ability to use Cloud TPUs in this cluster. + bool enable_tpu = 115; + + // [Output only] The IP address range of the Cloud TPUs in this cluster, in + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // notation (e.g. `1.2.3.4/29`). + string tpu_ipv4_cidr_block = 116; + + // Which conditions caused the current cluster state. + repeated StatusCondition conditions = 118; + + // Autopilot configuration for the cluster. + Autopilot autopilot = 128; + + // Output only. Unique id for the cluster. + string id = 129 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Default NodePool settings for the entire cluster. These settings are + // overridden if specified on the specific NodePool object. + optional NodePoolDefaults node_pool_defaults = 131; + + // Logging configuration for the cluster. + LoggingConfig logging_config = 132; + + // Monitoring configuration for the cluster. + MonitoringConfig monitoring_config = 133; +} + +// Subset of Nodepool message that has defaults. +message NodePoolDefaults { + // Subset of NodeConfig message that has defaults. + NodeConfigDefaults node_config_defaults = 1; +} + +// Subset of NodeConfig message that has defaults. +message NodeConfigDefaults { + // GCFS (Google Container File System, a.k.a Riptide) options. + GcfsConfig gcfs_config = 1; +} + +// ClusterUpdate describes an update to the cluster. Exactly one update can +// be applied to a cluster with each request, so at most one field can be +// provided. +message ClusterUpdate { + // 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 + string desired_node_version = 4; + + // 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. + string desired_monitoring_service = 5; + + // Configurations for the various addons available to run in the cluster. + AddonsConfig desired_addons_config = 6; + + // The node pool to be upgraded. This field is mandatory if + // "desired_node_version", "desired_image_family" or + // "desired_node_pool_autoscaling" is specified and there is more than one + // node pool on the cluster. + string desired_node_pool_id = 7; + + // The desired image type for the node pool. + // NOTE: Set the "desired_node_pool" field as well. + string desired_image_type = 8; + + // Configuration of etcd encryption. + DatabaseEncryption desired_database_encryption = 46; + + // Configuration for Workload Identity. + WorkloadIdentityConfig desired_workload_identity_config = 47; + + // Configuration for issuance of mTLS keys and certificates to Kubernetes + // pods. + MeshCertificates desired_mesh_certificates = 67; + + // Configuration for Shielded Nodes. + ShieldedNodes desired_shielded_nodes = 48; + + // DNSConfig contains clusterDNS config for this cluster. + DNSConfig desired_dns_config = 53; + + // Autoscaler configuration for the node pool specified in + // desired_node_pool_id. If there is only one pool in the + // cluster and desired_node_pool_id is not provided then + // the change applies to that single node pool. + NodePoolAutoscaling desired_node_pool_autoscaling = 9; + + // 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. + // + // This list must always include the cluster's primary zone. + // + // Warning: changing cluster locations will update the locations of all node + // pools and will result in nodes being added and/or removed. + repeated string desired_locations = 10; + + // The desired configuration options for master authorized networks feature. + MasterAuthorizedNetworksConfig desired_master_authorized_networks_config = 12; + + // Cluster-level autoscaling configuration. + ClusterAutoscaling desired_cluster_autoscaling = 15; + + // The desired configuration options for the Binary Authorization feature. + BinaryAuthorization desired_binary_authorization = 16; + + // 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. + string desired_logging_service = 19; + + // The desired configuration for exporting resource usage. + ResourceUsageExportConfig desired_resource_usage_export_config = 21; + + // Cluster-level Vertical Pod Autoscaling configuration. + VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22; + + // The desired private cluster configuration. + PrivateClusterConfig desired_private_cluster_config = 25; + + // The desired config of Intra-node visibility. + IntraNodeVisibilityConfig desired_intra_node_visibility_config = 26; + + // The desired status of whether to disable default sNAT for this cluster. + DefaultSnatStatus desired_default_snat_status = 28; + + // The desired release channel configuration. + ReleaseChannel desired_release_channel = 31; + + // The desired L4 Internal Load Balancer Subsetting configuration. + ILBSubsettingConfig desired_l4ilb_subsetting_config = 39; + + // The desired datapath provider for the cluster. + DatapathProvider desired_datapath_provider = 50; + + // The desired state of IPv6 connectivity to Google Services. + PrivateIPv6GoogleAccess desired_private_ipv6_google_access = 51; + + // The desired notification configuration. + NotificationConfig desired_notification_config = 55; + + // The desired authenticator groups config for the cluster. + AuthenticatorGroupsConfig desired_authenticator_groups_config = 63; + + // The desired logging configuration. + LoggingConfig desired_logging_config = 64; + + // The desired monitoring configuration. + MonitoringConfig desired_monitoring_config = 65; + + // ServiceExternalIPsConfig specifies the config for the use of Services with + // ExternalIPs field. + ServiceExternalIPsConfig desired_service_external_ips_config = 60; + + // 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 + string desired_master_version = 100; + + // The desired GCFS config for the cluster + GcfsConfig desired_gcfs_config = 109; +} + +// This operation resource represents operations that may have happened or are +// happening on the cluster. All fields are output only. +message Operation { + // Current status of the operation. + enum Status { + // Not set. + STATUS_UNSPECIFIED = 0; + + // The operation has been created. + PENDING = 1; + + // The operation is currently running. + RUNNING = 2; + + // The operation is done, either cancelled or completed. + DONE = 3; + + // The operation is aborting. + ABORTING = 4; + } + + // Operation type. + enum Type { + // Not set. + TYPE_UNSPECIFIED = 0; + + // Cluster create. + CREATE_CLUSTER = 1; + + // Cluster delete. + DELETE_CLUSTER = 2; + + // A master upgrade. + UPGRADE_MASTER = 3; + + // A node upgrade. + UPGRADE_NODES = 4; + + // Cluster repair. + REPAIR_CLUSTER = 5; + + // Cluster update. + UPDATE_CLUSTER = 6; + + // Node pool create. + CREATE_NODE_POOL = 7; + + // Node pool delete. + DELETE_NODE_POOL = 8; + + // Set node pool management. + SET_NODE_POOL_MANAGEMENT = 9; + + // Automatic node pool repair. + AUTO_REPAIR_NODES = 10; + + // Automatic node upgrade. + AUTO_UPGRADE_NODES = 11; + + // Set labels. + SET_LABELS = 12; + + // Set/generate master auth materials + SET_MASTER_AUTH = 13; + + // Set node pool size. + SET_NODE_POOL_SIZE = 14; + + // Updates network policy for a cluster. + SET_NETWORK_POLICY = 15; + + // Set the maintenance policy. + SET_MAINTENANCE_POLICY = 16; + } + + // The server-assigned ID for the operation. + string name = 1; + + // The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) in which the + // operation is taking place. This field is deprecated, use location instead. + string zone = 2 [deprecated = true]; + + // The operation type. + Type operation_type = 3; + + // The current status of the operation. + Status status = 4; + + // Detailed operation progress, if available. + string detail = 8; + + // Output only. If an error has occurred, a textual description of the error. + // Deprecated. Use the field error instead. + string status_message = 5 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Server-defined URL for the resource. + string self_link = 6; + + // Server-defined URL for the target of the operation. + string target_link = 7; + + // [Output only] The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) + // or + // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) + // in which the cluster resides. + string location = 9; + + // [Output only] The time the operation started, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string start_time = 10; + + // [Output only] The time the operation completed, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string end_time = 11; + + // Output only. [Output only] Progress information for an operation. + OperationProgress progress = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Which conditions caused the current cluster state. + // Deprecated. Use field error instead. + repeated StatusCondition cluster_conditions = 13 [deprecated = true]; + + // Which conditions caused the current node pool state. + // Deprecated. Use field error instead. + repeated StatusCondition nodepool_conditions = 14 [deprecated = true]; + + // The error result of the operation in case of failure. + google.rpc.Status error = 15; +} + +// Information about operation (or operation stage) progress. +message OperationProgress { + // Progress metric is (string, int|float|string) pair. + message Metric { + // Required. Metric name, e.g., "nodes total", "percent done". + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Strictly one of the values is required. + oneof value { + // For metrics with integer value. + int64 int_value = 2; + + // For metrics with floating point value. + double double_value = 3; + + // For metrics with custom values (ratios, visual progress, etc.). + string string_value = 4; + } + } + + // A non-parameterized string describing an operation stage. + // Unset for single-stage operations. + string name = 1; + + // Status of an operation stage. + // Unset for single-stage operations. + Operation.Status status = 2; + + // Progress metric bundle, for example: + // metrics: [{name: "nodes done", int_value: 15}, + // {name: "nodes total", int_value: 32}] + // or + // metrics: [{name: "progress", double_value: 0.56}, + // {name: "progress scale", double_value: 1.0}] + repeated Metric metrics = 3; + + // Substages of an operation or a stage. + repeated OperationProgress stages = 4; +} + +// CreateClusterRequest creates a cluster. +message CreateClusterRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the parent field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Required. A [cluster + // resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) + Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; + + // The parent (project and location) where the cluster will be created. + // Specified in the format `projects/*/locations/*`. + string parent = 5; +} + +// GetClusterRequest gets the settings of a cluster. +message GetClusterRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to retrieve. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // The name (project, location, cluster) of the cluster to retrieve. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 5; +} + +// UpdateClusterRequest updates the settings of a cluster. +message UpdateClusterRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. A description of the update. + ClusterUpdate update = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to update. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 5; +} + +// UpdateNodePoolRequests update a node pool's image and/or version. +message UpdateNodePoolRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to upgrade. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // 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 + string node_version = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The desired image type for the node pool. + string image_type = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster, node pool) of the node pool to + // update. Specified in the format + // `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 8; + + // 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. + repeated string locations = 13; + + // The desired workload metadata config for the node pool. + WorkloadMetadataConfig workload_metadata_config = 14; + + // Upgrade settings control disruption and speed of the upgrade. + NodePool.UpgradeSettings upgrade_settings = 15; + + // Parameters that can be configured on Linux nodes. + LinuxNodeConfig linux_node_config = 19; + + // Node kubelet configs. + NodeKubeletConfig kubelet_config = 20; + + // GCFS config. + GcfsConfig gcfs_config = 22; + + // Enable or disable gvnic on the node pool. + VirtualNIC gvnic = 29; +} + +// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. +message SetNodePoolAutoscalingRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to upgrade. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // Required. Autoscaling configuration for the node pool. + NodePoolAutoscaling autoscaling = 5 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster, node pool) of the node pool to set + // autoscaler settings. Specified in the format + // `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 6; +} + +// SetLoggingServiceRequest sets the logging service of a cluster. +message SetLoggingServiceRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // 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. + string logging_service = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to set logging. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 5; +} + +// SetMonitoringServiceRequest sets the monitoring service of a cluster. +message SetMonitoringServiceRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // 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. + string monitoring_service = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to set monitoring. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; +} + +// SetAddonsConfigRequest sets the addons associated with the cluster. +message SetAddonsConfigRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. The desired configurations for the various addons available to run in the + // cluster. + AddonsConfig addons_config = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to set addons. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; +} + +// SetLocationsRequest sets the locations of the cluster. +message SetLocationsRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // 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. + repeated string locations = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to set locations. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; +} + +// UpdateMasterRequest updates the master of the cluster. +message UpdateMasterRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // 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 + string master_version = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to update. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 7; +} + +// SetMasterAuthRequest updates the admin password of a cluster. +message SetMasterAuthRequest { + // Operation type: what type update to perform. + enum Action { + // Operation is unknown and will error out. + UNKNOWN = 0; + + // Set the password to a user generated value. + SET_PASSWORD = 1; + + // Generate a new password and set it to that. + GENERATE_PASSWORD = 2; + + // Set the username. If an empty username is provided, basic authentication + // is disabled for the cluster. If a non-empty username is provided, basic + // authentication is enabled, with either a provided password or a generated + // one. + SET_USERNAME = 3; + } + + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to upgrade. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. The exact form of action to be taken on the master auth. + Action action = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. A description of the update. + MasterAuth update = 5 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster) of the cluster to set auth. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 7; +} + +// DeleteClusterRequest deletes a cluster. +message DeleteClusterRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to delete. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // The name (project, location, cluster) of the cluster to delete. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 4; +} + +// ListClustersRequest lists clusters. +message ListClustersRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the parent field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // The parent (project and location) where the clusters will be listed. + // Specified in the format `projects/*/locations/*`. + // Location "-" matches all zones and all regions. + string parent = 4; +} + +// ListClustersResponse is the result of ListClustersRequest. +message ListClustersResponse { + // A list of clusters in the project in the specified zone, or + // across all ones. + repeated Cluster clusters = 1; + + // If any zones are listed here, the list of clusters returned + // may be missing those zones. + repeated string missing_zones = 2; +} + +// GetOperationRequest gets a single operation. +message GetOperationRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The server-assigned `name` of the operation. + // This field has been deprecated and replaced by the name field. + string operation_id = 3 [deprecated = true]; + + // The name (project, location, operation id) of the operation to get. + // Specified in the format `projects/*/locations/*/operations/*`. + string name = 5; +} + +// ListOperationsRequest lists operations. +message ListOperationsRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the parent field. + string project_id = 1 [deprecated = true]; + + // Deprecated. The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) to return + // operations for, or `-` for all zones. This field has been deprecated and + // replaced by the parent field. + string zone = 2 [deprecated = true]; + + // The parent (project and location) where the operations will be listed. + // Specified in the format `projects/*/locations/*`. + // Location "-" matches all zones and all regions. + string parent = 4; +} + +// CancelOperationRequest cancels a single operation. +message CancelOperationRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // Deprecated. The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) in which the + // operation resides. This field has been deprecated and replaced by the name + // field. + string zone = 2 [deprecated = true]; + + // Deprecated. The server-assigned `name` of the operation. + // This field has been deprecated and replaced by the name field. + string operation_id = 3 [deprecated = true]; + + // The name (project, location, operation id) of the operation to cancel. + // Specified in the format `projects/*/locations/*/operations/*`. + string name = 4; +} + +// ListOperationsResponse is the result of ListOperationsRequest. +message ListOperationsResponse { + // A list of operations in the project in the specified zone. + repeated Operation operations = 1; + + // If any zones are listed here, the list of operations returned + // may be missing the operations from those zones. + repeated string missing_zones = 2; +} + +// Gets the current Kubernetes Engine service configuration. +message GetServerConfigRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // Deprecated. The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) to return + // operations for. This field has been deprecated and replaced by the name + // field. + string zone = 2 [deprecated = true]; + + // The name (project and location) of the server config to get, + // specified in the format `projects/*/locations/*`. + string name = 4; +} + +// Kubernetes Engine service configuration. +message ServerConfig { + // ReleaseChannelConfig exposes configuration for a release channel. + message ReleaseChannelConfig { + // The release channel this configuration applies to. + ReleaseChannel.Channel channel = 1; + + // The default version for newly created clusters on the channel. + string default_version = 2; + + // List of valid versions for the channel. + repeated string valid_versions = 4; + } + + // Version of Kubernetes the service deploys by default. + string default_cluster_version = 1; + + // List of valid node upgrade target versions, in descending order. + repeated string valid_node_versions = 3; + + // Default image type. + string default_image_type = 4; + + // List of valid image types. + repeated string valid_image_types = 5; + + // List of valid master versions, in descending order. + repeated string valid_master_versions = 6; + + // List of release channel configurations. + repeated ReleaseChannelConfig channels = 9; +} + +// CreateNodePoolRequest creates a node pool for a cluster. +message CreateNodePoolRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the parent field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the parent field. + string cluster_id = 3 [deprecated = true]; + + // Required. The node pool to create. + NodePool node_pool = 4 [(google.api.field_behavior) = REQUIRED]; + + // The parent (project, location, cluster id) where the node pool will be + // created. Specified in the format + // `projects/*/locations/*/clusters/*`. + string parent = 6; +} + +// DeleteNodePoolRequest deletes a node pool for a cluster. +message DeleteNodePoolRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to delete. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // The name (project, location, cluster, node pool id) of the node pool to + // delete. Specified in the format + // `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 6; +} + +// ListNodePoolsRequest lists the node pool(s) for a cluster. +message ListNodePoolsRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the parent field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the parent field. + string cluster_id = 3 [deprecated = true]; + + // The parent (project, location, cluster id) where the node pools will be + // listed. Specified in the format `projects/*/locations/*/clusters/*`. + string parent = 5; +} + +// GetNodePoolRequest retrieves a node pool for a cluster. +message GetNodePoolRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // The name (project, location, cluster, node pool id) of the node pool to + // get. Specified in the format + // `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 6; +} + +// NodePool contains the name and configuration for a cluster's node pool. +// Node pools are a set of nodes (i.e. VM's), with a common configuration and +// specification, under the control of the cluster master. They may have a set +// of Kubernetes labels applied to them, which may be used to reference them +// during pod scheduling. They may also be resized up or down, to accommodate +// the workload. +message NodePool { + // These upgrade settings control the level of parallelism and the level of + // disruption caused by an upgrade. + // + // maxUnavailable controls the number of nodes that can be simultaneously + // unavailable. + // + // maxSurge controls the number of additional nodes that can be added to the + // node pool temporarily for the time of the upgrade to increase the number of + // available nodes. + // + // (maxUnavailable + maxSurge) determines the level of parallelism (how many + // nodes are being upgraded at the same time). + // + // Note: upgrades inevitably introduce some disruption since workloads need to + // be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, + // this holds true. (Disruption stays within the limits of + // PodDisruptionBudget, if it is configured.) + // + // Consider a hypothetical node pool with 5 nodes having maxSurge=2, + // maxUnavailable=1. This means the upgrade process upgrades 3 nodes + // simultaneously. It creates 2 additional (upgraded) nodes, then it brings + // down 3 old (not yet upgraded) nodes at the same time. This ensures that + // there are always at least 4 nodes available. + message UpgradeSettings { + // The maximum number of nodes that can be created beyond the current size + // of the node pool during the upgrade process. + int32 max_surge = 1; + + // The maximum number of nodes that can be simultaneously unavailable during + // the upgrade process. A node is considered available if its status is + // Ready. + int32 max_unavailable = 2; + } + + // The current status of the node pool instance. + enum Status { + // Not set. + STATUS_UNSPECIFIED = 0; + + // The PROVISIONING state indicates the node pool is being created. + PROVISIONING = 1; + + // The RUNNING state indicates the node pool has been created + // and is fully usable. + RUNNING = 2; + + // The RUNNING_WITH_ERROR state indicates the node pool has been created + // and is partially usable. Some error state has occurred and some + // functionality may be impaired. Customer may need to reissue a request + // or trigger a new update. + RUNNING_WITH_ERROR = 3; + + // The RECONCILING state indicates that some work is actively being done on + // the node pool, such as upgrading node software. Details can + // be found in the `statusMessage` field. + RECONCILING = 4; + + // The STOPPING state indicates the node pool is being deleted. + STOPPING = 5; + + // The ERROR state indicates the node pool may be unusable. Details + // can be found in the `statusMessage` field. + ERROR = 6; + } + + // The name of the node pool. + string name = 1; + + // The node configuration of the pool. + NodeConfig config = 2; + + // The initial node count for the pool. You must ensure that your + // Compute Engine [resource quota](https://cloud.google.com/compute/quotas) + // is sufficient for this number of instances. You must also have available + // firewall and routes quota. + int32 initial_node_count = 3; + + // The list of Google Compute Engine + // [zones](https://cloud.google.com/compute/docs/zones#available) in which the + // NodePool's nodes should be located. + // + // If this value is unspecified during node pool creation, the + // [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) + // value will be used, instead. + // + // Warning: changing node pool locations will result in nodes being added + // and/or removed. + repeated string locations = 13; + + // Networking configuration for this NodePool. If specified, it overrides the + // cluster-level defaults. + NodeNetworkConfig network_config = 14; + + // [Output only] Server-defined URL for the resource. + string self_link = 100; + + // The version of the Kubernetes of this node. + string version = 101; + + // [Output only] The resource URLs of the [managed instance + // groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) + // associated with this node pool. + repeated string instance_group_urls = 102; + + // [Output only] The status of the nodes in this pool instance. + Status status = 103; + + // [Output only] Deprecated. Use conditions instead. + // Additional information about the current status of this + // node pool instance, if available. + string status_message = 104 [deprecated = true]; + + // Autoscaler configuration for this NodePool. Autoscaler is enabled + // only if a valid configuration is present. + NodePoolAutoscaling autoscaling = 4; + + // NodeManagement configuration for this NodePool. + NodeManagement management = 5; + + // The constraint on the maximum number of pods that can be run + // simultaneously on a node in the node pool. + MaxPodsConstraint max_pods_constraint = 6; + + // Which conditions caused the current node pool state. + repeated StatusCondition conditions = 105; + + // [Output only] The pod CIDR block size per node in this node pool. + int32 pod_ipv4_cidr_size = 7; + + // Upgrade settings control disruption and speed of the upgrade. + UpgradeSettings upgrade_settings = 107; +} + +// NodeManagement defines the set of node management services turned on for the +// node pool. +message NodeManagement { + // A flag that specifies whether node auto-upgrade is enabled for the node + // pool. If enabled, node auto-upgrade helps keep the nodes in your node pool + // up to date with the latest release version of Kubernetes. + bool auto_upgrade = 1; + + // A flag that specifies whether the node auto-repair is enabled for the node + // pool. If enabled, the nodes in this node pool will be monitored and, if + // they fail health checks too many times, an automatic repair action will be + // triggered. + bool auto_repair = 2; + + // Specifies the Auto Upgrade knobs for the node pool. + AutoUpgradeOptions upgrade_options = 10; +} + +// AutoUpgradeOptions defines the set of options for the user to control how +// the Auto Upgrades will proceed. +message AutoUpgradeOptions { + // [Output only] This field is set when upgrades are about to commence + // with the approximate start time for the upgrades, in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string auto_upgrade_start_time = 1; + + // [Output only] This field is set when upgrades are about to commence + // with the description of the upgrade. + string description = 2; +} + +// MaintenancePolicy defines the maintenance policy to be used for the cluster. +message MaintenancePolicy { + // Specifies the maintenance window in which maintenance may be performed. + MaintenanceWindow window = 1; + + // A hash identifying the version of this policy, so that updates to fields of + // the policy won't accidentally undo intermediate changes (and so that users + // of the API unaware of some fields won't accidentally remove other fields). + // Make a `get()` request to the cluster to get the current + // resource version and include it with requests to set the policy. + string resource_version = 3; +} + +// MaintenanceWindow defines the maintenance window to be used for the cluster. +message MaintenanceWindow { + oneof policy { + // DailyMaintenanceWindow specifies a daily maintenance operation window. + DailyMaintenanceWindow daily_maintenance_window = 2; + + // RecurringWindow specifies some number of recurring time periods for + // maintenance to occur. The time windows may be overlapping. If no + // maintenance windows are set, maintenance can occur at any time. + RecurringTimeWindow recurring_window = 3; + } + + // Exceptions to maintenance window. Non-emergency maintenance should not + // occur in these windows. + map maintenance_exclusions = 4; +} + +// Represents an arbitrary window of time. +message TimeWindow { + oneof options { + // MaintenanceExclusionOptions provides maintenance exclusion related + // options. + MaintenanceExclusionOptions maintenance_exclusion_options = 3; + } + + // The time that the window first starts. + google.protobuf.Timestamp start_time = 1; + + // The time that the window ends. The end time should take place after the + // start time. + google.protobuf.Timestamp end_time = 2; +} + +// Represents the Maintenance exclusion option. +message MaintenanceExclusionOptions { + // Scope of exclusion. + enum Scope { + // NO_UPGRADES excludes all upgrades, including patch upgrades and minor + // upgrades across control planes and nodes. This is the default exclusion + // behavior. + NO_UPGRADES = 0; + + // NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only + // patches are allowed. + NO_MINOR_UPGRADES = 1; + + // NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster, + // and also exclude all node pool upgrades. Only control + // plane patches are allowed. + NO_MINOR_OR_NODE_UPGRADES = 2; + } + + // Scope specifies the upgrade scope which upgrades are blocked by the + // exclusion. + Scope scope = 1; +} + +// Represents an arbitrary window of time that recurs. +message RecurringTimeWindow { + // The window of the first recurrence. + TimeWindow window = 1; + + // An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how + // this window reccurs. They go on for the span of time between the start and + // end time. + // + // For example, to have something repeat every weekday, you'd use: + // `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` + // + // To repeat some window daily (equivalent to the DailyMaintenanceWindow): + // `FREQ=DAILY` + // + // For the first weekend of every month: + // `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` + // + // This specifies how frequently the window starts. Eg, if you wanted to have + // a 9-5 UTC-4 window every weekday, you'd use something like: + // ``` + // start time = 2019-01-01T09:00:00-0400 + // end time = 2019-01-01T17:00:00-0400 + // recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR + // ``` + // + // Windows can span multiple days. Eg, to make the window encompass every + // weekend from midnight Saturday till the last minute of Sunday UTC: + // ``` + // start time = 2019-01-05T00:00:00Z + // end time = 2019-01-07T23:59:00Z + // recurrence = FREQ=WEEKLY;BYDAY=SA + // ``` + // + // Note the start and end time's specific dates are largely arbitrary except + // to specify duration of the window and when it first starts. + // The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported. + string recurrence = 2; +} + +// Time window specified for daily maintenance operations. +message DailyMaintenanceWindow { + // Time within the maintenance window to start the maintenance operations. + // Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + // format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. + string start_time = 2; + + // [Output only] Duration of the time window, automatically chosen to be + // smallest possible in the given scenario. + // Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + // format "PTnHnMnS". + string duration = 3; +} + +// SetNodePoolManagementRequest sets the node management properties of a node +// pool. +message SetNodePoolManagementRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to update. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to update. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // Required. NodeManagement configuration for the node pool. + NodeManagement management = 5 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster, node pool id) of the node pool to set + // management properties. Specified in the format + // `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 7; +} + +// SetNodePoolSizeRequest sets the size of a node pool. +message SetNodePoolSizeRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to update. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to update. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // Required. The desired node count for the pool. + int32 node_count = 5 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster, node pool id) of the node pool to set + // size. + // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 7; +} + +// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed +// NodePool upgrade. This will be an no-op if the last upgrade successfully +// completed. +message RollbackNodePoolUpgradeRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to rollback. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Deprecated. The name of the node pool to rollback. + // This field has been deprecated and replaced by the name field. + string node_pool_id = 4 [deprecated = true]; + + // The name (project, location, cluster, node pool id) of the node poll to + // rollback upgrade. + // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. + string name = 6; +} + +// ListNodePoolsResponse is the result of ListNodePoolsRequest. +message ListNodePoolsResponse { + // A list of node pools for a cluster. + repeated NodePool node_pools = 1; +} + +// ClusterAutoscaling contains global, per-cluster information +// required by Cluster Autoscaler to automatically adjust +// the size of the cluster and create/delete +// node pools based on the current needs. +message ClusterAutoscaling { + // Defines possible options for autoscaling_profile field. + enum AutoscalingProfile { + // No change to autoscaling configuration. + PROFILE_UNSPECIFIED = 0; + + // Prioritize optimizing utilization of resources. + OPTIMIZE_UTILIZATION = 1; + + // Use default (balanced) autoscaling configuration. + BALANCED = 2; + } + + // Enables automatic node pool creation and deletion. + bool enable_node_autoprovisioning = 1; + + // Contains global constraints regarding minimum and maximum + // amount of resources in the cluster. + repeated ResourceLimit resource_limits = 2; + + // Defines autoscaling behaviour. + AutoscalingProfile autoscaling_profile = 3; + + // AutoprovisioningNodePoolDefaults contains defaults for a node pool + // created by NAP. + AutoprovisioningNodePoolDefaults autoprovisioning_node_pool_defaults = 4; + + // The list of Google Compute Engine + // [zones](https://cloud.google.com/compute/docs/zones#available) in which the + // NodePool's nodes can be created by NAP. + repeated string autoprovisioning_locations = 5; +} + +// AutoprovisioningNodePoolDefaults contains defaults for a node pool created +// by NAP. +message AutoprovisioningNodePoolDefaults { + // Scopes that are used by NAP when creating node pools. + repeated string oauth_scopes = 1; + + // The Google Cloud Platform Service Account to be used by the node VMs. + string service_account = 2; + + // Specifies the upgrade settings for NAP created node pools + NodePool.UpgradeSettings upgrade_settings = 3; + + // Specifies the node management options for NAP created node-pools. + NodeManagement management = 4; + + // Minimum CPU platform to be used for NAP created node pools. + // The instance may be scheduled on the specified or newer CPU platform. + // Applicable values are the friendly names of CPU platforms, such as + // minCpuPlatform: Intel Haswell or + // minCpuPlatform: Intel Sandy Bridge. For more + // information, read [how to specify min CPU + // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + // To unset the min cpu platform field pass "automatic" + // as field value. + string min_cpu_platform = 5; + + // Size of the disk attached to each node, specified in GB. + // The smallest allowed disk size is 10GB. + // + // If unspecified, the default disk size is 100GB. + int32 disk_size_gb = 6; + + // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or + // 'pd-balanced') + // + // If unspecified, the default disk type is 'pd-standard' + string disk_type = 7; + + // Shielded Instance options. + ShieldedInstanceConfig shielded_instance_config = 8; + + // The Customer Managed Encryption Key used to encrypt the boot disk attached + // to each node in the node pool. This should be of the form + // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. + // For more information about protecting resources with Cloud KMS Keys please + // see: + // https://cloud.google.com/compute/docs/disks/customer-managed-encryption + string boot_disk_kms_key = 9; + + // The image type to use for NAP created node. + string image_type = 10; +} + +// Contains information about amount of some resource in the cluster. +// For memory, value should be in GB. +message ResourceLimit { + // Resource name "cpu", "memory" or gpu-specific string. + string resource_type = 1; + + // Minimum amount of the resource in the cluster. + int64 minimum = 2; + + // Maximum amount of the resource in the cluster. + int64 maximum = 3; +} + +// NodePoolAutoscaling contains information required by cluster autoscaler to +// adjust the size of the node pool to the current cluster usage. +message NodePoolAutoscaling { + // Is autoscaling enabled for this node pool. + bool enabled = 1; + + // Minimum number of nodes for one location in the NodePool. Must be >= 1 and + // <= max_node_count. + int32 min_node_count = 2; + + // Maximum number of nodes for one location in the NodePool. Must be >= + // min_node_count. There has to be enough quota to scale up the cluster. + int32 max_node_count = 3; + + // Can this node pool be deleted automatically. + bool autoprovisioned = 4; +} + +// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container +// Engine cluster, which will in turn set them for Google Compute Engine +// resources used by that cluster +message SetLabelsRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. The labels to set for that cluster. + map resource_labels = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The fingerprint of the previous set of labels for this resource, + // used to detect conflicts. The fingerprint is initially generated by + // Kubernetes Engine and changes after every request to modify or update + // labels. You must always provide an up-to-date fingerprint hash when + // updating or changing labels. Make a `get()` request to the + // resource to get the latest fingerprint. + string label_fingerprint = 5 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster id) of the cluster to set labels. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 7; +} + +// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for +// a cluster. +message SetLegacyAbacRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster to update. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. Whether ABAC authorization will be enabled in the cluster. + bool enabled = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster id) of the cluster to set legacy abac. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; +} + +// StartIPRotationRequest creates a new IP for the cluster and then performs +// a node upgrade on each node pool to point to the new IP. +message StartIPRotationRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // The name (project, location, cluster id) of the cluster to start IP + // rotation. Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; + + // Whether to rotate credentials during IP rotation. + bool rotate_credentials = 7; +} + +// CompleteIPRotationRequest moves the cluster master back into single-IP mode. +message CompleteIPRotationRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // The name (project, location, cluster id) of the cluster to complete IP + // rotation. Specified in the format `projects/*/locations/*/clusters/*`. + string name = 7; +} + +// AcceleratorConfig represents a Hardware Accelerator request. +message AcceleratorConfig { + // The number of the accelerator cards exposed to an instance. + int64 accelerator_count = 1; + + // The accelerator type resource name. List of supported accelerators + // [here](https://cloud.google.com/compute/docs/gpus) + string accelerator_type = 2; + + // Size of partitions to create on the GPU. Valid values are described in the + // NVIDIA [mig user + // guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). + string gpu_partition_size = 3; +} + +// WorkloadMetadataConfig defines the metadata configuration to expose to +// workloads on the node pool. +message WorkloadMetadataConfig { + // Mode is the configuration for how to expose metadata to workloads running + // on the node. + enum Mode { + // Not set. + MODE_UNSPECIFIED = 0; + + // Expose all Compute Engine metadata to pods. + GCE_METADATA = 1; + + // Run the GKE Metadata Server on this node. The GKE Metadata Server exposes + // a metadata API to workloads that is compatible with the V1 Compute + // Metadata APIs exposed by the Compute Engine and App Engine Metadata + // Servers. This feature can only be enabled if Workload Identity is enabled + // at the cluster level. + GKE_METADATA = 2; + } + + // Mode is the configuration for how to expose metadata to workloads running + // on the node pool. + Mode mode = 2; +} + +// SetNetworkPolicyRequest enables/disables network policy for a cluster. +message SetNetworkPolicyRequest { + // Deprecated. The Google Developers Console [project ID or project + // number](https://developers.google.com/console/help/new/#projectnumber). + // This field has been deprecated and replaced by the name field. + string project_id = 1 [deprecated = true]; + + // 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. + string zone = 2 [deprecated = true]; + + // Deprecated. The name of the cluster. + // This field has been deprecated and replaced by the name field. + string cluster_id = 3 [deprecated = true]; + + // Required. Configuration options for the NetworkPolicy feature. + NetworkPolicy network_policy = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster id) of the cluster to set networking + // policy. Specified in the format `projects/*/locations/*/clusters/*`. + string name = 6; +} + +// SetMaintenancePolicyRequest sets the maintenance policy for a cluster. +message SetMaintenancePolicyRequest { + // Required. The Google Developers Console [project ID or project + // number](https://support.google.com/cloud/answer/6158840). + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the Google Compute Engine + // [zone](https://cloud.google.com/compute/docs/zones#available) in which the + // cluster resides. + string zone = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the cluster to update. + string cluster_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The maintenance policy to be set for the cluster. An empty field + // clears the existing maintenance policy. + MaintenancePolicy maintenance_policy = 4 [(google.api.field_behavior) = REQUIRED]; + + // The name (project, location, cluster id) of the cluster to set maintenance + // policy. + // Specified in the format `projects/*/locations/*/clusters/*`. + string name = 5; +} + +// StatusCondition describes why a cluster or a node pool has a certain status +// (e.g., ERROR or DEGRADED). +message StatusCondition { + // Code for each condition + enum Code { + // UNKNOWN indicates a generic condition. + UNKNOWN = 0; + + // GCE_STOCKOUT indicates that Google Compute Engine resources are + // temporarily unavailable. + GCE_STOCKOUT = 1; + + // GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot + // service account. + GKE_SERVICE_ACCOUNT_DELETED = 2; + + // Google Compute Engine quota was exceeded. + GCE_QUOTA_EXCEEDED = 3; + + // Cluster state was manually changed by an SRE due to a system logic error. + SET_BY_OPERATOR = 4; + + // Unable to perform an encrypt operation against the CloudKMS key used for + // etcd level encryption. + CLOUD_KMS_KEY_ERROR = 7; + + // Cluster CA is expiring soon. + CA_EXPIRING = 9; + } + + // Machine-friendly representation of the condition + // Deprecated. Use canonical_code instead. + Code code = 1 [deprecated = true]; + + // Human-friendly representation of the condition + string message = 2; + + // Canonical code of the condition. + google.rpc.Code canonical_code = 3; +} + +// NetworkConfig reports the relative names of network & subnetwork. +message NetworkConfig { + // Output only. The relative name of the Google Compute Engine + // [network][google.container.v1.NetworkConfig.network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + // to which the cluster is connected. Example: + // projects/my-project/global/networks/my-network + string network = 1; + + // Output only. The relative name of the Google Compute Engine + // [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the + // cluster is connected. Example: + // projects/my-project/regions/us-central1/subnetworks/my-subnet + string subnetwork = 2; + + // Whether Intra-node visibility is enabled for this cluster. + // This makes same node pod to pod traffic visible for VPC network. + bool enable_intra_node_visibility = 5; + + // Whether the cluster disables default in-node sNAT rules. In-node sNAT rules + // will be disabled when default_snat_status is disabled. When disabled is set + // to false, default IP masquerade rules will be applied to the nodes to + // prevent sNAT on cluster internal traffic. + DefaultSnatStatus default_snat_status = 7; + + // Whether L4ILB Subsetting is enabled for this cluster. + bool enable_l4ilb_subsetting = 10; + + // The desired datapath provider for this cluster. By default, uses the + // IPTables-based kube-proxy implementation. + DatapathProvider datapath_provider = 11; + + // The desired state of IPv6 connectivity to Google Services. + // By default, no private IPv6 access to or from Google Services (all access + // will be via IPv4) + PrivateIPv6GoogleAccess private_ipv6_google_access = 12; + + // DNSConfig contains clusterDNS config for this cluster. + DNSConfig dns_config = 13; + + // ServiceExternalIPsConfig specifies if services with externalIPs field are + // blocked or not. + ServiceExternalIPsConfig service_external_ips_config = 15; +} + +// Config to block services with externalIPs field. +message ServiceExternalIPsConfig { + // Whether Services with ExternalIPs field are allowed or not. + bool enabled = 1; +} + +// GetOpenIDConfigRequest gets the OIDC discovery document for the +// cluster. See the OpenID Connect Discovery 1.0 specification for details. +message GetOpenIDConfigRequest { + // The cluster (project, location, cluster name) to get the discovery document + // for. Specified in the format `projects/*/locations/*/clusters/*`. + string parent = 1; +} + +// GetOpenIDConfigResponse is an OIDC discovery document for the cluster. +// See the OpenID Connect Discovery 1.0 specification for details. +message GetOpenIDConfigResponse { + // OIDC Issuer. + string issuer = 1; + + // JSON Web Key uri. + string jwks_uri = 2; + + // Supported response types. + repeated string response_types_supported = 3; + + // Supported subject types. + repeated string subject_types_supported = 4; + + // supported ID Token signing Algorithms. + repeated string id_token_signing_alg_values_supported = 5; + + // Supported claims. + repeated string claims_supported = 6; + + // Supported grant types. + repeated string grant_types = 7; +} + +// GetJSONWebKeysRequest gets the public component of the keys used by the +// cluster to sign token requests. This will be the jwks_uri for the discover +// document returned by getOpenIDConfig. See the OpenID Connect +// Discovery 1.0 specification for details. +message GetJSONWebKeysRequest { + // The cluster (project, location, cluster id) to get keys for. Specified in + // the format `projects/*/locations/*/clusters/*`. + string parent = 1; +} + +// Jwk is a JSON Web Key as specified in RFC 7517 +message Jwk { + // Key Type. + string kty = 1; + + // Algorithm. + string alg = 2; + + // Permitted uses for the public keys. + string use = 3; + + // Key ID. + string kid = 4; + + // Used for RSA keys. + string n = 5; + + // Used for RSA keys. + string e = 6; + + // Used for ECDSA keys. + string x = 7; + + // Used for ECDSA keys. + string y = 8; + + // Used for ECDSA keys. + string crv = 9; +} + +// GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517 +message GetJSONWebKeysResponse { + // The public component of the keys used by the cluster to sign token + // requests. + repeated Jwk keys = 1; +} + +// ReleaseChannel indicates which release channel a cluster is +// subscribed to. Release channels are arranged in order of risk. +// +// When a cluster is subscribed to a release channel, Google maintains +// both the master version and the node version. Node auto-upgrade +// defaults to true and cannot be disabled. +message ReleaseChannel { + // Possible values for 'channel'. + enum Channel { + // No channel specified. + UNSPECIFIED = 0; + + // RAPID channel is offered on an early access basis for customers who want + // to test new releases. + // + // WARNING: Versions available in the RAPID Channel may be subject to + // unresolved issues with no known workaround and are not subject to any + // SLAs. + RAPID = 1; + + // Clusters subscribed to REGULAR receive versions that are considered GA + // quality. REGULAR is intended for production users who want to take + // advantage of new features. + REGULAR = 2; + + // Clusters subscribed to STABLE receive versions that are known to be + // stable and reliable in production. + STABLE = 3; + } + + // channel specifies which release channel the cluster is subscribed to. + Channel channel = 1; +} + +// IntraNodeVisibilityConfig contains the desired config of the intra-node +// visibility on this cluster. +message IntraNodeVisibilityConfig { + // Enables intra node visibility for this cluster. + bool enabled = 1; +} + +// ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer +// subsetting on this cluster. +message ILBSubsettingConfig { + // Enables l4 ILB subsetting for this cluster. + bool enabled = 1; +} + +// DNSConfig contains the desired set of options for configuring clusterDNS. +message DNSConfig { + // Provider lists the various in-cluster DNS providers. + enum Provider { + // Default value + PROVIDER_UNSPECIFIED = 0; + + // Use GKE default DNS provider(kube-dns) for DNS resolution. + PLATFORM_DEFAULT = 1; + + // Use CloudDNS for DNS resolution. + CLOUD_DNS = 2; + } + + // DNSScope lists the various scopes of access to cluster DNS records. + enum DNSScope { + // Default value, will be inferred as cluster scope. + DNS_SCOPE_UNSPECIFIED = 0; + + // DNS records are accessible from within the VPC. + VPC_SCOPE = 2; + } + + // cluster_dns indicates which in-cluster DNS provider should be used. + Provider cluster_dns = 1; + + // cluster_dns_scope indicates the scope of access to cluster DNS records. + DNSScope cluster_dns_scope = 2; + + // cluster_dns_domain is the suffix used for all cluster service records. + string cluster_dns_domain = 3; +} + +// Constraints applied to pods. +message MaxPodsConstraint { + // Constraint enforced on the max num of pods per node. + int64 max_pods_per_node = 1; +} + +// Configuration for the use of Kubernetes Service Accounts in GCP IAM +// policies. +message WorkloadIdentityConfig { + // The workload pool to attach all Kubernetes service accounts to. + string workload_pool = 2; +} + +// Configuration for issuance of mTLS keys and certificates to Kubernetes pods. +message MeshCertificates { + // enable_certificates controls issuance of workload mTLS certificates. + // + // If set, the GKE Workload Identity Certificates controller and node agent + // will be deployed in the cluster, which can then be configured by creating a + // WorkloadCertificateConfig Custom Resource. + // + // Requires Workload Identity + // ([workload_pool][google.container.v1.WorkloadIdentityConfig.workload_pool] + // must be non-empty). + google.protobuf.BoolValue enable_certificates = 1; +} + +// Configuration of etcd encryption. +message DatabaseEncryption { + // State of etcd encryption. + enum State { + // Should never be set + UNKNOWN = 0; + + // Secrets in etcd are encrypted. + ENCRYPTED = 1; + + // Secrets in etcd are stored in plain text (at etcd level) - this is + // unrelated to Compute Engine level full disk encryption. + DECRYPTED = 2; + } + + // Denotes the state of etcd encryption. + State state = 2; + + // Name of CloudKMS key to use for the encryption of secrets in etcd. + // Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key + string key_name = 1; +} + +// ListUsableSubnetworksRequest requests the list of usable subnetworks +// available to a user for creating clusters. +message ListUsableSubnetworksRequest { + // The parent project where subnetworks are usable. + // Specified in the format `projects/*`. + string parent = 1; + + // Filtering currently only supports equality on the networkProjectId and must + // be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` + // is the project which owns the listed subnetworks. This defaults to the + // parent project ID. + string filter = 2; + + // The max number of results per page that should be returned. If the number + // of available results is larger than `page_size`, a `next_page_token` is + // returned which can be used to get the next page of results in subsequent + // requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + int32 page_size = 3; + + // Specifies a page token to use. Set this to the nextPageToken returned by + // previous list requests to get the next page of results. + string page_token = 4; +} + +// ListUsableSubnetworksResponse is the response of +// ListUsableSubnetworksRequest. +message ListUsableSubnetworksResponse { + // A list of usable subnetworks in the specified network project. + repeated UsableSubnetwork subnetworks = 1; + + // This token allows you to get the next page of results for list requests. + // If the number of results is larger than `page_size`, use the + // `next_page_token` as a value for the query parameter `page_token` in the + // next request. The value will become empty when there are no more pages. + string next_page_token = 2; +} + +// Secondary IP range of a usable subnetwork. +message UsableSubnetworkSecondaryRange { + // Status shows the current usage of a secondary IP range. + enum Status { + // UNKNOWN is the zero value of the Status enum. It's not a valid status. + UNKNOWN = 0; + + // UNUSED denotes that this range is unclaimed by any cluster. + UNUSED = 1; + + // IN_USE_SERVICE denotes that this range is claimed by a cluster for + // services. It cannot be used for other clusters. + IN_USE_SERVICE = 2; + + // IN_USE_SHAREABLE_POD denotes this range was created by the network admin + // and is currently claimed by a cluster for pods. It can only be used by + // other clusters as a pod range. + IN_USE_SHAREABLE_POD = 3; + + // IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed + // for pods. It cannot be used for other clusters. + IN_USE_MANAGED_POD = 4; + } + + // The name associated with this subnetwork secondary range, used when adding + // an alias IP range to a VM instance. + string range_name = 1; + + // The range of IP addresses belonging to this subnetwork secondary range. + string ip_cidr_range = 2; + + // This field is to determine the status of the secondary range programmably. + Status status = 3; +} + +// UsableSubnetwork resource returns the subnetwork name, its associated network +// and the primary CIDR range. +message UsableSubnetwork { + // Subnetwork Name. + // Example: projects/my-project/regions/us-central1/subnetworks/my-subnet + string subnetwork = 1; + + // Network Name. + // Example: projects/my-project/global/networks/my-network + string network = 2; + + // The range of internal addresses that are owned by this subnetwork. + string ip_cidr_range = 3; + + // Secondary IP ranges. + repeated UsableSubnetworkSecondaryRange secondary_ip_ranges = 4; + + // A human readable status message representing the reasons for cases where + // the caller cannot use the secondary ranges under the subnet. For example if + // the secondary_ip_ranges is empty due to a permission issue, an insufficient + // permission message will be given by status_message. + string status_message = 5; +} + +// Configuration for exporting cluster resource usages. +message ResourceUsageExportConfig { + // Parameters for using BigQuery as the destination of resource usage export. + message BigQueryDestination { + // The ID of a BigQuery Dataset. + string dataset_id = 1; + } + + // Parameters for controlling consumption metering. + message ConsumptionMeteringConfig { + // Whether to enable consumption metering for this cluster. If enabled, a + // second BigQuery table will be created to hold resource consumption + // records. + bool enabled = 1; + } + + // Configuration to use BigQuery as usage export destination. + BigQueryDestination bigquery_destination = 1; + + // Whether to enable network egress metering for this cluster. If enabled, a + // daemonset will be created in the cluster to meter network egress traffic. + bool enable_network_egress_metering = 2; + + // Configuration to enable resource consumption metering. + ConsumptionMeteringConfig consumption_metering_config = 3; +} + +// VerticalPodAutoscaling contains global, per-cluster information +// required by Vertical Pod Autoscaler to automatically adjust +// the resources of pods controlled by it. +message VerticalPodAutoscaling { + // Enables vertical pod autoscaling. + bool enabled = 1; +} + +// DefaultSnatStatus contains the desired state of whether default sNAT should +// be disabled on the cluster. +message DefaultSnatStatus { + // Disables cluster default sNAT rules. + bool disabled = 1; +} + +// Configuration of Shielded Nodes feature. +message ShieldedNodes { + // Whether Shielded Nodes features are enabled on all nodes in this cluster. + bool enabled = 1; +} + +// Configuration of gVNIC feature. +message VirtualNIC { + // Whether gVNIC features are enabled in the node pool. + bool enabled = 1; +} + +// PrivateIPv6GoogleAccess controls whether and how the pods can communicate +// with Google Services through gRPC over IPv6. +enum PrivateIPv6GoogleAccess { + // Default value. Same as DISABLED + PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0; + + // No private access to or from Google Services + PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1; + + // Enables private IPv6 access to Google Services from GKE + PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2; + + // Enables priate IPv6 access to and from Google Services + PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3; +} + +// The datapath provider selects the implementation of the Kubernetes networking +// model for service resolution and network policy enforcement. +enum DatapathProvider { + // Default value. + DATAPATH_PROVIDER_UNSPECIFIED = 0; + + // Use the IPTables implementation based on kube-proxy. + LEGACY_DATAPATH = 1; + + // Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE + // Dataplane V2 + // documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) + // for more. + ADVANCED_DATAPATH = 2; +} + +// NotificationConfig is the configuration of notifications. +message NotificationConfig { + // Types of notifications currently supported. Can be used to filter what + // notifications are sent. + enum EventType { + // Not set, will be ignored. + EVENT_TYPE_UNSPECIFIED = 0; + + // Corresponds with UpgradeAvailableEvent. + UPGRADE_AVAILABLE_EVENT = 1; + + // Corresponds with UpgradeEvent. + UPGRADE_EVENT = 2; + + // Corresponds with SecurityBulletinEvent. + SECURITY_BULLETIN_EVENT = 3; + } + + // Pub/Sub specific notification config. + message PubSub { + // Enable notifications for Pub/Sub. + bool enabled = 1; + + // The desired Pub/Sub topic to which notifications will be + // sent by GKE. Format is `projects/{project}/topics/{topic}`. + string topic = 2 [(google.api.resource_reference) = { + type: "pubsub.googleapis.com/Topic" + }]; + + // Allows filtering to one or more specific event types. If no filter is + // specified, or if a filter is specified with no event types, all event + // types will be sent + Filter filter = 3; + } + + // Allows filtering to one or more specific event types. If event types are + // present, those and only those event types will be transmitted to the + // cluster. Other types will be skipped. If no filter is specified, or no + // event types are present, all event types will be sent + message Filter { + // Event types to allowlist. + repeated EventType event_type = 1; + } + + // Notification config for Pub/Sub. + PubSub pubsub = 1; +} + +// ConfidentialNodes is configuration for the confidential nodes feature, which +// makes nodes run on confidential VMs. +message ConfidentialNodes { + // Whether Confidential Nodes feature is enabled for all nodes in this + // cluster. + bool enabled = 1; +} + +// UpgradeResourceType is the resource type that is upgrading. It is used +// in upgrade notifications. +enum UpgradeResourceType { + // Default value. This shouldn't be used. + UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0; + + // Master / control plane + MASTER = 1; + + // Node pool + NODE_POOL = 2; +} + +// UpgradeEvent is a notification sent to customers by the cluster server when +// a resource is upgrading. +message UpgradeEvent { + // The resource type that is upgrading. + UpgradeResourceType resource_type = 1; + + // The operation associated with this upgrade. + string operation = 2; + + // The time when the operation was started. + google.protobuf.Timestamp operation_start_time = 3; + + // The current version before the upgrade. + string current_version = 4; + + // The target version for the upgrade. + string target_version = 5; + + // Optional relative path to the resource. For example in node pool upgrades, + // the relative path of the node pool. + string resource = 6; +} + +// UpgradeAvailableEvent is a notification sent to customers when a new +// available version is released. +message UpgradeAvailableEvent { + // The release version available for upgrade. + string version = 1; + + // The resource type of the release version. + UpgradeResourceType resource_type = 2; + + // The release channel of the version. If empty, it means a non-channel + // release. + ReleaseChannel release_channel = 3; + + // Optional relative path to the resource. For example, the relative path of + // the node pool. + string resource = 4; +} + +// SecurityBulletinEvent is a notification sent to customers when a security +// bulletin has been posted that they are vulnerable to. +message SecurityBulletinEvent { + // The resource type (node/control plane) that has the vulnerability. Multiple + // notifications (1 notification per resource type) will be sent for a + // vulnerability that affects > 1 resource type. + string resource_type_affected = 1; + + // The ID of the bulletin corresponding to the vulnerability. + string bulletin_id = 2; + + // The CVEs associated with this bulletin. + repeated string cve_ids = 3; + + // The severity of this bulletin as it relates to GKE. + string severity = 4; + + // The URI link to the bulletin on the website for more information. + string bulletin_uri = 5; + + // A brief description of the bulletin. See the bulletin pointed to by the + // bulletin_uri field for an expanded description. + string brief_description = 6; + + // The GKE minor versions affected by this vulnerability. + repeated string affected_supported_minors = 7; + + // The GKE versions where this vulnerability is patched. + repeated string patched_versions = 8; + + // This represents a version selected from the patched_versions field that + // the cluster receiving this notification should most likely want to upgrade + // to based on its current version. Note that if this notification is being + // received by a given cluster, it means that this version is currently + // available as an upgrade target in that cluster's location. + string suggested_upgrade_target = 9; + + // If this field is specified, it means there are manual steps that the user + // must take to make their clusters safe. + bool manual_steps_required = 10; +} + +// Autopilot is the configuration for Autopilot settings on the cluster. +message Autopilot { + // Enable Autopilot + bool enabled = 1; +} + +// LoggingConfig is cluster logging configuration. +message LoggingConfig { + // Logging components configuration + LoggingComponentConfig component_config = 1; +} + +// LoggingComponentConfig is cluster logging component configuration. +message LoggingComponentConfig { + // GKE components exposing logs + enum Component { + // Default value. This shouldn't be used. + COMPONENT_UNSPECIFIED = 0; + + // system components + SYSTEM_COMPONENTS = 1; + + // workloads + WORKLOADS = 2; + } + + // Select components to collect logs. An empty set would disable all logging. + repeated Component enable_components = 1; +} + +// MonitoringConfig is cluster monitoring configuration. +message MonitoringConfig { + // Monitoring components configuration + MonitoringComponentConfig component_config = 1; +} + +// MonitoringComponentConfig is cluster monitoring component configuration. +message MonitoringComponentConfig { + // GKE components exposing metrics + enum Component { + // Default value. This shouldn't be used. + COMPONENT_UNSPECIFIED = 0; + + // system components + SYSTEM_COMPONENTS = 1; + } + + // Select components to collect metrics. An empty set would disable all + // monitoring. + repeated Component enable_components = 1; +} diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js new file mode 100644 index 0000000..90e79a4 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_CancelOperation_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format `projects/* /locations/* /operations/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callCancelOperation() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.cancelOperation(request); + console.log(response); + } + + callCancelOperation(); + // [END container_v1_generated_ClusterManager_CancelOperation_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js new file mode 100644 index 0000000..d498d65 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_CompleteIPRotation_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callCompleteIPRotation() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.completeIPRotation(request); + console.log(response); + } + + callCompleteIPRotation(); + // [END container_v1_generated_ClusterManager_CompleteIPRotation_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js new file mode 100644 index 0000000..6033270 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(cluster) { + // [START container_v1_generated_ClusterManager_CreateCluster_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. A cluster + * resource (https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) + */ + // const cluster = {} + /** + * The parent (project and location) where the cluster will be created. + * Specified in the format `projects/* /locations/*`. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callCreateCluster() { + // Construct request + const request = { + cluster, + }; + + // Run request + const response = await containerClient.createCluster(request); + console.log(response); + } + + callCreateCluster(); + // [END container_v1_generated_ClusterManager_CreateCluster_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js new file mode 100644 index 0000000..e514be6 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(nodePool) { + // [START container_v1_generated_ClusterManager_CreateNodePool_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The node pool to create. + */ + // const nodePool = {} + /** + * The parent (project, location, cluster id) where the node pool will be + * created. Specified in the format + * `projects/* /locations/* /clusters/*`. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callCreateNodePool() { + // Construct request + const request = { + nodePool, + }; + + // Run request + const response = await containerClient.createNodePool(request); + console.log(response); + } + + callCreateNodePool(); + // [END container_v1_generated_ClusterManager_CreateNodePool_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js new file mode 100644 index 0000000..5c51486 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_DeleteCluster_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster) of the cluster to delete. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callDeleteCluster() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.deleteCluster(request); + console.log(response); + } + + callDeleteCluster(); + // [END container_v1_generated_ClusterManager_DeleteCluster_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js new file mode 100644 index 0000000..f50509a --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_DeleteNodePool_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster, node pool id) of the node pool to + * delete. Specified in the format + * `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callDeleteNodePool() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.deleteNodePool(request); + console.log(response); + } + + callDeleteNodePool(); + // [END container_v1_generated_ClusterManager_DeleteNodePool_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js new file mode 100644 index 0000000..b47a6f3 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_GetCluster_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster) of the cluster to retrieve. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callGetCluster() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.getCluster(request); + console.log(response); + } + + callGetCluster(); + // [END container_v1_generated_ClusterManager_GetCluster_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js new file mode 100644 index 0000000..a1b3231 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_GetJSONWebKeys_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The cluster (project, location, cluster id) to get keys for. Specified in + * the format `projects/* /locations/* /clusters/*`. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callGetJSONWebKeys() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.getJSONWebKeys(request); + console.log(response); + } + + callGetJSONWebKeys(); + // [END container_v1_generated_ClusterManager_GetJSONWebKeys_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js new file mode 100644 index 0000000..4a88d3d --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_GetNodePool_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster, node pool id) of the node pool to + * get. Specified in the format + * `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callGetNodePool() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.getNodePool(request); + console.log(response); + } + + callGetNodePool(); + // [END container_v1_generated_ClusterManager_GetNodePool_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js new file mode 100644 index 0000000..dc9fe15 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_GetOperation_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, operation id) of the operation to get. + * Specified in the format `projects/* /locations/* /operations/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callGetOperation() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.getOperation(request); + console.log(response); + } + + callGetOperation(); + // [END container_v1_generated_ClusterManager_GetOperation_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js new file mode 100644 index 0000000..61b4731 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_GetServerConfig_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project and location) of the server config to get, + * specified in the format `projects/* /locations/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callGetServerConfig() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.getServerConfig(request); + console.log(response); + } + + callGetServerConfig(); + // [END container_v1_generated_ClusterManager_GetServerConfig_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js new file mode 100644 index 0000000..5e41490 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_ListClusters_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The parent (project and location) where the clusters will be listed. + * Specified in the format `projects/* /locations/*`. + * Location "-" matches all zones and all regions. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callListClusters() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.listClusters(request); + console.log(response); + } + + callListClusters(); + // [END container_v1_generated_ClusterManager_ListClusters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js new file mode 100644 index 0000000..a4b768d --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_ListNodePools_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The parent (project, location, cluster id) where the node pools will be + * listed. Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callListNodePools() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.listNodePools(request); + console.log(response); + } + + callListNodePools(); + // [END container_v1_generated_ClusterManager_ListNodePools_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js new file mode 100644 index 0000000..64552cf --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_ListOperations_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The parent (project and location) where the operations will be listed. + * Specified in the format `projects/* /locations/*`. + * Location "-" matches all zones and all regions. + */ + // const parent = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callListOperations() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.listOperations(request); + console.log(response); + } + + callListOperations(); + // [END container_v1_generated_ClusterManager_ListOperations_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js new file mode 100644 index 0000000..c5fc0bb --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js @@ -0,0 +1,74 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_ListUsableSubnetworks_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The parent project where subnetworks are usable. + * Specified in the format `projects/*`. + */ + // const parent = 'abc123' + /** + * Filtering currently only supports equality on the networkProjectId and must + * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` + * is the project which owns the listed subnetworks. This defaults to the + * parent project ID. + */ + // const filter = 'abc123' + /** + * The max number of results per page that should be returned. If the number + * of available results is larger than `page_size`, a `next_page_token` is + * returned which can be used to get the next page of results in subsequent + * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + */ + // const pageSize = 1234 + /** + * Specifies a page token to use. Set this to the nextPageToken returned by + * previous list requests to get the next page of results. + */ + // const pageToken = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callListUsableSubnetworks() { + // Construct request + const request = { + }; + + // Run request + const iterable = await containerClient.listUsableSubnetworksAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListUsableSubnetworks(); + // [END container_v1_generated_ClusterManager_ListUsableSubnetworks_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js new file mode 100644 index 0000000..09cbd27 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. + * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callRollbackNodePoolUpgrade() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.rollbackNodePoolUpgrade(request); + console.log(response); + } + + callRollbackNodePoolUpgrade(); + // [END container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js new file mode 100644 index 0000000..267a0fa --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(addonsConfig) { + // [START container_v1_generated_ClusterManager_SetAddonsConfig_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The desired configurations for the various addons available to run in the + * cluster. + */ + // const addonsConfig = {} + /** + * The name (project, location, cluster) of the cluster to set addons. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetAddonsConfig() { + // Construct request + const request = { + addonsConfig, + }; + + // Run request + const response = await containerClient.setAddonsConfig(request); + console.log(response); + } + + callSetAddonsConfig(); + // [END container_v1_generated_ClusterManager_SetAddonsConfig_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js new file mode 100644 index 0000000..e8c6aa5 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js @@ -0,0 +1,68 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(resourceLabels, labelFingerprint) { + // [START container_v1_generated_ClusterManager_SetLabels_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The labels to set for that cluster. + */ + // const resourceLabels = 1234 + /** + * Required. The fingerprint of the previous set of labels for this resource, + * used to detect conflicts. The fingerprint is initially generated by + * Kubernetes Engine and changes after every request to modify or update + * labels. You must always provide an up-to-date fingerprint hash when + * updating or changing labels. Make a `get()` request to the + * resource to get the latest fingerprint. + */ + // const labelFingerprint = 'abc123' + /** + * The name (project, location, cluster id) of the cluster to set labels. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetLabels() { + // Construct request + const request = { + resourceLabels, + labelFingerprint, + }; + + // Run request + const response = await containerClient.setLabels(request); + console.log(response); + } + + callSetLabels(); + // [END container_v1_generated_ClusterManager_SetLabels_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js new file mode 100644 index 0000000..8b1740c --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js @@ -0,0 +1,58 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(enabled) { + // [START container_v1_generated_ClusterManager_SetLegacyAbac_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Whether ABAC authorization will be enabled in the cluster. + */ + // const enabled = true + /** + * The name (project, location, cluster id) of the cluster to set legacy abac. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetLegacyAbac() { + // Construct request + const request = { + enabled, + }; + + // Run request + const response = await containerClient.setLegacyAbac(request); + console.log(response); + } + + callSetLegacyAbac(); + // [END container_v1_generated_ClusterManager_SetLegacyAbac_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js new file mode 100644 index 0000000..dbb19c4 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(locations) { + // [START container_v1_generated_ClusterManager_SetLocations_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * 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. + */ + // const locations = 'abc123' + /** + * The name (project, location, cluster) of the cluster to set locations. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetLocations() { + // Construct request + const request = { + locations, + }; + + // Run request + const response = await containerClient.setLocations(request); + console.log(response); + } + + callSetLocations(); + // [END container_v1_generated_ClusterManager_SetLocations_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js new file mode 100644 index 0000000..788aeaa --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(loggingService) { + // [START container_v1_generated_ClusterManager_SetLoggingService_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * 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. + */ + // const loggingService = 'abc123' + /** + * The name (project, location, cluster) of the cluster to set logging. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetLoggingService() { + // Construct request + const request = { + loggingService, + }; + + // Run request + const response = await containerClient.setLoggingService(request); + console.log(response); + } + + callSetLoggingService(); + // [END container_v1_generated_ClusterManager_SetLoggingService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js new file mode 100644 index 0000000..17fa0b9 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js @@ -0,0 +1,78 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(projectId, zone, clusterId, maintenancePolicy) { + // [START container_v1_generated_ClusterManager_SetMaintenancePolicy_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The Google Developers Console project ID or project + * number (https://support.google.com/cloud/answer/6158840). + */ + // const projectId = 'abc123' + /** + * Required. The name of the Google Compute Engine + * zone (https://cloud.google.com/compute/docs/zones#available) in which the + * cluster resides. + */ + // const zone = 'abc123' + /** + * Required. The name of the cluster to update. + */ + // const clusterId = 'abc123' + /** + * Required. The maintenance policy to be set for the cluster. An empty field + * clears the existing maintenance policy. + */ + // const maintenancePolicy = {} + /** + * The name (project, location, cluster id) of the cluster to set maintenance + * policy. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetMaintenancePolicy() { + // Construct request + const request = { + projectId, + zone, + clusterId, + maintenancePolicy, + }; + + // Run request + const response = await containerClient.setMaintenancePolicy(request); + console.log(response); + } + + callSetMaintenancePolicy(); + // [END container_v1_generated_ClusterManager_SetMaintenancePolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js new file mode 100644 index 0000000..eaa4cb4 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(action, update) { + // [START container_v1_generated_ClusterManager_SetMasterAuth_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The exact form of action to be taken on the master auth. + */ + // const action = {} + /** + * Required. A description of the update. + */ + // const update = {} + /** + * The name (project, location, cluster) of the cluster to set auth. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetMasterAuth() { + // Construct request + const request = { + action, + update, + }; + + // Run request + const response = await containerClient.setMasterAuth(request); + console.log(response); + } + + callSetMasterAuth(); + // [END container_v1_generated_ClusterManager_SetMasterAuth_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js new file mode 100644 index 0000000..3c390c8 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(monitoringService) { + // [START container_v1_generated_ClusterManager_SetMonitoringService_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * 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. + */ + // const monitoringService = 'abc123' + /** + * The name (project, location, cluster) of the cluster to set monitoring. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetMonitoringService() { + // Construct request + const request = { + monitoringService, + }; + + // Run request + const response = await containerClient.setMonitoringService(request); + console.log(response); + } + + callSetMonitoringService(); + // [END container_v1_generated_ClusterManager_SetMonitoringService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js new file mode 100644 index 0000000..978506b --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js @@ -0,0 +1,58 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(networkPolicy) { + // [START container_v1_generated_ClusterManager_SetNetworkPolicy_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Configuration options for the NetworkPolicy feature. + */ + // const networkPolicy = {} + /** + * The name (project, location, cluster id) of the cluster to set networking + * policy. Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetNetworkPolicy() { + // Construct request + const request = { + networkPolicy, + }; + + // Run request + const response = await containerClient.setNetworkPolicy(request); + console.log(response); + } + + callSetNetworkPolicy(); + // [END container_v1_generated_ClusterManager_SetNetworkPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js new file mode 100644 index 0000000..4dfb03f --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(autoscaling) { + // [START container_v1_generated_ClusterManager_SetNodePoolAutoscaling_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Autoscaling configuration for the node pool. + */ + // const autoscaling = {} + /** + * The name (project, location, cluster, node pool) of the node pool to set + * autoscaler settings. Specified in the format + * `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetNodePoolAutoscaling() { + // Construct request + const request = { + autoscaling, + }; + + // Run request + const response = await containerClient.setNodePoolAutoscaling(request); + console.log(response); + } + + callSetNodePoolAutoscaling(); + // [END container_v1_generated_ClusterManager_SetNodePoolAutoscaling_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js new file mode 100644 index 0000000..0c4c835 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(management) { + // [START container_v1_generated_ClusterManager_SetNodePoolManagement_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. NodeManagement configuration for the node pool. + */ + // const management = {} + /** + * The name (project, location, cluster, node pool id) of the node pool to set + * management properties. Specified in the format + * `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetNodePoolManagement() { + // Construct request + const request = { + management, + }; + + // Run request + const response = await containerClient.setNodePoolManagement(request); + console.log(response); + } + + callSetNodePoolManagement(); + // [END container_v1_generated_ClusterManager_SetNodePoolManagement_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js new file mode 100644 index 0000000..8c00b40 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(nodeCount) { + // [START container_v1_generated_ClusterManager_SetNodePoolSize_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The desired node count for the pool. + */ + // const nodeCount = 1234 + /** + * The name (project, location, cluster, node pool id) of the node pool to set + * size. + * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callSetNodePoolSize() { + // Construct request + const request = { + nodeCount, + }; + + // Run request + const response = await containerClient.setNodePoolSize(request); + console.log(response); + } + + callSetNodePoolSize(); + // [END container_v1_generated_ClusterManager_SetNodePoolSize_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js new file mode 100644 index 0000000..e4b9493 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js @@ -0,0 +1,57 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_StartIPRotation_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + /** + * Whether to rotate credentials during IP rotation. + */ + // const rotateCredentials = true + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callStartIPRotation() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.startIPRotation(request); + console.log(response); + } + + callStartIPRotation(); + // [END container_v1_generated_ClusterManager_StartIPRotation_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js new file mode 100644 index 0000000..77d44a4 --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js @@ -0,0 +1,58 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(update) { + // [START container_v1_generated_ClusterManager_UpdateCluster_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. A description of the update. + */ + // const update = {} + /** + * The name (project, location, cluster) of the cluster to update. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callUpdateCluster() { + // Construct request + const request = { + update, + }; + + // Run request + const response = await containerClient.updateCluster(request); + console.log(response); + } + + callUpdateCluster(); + // [END container_v1_generated_ClusterManager_UpdateCluster_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js new file mode 100644 index 0000000..2aa34bc --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js @@ -0,0 +1,65 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(masterVersion) { + // [START container_v1_generated_ClusterManager_UpdateMaster_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * 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 + */ + // const masterVersion = 'abc123' + /** + * The name (project, location, cluster) of the cluster to update. + * Specified in the format `projects/* /locations/* /clusters/*`. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callUpdateMaster() { + // Construct request + const request = { + masterVersion, + }; + + // Run request + const response = await containerClient.updateMaster(request); + console.log(response); + } + + callUpdateMaster(); + // [END container_v1_generated_ClusterManager_UpdateMaster_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js new file mode 100644 index 0000000..b2707cd --- /dev/null +++ b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js @@ -0,0 +1,104 @@ +// Copyright 2021 Google LLC +// +// 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. + + +'use strict'; + +function main(nodeVersion, imageType) { + // [START container_v1_generated_ClusterManager_UpdateNodePool_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * 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 + */ + // const nodeVersion = 'abc123' + /** + * Required. The desired image type for the node pool. + */ + // const imageType = 'abc123' + /** + * The name (project, location, cluster, node pool) of the node pool to + * update. Specified in the format + * `projects/* /locations/* /clusters/* /nodePools/*`. + */ + // const name = 'abc123' + /** + * 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. + */ + // const locations = 'abc123' + /** + * The desired workload metadata config for the node pool. + */ + // const workloadMetadataConfig = {} + /** + * Upgrade settings control disruption and speed of the upgrade. + */ + // const upgradeSettings = {} + /** + * Parameters that can be configured on Linux nodes. + */ + // const linuxNodeConfig = {} + /** + * Node kubelet configs. + */ + // const kubeletConfig = {} + /** + * GCFS config. + */ + // const gcfsConfig = {} + /** + * Enable or disable gvnic on the node pool. + */ + // const gvnic = {} + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callUpdateNodePool() { + // Construct request + const request = { + nodeVersion, + imageType, + }; + + // Run request + const response = await containerClient.updateNodePool(request); + console.log(response); + } + + callUpdateNodePool(); + // [END container_v1_generated_ClusterManager_UpdateNodePool_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/src/index.ts b/owl-bot-staging/v1/src/index.ts new file mode 100644 index 0000000..0af37af --- /dev/null +++ b/owl-bot-staging/v1/src/index.ts @@ -0,0 +1,25 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; +const ClusterManagerClient = v1.ClusterManagerClient; +type ClusterManagerClient = v1.ClusterManagerClient; +export {v1, ClusterManagerClient}; +export default {v1, ClusterManagerClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_client.ts b/owl-bot-staging/v1/src/v1/cluster_manager_client.ts new file mode 100644 index 0000000..17419ba --- /dev/null +++ b/owl-bot-staging/v1/src/v1/cluster_manager_client.ts @@ -0,0 +1,3295 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import * as gax from 'google-gax'; +import {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; + +import { Transform } from 'stream'; +import { RequestType } from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/cluster_manager_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './cluster_manager_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Google Kubernetes Engine Cluster Manager v1 + * @class + * @memberof v1 + */ +export class ClusterManagerClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + 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/master/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://developers.google.com/identity/protocols/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 fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. + */ + constructor(opts?: ClientOptions) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof ClusterManagerClient; + const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest' ) { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listUsableSubnetworks: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'subnetworks') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.container.v1.ClusterManager', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; + } + + /** + * 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() { + // If the client stub promise is already initialized, return immediately. + if (this.clusterManagerStub) { + return this.clusterManagerStub; + } + + // Put together the "service stub" for + // google.container.v1.ClusterManager. + this.clusterManagerStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.container.v1.ClusterManager') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.container.v1.ClusterManager, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const clusterManagerStubMethods = + ['listClusters', 'getCluster', 'createCluster', 'updateCluster', 'updateNodePool', 'setNodePoolAutoscaling', 'setLoggingService', 'setMonitoringService', 'setAddonsConfig', 'setLocations', 'updateMaster', 'setMasterAuth', 'deleteCluster', 'listOperations', 'getOperation', 'cancelOperation', 'getServerConfig', 'getJSONWebKeys', 'listNodePools', 'getNodePool', 'createNodePool', 'deleteNodePool', 'rollbackNodePoolUpgrade', 'setNodePoolManagement', 'setLabels', 'setLegacyAbac', 'startIPRotation', 'completeIPRotation', 'setNodePoolSize', 'setNetworkPolicy', 'setMaintenancePolicy', 'listUsableSubnetworks']; + for (const methodName of clusterManagerStubMethods) { + const callPromise = this.clusterManagerStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.clusterManagerStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'container.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'container.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [ListClustersResponse]{@link google.container.v1.ListClustersResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.list_clusters.js + * 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; + listClusters( + request?: protos.google.container.v1.IListClustersRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IListClustersResponse, + protos.google.container.v1.IListClustersRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IListClustersResponse, + protos.google.container.v1.IListClustersRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IListClustersResponse, + protos.google.container.v1.IListClustersRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.listClusters(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Cluster]{@link google.container.v1.Cluster}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.get_cluster.js + * 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; + getCluster( + request?: protos.google.container.v1.IGetClusterRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.ICluster, + protos.google.container.v1.IGetClusterRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.ICluster, + protos.google.container.v1.IGetClusterRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.ICluster, + protos.google.container.v1.IGetClusterRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.getCluster(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.create_cluster.js + * 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; + createCluster( + request?: protos.google.container.v1.ICreateClusterRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateClusterRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateClusterRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateClusterRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.createCluster(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.update_cluster.js + * 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; + updateCluster( + request?: protos.google.container.v1.IUpdateClusterRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateClusterRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateClusterRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateClusterRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.updateCluster(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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. + * @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.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.GcfsConfig} request.gcfsConfig + * GCFS config. + * @param {google.container.v1.VirtualNIC} request.gvnic + * Enable or disable gvnic on the node pool. + * @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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.update_node_pool.js + * 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; + updateNodePool( + request?: protos.google.container.v1.IUpdateNodePoolRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateNodePoolRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateNodePoolRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateNodePoolRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.updateNodePool(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js + * 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; + setNodePoolAutoscaling( + request?: protos.google.container.v1.ISetNodePoolAutoscalingRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolAutoscalingRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolAutoscalingRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolAutoscalingRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setNodePoolAutoscaling(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_logging_service.js + * 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; + setLoggingService( + request?: protos.google.container.v1.ISetLoggingServiceRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLoggingServiceRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLoggingServiceRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLoggingServiceRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setLoggingService(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_monitoring_service.js + * 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; + setMonitoringService( + request?: protos.google.container.v1.ISetMonitoringServiceRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMonitoringServiceRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMonitoringServiceRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMonitoringServiceRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setMonitoringService(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_addons_config.js + * 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; + setAddonsConfig( + request?: protos.google.container.v1.ISetAddonsConfigRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetAddonsConfigRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetAddonsConfigRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetAddonsConfigRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setAddonsConfig(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_locations.js + * 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; + setLocations( + request?: protos.google.container.v1.ISetLocationsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLocationsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLocationsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLocationsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + this.warn('DEP$ClusterManager-$SetLocations','SetLocations is deprecated and may be removed in a future version.', 'DeprecationWarning'); + return this.innerApiCalls.setLocations(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.update_master.js + * 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; + updateMaster( + request?: protos.google.container.v1.IUpdateMasterRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateMasterRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateMasterRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IUpdateMasterRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.updateMaster(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_master_auth.js + * 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; + setMasterAuth( + request?: protos.google.container.v1.ISetMasterAuthRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMasterAuthRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMasterAuthRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMasterAuthRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setMasterAuth(request, options, callback); + } +/** + * 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://support.google.com/cloud/answer/6158840). + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.delete_cluster.js + * 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; + deleteCluster( + request?: protos.google.container.v1.IDeleteClusterRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteClusterRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteClusterRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteClusterRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.deleteCluster(request, options, callback); + } +/** + * Lists all operations in a project in a specific 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://support.google.com/cloud/answer/6158840). + * 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) to return + * operations for, 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 operations 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 [ListOperationsResponse]{@link google.container.v1.ListOperationsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.list_operations.js + * region_tag:container_v1_generated_ClusterManager_ListOperations_async + */ + listOperations( + request?: protos.google.container.v1.IListOperationsRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|undefined, {}|undefined + ]>; + listOperations( + request: protos.google.container.v1.IListOperationsRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|null|undefined, + {}|null|undefined>): void; + listOperations( + request: protos.google.container.v1.IListOperationsRequest, + callback: Callback< + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|null|undefined, + {}|null|undefined>): void; + listOperations( + request?: protos.google.container.v1.IListOperationsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IListOperationsResponse, + protos.google.container.v1.IListOperationsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.listOperations(request, options, callback); + } +/** + * Gets the specified operation. + * + * @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://support.google.com/cloud/answer/6158840). + * 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.operationId + * Deprecated. The server-assigned `name` of the operation. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, operation id) of the operation to get. + * Specified in the format `projects/* /locations/* /operations/*`. + * @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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.get_operation.js + * region_tag:container_v1_generated_ClusterManager_GetOperation_async + */ + getOperation( + request?: protos.google.container.v1.IGetOperationRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|undefined, {}|undefined + ]>; + getOperation( + request: protos.google.container.v1.IGetOperationRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|null|undefined, + {}|null|undefined>): void; + getOperation( + request: protos.google.container.v1.IGetOperationRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|null|undefined, + {}|null|undefined>): void; + getOperation( + request?: protos.google.container.v1.IGetOperationRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IGetOperationRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.getOperation(request, options, callback); + } +/** + * Cancels the specified operation. + * + * @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://support.google.com/cloud/answer/6158840). + * 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 + * operation resides. This field has been deprecated and replaced by the name + * field. + * @param {string} request.operationId + * Deprecated. The server-assigned `name` of the operation. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, operation id) of the operation to cancel. + * Specified in the format `projects/* /locations/* /operations/*`. + * @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 [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.cancel_operation.js + * region_tag:container_v1_generated_ClusterManager_CancelOperation_async + */ + cancelOperation( + request?: protos.google.container.v1.ICancelOperationRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|undefined, {}|undefined + ]>; + cancelOperation( + request: protos.google.container.v1.ICancelOperationRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|null|undefined, + {}|null|undefined>): void; + cancelOperation( + request: protos.google.container.v1.ICancelOperationRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|null|undefined, + {}|null|undefined>): void; + cancelOperation( + request?: protos.google.container.v1.ICancelOperationRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICancelOperationRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.cancelOperation(request, options, callback); + } +/** + * Returns configuration info about the Google Kubernetes Engine service. + * + * @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://support.google.com/cloud/answer/6158840). + * 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) to return + * operations for. This field has been deprecated and replaced by the name + * field. + * @param {string} request.name + * The name (project and location) of the server config to get, + * 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 [ServerConfig]{@link google.container.v1.ServerConfig}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.get_server_config.js + * region_tag:container_v1_generated_ClusterManager_GetServerConfig_async + */ + getServerConfig( + request?: protos.google.container.v1.IGetServerConfigRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|undefined, {}|undefined + ]>; + getServerConfig( + request: protos.google.container.v1.IGetServerConfigRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|null|undefined, + {}|null|undefined>): void; + getServerConfig( + request: protos.google.container.v1.IGetServerConfigRequest, + callback: Callback< + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|null|undefined, + {}|null|undefined>): void; + getServerConfig( + request?: protos.google.container.v1.IGetServerConfigRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IServerConfig, + protos.google.container.v1.IGetServerConfigRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.getServerConfig(request, options, callback); + } +/** + * Gets the public component of the cluster signing keys in + * JSON Web Key format. + * This API is not yet intended for general use, and is not available for all + * clusters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The cluster (project, location, cluster id) to get keys for. 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 [GetJSONWebKeysResponse]{@link google.container.v1.GetJSONWebKeysResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js + * region_tag:container_v1_generated_ClusterManager_GetJSONWebKeys_async + */ + getJSONWebKeys( + request?: protos.google.container.v1.IGetJSONWebKeysRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|undefined, {}|undefined + ]>; + getJSONWebKeys( + request: protos.google.container.v1.IGetJSONWebKeysRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, + {}|null|undefined>): void; + getJSONWebKeys( + request: protos.google.container.v1.IGetJSONWebKeysRequest, + callback: Callback< + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, + {}|null|undefined>): void; + getJSONWebKeys( + request?: protos.google.container.v1.IGetJSONWebKeysRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IGetJSONWebKeysResponse, + protos.google.container.v1.IGetJSONWebKeysRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.getJSONWebKeys(request, options, callback); + } +/** + * Lists the node pools for a 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://developers.google.com/console/help/new/#projectnumber). + * 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 {string} request.clusterId + * Deprecated. The name of the cluster. + * This field has been deprecated and replaced by the parent field. + * @param {string} request.parent + * The parent (project, location, cluster id) where the node pools will be + * listed. 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 [ListNodePoolsResponse]{@link google.container.v1.ListNodePoolsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.list_node_pools.js + * region_tag:container_v1_generated_ClusterManager_ListNodePools_async + */ + listNodePools( + request?: protos.google.container.v1.IListNodePoolsRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|undefined, {}|undefined + ]>; + listNodePools( + request: protos.google.container.v1.IListNodePoolsRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|null|undefined, + {}|null|undefined>): void; + listNodePools( + request: protos.google.container.v1.IListNodePoolsRequest, + callback: Callback< + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|null|undefined, + {}|null|undefined>): void; + listNodePools( + request?: protos.google.container.v1.IListNodePoolsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IListNodePoolsResponse, + protos.google.container.v1.IListNodePoolsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.listNodePools(request, options, callback); + } +/** + * Retrieves the requested 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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {string} request.nodePoolId + * Deprecated. The name of the node pool. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node pool to + * get. 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 [NodePool]{@link google.container.v1.NodePool}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.get_node_pool.js + * region_tag:container_v1_generated_ClusterManager_GetNodePool_async + */ + getNodePool( + request?: protos.google.container.v1.IGetNodePoolRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|undefined, {}|undefined + ]>; + getNodePool( + request: protos.google.container.v1.IGetNodePoolRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|null|undefined, + {}|null|undefined>): void; + getNodePool( + request: protos.google.container.v1.IGetNodePoolRequest, + callback: Callback< + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|null|undefined, + {}|null|undefined>): void; + getNodePool( + request?: protos.google.container.v1.IGetNodePoolRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.INodePool, + protos.google.container.v1.IGetNodePoolRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.getNodePool(request, options, callback); + } +/** + * Creates a node pool for a 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://developers.google.com/console/help/new/#projectnumber). + * 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 {string} request.clusterId + * Deprecated. The name of the cluster. + * This field has been deprecated and replaced by the parent field. + * @param {google.container.v1.NodePool} request.nodePool + * Required. The node pool to create. + * @param {string} request.parent + * The parent (project, location, cluster id) where the node pool will be + * created. 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.create_node_pool.js + * region_tag:container_v1_generated_ClusterManager_CreateNodePool_async + */ + createNodePool( + request?: protos.google.container.v1.ICreateNodePoolRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|undefined, {}|undefined + ]>; + createNodePool( + request: protos.google.container.v1.ICreateNodePoolRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|null|undefined, + {}|null|undefined>): void; + createNodePool( + request: protos.google.container.v1.ICreateNodePoolRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|null|undefined, + {}|null|undefined>): void; + createNodePool( + request?: protos.google.container.v1.ICreateNodePoolRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ICreateNodePoolRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.createNodePool(request, options, callback); + } +/** + * Deletes a node pool from a 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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {string} request.nodePoolId + * Deprecated. The name of the node pool to delete. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node pool to + * delete. 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.delete_node_pool.js + * region_tag:container_v1_generated_ClusterManager_DeleteNodePool_async + */ + deleteNodePool( + request?: protos.google.container.v1.IDeleteNodePoolRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|undefined, {}|undefined + ]>; + deleteNodePool( + request: protos.google.container.v1.IDeleteNodePoolRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, + {}|null|undefined>): void; + deleteNodePool( + request: protos.google.container.v1.IDeleteNodePoolRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, + {}|null|undefined>): void; + deleteNodePool( + request?: protos.google.container.v1.IDeleteNodePoolRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IDeleteNodePoolRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.deleteNodePool(request, options, callback); + } +/** + * Rolls back a previously Aborted or Failed NodePool upgrade. + * This makes no changes if the last upgrade successfully completed. + * + * @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://support.google.com/cloud/answer/6158840). + * 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 rollback. + * This field has been deprecated and replaced by the name field. + * @param {string} request.nodePoolId + * Deprecated. The name of the node pool to rollback. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node poll to + * rollback upgrade. + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js + * region_tag:container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async + */ + rollbackNodePoolUpgrade( + request?: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|undefined, {}|undefined + ]>; + rollbackNodePoolUpgrade( + request: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, + {}|null|undefined>): void; + rollbackNodePoolUpgrade( + request: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, + {}|null|undefined>): void; + rollbackNodePoolUpgrade( + request?: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IRollbackNodePoolUpgradeRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.rollbackNodePoolUpgrade(request, options, callback); + } +/** + * Sets the NodeManagement options for a 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://support.google.com/cloud/answer/6158840). + * 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 update. + * This field has been deprecated and replaced by the name field. + * @param {string} request.nodePoolId + * Deprecated. The name of the node pool to update. + * This field has been deprecated and replaced by the name field. + * @param {google.container.v1.NodeManagement} request.management + * Required. NodeManagement configuration for the node pool. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node pool to set + * management properties. 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_node_pool_management.js + * region_tag:container_v1_generated_ClusterManager_SetNodePoolManagement_async + */ + setNodePoolManagement( + request?: protos.google.container.v1.ISetNodePoolManagementRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|undefined, {}|undefined + ]>; + setNodePoolManagement( + request: protos.google.container.v1.ISetNodePoolManagementRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, + {}|null|undefined>): void; + setNodePoolManagement( + request: protos.google.container.v1.ISetNodePoolManagementRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, + {}|null|undefined>): void; + setNodePoolManagement( + request?: protos.google.container.v1.ISetNodePoolManagementRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolManagementRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setNodePoolManagement(request, options, callback); + } +/** + * Sets labels on a 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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {number[]} request.resourceLabels + * Required. The labels to set for that cluster. + * @param {string} request.labelFingerprint + * Required. The fingerprint of the previous set of labels for this resource, + * used to detect conflicts. The fingerprint is initially generated by + * Kubernetes Engine and changes after every request to modify or update + * labels. You must always provide an up-to-date fingerprint hash when + * updating or changing labels. Make a `get()` request to the + * resource to get the latest fingerprint. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to set labels. + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_labels.js + * region_tag:container_v1_generated_ClusterManager_SetLabels_async + */ + setLabels( + request?: protos.google.container.v1.ISetLabelsRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|undefined, {}|undefined + ]>; + setLabels( + request: protos.google.container.v1.ISetLabelsRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|null|undefined, + {}|null|undefined>): void; + setLabels( + request: protos.google.container.v1.ISetLabelsRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|null|undefined, + {}|null|undefined>): void; + setLabels( + request?: protos.google.container.v1.ISetLabelsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLabelsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setLabels(request, options, callback); + } +/** + * Enables or disables the ABAC authorization mechanism on a 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://support.google.com/cloud/answer/6158840). + * 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 update. + * This field has been deprecated and replaced by the name field. + * @param {boolean} request.enabled + * Required. Whether ABAC authorization will be enabled in the cluster. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to set legacy abac. + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_legacy_abac.js + * region_tag:container_v1_generated_ClusterManager_SetLegacyAbac_async + */ + setLegacyAbac( + request?: protos.google.container.v1.ISetLegacyAbacRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|undefined, {}|undefined + ]>; + setLegacyAbac( + request: protos.google.container.v1.ISetLegacyAbacRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, + {}|null|undefined>): void; + setLegacyAbac( + request: protos.google.container.v1.ISetLegacyAbacRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, + {}|null|undefined>): void; + setLegacyAbac( + request?: protos.google.container.v1.ISetLegacyAbacRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetLegacyAbacRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setLegacyAbac(request, options, callback); + } +/** + * Starts master IP rotation. + * + * @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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to start IP + * rotation. Specified in the format `projects/* /locations/* /clusters/*`. + * @param {boolean} request.rotateCredentials + * Whether to rotate credentials during IP rotation. + * @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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.start_i_p_rotation.js + * region_tag:container_v1_generated_ClusterManager_StartIPRotation_async + */ + startIPRotation( + request?: protos.google.container.v1.IStartIPRotationRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|undefined, {}|undefined + ]>; + startIPRotation( + request: protos.google.container.v1.IStartIPRotationRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|null|undefined, + {}|null|undefined>): void; + startIPRotation( + request: protos.google.container.v1.IStartIPRotationRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|null|undefined, + {}|null|undefined>): void; + startIPRotation( + request?: protos.google.container.v1.IStartIPRotationRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.IStartIPRotationRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.startIPRotation(request, options, callback); + } +/** + * Completes master IP rotation. + * + * @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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to complete IP + * rotation. 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.complete_i_p_rotation.js + * region_tag:container_v1_generated_ClusterManager_CompleteIPRotation_async + */ + completeIPRotation( + request?: protos.google.container.v1.ICompleteIPRotationRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|undefined, {}|undefined + ]>; + completeIPRotation( + request: protos.google.container.v1.ICompleteIPRotationRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, + {}|null|undefined>): void; + completeIPRotation( + request: protos.google.container.v1.ICompleteIPRotationRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, + {}|null|undefined>): void; + completeIPRotation( + request?: protos.google.container.v1.ICompleteIPRotationRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ICompleteIPRotationRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.completeIPRotation(request, options, callback); + } +/** + * Sets the size for a specific node pool. The new size will be used for all + * replicas, including future replicas created by modifying + * {@link google.container.v1.NodePool.locations|NodePool.locations}. + * + * @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://support.google.com/cloud/answer/6158840). + * 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 update. + * This field has been deprecated and replaced by the name field. + * @param {string} request.nodePoolId + * Deprecated. The name of the node pool to update. + * This field has been deprecated and replaced by the name field. + * @param {number} request.nodeCount + * Required. The desired node count for the pool. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node pool to set + * size. + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_node_pool_size.js + * region_tag:container_v1_generated_ClusterManager_SetNodePoolSize_async + */ + setNodePoolSize( + request?: protos.google.container.v1.ISetNodePoolSizeRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|undefined, {}|undefined + ]>; + setNodePoolSize( + request: protos.google.container.v1.ISetNodePoolSizeRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, + {}|null|undefined>): void; + setNodePoolSize( + request: protos.google.container.v1.ISetNodePoolSizeRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, + {}|null|undefined>): void; + setNodePoolSize( + request?: protos.google.container.v1.ISetNodePoolSizeRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNodePoolSizeRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setNodePoolSize(request, options, callback); + } +/** + * Enables or disables Network Policy for a 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://developers.google.com/console/help/new/#projectnumber). + * 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. + * This field has been deprecated and replaced by the name field. + * @param {google.container.v1.NetworkPolicy} request.networkPolicy + * Required. Configuration options for the NetworkPolicy feature. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to set networking + * policy. 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_network_policy.js + * region_tag:container_v1_generated_ClusterManager_SetNetworkPolicy_async + */ + setNetworkPolicy( + request?: protos.google.container.v1.ISetNetworkPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|undefined, {}|undefined + ]>; + setNetworkPolicy( + request: protos.google.container.v1.ISetNetworkPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, + {}|null|undefined>): void; + setNetworkPolicy( + request: protos.google.container.v1.ISetNetworkPolicyRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, + {}|null|undefined>): void; + setNetworkPolicy( + request?: protos.google.container.v1.ISetNetworkPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetNetworkPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setNetworkPolicy(request, options, callback); + } +/** + * Sets the maintenance policy for a cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.projectId + * Required. The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param {string} request.zone + * Required. The name of the Google Compute Engine + * [zone](https://cloud.google.com/compute/docs/zones#available) in which the + * cluster resides. + * @param {string} request.clusterId + * Required. The name of the cluster to update. + * @param {google.container.v1.MaintenancePolicy} request.maintenancePolicy + * Required. The maintenance policy to be set for the cluster. An empty field + * clears the existing maintenance policy. + * @param {string} request.name + * The name (project, location, cluster id) of the cluster to set maintenance + * policy. + * 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 [Operation]{@link google.container.v1.Operation}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.set_maintenance_policy.js + * region_tag:container_v1_generated_ClusterManager_SetMaintenancePolicy_async + */ + setMaintenancePolicy( + request?: protos.google.container.v1.ISetMaintenancePolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|undefined, {}|undefined + ]>; + setMaintenancePolicy( + request: protos.google.container.v1.ISetMaintenancePolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, + {}|null|undefined>): void; + setMaintenancePolicy( + request: protos.google.container.v1.ISetMaintenancePolicyRequest, + callback: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, + {}|null|undefined>): void; + setMaintenancePolicy( + request?: protos.google.container.v1.ISetMaintenancePolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.container.v1.IOperation, + protos.google.container.v1.ISetMaintenancePolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'name': request.name || '', + 'project_id': request.projectId || '', + }); + this.initialize(); + return this.innerApiCalls.setMaintenancePolicy(request, options, callback); + } + + /** + * Lists subnetworks that are usable for creating clusters in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The parent project where subnetworks are usable. + * Specified in the format `projects/*`. + * @param {string} request.filter + * Filtering currently only supports equality on the networkProjectId and must + * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` + * is the project which owns the listed subnetworks. This defaults to the + * parent project ID. + * @param {number} request.pageSize + * The max number of results per page that should be returned. If the number + * of available results is larger than `page_size`, a `next_page_token` is + * returned which can be used to get the next page of results in subsequent + * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} request.pageToken + * Specifies a page token to use. Set this to the nextPageToken returned by + * previous list requests to get the next page of results. + * @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 Array of [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listUsableSubnetworksAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listUsableSubnetworks( + request?: protos.google.container.v1.IListUsableSubnetworksRequest, + options?: CallOptions): + Promise<[ + protos.google.container.v1.IUsableSubnetwork[], + protos.google.container.v1.IListUsableSubnetworksRequest|null, + protos.google.container.v1.IListUsableSubnetworksResponse + ]>; + listUsableSubnetworks( + request: protos.google.container.v1.IListUsableSubnetworksRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.container.v1.IListUsableSubnetworksRequest, + protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, + protos.google.container.v1.IUsableSubnetwork>): void; + listUsableSubnetworks( + request: protos.google.container.v1.IListUsableSubnetworksRequest, + callback: PaginationCallback< + protos.google.container.v1.IListUsableSubnetworksRequest, + protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, + protos.google.container.v1.IUsableSubnetwork>): void; + listUsableSubnetworks( + request?: protos.google.container.v1.IListUsableSubnetworksRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.container.v1.IListUsableSubnetworksRequest, + protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, + protos.google.container.v1.IUsableSubnetwork>, + callback?: PaginationCallback< + protos.google.container.v1.IListUsableSubnetworksRequest, + protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, + protos.google.container.v1.IUsableSubnetwork>): + Promise<[ + protos.google.container.v1.IUsableSubnetwork[], + protos.google.container.v1.IListUsableSubnetworksRequest|null, + protos.google.container.v1.IListUsableSubnetworksResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listUsableSubnetworks(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The parent project where subnetworks are usable. + * Specified in the format `projects/*`. + * @param {string} request.filter + * Filtering currently only supports equality on the networkProjectId and must + * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` + * is the project which owns the listed subnetworks. This defaults to the + * parent project ID. + * @param {number} request.pageSize + * The max number of results per page that should be returned. If the number + * of available results is larger than `page_size`, a `next_page_token` is + * returned which can be used to get the next page of results in subsequent + * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} request.pageToken + * Specifies a page token to use. Set this to the nextPageToken returned by + * previous list requests to get the next page of results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listUsableSubnetworksAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listUsableSubnetworksStream( + request?: protos.google.container.v1.IListUsableSubnetworksRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + }); + const defaultCallSettings = this._defaults['listUsableSubnetworks']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listUsableSubnetworks.createStream( + this.innerApiCalls.listUsableSubnetworks as gax.GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listUsableSubnetworks`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The parent project where subnetworks are usable. + * Specified in the format `projects/*`. + * @param {string} request.filter + * Filtering currently only supports equality on the networkProjectId and must + * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` + * is the project which owns the listed subnetworks. This defaults to the + * parent project ID. + * @param {number} request.pageSize + * The max number of results per page that should be returned. If the number + * of available results is larger than `page_size`, a `next_page_token` is + * returned which can be used to get the next page of results in subsequent + * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string} request.pageToken + * Specifies a page token to use. Set this to the nextPageToken returned by + * previous list requests to get the next page of results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.list_usable_subnetworks.js + * region_tag:container_v1_generated_ClusterManager_ListUsableSubnetworks_async + */ + listUsableSubnetworksAsync( + request?: protos.google.container.v1.IListUsableSubnetworksRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'parent': request.parent || '', + }); + const defaultCallSettings = this._defaults['listUsableSubnetworks']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listUsableSubnetworks.asyncIterate( + this.innerApiCalls['listUsableSubnetworks'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + this.initialize(); + if (!this._terminated) { + return this.clusterManagerStub!.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json b/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json new file mode 100644 index 0000000..e21140e --- /dev/null +++ b/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json @@ -0,0 +1,184 @@ +{ + "interfaces": { + "google.container.v1.ClusterManager": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "ListClusters": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetCluster": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateCluster": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateCluster": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateNodePool": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetNodePoolAutoscaling": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetLoggingService": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetMonitoringService": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetAddonsConfig": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetLocations": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateMaster": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetMasterAuth": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteCluster": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ListOperations": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetOperation": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CancelOperation": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetServerConfig": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetJSONWebKeys": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListNodePools": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetNodePool": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateNodePool": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteNodePool": { + "timeout_millis": 20000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "RollbackNodePoolUpgrade": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetNodePoolManagement": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetLabels": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetLegacyAbac": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StartIPRotation": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CompleteIPRotation": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetNodePoolSize": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetNetworkPolicy": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SetMaintenancePolicy": { + "timeout_millis": 45000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListUsableSubnetworks": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json b/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json new file mode 100644 index 0000000..aa69748 --- /dev/null +++ b/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/container/v1/cluster_service.proto" +] diff --git a/owl-bot-staging/v1/src/v1/gapic_metadata.json b/owl-bot-staging/v1/src/v1/gapic_metadata.json new file mode 100644 index 0000000..0c4b40f --- /dev/null +++ b/owl-bot-staging/v1/src/v1/gapic_metadata.json @@ -0,0 +1,347 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.container.v1", + "libraryPackage": "@google-cloud/container", + "services": { + "ClusterManager": { + "clients": { + "grpc": { + "libraryClient": "ClusterManagerClient", + "rpcs": { + "ListClusters": { + "methods": [ + "listClusters" + ] + }, + "GetCluster": { + "methods": [ + "getCluster" + ] + }, + "CreateCluster": { + "methods": [ + "createCluster" + ] + }, + "UpdateCluster": { + "methods": [ + "updateCluster" + ] + }, + "UpdateNodePool": { + "methods": [ + "updateNodePool" + ] + }, + "SetNodePoolAutoscaling": { + "methods": [ + "setNodePoolAutoscaling" + ] + }, + "SetLoggingService": { + "methods": [ + "setLoggingService" + ] + }, + "SetMonitoringService": { + "methods": [ + "setMonitoringService" + ] + }, + "SetAddonsConfig": { + "methods": [ + "setAddonsConfig" + ] + }, + "SetLocations": { + "methods": [ + "setLocations" + ] + }, + "UpdateMaster": { + "methods": [ + "updateMaster" + ] + }, + "SetMasterAuth": { + "methods": [ + "setMasterAuth" + ] + }, + "DeleteCluster": { + "methods": [ + "deleteCluster" + ] + }, + "ListOperations": { + "methods": [ + "listOperations" + ] + }, + "GetOperation": { + "methods": [ + "getOperation" + ] + }, + "CancelOperation": { + "methods": [ + "cancelOperation" + ] + }, + "GetServerConfig": { + "methods": [ + "getServerConfig" + ] + }, + "GetJSONWebKeys": { + "methods": [ + "getJSONWebKeys" + ] + }, + "ListNodePools": { + "methods": [ + "listNodePools" + ] + }, + "GetNodePool": { + "methods": [ + "getNodePool" + ] + }, + "CreateNodePool": { + "methods": [ + "createNodePool" + ] + }, + "DeleteNodePool": { + "methods": [ + "deleteNodePool" + ] + }, + "RollbackNodePoolUpgrade": { + "methods": [ + "rollbackNodePoolUpgrade" + ] + }, + "SetNodePoolManagement": { + "methods": [ + "setNodePoolManagement" + ] + }, + "SetLabels": { + "methods": [ + "setLabels" + ] + }, + "SetLegacyAbac": { + "methods": [ + "setLegacyAbac" + ] + }, + "StartIPRotation": { + "methods": [ + "startIPRotation" + ] + }, + "CompleteIPRotation": { + "methods": [ + "completeIPRotation" + ] + }, + "SetNodePoolSize": { + "methods": [ + "setNodePoolSize" + ] + }, + "SetNetworkPolicy": { + "methods": [ + "setNetworkPolicy" + ] + }, + "SetMaintenancePolicy": { + "methods": [ + "setMaintenancePolicy" + ] + }, + "ListUsableSubnetworks": { + "methods": [ + "listUsableSubnetworks", + "listUsableSubnetworksStream", + "listUsableSubnetworksAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ClusterManagerClient", + "rpcs": { + "ListClusters": { + "methods": [ + "listClusters" + ] + }, + "GetCluster": { + "methods": [ + "getCluster" + ] + }, + "CreateCluster": { + "methods": [ + "createCluster" + ] + }, + "UpdateCluster": { + "methods": [ + "updateCluster" + ] + }, + "UpdateNodePool": { + "methods": [ + "updateNodePool" + ] + }, + "SetNodePoolAutoscaling": { + "methods": [ + "setNodePoolAutoscaling" + ] + }, + "SetLoggingService": { + "methods": [ + "setLoggingService" + ] + }, + "SetMonitoringService": { + "methods": [ + "setMonitoringService" + ] + }, + "SetAddonsConfig": { + "methods": [ + "setAddonsConfig" + ] + }, + "SetLocations": { + "methods": [ + "setLocations" + ] + }, + "UpdateMaster": { + "methods": [ + "updateMaster" + ] + }, + "SetMasterAuth": { + "methods": [ + "setMasterAuth" + ] + }, + "DeleteCluster": { + "methods": [ + "deleteCluster" + ] + }, + "ListOperations": { + "methods": [ + "listOperations" + ] + }, + "GetOperation": { + "methods": [ + "getOperation" + ] + }, + "CancelOperation": { + "methods": [ + "cancelOperation" + ] + }, + "GetServerConfig": { + "methods": [ + "getServerConfig" + ] + }, + "GetJSONWebKeys": { + "methods": [ + "getJSONWebKeys" + ] + }, + "ListNodePools": { + "methods": [ + "listNodePools" + ] + }, + "GetNodePool": { + "methods": [ + "getNodePool" + ] + }, + "CreateNodePool": { + "methods": [ + "createNodePool" + ] + }, + "DeleteNodePool": { + "methods": [ + "deleteNodePool" + ] + }, + "RollbackNodePoolUpgrade": { + "methods": [ + "rollbackNodePoolUpgrade" + ] + }, + "SetNodePoolManagement": { + "methods": [ + "setNodePoolManagement" + ] + }, + "SetLabels": { + "methods": [ + "setLabels" + ] + }, + "SetLegacyAbac": { + "methods": [ + "setLegacyAbac" + ] + }, + "StartIPRotation": { + "methods": [ + "startIPRotation" + ] + }, + "CompleteIPRotation": { + "methods": [ + "completeIPRotation" + ] + }, + "SetNodePoolSize": { + "methods": [ + "setNodePoolSize" + ] + }, + "SetNetworkPolicy": { + "methods": [ + "setNetworkPolicy" + ] + }, + "SetMaintenancePolicy": { + "methods": [ + "setMaintenancePolicy" + ] + }, + "ListUsableSubnetworks": { + "methods": [ + "listUsableSubnetworks", + "listUsableSubnetworksStream", + "listUsableSubnetworksAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/v1/src/v1/index.ts b/owl-bot-staging/v1/src/v1/index.ts new file mode 100644 index 0000000..7952088 --- /dev/null +++ b/owl-bot-staging/v1/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {ClusterManagerClient} from './cluster_manager_client'; diff --git a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js new file mode 100644 index 0000000..27b5fe9 --- /dev/null +++ b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const container = require('@google-cloud/container'); + +function main() { + const clusterManagerClient = new container.ClusterManagerClient(); +} + +main(); diff --git a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 0000000..374ca54 --- /dev/null +++ b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {ClusterManagerClient} from '@google-cloud/container'; + +// check that the client class type name can be used +function doStuffWithClusterManagerClient(client: ClusterManagerClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const clusterManagerClient = new ClusterManagerClient(); + doStuffWithClusterManagerClient(clusterManagerClient); +} + +main(); diff --git a/owl-bot-staging/v1/system-test/install.ts b/owl-bot-staging/v1/system-test/install.ts new file mode 100644 index 0000000..8ec4522 --- /dev/null +++ b/owl-bot-staging/v1/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import { packNTest } from 'pack-n-play'; +import { readFileSync } from 'fs'; +import { describe, it } from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts b/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts new file mode 100644 index 0000000..9caa23b --- /dev/null +++ b/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts @@ -0,0 +1,3090 @@ +// Copyright 2022 Google LLC +// +// 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 +// +// https://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. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import { describe, it } from 'mocha'; +import * as clustermanagerModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.ClusterManagerClient', () => { + it('has servicePath', () => { + const servicePath = clustermanagerModule.v1.ClusterManagerClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = clustermanagerModule.v1.ClusterManagerClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = clustermanagerModule.v1.ClusterManagerClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new clustermanagerModule.v1.ClusterManagerClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.clusterManagerStub, undefined); + await client.initialize(); + assert(client.clusterManagerStub); + }); + + it('has close method', () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('listClusters', () => { + it('invokes listClusters without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListClustersResponse()); + client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); + const [response] = await client.listClusters(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listClusters as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes listClusters without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListClustersResponse()); + client.innerApiCalls.listClusters = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listClusters( + request, + (err?: Error|null, result?: protos.google.container.v1.IListClustersResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listClusters as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes listClusters with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listClusters = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listClusters(request), expectedError); + assert((client.innerApiCalls.listClusters as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('getCluster', () => { + it('invokes getCluster without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Cluster()); + client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); + const [response] = await client.getCluster(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes getCluster without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Cluster()); + client.innerApiCalls.getCluster = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getCluster( + request, + (err?: Error|null, result?: protos.google.container.v1.ICluster|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes getCluster with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getCluster = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getCluster(request), expectedError); + assert((client.innerApiCalls.getCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('createCluster', () => { + it('invokes createCluster without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.createCluster = stubSimpleCall(expectedResponse); + const [response] = await client.createCluster(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.createCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes createCluster without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.createCluster = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createCluster( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.createCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes createCluster with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createCluster(request), expectedError); + assert((client.innerApiCalls.createCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('updateCluster', () => { + it('invokes updateCluster without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateCluster = stubSimpleCall(expectedResponse); + const [response] = await client.updateCluster(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes updateCluster without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateCluster = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCluster( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes updateCluster with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateCluster(request), expectedError); + assert((client.innerApiCalls.updateCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('updateNodePool', () => { + it('invokes updateNodePool without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateNodePool = stubSimpleCall(expectedResponse); + const [response] = await client.updateNodePool(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes updateNodePool without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateNodePool = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateNodePool( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes updateNodePool with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateNodePool = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateNodePool(request), expectedError); + assert((client.innerApiCalls.updateNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setNodePoolAutoscaling', () => { + it('invokes setNodePoolAutoscaling without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCall(expectedResponse); + const [response] = await client.setNodePoolAutoscaling(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setNodePoolAutoscaling without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setNodePoolAutoscaling( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setNodePoolAutoscaling with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setNodePoolAutoscaling(request), expectedError); + assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setLoggingService', () => { + it('invokes setLoggingService without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLoggingService = stubSimpleCall(expectedResponse); + const [response] = await client.setLoggingService(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLoggingService as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setLoggingService without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLoggingService = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setLoggingService( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLoggingService as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setLoggingService with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setLoggingService = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setLoggingService(request), expectedError); + assert((client.innerApiCalls.setLoggingService as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setMonitoringService', () => { + it('invokes setMonitoringService without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMonitoringService = stubSimpleCall(expectedResponse); + const [response] = await client.setMonitoringService(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMonitoringService as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setMonitoringService without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMonitoringService = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setMonitoringService( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMonitoringService as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setMonitoringService with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setMonitoringService = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setMonitoringService(request), expectedError); + assert((client.innerApiCalls.setMonitoringService as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setAddonsConfig', () => { + it('invokes setAddonsConfig without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setAddonsConfig = stubSimpleCall(expectedResponse); + const [response] = await client.setAddonsConfig(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setAddonsConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setAddonsConfig without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setAddonsConfig = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setAddonsConfig( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setAddonsConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setAddonsConfig with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setAddonsConfig = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setAddonsConfig(request), expectedError); + assert((client.innerApiCalls.setAddonsConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setLocations', () => { + it('invokes setLocations without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLocations = stubSimpleCall(expectedResponse); + const [response] = await client.setLocations(request); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLocations as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setLocations without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLocations = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setLocations( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLocations as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setLocations with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setLocations = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setLocations(request), expectedError); + assert(stub.calledOnce); + assert((client.innerApiCalls.setLocations as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('updateMaster', () => { + it('invokes updateMaster without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateMaster = stubSimpleCall(expectedResponse); + const [response] = await client.updateMaster(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateMaster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes updateMaster without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.updateMaster = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateMaster( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.updateMaster as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes updateMaster with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateMaster = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateMaster(request), expectedError); + assert((client.innerApiCalls.updateMaster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setMasterAuth', () => { + it('invokes setMasterAuth without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMasterAuth = stubSimpleCall(expectedResponse); + const [response] = await client.setMasterAuth(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMasterAuth as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setMasterAuth without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMasterAuth = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setMasterAuth( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMasterAuth as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setMasterAuth with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setMasterAuth = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setMasterAuth(request), expectedError); + assert((client.innerApiCalls.setMasterAuth as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('deleteCluster', () => { + it('invokes deleteCluster without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.deleteCluster = stubSimpleCall(expectedResponse); + const [response] = await client.deleteCluster(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.deleteCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes deleteCluster without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.deleteCluster = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteCluster( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.deleteCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes deleteCluster with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteCluster(request), expectedError); + assert((client.innerApiCalls.deleteCluster as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('listOperations', () => { + it('invokes listOperations without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListOperationsResponse()); + client.innerApiCalls.listOperations = stubSimpleCall(expectedResponse); + const [response] = await client.listOperations(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listOperations as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes listOperations without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListOperationsResponse()); + client.innerApiCalls.listOperations = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listOperations( + request, + (err?: Error|null, result?: protos.google.container.v1.IListOperationsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listOperations as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes listOperations with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listOperations = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listOperations(request), expectedError); + assert((client.innerApiCalls.listOperations as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.getOperation = stubSimpleCall(expectedResponse); + const [response] = await client.getOperation(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes getOperation without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.getOperation = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getOperation( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes getOperation with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getOperation = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getOperation(request), expectedError); + assert((client.innerApiCalls.getOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty()); + client.innerApiCalls.cancelOperation = stubSimpleCall(expectedResponse); + const [response] = await client.cancelOperation(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.cancelOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes cancelOperation without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty()); + client.innerApiCalls.cancelOperation = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.cancelOperation( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.cancelOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes cancelOperation with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.cancelOperation = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.cancelOperation(request), expectedError); + assert((client.innerApiCalls.cancelOperation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('getServerConfig', () => { + it('invokes getServerConfig without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ServerConfig()); + client.innerApiCalls.getServerConfig = stubSimpleCall(expectedResponse); + const [response] = await client.getServerConfig(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getServerConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes getServerConfig without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ServerConfig()); + client.innerApiCalls.getServerConfig = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getServerConfig( + request, + (err?: Error|null, result?: protos.google.container.v1.IServerConfig|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getServerConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes getServerConfig with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getServerConfig = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getServerConfig(request), expectedError); + assert((client.innerApiCalls.getServerConfig as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('getJSONWebKeys', () => { + it('invokes getJSONWebKeys without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysResponse()); + client.innerApiCalls.getJSONWebKeys = stubSimpleCall(expectedResponse); + const [response] = await client.getJSONWebKeys(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getJSONWebKeys as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes getJSONWebKeys without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysResponse()); + client.innerApiCalls.getJSONWebKeys = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getJSONWebKeys( + request, + (err?: Error|null, result?: protos.google.container.v1.IGetJSONWebKeysResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getJSONWebKeys as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes getJSONWebKeys with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getJSONWebKeys = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getJSONWebKeys(request), expectedError); + assert((client.innerApiCalls.getJSONWebKeys as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('listNodePools', () => { + it('invokes listNodePools without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListNodePoolsResponse()); + client.innerApiCalls.listNodePools = stubSimpleCall(expectedResponse); + const [response] = await client.listNodePools(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listNodePools as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes listNodePools without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListNodePoolsResponse()); + client.innerApiCalls.listNodePools = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNodePools( + request, + (err?: Error|null, result?: protos.google.container.v1.IListNodePoolsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listNodePools as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes listNodePools with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listNodePools = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listNodePools(request), expectedError); + assert((client.innerApiCalls.listNodePools as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('getNodePool', () => { + it('invokes getNodePool without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.NodePool()); + client.innerApiCalls.getNodePool = stubSimpleCall(expectedResponse); + const [response] = await client.getNodePool(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes getNodePool without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.NodePool()); + client.innerApiCalls.getNodePool = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNodePool( + request, + (err?: Error|null, result?: protos.google.container.v1.INodePool|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.getNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes getNodePool with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getNodePool = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getNodePool(request), expectedError); + assert((client.innerApiCalls.getNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('createNodePool', () => { + it('invokes createNodePool without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.createNodePool = stubSimpleCall(expectedResponse); + const [response] = await client.createNodePool(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.createNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes createNodePool without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.createNodePool = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createNodePool( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.createNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes createNodePool with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); + request.parent = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "parent=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createNodePool = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createNodePool(request), expectedError); + assert((client.innerApiCalls.createNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('deleteNodePool', () => { + it('invokes deleteNodePool without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.deleteNodePool = stubSimpleCall(expectedResponse); + const [response] = await client.deleteNodePool(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.deleteNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes deleteNodePool without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.deleteNodePool = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteNodePool( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.deleteNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes deleteNodePool with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNodePool = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteNodePool(request), expectedError); + assert((client.innerApiCalls.deleteNodePool as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('rollbackNodePoolUpgrade', () => { + it('invokes rollbackNodePoolUpgrade without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCall(expectedResponse); + const [response] = await client.rollbackNodePoolUpgrade(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes rollbackNodePoolUpgrade without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.rollbackNodePoolUpgrade( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes rollbackNodePoolUpgrade with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.rollbackNodePoolUpgrade(request), expectedError); + assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setNodePoolManagement', () => { + it('invokes setNodePoolManagement without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolManagement = stubSimpleCall(expectedResponse); + const [response] = await client.setNodePoolManagement(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolManagement as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setNodePoolManagement without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolManagement = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setNodePoolManagement( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolManagement as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setNodePoolManagement with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setNodePoolManagement = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setNodePoolManagement(request), expectedError); + assert((client.innerApiCalls.setNodePoolManagement as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setLabels', () => { + it('invokes setLabels without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLabels = stubSimpleCall(expectedResponse); + const [response] = await client.setLabels(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLabels as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setLabels without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLabels = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setLabels( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLabels as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setLabels with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setLabels = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setLabels(request), expectedError); + assert((client.innerApiCalls.setLabels as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setLegacyAbac', () => { + it('invokes setLegacyAbac without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLegacyAbac = stubSimpleCall(expectedResponse); + const [response] = await client.setLegacyAbac(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLegacyAbac as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setLegacyAbac without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setLegacyAbac = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setLegacyAbac( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setLegacyAbac as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setLegacyAbac with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setLegacyAbac = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setLegacyAbac(request), expectedError); + assert((client.innerApiCalls.setLegacyAbac as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('startIPRotation', () => { + it('invokes startIPRotation without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.startIPRotation = stubSimpleCall(expectedResponse); + const [response] = await client.startIPRotation(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.startIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes startIPRotation without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.startIPRotation = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.startIPRotation( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.startIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes startIPRotation with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startIPRotation = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.startIPRotation(request), expectedError); + assert((client.innerApiCalls.startIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('completeIPRotation', () => { + it('invokes completeIPRotation without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.completeIPRotation = stubSimpleCall(expectedResponse); + const [response] = await client.completeIPRotation(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.completeIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes completeIPRotation without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.completeIPRotation = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.completeIPRotation( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.completeIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes completeIPRotation with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.completeIPRotation = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.completeIPRotation(request), expectedError); + assert((client.innerApiCalls.completeIPRotation as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setNodePoolSize', () => { + it('invokes setNodePoolSize without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolSize = stubSimpleCall(expectedResponse); + const [response] = await client.setNodePoolSize(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolSize as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setNodePoolSize without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNodePoolSize = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setNodePoolSize( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNodePoolSize as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setNodePoolSize with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setNodePoolSize = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setNodePoolSize(request), expectedError); + assert((client.innerApiCalls.setNodePoolSize as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setNetworkPolicy', () => { + it('invokes setNetworkPolicy without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNetworkPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setNetworkPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNetworkPolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setNetworkPolicy without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setNetworkPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setNetworkPolicy( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setNetworkPolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setNetworkPolicy with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setNetworkPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setNetworkPolicy(request), expectedError); + assert((client.innerApiCalls.setNetworkPolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('setMaintenancePolicy', () => { + it('invokes setMaintenancePolicy without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMaintenancePolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setMaintenancePolicy(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes setMaintenancePolicy without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); + client.innerApiCalls.setMaintenancePolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setMaintenancePolicy( + request, + (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes setMaintenancePolicy with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); + request.name = ''; + request.projectId = ''; + const expectedHeaderRequestParams = "name=&project_id="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.setMaintenancePolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setMaintenancePolicy(request), expectedError); + assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + }); + + describe('listUsableSubnetworks', () => { + it('invokes listUsableSubnetworks without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + ]; + client.innerApiCalls.listUsableSubnetworks = stubSimpleCall(expectedResponse); + const [response] = await client.listUsableSubnetworks(request); + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes listUsableSubnetworks without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + ]; + client.innerApiCalls.listUsableSubnetworks = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listUsableSubnetworks( + request, + (err?: Error|null, result?: protos.google.container.v1.IUsableSubnetwork[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) + .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); + }); + + it('invokes listUsableSubnetworks with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listUsableSubnetworks = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listUsableSubnetworks(request), expectedError); + assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) + .getCall(0).calledWith(request, expectedOptions, undefined)); + }); + + it('invokes listUsableSubnetworksStream without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedResponse = [ + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + ]; + client.descriptors.page.listUsableSubnetworks.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listUsableSubnetworksStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.container.v1.UsableSubnetwork[] = []; + stream.on('data', (response: protos.google.container.v1.UsableSubnetwork) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listUsableSubnetworks, request)); + assert.strictEqual( + (client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listUsableSubnetworksStream with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedError = new Error('expected'); + client.descriptors.page.listUsableSubnetworks.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listUsableSubnetworksStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.container.v1.UsableSubnetwork[] = []; + stream.on('data', (response: protos.google.container.v1.UsableSubnetwork) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listUsableSubnetworks, request)); + assert.strictEqual( + (client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listUsableSubnetworks without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent="; + const expectedResponse = [ + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), + ]; + client.descriptors.page.listUsableSubnetworks.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.container.v1.IUsableSubnetwork[] = []; + const iterable = client.listUsableSubnetworksAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert.strictEqual( + (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listUsableSubnetworks with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); + request.parent = ''; + const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected'); + client.descriptors.page.listUsableSubnetworks.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listUsableSubnetworksAsync(request); + await assert.rejects(async () => { + const responses: protos.google.container.v1.IUsableSubnetwork[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert.strictEqual( + (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); +}); diff --git a/owl-bot-staging/v1/tsconfig.json b/owl-bot-staging/v1/tsconfig.json new file mode 100644 index 0000000..c78f1c8 --- /dev/null +++ b/owl-bot-staging/v1/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/v1/webpack.config.js b/owl-bot-staging/v1/webpack.config.js new file mode 100644 index 0000000..9032271 --- /dev/null +++ b/owl-bot-staging/v1/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// 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 +// +// https://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. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'ClusterManager', + filename: './cluster-manager.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; From a2c5298682cbd87a14ad3f02113eea53639059b9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 25 Jan 2022 19:52:33 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- owl-bot-staging/v1/.eslintignore | 7 - owl-bot-staging/v1/.eslintrc.json | 3 - owl-bot-staging/v1/.gitignore | 14 - owl-bot-staging/v1/.jsdoc.js | 55 - owl-bot-staging/v1/.mocharc.js | 33 - owl-bot-staging/v1/.prettierrc.js | 22 - owl-bot-staging/v1/README.md | 1 - owl-bot-staging/v1/linkinator.config.json | 10 - owl-bot-staging/v1/package.json | 64 - .../google/container/v1/cluster_service.proto | 3982 ----------------- .../v1/cluster_manager.cancel_operation.js | 53 - .../cluster_manager.complete_i_p_rotation.js | 53 - .../v1/cluster_manager.create_cluster.js | 59 - .../v1/cluster_manager.create_node_pool.js | 59 - .../v1/cluster_manager.delete_cluster.js | 53 - .../v1/cluster_manager.delete_node_pool.js | 54 - .../v1/cluster_manager.get_cluster.js | 53 - .../cluster_manager.get_j_s_o_n_web_keys.js | 53 - .../v1/cluster_manager.get_node_pool.js | 54 - .../v1/cluster_manager.get_operation.js | 53 - .../v1/cluster_manager.get_server_config.js | 53 - .../v1/cluster_manager.list_clusters.js | 54 - .../v1/cluster_manager.list_node_pools.js | 53 - .../v1/cluster_manager.list_operations.js | 54 - ...cluster_manager.list_usable_subnetworks.js | 74 - ...ster_manager.rollback_node_pool_upgrade.js | 54 - .../v1/cluster_manager.set_addons_config.js | 59 - .../v1/cluster_manager.set_labels.js | 68 - .../v1/cluster_manager.set_legacy_abac.js | 58 - .../v1/cluster_manager.set_locations.js | 63 - .../v1/cluster_manager.set_logging_service.js | 66 - .../cluster_manager.set_maintenance_policy.js | 78 - .../v1/cluster_manager.set_master_auth.js | 63 - .../cluster_manager.set_monitoring_service.js | 66 - .../v1/cluster_manager.set_network_policy.js | 58 - ...uster_manager.set_node_pool_autoscaling.js | 59 - ...luster_manager.set_node_pool_management.js | 59 - .../v1/cluster_manager.set_node_pool_size.js | 59 - .../v1/cluster_manager.start_i_p_rotation.js | 57 - .../v1/cluster_manager.update_cluster.js | 58 - .../v1/cluster_manager.update_master.js | 65 - .../v1/cluster_manager.update_node_pool.js | 104 - owl-bot-staging/v1/src/index.ts | 25 - .../v1/src/v1/cluster_manager_client.ts | 3295 -------------- .../src/v1/cluster_manager_client_config.json | 184 - .../v1/src/v1/cluster_manager_proto_list.json | 3 - owl-bot-staging/v1/src/v1/gapic_metadata.json | 347 -- owl-bot-staging/v1/src/v1/index.ts | 19 - .../system-test/fixtures/sample/src/index.js | 27 - .../system-test/fixtures/sample/src/index.ts | 32 - owl-bot-staging/v1/system-test/install.ts | 49 - .../v1/test/gapic_cluster_manager_v1.ts | 3090 ------------- owl-bot-staging/v1/tsconfig.json | 19 - owl-bot-staging/v1/webpack.config.js | 64 - .../google/container/v1/cluster_service.proto | 33 + protos/protos.d.ts | 216 + protos/protos.js | 589 +++ protos/protos.json | 45 + 58 files changed, 883 insertions(+), 13271 deletions(-) delete mode 100644 owl-bot-staging/v1/.eslintignore delete mode 100644 owl-bot-staging/v1/.eslintrc.json delete mode 100644 owl-bot-staging/v1/.gitignore delete mode 100644 owl-bot-staging/v1/.jsdoc.js delete mode 100644 owl-bot-staging/v1/.mocharc.js delete mode 100644 owl-bot-staging/v1/.prettierrc.js delete mode 100644 owl-bot-staging/v1/README.md delete mode 100644 owl-bot-staging/v1/linkinator.config.json delete mode 100644 owl-bot-staging/v1/package.json delete mode 100644 owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js delete mode 100644 owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js delete mode 100644 owl-bot-staging/v1/src/index.ts delete mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_client.ts delete mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_client_config.json delete mode 100644 owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json delete mode 100644 owl-bot-staging/v1/src/v1/gapic_metadata.json delete mode 100644 owl-bot-staging/v1/src/v1/index.ts delete mode 100644 owl-bot-staging/v1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/v1/system-test/install.ts delete mode 100644 owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts delete mode 100644 owl-bot-staging/v1/tsconfig.json delete mode 100644 owl-bot-staging/v1/webpack.config.js diff --git a/owl-bot-staging/v1/.eslintignore b/owl-bot-staging/v1/.eslintignore deleted file mode 100644 index cfc348e..0000000 --- a/owl-bot-staging/v1/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/v1/.eslintrc.json b/owl-bot-staging/v1/.eslintrc.json deleted file mode 100644 index 7821534..0000000 --- a/owl-bot-staging/v1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/v1/.gitignore b/owl-bot-staging/v1/.gitignore deleted file mode 100644 index 5d32b23..0000000 --- a/owl-bot-staging/v1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -.coverage -coverage -.nyc_output -docs/ -out/ -build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/v1/.jsdoc.js b/owl-bot-staging/v1/.jsdoc.js deleted file mode 100644 index 4734dd1..0000000 --- a/owl-bot-staging/v1/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2022 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-cloud/container', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/v1/.mocharc.js b/owl-bot-staging/v1/.mocharc.js deleted file mode 100644 index 481c522..0000000 --- a/owl-bot-staging/v1/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/v1/.prettierrc.js b/owl-bot-staging/v1/.prettierrc.js deleted file mode 100644 index 494e147..0000000 --- a/owl-bot-staging/v1/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/v1/README.md b/owl-bot-staging/v1/README.md deleted file mode 100644 index f32441d..0000000 --- a/owl-bot-staging/v1/README.md +++ /dev/null @@ -1 +0,0 @@ -Container: Nodejs Client diff --git a/owl-bot-staging/v1/linkinator.config.json b/owl-bot-staging/v1/linkinator.config.json deleted file mode 100644 index 0121dfa..0000000 --- a/owl-bot-staging/v1/linkinator.config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "recurse": true, - "skip": [ - "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "img.shields.io" - ], - "silent": true, - "concurrency": 5 -} diff --git a/owl-bot-staging/v1/package.json b/owl-bot-staging/v1/package.json deleted file mode 100644 index 2191344..0000000 --- a/owl-bot-staging/v1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@google-cloud/container", - "version": "0.1.0", - "description": "Container client for Node.js", - "repository": "googleapis/nodejs-container", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google container", - "container", - "cluster manager" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "predocs-test": "npm run docs", - "docs-test": "linkinator docs", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^2.28.0" - }, - "devDependencies": { - "@types/mocha": "^9.0.0", - "@types/node": "^14.17.32", - "@types/sinon": "^10.0.6", - "c8": "^7.10.0", - "gts": "^3.1.0", - "jsdoc": "^3.6.7", - "jsdoc-fresh": "^1.1.1", - "jsdoc-region-tag": "^1.3.1", - "linkinator": "^2.14.5", - "mocha": "^9.1.3", - "null-loader": "^4.0.1", - "pack-n-play": "^1.0.0-2", - "sinon": "^11.1.2", - "ts-loader": "^9.2.6", - "typescript": "^4.4.4", - "webpack": "^5.62.1", - "webpack-cli": "^4.9.1" - }, - "engines": { - "node": ">=v10.24.0" - } -} diff --git a/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto b/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto deleted file mode 100644 index 6dc6eec..0000000 --- a/owl-bot-staging/v1/protos/google/container/v1/cluster_service.proto +++ /dev/null @@ -1,3982 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - -syntax = "proto3"; - -package google.container.v1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/code.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Cloud.Container.V1"; -option go_package = "google.golang.org/genproto/googleapis/container/v1;container"; -option java_multiple_files = true; -option java_outer_classname = "ClusterServiceProto"; -option java_package = "com.google.container.v1"; -option php_namespace = "Google\\Cloud\\Container\\V1"; -option ruby_package = "Google::Cloud::Container::V1"; -option (google.api.resource_definition) = { - type: "pubsub.googleapis.com/Topic" - pattern: "projects/{project}/topics/{topic}" -}; - -// Google Kubernetes Engine Cluster Manager v1 -service ClusterManager { - option (google.api.default_host) = "container.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Lists all clusters owned by a project in either the specified zone or all - // zones. - rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*/locations/*}/clusters" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/clusters" - } - }; - option (google.api.method_signature) = "project_id,zone"; - option (google.api.method_signature) = "parent"; - } - - // Gets the details of a specific cluster. - rpc GetCluster(GetClusterRequest) returns (Cluster) { - option (google.api.http) = { - get: "/v1/{name=projects/*/locations/*/clusters/*}" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id"; - option (google.api.method_signature) = "name"; - } - - // 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. - rpc CreateCluster(CreateClusterRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{parent=projects/*/locations/*}/clusters" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster"; - option (google.api.method_signature) = "parent,cluster"; - } - - // Updates the settings of a specific cluster. - rpc UpdateCluster(UpdateClusterRequest) returns (Operation) { - option (google.api.http) = { - put: "/v1/{name=projects/*/locations/*/clusters/*}" - body: "*" - additional_bindings { - put: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,update"; - option (google.api.method_signature) = "name,update"; - } - - // Updates the version and/or image type for the specified node pool. - rpc UpdateNodePool(UpdateNodePoolRequest) returns (Operation) { - option (google.api.http) = { - put: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/update" - body: "*" - } - }; - } - - // Sets the autoscaling settings for the specified node pool. - rpc SetNodePoolAutoscaling(SetNodePoolAutoscalingRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setAutoscaling" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/autoscaling" - body: "*" - } - }; - } - - // Sets the logging service for a specific cluster. - rpc SetLoggingService(SetLoggingServiceRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setLogging" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/logging" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,logging_service"; - option (google.api.method_signature) = "name,logging_service"; - } - - // Sets the monitoring service for a specific cluster. - rpc SetMonitoringService(SetMonitoringServiceRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setMonitoring" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/monitoring" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,monitoring_service"; - option (google.api.method_signature) = "name,monitoring_service"; - } - - // Sets the addons for a specific cluster. - rpc SetAddonsConfig(SetAddonsConfigRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setAddons" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/addons" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,addons_config"; - option (google.api.method_signature) = "name,addons_config"; - } - - // 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. - rpc SetLocations(SetLocationsRequest) returns (Operation) { - option deprecated = true; - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setLocations" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/locations" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,locations"; - option (google.api.method_signature) = "name,locations"; - } - - // Updates the master for a specific cluster. - rpc UpdateMaster(UpdateMasterRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:updateMaster" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/master" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,master_version"; - option (google.api.method_signature) = "name,master_version"; - } - - // Sets master auth materials. Currently supports changing the admin password - // or a specific cluster, either via password generation or explicitly setting - // the password. - rpc SetMasterAuth(SetMasterAuthRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setMasterAuth" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMasterAuth" - body: "*" - } - }; - } - - // 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. - rpc DeleteCluster(DeleteClusterRequest) returns (Operation) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/locations/*/clusters/*}" - additional_bindings { - delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id"; - option (google.api.method_signature) = "name"; - } - - // Lists all operations in a project in a specific zone or all zones. - rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*/locations/*}/operations" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/operations" - } - }; - option (google.api.method_signature) = "project_id,zone"; - } - - // Gets the specified operation. - rpc GetOperation(GetOperationRequest) returns (Operation) { - option (google.api.http) = { - get: "/v1/{name=projects/*/locations/*/operations/*}" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}" - } - }; - option (google.api.method_signature) = "project_id,zone,operation_id"; - option (google.api.method_signature) = "name"; - } - - // Cancels the specified operation. - rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/operations/*}:cancel" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}:cancel" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,operation_id"; - option (google.api.method_signature) = "name"; - } - - // Returns configuration info about the Google Kubernetes Engine service. - rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) { - option (google.api.http) = { - get: "/v1/{name=projects/*/locations/*}/serverConfig" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/serverconfig" - } - }; - option (google.api.method_signature) = "project_id,zone"; - option (google.api.method_signature) = "name"; - } - - // Gets the public component of the cluster signing keys in - // JSON Web Key format. - // This API is not yet intended for general use, and is not available for all - // clusters. - rpc GetJSONWebKeys(GetJSONWebKeysRequest) returns (GetJSONWebKeysResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*/locations/*/clusters/*}/jwks" - }; - } - - // Lists the node pools for a cluster. - rpc ListNodePools(ListNodePoolsRequest) returns (ListNodePoolsResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*/locations/*/clusters/*}/nodePools" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id"; - option (google.api.method_signature) = "parent"; - } - - // Retrieves the requested node pool. - rpc GetNodePool(GetNodePoolRequest) returns (NodePool) { - option (google.api.http) = { - get: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" - additional_bindings { - get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; - option (google.api.method_signature) = "name"; - } - - // Creates a node pool for a cluster. - rpc CreateNodePool(CreateNodePoolRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{parent=projects/*/locations/*/clusters/*}/nodePools" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool"; - option (google.api.method_signature) = "parent,node_pool"; - } - - // Deletes a node pool from a cluster. - rpc DeleteNodePool(DeleteNodePoolRequest) returns (Operation) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}" - additional_bindings { - delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; - option (google.api.method_signature) = "name"; - } - - // Rolls back a previously Aborted or Failed NodePool upgrade. - // This makes no changes if the last upgrade successfully completed. - rpc RollbackNodePoolUpgrade(RollbackNodePoolUpgradeRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:rollback" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}:rollback" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; - option (google.api.method_signature) = "name"; - } - - // Sets the NodeManagement options for a node pool. - rpc SetNodePoolManagement(SetNodePoolManagementRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setManagement" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setManagement" - body: "*" - } - }; - } - - // Sets labels on a cluster. - rpc SetLabels(SetLabelsRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setResourceLabels" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/resourceLabels" - body: "*" - } - }; - } - - // Enables or disables the ABAC authorization mechanism on a cluster. - rpc SetLegacyAbac(SetLegacyAbacRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setLegacyAbac" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/legacyAbac" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,enabled"; - option (google.api.method_signature) = "name,enabled"; - } - - // Starts master IP rotation. - rpc StartIPRotation(StartIPRotationRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:startIpRotation" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:startIpRotation" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id"; - option (google.api.method_signature) = "name"; - } - - // Completes master IP rotation. - rpc CompleteIPRotation(CompleteIPRotationRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:completeIpRotation" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:completeIpRotation" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id"; - option (google.api.method_signature) = "name"; - } - - // Sets the size for a specific node pool. The new size will be used for all - // replicas, including future replicas created by modifying - // [NodePool.locations][google.container.v1.NodePool.locations]. - rpc SetNodePoolSize(SetNodePoolSizeRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setSize" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setSize" - body: "*" - } - }; - } - - // Enables or disables Network Policy for a cluster. - rpc SetNetworkPolicy(SetNetworkPolicyRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setNetworkPolicy" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setNetworkPolicy" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,network_policy"; - option (google.api.method_signature) = "name,network_policy"; - } - - // Sets the maintenance policy for a cluster. - rpc SetMaintenancePolicy(SetMaintenancePolicyRequest) returns (Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/clusters/*}:setMaintenancePolicy" - body: "*" - additional_bindings { - post: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMaintenancePolicy" - body: "*" - } - }; - option (google.api.method_signature) = "project_id,zone,cluster_id,maintenance_policy"; - option (google.api.method_signature) = "name,maintenance_policy"; - } - - // Lists subnetworks that are usable for creating clusters in a project. - rpc ListUsableSubnetworks(ListUsableSubnetworksRequest) returns (ListUsableSubnetworksResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*}/aggregated/usableSubnetworks" - }; - } -} - -// Parameters that can be configured on Linux nodes. -message LinuxNodeConfig { - // The Linux kernel parameters to be applied to the nodes and all pods running - // on the nodes. - // - // The following parameters are supported. - // - // net.core.netdev_max_backlog - // net.core.rmem_max - // net.core.wmem_default - // net.core.wmem_max - // net.core.optmem_max - // net.core.somaxconn - // net.ipv4.tcp_rmem - // net.ipv4.tcp_wmem - // net.ipv4.tcp_tw_reuse - map sysctls = 1; -} - -// Node kubelet configs. -message NodeKubeletConfig { - // Control the CPU management policy on the node. - // See - // https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ - // - // The following values are allowed. - // * "none": the default, which represents the existing scheduling behavior. - // * "static": allows pods with certain resource characteristics to be granted - // increased CPU affinity and exclusivity on the node. - // The default value is 'none' if unspecified. - string cpu_manager_policy = 1; - - // Enable CPU CFS quota enforcement for containers that specify CPU limits. - // - // This option is enabled by default which makes kubelet use CFS quota - // (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to - // enforce container CPU limits. Otherwise, CPU limits will not be enforced at - // all. - // - // Disable this option to mitigate CPU throttling problems while still having - // your pods to be in Guaranteed QoS class by specifying the CPU limits. - // - // The default value is 'true' if unspecified. - google.protobuf.BoolValue cpu_cfs_quota = 2; - - // Set the CPU CFS quota period value 'cpu.cfs_period_us'. - // - // The string must be a sequence of decimal numbers, each with optional - // fraction and a unit suffix, such as "300ms". - // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". - // The value must be a positive duration. - string cpu_cfs_quota_period = 3; -} - -// Parameters that describe the nodes in a cluster. -message NodeConfig { - // The name of a Google Compute Engine [machine - // type](https://cloud.google.com/compute/docs/machine-types) - // - // If unspecified, the default machine type is `e2-medium`. - string machine_type = 1; - - // Size of the disk attached to each node, specified in GB. - // The smallest allowed disk size is 10GB. - // - // If unspecified, the default disk size is 100GB. - int32 disk_size_gb = 2; - - // The set of Google API scopes to be made available on all of the - // node VMs under the "default" service account. - // - // The following scopes are recommended, but not required, and by default are - // not included: - // - // * `https://www.googleapis.com/auth/compute` is required for mounting - // persistent storage on your nodes. - // * `https://www.googleapis.com/auth/devstorage.read_only` is required for - // communicating with **gcr.io** - // (the [Google Container - // Registry](https://cloud.google.com/container-registry/)). - // - // If unspecified, no scopes are added, unless Cloud Logging or Cloud - // Monitoring are enabled, in which case their required scopes will be added. - repeated string oauth_scopes = 3; - - // The Google Cloud Platform Service Account to be used by the node VMs. - // Specify the email address of the Service Account; otherwise, if no Service - // Account is specified, the "default" service account is used. - string service_account = 9; - - // The metadata key/value pairs assigned to instances in the cluster. - // - // Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes - // in length. These are reflected as part of a URL in the metadata server. - // Additionally, to avoid ambiguity, keys must not conflict with any other - // metadata keys for the project or be one of the reserved keys: - // - "cluster-location" - // - "cluster-name" - // - "cluster-uid" - // - "configure-sh" - // - "containerd-configure-sh" - // - "enable-os-login" - // - "gci-ensure-gke-docker" - // - "gci-metrics-enabled" - // - "gci-update-strategy" - // - "instance-template" - // - "kube-env" - // - "startup-script" - // - "user-data" - // - "disable-address-manager" - // - "windows-startup-script-ps1" - // - "common-psm1" - // - "k8s-node-setup-psm1" - // - "install-ssh-psm1" - // - "user-profile-psm1" - // - // Values are free-form strings, and only have meaning as interpreted by - // the image running in the instance. The only restriction placed on them is - // that each value's size must be less than or equal to 32 KB. - // - // The total size of all keys and values must be less than 512 KB. - map metadata = 4; - - // The image type to use for this node. Note that for a given image type, - // the latest version of it will be used. - string image_type = 5; - - // The map of Kubernetes labels (key/value pairs) to be applied to each node. - // These will added in addition to any default label(s) that - // Kubernetes may apply to the node. - // In case of conflict in label keys, the applied set may differ depending on - // the Kubernetes version -- it's best to assume the behavior is undefined - // and conflicts should be avoided. - // For more information, including usage and the valid values, see: - // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ - map labels = 6; - - // The number of local SSD disks to be attached to the node. - // - // The limit for this value is dependent upon the maximum number of - // disks available on a machine per zone. See: - // https://cloud.google.com/compute/docs/disks/local-ssd - // for more information. - int32 local_ssd_count = 7; - - // The list of instance tags applied to all nodes. Tags are used to identify - // valid sources or targets for network firewalls and are specified by - // the client during cluster or node pool creation. Each tag within the list - // must comply with RFC1035. - repeated string tags = 8; - - // Whether the nodes are created as preemptible VM instances. See: - // https://cloud.google.com/compute/docs/instances/preemptible for more - // information about preemptible VM instances. - bool preemptible = 10; - - // 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. - repeated AcceleratorConfig accelerators = 11; - - // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or - // 'pd-balanced') - // - // If unspecified, the default disk type is 'pd-standard' - string disk_type = 12; - - // Minimum CPU platform to be used by this instance. The instance may be - // scheduled on the specified or newer CPU platform. Applicable values are the - // friendly names of CPU platforms, such as - // `minCpuPlatform: "Intel Haswell"` or - // `minCpuPlatform: "Intel Sandy Bridge"`. For more - // information, read [how to specify min CPU - // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) - string min_cpu_platform = 13; - - // The workload metadata configuration for this node. - WorkloadMetadataConfig workload_metadata_config = 14; - - // List of kubernetes taints to be applied to each node. - // - // For more information, including usage and the valid values, see: - // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - repeated NodeTaint taints = 15; - - // Sandbox configuration for this node. - SandboxConfig sandbox_config = 17; - - // Setting this field will assign instances of this - // pool to run on the specified node group. This is useful for running - // workloads on [sole tenant - // nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). - string node_group = 18; - - // The optional reservation affinity. Setting this field will apply - // the specified [Zonal Compute - // Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) - // to this node pool. - ReservationAffinity reservation_affinity = 19; - - // Shielded Instance options. - ShieldedInstanceConfig shielded_instance_config = 20; - - // Parameters that can be configured on Linux nodes. - LinuxNodeConfig linux_node_config = 21; - - // Node kubelet configs. - NodeKubeletConfig kubelet_config = 22; - - // - // The Customer Managed Encryption Key used to encrypt the boot disk attached - // to each node in the node pool. This should be of the form - // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. - // For more information about protecting resources with Cloud KMS Keys please - // see: - // https://cloud.google.com/compute/docs/disks/customer-managed-encryption - string boot_disk_kms_key = 23; - - // Google Container File System (image streaming) configs. - GcfsConfig gcfs_config = 25; - - // Advanced features for the Compute Engine VM. - AdvancedMachineFeatures advanced_machine_features = 26; - - // Enable or disable gvnic in the node pool. - VirtualNIC gvnic = 29; -} - -// Specifies options for controlling advanced machine features. -message AdvancedMachineFeatures { - // The number of threads per physical core. To disable simultaneous - // multithreading (SMT) set this to 1. If unset, the maximum number of threads - // supported per core by the underlying processor is assumed. - optional int64 threads_per_core = 1; -} - -// Parameters for node pool-level network config. -message NodeNetworkConfig { - // Input only. Whether to create a new range for pod IPs in this node pool. - // Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they - // are not specified. - // - // If neither `create_pod_range` or `pod_range` are specified, the - // cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is - // used. - // - // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. - // - // This field cannot be changed after the node pool has been created. - bool create_pod_range = 4 [(google.api.field_behavior) = INPUT_ONLY]; - - // The ID of the secondary range for pod IPs. - // If `create_pod_range` is true, this ID is used for the new range. - // If `create_pod_range` is false, uses an existing secondary range with this - // ID. - // - // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. - // - // This field cannot be changed after the node pool has been created. - string pod_range = 5; - - // The IP address range for pod IPs in this node pool. - // - // Only applicable if `create_pod_range` is true. - // - // Set to blank to have a range chosen with the default size. - // - // Set to /netmask (e.g. `/14`) to have a range chosen with a specific - // netmask. - // - // Set to a - // [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`) to pick a specific range to use. - // - // Only applicable if `ip_allocation_policy.use_ip_aliases` is true. - // - // This field cannot be changed after the node pool has been created. - string pod_ipv4_cidr_block = 6; -} - -// A set of Shielded Instance options. -message ShieldedInstanceConfig { - // Defines whether the instance has Secure Boot enabled. - // - // Secure Boot helps ensure that the system only runs authentic software by - // verifying the digital signature of all boot components, and halting the - // boot process if signature verification fails. - bool enable_secure_boot = 1; - - // Defines whether the instance has integrity monitoring enabled. - // - // Enables monitoring and attestation of the boot integrity of the instance. - // The attestation is performed against the integrity policy baseline. This - // baseline is initially derived from the implicitly trusted boot image when - // the instance is created. - bool enable_integrity_monitoring = 2; -} - -// SandboxConfig contains configurations of the sandbox to use for the node. -message SandboxConfig { - // Possible types of sandboxes. - enum Type { - // Default value. This should not be used. - UNSPECIFIED = 0; - - // Run sandbox using gvisor. - GVISOR = 1; - } - - // Type of the sandbox to use for the node. - Type type = 2; -} - -// GcfsConfig contains configurations of Google Container File System -// (image streaming). -message GcfsConfig { - // Whether to use GCFS. - bool enabled = 1; -} - -// [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) -// is the configuration of desired reservation which instances could take -// capacity from. -message ReservationAffinity { - // Indicates whether to consume capacity from a reservation or not. - enum Type { - // Default value. This should not be used. - UNSPECIFIED = 0; - - // Do not consume from any reserved capacity. - NO_RESERVATION = 1; - - // Consume any reservation available. - ANY_RESERVATION = 2; - - // Must consume from a specific reservation. Must specify key value fields - // for specifying the reservations. - SPECIFIC_RESERVATION = 3; - } - - // Corresponds to the type of reservation consumption. - Type consume_reservation_type = 1; - - // Corresponds to the label key of a reservation resource. To target a - // SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as - // the key and specify the name of your reservation as its value. - string key = 2; - - // Corresponds to the label value(s) of reservation resource(s). - repeated string values = 3; -} - -// Kubernetes taint is comprised of three fields: key, value, and effect. Effect -// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. -// -// See -// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) -// for more information, including usage and the valid values. -message NodeTaint { - // Possible values for Effect in taint. - enum Effect { - // Not set - EFFECT_UNSPECIFIED = 0; - - // NoSchedule - NO_SCHEDULE = 1; - - // PreferNoSchedule - PREFER_NO_SCHEDULE = 2; - - // NoExecute - NO_EXECUTE = 3; - } - - // Key for taint. - string key = 1; - - // Value for taint. - string value = 2; - - // Effect for taint. - Effect effect = 3; -} - -// The authentication information for accessing the master endpoint. -// Authentication can be done using HTTP basic auth or using client -// certificates. -message MasterAuth { - // The username to use for HTTP basic authentication to the master endpoint. - // For clusters v1.6.0 and later, basic authentication can be disabled by - // leaving username unspecified (or setting it to the empty string). - // - // Warning: basic authentication is deprecated, and will be removed in GKE - // control plane versions 1.19 and newer. For a list of recommended - // authentication methods, see: - // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication - string username = 1 [deprecated = true]; - - // The password to use for HTTP basic authentication to the master endpoint. - // Because the master endpoint is open to the Internet, you should create a - // strong password. If a password is provided for cluster creation, username - // must be non-empty. - // - // Warning: basic authentication is deprecated, and will be removed in GKE - // control plane versions 1.19 and newer. For a list of recommended - // authentication methods, see: - // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication - string password = 2 [deprecated = true]; - - // Configuration for client certificate authentication on the cluster. For - // clusters before v1.12, if no configuration is specified, a client - // certificate is issued. - ClientCertificateConfig client_certificate_config = 3; - - // [Output only] Base64-encoded public certificate that is the root of - // trust for the cluster. - string cluster_ca_certificate = 100; - - // [Output only] Base64-encoded public certificate used by clients to - // authenticate to the cluster endpoint. - string client_certificate = 101; - - // [Output only] Base64-encoded private key used by clients to authenticate - // to the cluster endpoint. - string client_key = 102; -} - -// Configuration for client certificates on the cluster. -message ClientCertificateConfig { - // Issue a client certificate. - bool issue_client_certificate = 1; -} - -// Configuration for the addons that can be automatically spun up in the -// cluster, enabling additional functionality. -message AddonsConfig { - // Configuration for the HTTP (L7) load balancing controller addon, which - // makes it easy to set up HTTP load balancers for services in a cluster. - HttpLoadBalancing http_load_balancing = 1; - - // Configuration for the horizontal pod autoscaling feature, which - // increases or decreases the number of replica pods a replication controller - // has based on the resource usage of the existing pods. - HorizontalPodAutoscaling horizontal_pod_autoscaling = 2; - - // Configuration for the Kubernetes Dashboard. - // This addon is deprecated, and will be disabled in 1.15. It is recommended - // to use the Cloud Console to manage and monitor your Kubernetes clusters, - // workloads and applications. For more information, see: - // https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards - KubernetesDashboard kubernetes_dashboard = 3 [deprecated = true]; - - // Configuration for NetworkPolicy. This only tracks whether the addon - // is enabled or not on the Master, it does not track whether network policy - // is enabled for the nodes. - NetworkPolicyConfig network_policy_config = 4; - - // Configuration for the Cloud Run addon, which allows the user to use a - // managed Knative service. - CloudRunConfig cloud_run_config = 7; - - // Configuration for NodeLocalDNS, a dns cache running on cluster nodes - DnsCacheConfig dns_cache_config = 8; - - // Configuration for the ConfigConnector add-on, a Kubernetes - // extension to manage hosted GCP services through the Kubernetes API - ConfigConnectorConfig config_connector_config = 10; - - // Configuration for the Compute Engine Persistent Disk CSI driver. - GcePersistentDiskCsiDriverConfig gce_persistent_disk_csi_driver_config = 11; - - // Configuration for the GCP Filestore CSI driver. - GcpFilestoreCsiDriverConfig gcp_filestore_csi_driver_config = 14; -} - -// Configuration options for the HTTP (L7) load balancing controller addon, -// which makes it easy to set up HTTP load balancers for services in a cluster. -message HttpLoadBalancing { - // Whether the HTTP Load Balancing controller is enabled in the cluster. - // When enabled, it runs a small pod in the cluster that manages the load - // balancers. - bool disabled = 1; -} - -// Configuration options for the horizontal pod autoscaling feature, which -// increases or decreases the number of replica pods a replication controller -// has based on the resource usage of the existing pods. -message HorizontalPodAutoscaling { - // Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. - // When enabled, it ensures that metrics are collected into Stackdriver - // Monitoring. - bool disabled = 1; -} - -// Configuration for the Kubernetes Dashboard. -message KubernetesDashboard { - // Whether the Kubernetes Dashboard is enabled for this cluster. - bool disabled = 1; -} - -// Configuration for NetworkPolicy. This only tracks whether the addon -// is enabled or not on the Master, it does not track whether network policy -// is enabled for the nodes. -message NetworkPolicyConfig { - // Whether NetworkPolicy is enabled for this cluster. - bool disabled = 1; -} - -// Configuration for NodeLocal DNSCache -message DnsCacheConfig { - // Whether NodeLocal DNSCache is enabled for this cluster. - bool enabled = 1; -} - -// Configuration for controlling master global access settings. -message PrivateClusterMasterGlobalAccessConfig { - // Whenever master is accessible globally or not. - bool enabled = 1; -} - -// Configuration options for private clusters. -message PrivateClusterConfig { - // Whether nodes have internal IP addresses only. If enabled, all nodes are - // given only RFC 1918 private addresses and communicate with the master via - // private networking. - bool enable_private_nodes = 1; - - // Whether the master's internal IP address is used as the cluster endpoint. - bool enable_private_endpoint = 2; - - // The IP range in CIDR notation to use for the hosted master network. This - // range will be used for assigning internal IP addresses to the master or - // set of masters, as well as the ILB VIP. This range must not overlap with - // any other ranges in use within the cluster's network. - string master_ipv4_cidr_block = 3; - - // Output only. The internal IP address of this cluster's master endpoint. - string private_endpoint = 4; - - // Output only. The external IP address of this cluster's master endpoint. - string public_endpoint = 5; - - // Output only. The peering name in the customer VPC used by this cluster. - string peering_name = 7; - - // Controls master global access settings. - PrivateClusterMasterGlobalAccessConfig master_global_access_config = 8; -} - -// Configuration for returning group information from authenticators. -message AuthenticatorGroupsConfig { - // Whether this cluster should return group membership lookups - // during authentication using a group of security groups. - bool enabled = 1; - - // The name of the security group-of-groups to be used. Only relevant - // if enabled = true. - string security_group = 2; -} - -// Configuration options for the Cloud Run feature. -message CloudRunConfig { - // Load balancer type of ingress service of Cloud Run. - enum LoadBalancerType { - // Load balancer type for Cloud Run is unspecified. - LOAD_BALANCER_TYPE_UNSPECIFIED = 0; - - // Install external load balancer for Cloud Run. - LOAD_BALANCER_TYPE_EXTERNAL = 1; - - // Install internal load balancer for Cloud Run. - LOAD_BALANCER_TYPE_INTERNAL = 2; - } - - // Whether Cloud Run addon is enabled for this cluster. - bool disabled = 1; - - // Which load balancer type is installed for Cloud Run. - LoadBalancerType load_balancer_type = 3; -} - -// Configuration options for the Config Connector add-on. -message ConfigConnectorConfig { - // Whether Cloud Connector is enabled for this cluster. - bool enabled = 1; -} - -// Configuration for the Compute Engine PD CSI driver. -message GcePersistentDiskCsiDriverConfig { - // Whether the Compute Engine PD CSI driver is enabled for this cluster. - bool enabled = 1; -} - -// Configuration for the GCP Filestore CSI driver. -message GcpFilestoreCsiDriverConfig { - // Whether the GCP Filestore CSI driver is enabled for this cluster. - bool enabled = 1; -} - -// Configuration options for the master authorized networks feature. Enabled -// master authorized networks will disallow all external traffic to access -// Kubernetes master through HTTPS except traffic from the given CIDR blocks, -// Google Compute Engine Public IPs and Google Prod IPs. -message MasterAuthorizedNetworksConfig { - // CidrBlock contains an optional name and one CIDR block. - message CidrBlock { - // display_name is an optional field for users to identify CIDR blocks. - string display_name = 1; - - // cidr_block must be specified in CIDR notation. - string cidr_block = 2; - } - - // Whether or not master authorized networks is enabled. - bool enabled = 1; - - // cidr_blocks define up to 50 external networks that could access - // Kubernetes master through HTTPS. - repeated CidrBlock cidr_blocks = 2; -} - -// Configuration for the legacy Attribute Based Access Control authorization -// mode. -message LegacyAbac { - // Whether the ABAC authorizer is enabled for this cluster. When enabled, - // identities in the system, including service accounts, nodes, and - // controllers, will have statically granted permissions beyond those - // provided by the RBAC configuration or IAM. - bool enabled = 1; -} - -// Configuration options for the NetworkPolicy feature. -// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ -message NetworkPolicy { - // Allowed Network Policy providers. - enum Provider { - // Not set - PROVIDER_UNSPECIFIED = 0; - - // Tigera (Calico Felix). - CALICO = 1; - } - - // The selected network policy provider. - Provider provider = 1; - - // Whether network policy is enabled on the cluster. - bool enabled = 2; -} - -// Configuration for Binary Authorization. -message BinaryAuthorization { - // Enable Binary Authorization for this cluster. If enabled, all container - // images will be validated by Binary Authorization. - bool enabled = 1; -} - -// Configuration for controlling how IPs are allocated in the cluster. -message IPAllocationPolicy { - // Whether alias IPs will be used for pod IPs in the cluster. - // This is used in conjunction with use_routes. It cannot - // be true if use_routes is true. If both use_ip_aliases and use_routes are - // false, then the server picks the default IP allocation mode - bool use_ip_aliases = 1; - - // Whether a new subnetwork will be created automatically for the cluster. - // - // This field is only applicable when `use_ip_aliases` is true. - bool create_subnetwork = 2; - - // A custom subnetwork name to be used if `create_subnetwork` is true. If - // this field is empty, then an automatic name will be chosen for the new - // subnetwork. - string subnetwork_name = 3; - - // This field is deprecated, use cluster_ipv4_cidr_block. - string cluster_ipv4_cidr = 4 [deprecated = true]; - - // This field is deprecated, use node_ipv4_cidr_block. - string node_ipv4_cidr = 5 [deprecated = true]; - - // This field is deprecated, use services_ipv4_cidr_block. - string services_ipv4_cidr = 6 [deprecated = true]; - - // The name of the secondary range to be used for the cluster CIDR - // block. The secondary range will be used for pod IP - // addresses. This must be an existing secondary range associated - // with the cluster subnetwork. - // - // This field is only applicable with use_ip_aliases is true and - // create_subnetwork is false. - string cluster_secondary_range_name = 7; - - // The name of the secondary range to be used as for the services - // CIDR block. The secondary range will be used for service - // ClusterIPs. This must be an existing secondary range associated - // with the cluster subnetwork. - // - // This field is only applicable with use_ip_aliases is true and - // create_subnetwork is false. - string services_secondary_range_name = 8; - - // The IP address range for the cluster pod IPs. If this field is set, then - // `cluster.cluster_ipv4_cidr` must be left blank. - // - // This field is only applicable when `use_ip_aliases` is true. - // - // Set to blank to have a range chosen with the default size. - // - // Set to /netmask (e.g. `/14`) to have a range chosen with a specific - // netmask. - // - // Set to a - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. - // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range - // to use. - string cluster_ipv4_cidr_block = 9; - - // The IP address range of the instance IPs in this cluster. - // - // This is applicable only if `create_subnetwork` is true. - // - // Set to blank to have a range chosen with the default size. - // - // Set to /netmask (e.g. `/14`) to have a range chosen with a specific - // netmask. - // - // Set to a - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. - // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range - // to use. - string node_ipv4_cidr_block = 10; - - // The IP address range of the services IPs in this cluster. If blank, a range - // will be automatically chosen with the default size. - // - // This field is only applicable when `use_ip_aliases` is true. - // - // Set to blank to have a range chosen with the default size. - // - // Set to /netmask (e.g. `/14`) to have a range chosen with a specific - // netmask. - // - // Set to a - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. - // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range - // to use. - string services_ipv4_cidr_block = 11; - - // The IP address range of the Cloud TPUs in this cluster. If unspecified, a - // range will be automatically chosen with the default size. - // - // This field is only applicable when `use_ip_aliases` is true. - // - // If unspecified, the range will use the default size. - // - // Set to /netmask (e.g. `/14`) to have a range chosen with a specific - // netmask. - // - // Set to a - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. - // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range - // to use. - string tpu_ipv4_cidr_block = 13; - - // Whether routes will be used for pod IPs in the cluster. - // This is used in conjunction with use_ip_aliases. It cannot be true if - // use_ip_aliases is true. If both use_ip_aliases and use_routes are false, - // then the server picks the default IP allocation mode - bool use_routes = 15; -} - -// A Google Kubernetes Engine cluster. -message Cluster { - // The current status of the cluster. - enum Status { - // Not set. - STATUS_UNSPECIFIED = 0; - - // The PROVISIONING state indicates the cluster is being created. - PROVISIONING = 1; - - // The RUNNING state indicates the cluster has been created and is fully - // usable. - RUNNING = 2; - - // The RECONCILING state indicates that some work is actively being done on - // the cluster, such as upgrading the master or node software. Details can - // be found in the `statusMessage` field. - RECONCILING = 3; - - // The STOPPING state indicates the cluster is being deleted. - STOPPING = 4; - - // The ERROR state indicates the cluster is unusable. It will be - // automatically deleted. Details can be found in the `statusMessage` field. - ERROR = 5; - - // The DEGRADED state indicates the cluster requires user action to restore - // full functionality. Details can be found in the `statusMessage` field. - DEGRADED = 6; - } - - // The name of this cluster. The name must be unique within this project - // and location (e.g. zone or region), and can be up to 40 characters with - // the following restrictions: - // - // * Lowercase letters, numbers, and hyphens only. - // * Must start with a letter. - // * Must end with a number or a letter. - string name = 1; - - // An optional description of this cluster. - string description = 2; - - // The number of nodes to create in this cluster. You must ensure that your - // Compute Engine [resource quota](https://cloud.google.com/compute/quotas) - // is sufficient for this number of instances. You must also have available - // firewall and routes quota. - // For requests, this field should only be used in lieu of a - // "node_pool" object, since this configuration (along with the - // "node_config") will be used to create a "NodePool" object with an - // auto-generated name. Do not use this and a node_pool at the same time. - // - // This field is deprecated, use node_pool.initial_node_count instead. - int32 initial_node_count = 3 [deprecated = true]; - - // Parameters used in creating the cluster's nodes. - // For requests, this field should only be used in lieu of a - // "node_pool" object, since this configuration (along with the - // "initial_node_count") will be used to create a "NodePool" object with an - // auto-generated name. Do not use this and a node_pool at the same time. - // For responses, this field will be populated with the node configuration of - // the first node pool. (For configuration of each node pool, see - // `node_pool.config`) - // - // If unspecified, the defaults are used. - // This field is deprecated, use node_pool.config instead. - NodeConfig node_config = 4 [deprecated = true]; - - // The authentication information for accessing the master endpoint. - // If unspecified, the defaults are used: - // For clusters before v1.12, if master_auth is unspecified, `username` will - // be set to "admin", a random password will be generated, and a client - // certificate will be issued. - MasterAuth master_auth = 5; - - // 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. - string logging_service = 6; - - // 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. - string monitoring_service = 7; - - // The name of the Google Compute Engine - // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) - // to which the cluster is connected. If left unspecified, the `default` - // network will be used. - string network = 8; - - // The IP address range of the container pods in this cluster, in - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `10.96.0.0/14`). Leave blank to have - // one automatically chosen or specify a `/14` block in `10.0.0.0/8`. - string cluster_ipv4_cidr = 9; - - // Configurations for the various addons available to run in the cluster. - AddonsConfig addons_config = 10; - - // The name of the Google Compute Engine - // [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which - // the cluster is connected. - string subnetwork = 11; - - // The node pools associated with this cluster. - // This field should not be set if "node_config" or "initial_node_count" are - // specified. - repeated NodePool node_pools = 12; - - // The list of Google Compute Engine - // [zones](https://cloud.google.com/compute/docs/zones#available) in which the - // cluster's nodes should be located. - // - // This field provides a default value if - // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) - // are not specified during node pool creation. - // - // Warning: changing cluster locations will update the - // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) - // of all node pools and will result in nodes being added and/or removed. - repeated string locations = 13; - - // Kubernetes alpha features are enabled on this cluster. This includes alpha - // API groups (e.g. v1alpha1) and features that may not be production ready in - // the kubernetes version of the master and nodes. - // The cluster has no SLA for uptime and master/node upgrades are disabled. - // Alpha enabled clusters are automatically deleted thirty days after - // creation. - bool enable_kubernetes_alpha = 14; - - // The resource labels for the cluster to use to annotate any related - // Google Compute Engine resources. - map resource_labels = 15; - - // The fingerprint of the set of labels for this cluster. - string label_fingerprint = 16; - - // Configuration for the legacy ABAC authorization mode. - LegacyAbac legacy_abac = 18; - - // Configuration options for the NetworkPolicy feature. - NetworkPolicy network_policy = 19; - - // Configuration for cluster IP allocation. - IPAllocationPolicy ip_allocation_policy = 20; - - // The configuration options for master authorized networks feature. - MasterAuthorizedNetworksConfig master_authorized_networks_config = 22; - - // Configure the maintenance policy for this cluster. - MaintenancePolicy maintenance_policy = 23; - - // Configuration for Binary Authorization. - BinaryAuthorization binary_authorization = 24; - - // Cluster-level autoscaling configuration. - ClusterAutoscaling autoscaling = 26; - - // Configuration for cluster networking. - NetworkConfig network_config = 27; - - // The default constraint on the maximum number of pods that can be run - // simultaneously on a node in the node pool of this cluster. Only honored - // if cluster created with IP Alias support. - MaxPodsConstraint default_max_pods_constraint = 30; - - // Configuration for exporting resource usages. Resource usage export is - // disabled when this config is unspecified. - ResourceUsageExportConfig resource_usage_export_config = 33; - - // Configuration controlling RBAC group membership information. - AuthenticatorGroupsConfig authenticator_groups_config = 34; - - // Configuration for private cluster. - PrivateClusterConfig private_cluster_config = 37; - - // Configuration of etcd encryption. - DatabaseEncryption database_encryption = 38; - - // Cluster-level Vertical Pod Autoscaling configuration. - VerticalPodAutoscaling vertical_pod_autoscaling = 39; - - // Shielded Nodes configuration. - ShieldedNodes shielded_nodes = 40; - - // Release channel configuration. - ReleaseChannel release_channel = 41; - - // Configuration for the use of Kubernetes Service Accounts in GCP IAM - // policies. - WorkloadIdentityConfig workload_identity_config = 43; - - // Configuration for issuance of mTLS keys and certificates to Kubernetes - // pods. - MeshCertificates mesh_certificates = 67; - - // Notification configuration of the cluster. - NotificationConfig notification_config = 49; - - // Configuration of Confidential Nodes - ConfidentialNodes confidential_nodes = 50; - - // [Output only] Server-defined URL for the resource. - string self_link = 100; - - // [Output only] The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) in which the - // cluster resides. This field is deprecated, use location instead. - string zone = 101 [deprecated = true]; - - // [Output only] The IP address of this cluster's master endpoint. - // The endpoint can be accessed from the internet at - // `https://username:password@endpoint/`. - // - // See the `masterAuth` property of this resource for username and - // password information. - string endpoint = 102; - - // The initial Kubernetes version for this cluster. Valid versions are those - // found in validMasterVersions returned by getServerConfig. The version can - // be upgraded over time; such upgrades are reflected in - // currentMasterVersion and currentNodeVersion. - // - // 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 - string initial_cluster_version = 103; - - // [Output only] The current software version of the master endpoint. - string current_master_version = 104; - - // [Output only] Deprecated, use - // [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) - // instead. The current version of the node software components. If they are - // currently at multiple versions because they're in the process of being - // upgraded, this reflects the minimum version of all nodes. - string current_node_version = 105 [deprecated = true]; - - // [Output only] The time the cluster was created, in - // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. - string create_time = 106; - - // [Output only] The current status of this cluster. - Status status = 107; - - // [Output only] Deprecated. Use conditions instead. - // Additional information about the current status of this - // cluster, if available. - string status_message = 108 [deprecated = true]; - - // [Output only] The size of the address space on each node for hosting - // containers. This is provisioned from within the `container_ipv4_cidr` - // range. This field will only be set when cluster is in route-based network - // mode. - int32 node_ipv4_cidr_size = 109; - - // [Output only] The IP address range of the Kubernetes services in - // this cluster, in - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `1.2.3.4/29`). Service addresses are - // typically put in the last `/16` from the container CIDR. - string services_ipv4_cidr = 110; - - // Deprecated. Use node_pools.instance_group_urls. - repeated string instance_group_urls = 111 [deprecated = true]; - - // [Output only] The number of nodes currently in the cluster. Deprecated. - // Call Kubernetes API directly to retrieve node information. - int32 current_node_count = 112 [deprecated = true]; - - // [Output only] The time the cluster will be automatically - // deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. - string expire_time = 113; - - // [Output only] The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - // or - // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - // in which the cluster resides. - string location = 114; - - // Enable the ability to use Cloud TPUs in this cluster. - bool enable_tpu = 115; - - // [Output only] The IP address range of the Cloud TPUs in this cluster, in - // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // notation (e.g. `1.2.3.4/29`). - string tpu_ipv4_cidr_block = 116; - - // Which conditions caused the current cluster state. - repeated StatusCondition conditions = 118; - - // Autopilot configuration for the cluster. - Autopilot autopilot = 128; - - // Output only. Unique id for the cluster. - string id = 129 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Default NodePool settings for the entire cluster. These settings are - // overridden if specified on the specific NodePool object. - optional NodePoolDefaults node_pool_defaults = 131; - - // Logging configuration for the cluster. - LoggingConfig logging_config = 132; - - // Monitoring configuration for the cluster. - MonitoringConfig monitoring_config = 133; -} - -// Subset of Nodepool message that has defaults. -message NodePoolDefaults { - // Subset of NodeConfig message that has defaults. - NodeConfigDefaults node_config_defaults = 1; -} - -// Subset of NodeConfig message that has defaults. -message NodeConfigDefaults { - // GCFS (Google Container File System, a.k.a Riptide) options. - GcfsConfig gcfs_config = 1; -} - -// ClusterUpdate describes an update to the cluster. Exactly one update can -// be applied to a cluster with each request, so at most one field can be -// provided. -message ClusterUpdate { - // 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 - string desired_node_version = 4; - - // 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. - string desired_monitoring_service = 5; - - // Configurations for the various addons available to run in the cluster. - AddonsConfig desired_addons_config = 6; - - // The node pool to be upgraded. This field is mandatory if - // "desired_node_version", "desired_image_family" or - // "desired_node_pool_autoscaling" is specified and there is more than one - // node pool on the cluster. - string desired_node_pool_id = 7; - - // The desired image type for the node pool. - // NOTE: Set the "desired_node_pool" field as well. - string desired_image_type = 8; - - // Configuration of etcd encryption. - DatabaseEncryption desired_database_encryption = 46; - - // Configuration for Workload Identity. - WorkloadIdentityConfig desired_workload_identity_config = 47; - - // Configuration for issuance of mTLS keys and certificates to Kubernetes - // pods. - MeshCertificates desired_mesh_certificates = 67; - - // Configuration for Shielded Nodes. - ShieldedNodes desired_shielded_nodes = 48; - - // DNSConfig contains clusterDNS config for this cluster. - DNSConfig desired_dns_config = 53; - - // Autoscaler configuration for the node pool specified in - // desired_node_pool_id. If there is only one pool in the - // cluster and desired_node_pool_id is not provided then - // the change applies to that single node pool. - NodePoolAutoscaling desired_node_pool_autoscaling = 9; - - // 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. - // - // This list must always include the cluster's primary zone. - // - // Warning: changing cluster locations will update the locations of all node - // pools and will result in nodes being added and/or removed. - repeated string desired_locations = 10; - - // The desired configuration options for master authorized networks feature. - MasterAuthorizedNetworksConfig desired_master_authorized_networks_config = 12; - - // Cluster-level autoscaling configuration. - ClusterAutoscaling desired_cluster_autoscaling = 15; - - // The desired configuration options for the Binary Authorization feature. - BinaryAuthorization desired_binary_authorization = 16; - - // 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. - string desired_logging_service = 19; - - // The desired configuration for exporting resource usage. - ResourceUsageExportConfig desired_resource_usage_export_config = 21; - - // Cluster-level Vertical Pod Autoscaling configuration. - VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22; - - // The desired private cluster configuration. - PrivateClusterConfig desired_private_cluster_config = 25; - - // The desired config of Intra-node visibility. - IntraNodeVisibilityConfig desired_intra_node_visibility_config = 26; - - // The desired status of whether to disable default sNAT for this cluster. - DefaultSnatStatus desired_default_snat_status = 28; - - // The desired release channel configuration. - ReleaseChannel desired_release_channel = 31; - - // The desired L4 Internal Load Balancer Subsetting configuration. - ILBSubsettingConfig desired_l4ilb_subsetting_config = 39; - - // The desired datapath provider for the cluster. - DatapathProvider desired_datapath_provider = 50; - - // The desired state of IPv6 connectivity to Google Services. - PrivateIPv6GoogleAccess desired_private_ipv6_google_access = 51; - - // The desired notification configuration. - NotificationConfig desired_notification_config = 55; - - // The desired authenticator groups config for the cluster. - AuthenticatorGroupsConfig desired_authenticator_groups_config = 63; - - // The desired logging configuration. - LoggingConfig desired_logging_config = 64; - - // The desired monitoring configuration. - MonitoringConfig desired_monitoring_config = 65; - - // ServiceExternalIPsConfig specifies the config for the use of Services with - // ExternalIPs field. - ServiceExternalIPsConfig desired_service_external_ips_config = 60; - - // 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 - string desired_master_version = 100; - - // The desired GCFS config for the cluster - GcfsConfig desired_gcfs_config = 109; -} - -// This operation resource represents operations that may have happened or are -// happening on the cluster. All fields are output only. -message Operation { - // Current status of the operation. - enum Status { - // Not set. - STATUS_UNSPECIFIED = 0; - - // The operation has been created. - PENDING = 1; - - // The operation is currently running. - RUNNING = 2; - - // The operation is done, either cancelled or completed. - DONE = 3; - - // The operation is aborting. - ABORTING = 4; - } - - // Operation type. - enum Type { - // Not set. - TYPE_UNSPECIFIED = 0; - - // Cluster create. - CREATE_CLUSTER = 1; - - // Cluster delete. - DELETE_CLUSTER = 2; - - // A master upgrade. - UPGRADE_MASTER = 3; - - // A node upgrade. - UPGRADE_NODES = 4; - - // Cluster repair. - REPAIR_CLUSTER = 5; - - // Cluster update. - UPDATE_CLUSTER = 6; - - // Node pool create. - CREATE_NODE_POOL = 7; - - // Node pool delete. - DELETE_NODE_POOL = 8; - - // Set node pool management. - SET_NODE_POOL_MANAGEMENT = 9; - - // Automatic node pool repair. - AUTO_REPAIR_NODES = 10; - - // Automatic node upgrade. - AUTO_UPGRADE_NODES = 11; - - // Set labels. - SET_LABELS = 12; - - // Set/generate master auth materials - SET_MASTER_AUTH = 13; - - // Set node pool size. - SET_NODE_POOL_SIZE = 14; - - // Updates network policy for a cluster. - SET_NETWORK_POLICY = 15; - - // Set the maintenance policy. - SET_MAINTENANCE_POLICY = 16; - } - - // The server-assigned ID for the operation. - string name = 1; - - // The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) in which the - // operation is taking place. This field is deprecated, use location instead. - string zone = 2 [deprecated = true]; - - // The operation type. - Type operation_type = 3; - - // The current status of the operation. - Status status = 4; - - // Detailed operation progress, if available. - string detail = 8; - - // Output only. If an error has occurred, a textual description of the error. - // Deprecated. Use the field error instead. - string status_message = 5 [ - deprecated = true, - (google.api.field_behavior) = OUTPUT_ONLY - ]; - - // Server-defined URL for the resource. - string self_link = 6; - - // Server-defined URL for the target of the operation. - string target_link = 7; - - // [Output only] The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - // or - // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - // in which the cluster resides. - string location = 9; - - // [Output only] The time the operation started, in - // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. - string start_time = 10; - - // [Output only] The time the operation completed, in - // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. - string end_time = 11; - - // Output only. [Output only] Progress information for an operation. - OperationProgress progress = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Which conditions caused the current cluster state. - // Deprecated. Use field error instead. - repeated StatusCondition cluster_conditions = 13 [deprecated = true]; - - // Which conditions caused the current node pool state. - // Deprecated. Use field error instead. - repeated StatusCondition nodepool_conditions = 14 [deprecated = true]; - - // The error result of the operation in case of failure. - google.rpc.Status error = 15; -} - -// Information about operation (or operation stage) progress. -message OperationProgress { - // Progress metric is (string, int|float|string) pair. - message Metric { - // Required. Metric name, e.g., "nodes total", "percent done". - string name = 1 [(google.api.field_behavior) = REQUIRED]; - - // Strictly one of the values is required. - oneof value { - // For metrics with integer value. - int64 int_value = 2; - - // For metrics with floating point value. - double double_value = 3; - - // For metrics with custom values (ratios, visual progress, etc.). - string string_value = 4; - } - } - - // A non-parameterized string describing an operation stage. - // Unset for single-stage operations. - string name = 1; - - // Status of an operation stage. - // Unset for single-stage operations. - Operation.Status status = 2; - - // Progress metric bundle, for example: - // metrics: [{name: "nodes done", int_value: 15}, - // {name: "nodes total", int_value: 32}] - // or - // metrics: [{name: "progress", double_value: 0.56}, - // {name: "progress scale", double_value: 1.0}] - repeated Metric metrics = 3; - - // Substages of an operation or a stage. - repeated OperationProgress stages = 4; -} - -// CreateClusterRequest creates a cluster. -message CreateClusterRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the parent field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Required. A [cluster - // resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) - Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; - - // The parent (project and location) where the cluster will be created. - // Specified in the format `projects/*/locations/*`. - string parent = 5; -} - -// GetClusterRequest gets the settings of a cluster. -message GetClusterRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to retrieve. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // The name (project, location, cluster) of the cluster to retrieve. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 5; -} - -// UpdateClusterRequest updates the settings of a cluster. -message UpdateClusterRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. A description of the update. - ClusterUpdate update = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to update. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 5; -} - -// UpdateNodePoolRequests update a node pool's image and/or version. -message UpdateNodePoolRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to upgrade. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // 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 - string node_version = 5 [(google.api.field_behavior) = REQUIRED]; - - // Required. The desired image type for the node pool. - string image_type = 6 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster, node pool) of the node pool to - // update. Specified in the format - // `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 8; - - // 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. - repeated string locations = 13; - - // The desired workload metadata config for the node pool. - WorkloadMetadataConfig workload_metadata_config = 14; - - // Upgrade settings control disruption and speed of the upgrade. - NodePool.UpgradeSettings upgrade_settings = 15; - - // Parameters that can be configured on Linux nodes. - LinuxNodeConfig linux_node_config = 19; - - // Node kubelet configs. - NodeKubeletConfig kubelet_config = 20; - - // GCFS config. - GcfsConfig gcfs_config = 22; - - // Enable or disable gvnic on the node pool. - VirtualNIC gvnic = 29; -} - -// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. -message SetNodePoolAutoscalingRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to upgrade. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // Required. Autoscaling configuration for the node pool. - NodePoolAutoscaling autoscaling = 5 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster, node pool) of the node pool to set - // autoscaler settings. Specified in the format - // `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 6; -} - -// SetLoggingServiceRequest sets the logging service of a cluster. -message SetLoggingServiceRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // 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. - string logging_service = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to set logging. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 5; -} - -// SetMonitoringServiceRequest sets the monitoring service of a cluster. -message SetMonitoringServiceRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // 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. - string monitoring_service = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to set monitoring. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; -} - -// SetAddonsConfigRequest sets the addons associated with the cluster. -message SetAddonsConfigRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. The desired configurations for the various addons available to run in the - // cluster. - AddonsConfig addons_config = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to set addons. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; -} - -// SetLocationsRequest sets the locations of the cluster. -message SetLocationsRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // 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. - repeated string locations = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to set locations. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; -} - -// UpdateMasterRequest updates the master of the cluster. -message UpdateMasterRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // 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 - string master_version = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to update. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 7; -} - -// SetMasterAuthRequest updates the admin password of a cluster. -message SetMasterAuthRequest { - // Operation type: what type update to perform. - enum Action { - // Operation is unknown and will error out. - UNKNOWN = 0; - - // Set the password to a user generated value. - SET_PASSWORD = 1; - - // Generate a new password and set it to that. - GENERATE_PASSWORD = 2; - - // Set the username. If an empty username is provided, basic authentication - // is disabled for the cluster. If a non-empty username is provided, basic - // authentication is enabled, with either a provided password or a generated - // one. - SET_USERNAME = 3; - } - - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to upgrade. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. The exact form of action to be taken on the master auth. - Action action = 4 [(google.api.field_behavior) = REQUIRED]; - - // Required. A description of the update. - MasterAuth update = 5 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster) of the cluster to set auth. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 7; -} - -// DeleteClusterRequest deletes a cluster. -message DeleteClusterRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to delete. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // The name (project, location, cluster) of the cluster to delete. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 4; -} - -// ListClustersRequest lists clusters. -message ListClustersRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the parent field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // The parent (project and location) where the clusters will be listed. - // Specified in the format `projects/*/locations/*`. - // Location "-" matches all zones and all regions. - string parent = 4; -} - -// ListClustersResponse is the result of ListClustersRequest. -message ListClustersResponse { - // A list of clusters in the project in the specified zone, or - // across all ones. - repeated Cluster clusters = 1; - - // If any zones are listed here, the list of clusters returned - // may be missing those zones. - repeated string missing_zones = 2; -} - -// GetOperationRequest gets a single operation. -message GetOperationRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The server-assigned `name` of the operation. - // This field has been deprecated and replaced by the name field. - string operation_id = 3 [deprecated = true]; - - // The name (project, location, operation id) of the operation to get. - // Specified in the format `projects/*/locations/*/operations/*`. - string name = 5; -} - -// ListOperationsRequest lists operations. -message ListOperationsRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the parent field. - string project_id = 1 [deprecated = true]; - - // Deprecated. The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) to return - // operations for, or `-` for all zones. This field has been deprecated and - // replaced by the parent field. - string zone = 2 [deprecated = true]; - - // The parent (project and location) where the operations will be listed. - // Specified in the format `projects/*/locations/*`. - // Location "-" matches all zones and all regions. - string parent = 4; -} - -// CancelOperationRequest cancels a single operation. -message CancelOperationRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // Deprecated. The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) in which the - // operation resides. This field has been deprecated and replaced by the name - // field. - string zone = 2 [deprecated = true]; - - // Deprecated. The server-assigned `name` of the operation. - // This field has been deprecated and replaced by the name field. - string operation_id = 3 [deprecated = true]; - - // The name (project, location, operation id) of the operation to cancel. - // Specified in the format `projects/*/locations/*/operations/*`. - string name = 4; -} - -// ListOperationsResponse is the result of ListOperationsRequest. -message ListOperationsResponse { - // A list of operations in the project in the specified zone. - repeated Operation operations = 1; - - // If any zones are listed here, the list of operations returned - // may be missing the operations from those zones. - repeated string missing_zones = 2; -} - -// Gets the current Kubernetes Engine service configuration. -message GetServerConfigRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // Deprecated. The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) to return - // operations for. This field has been deprecated and replaced by the name - // field. - string zone = 2 [deprecated = true]; - - // The name (project and location) of the server config to get, - // specified in the format `projects/*/locations/*`. - string name = 4; -} - -// Kubernetes Engine service configuration. -message ServerConfig { - // ReleaseChannelConfig exposes configuration for a release channel. - message ReleaseChannelConfig { - // The release channel this configuration applies to. - ReleaseChannel.Channel channel = 1; - - // The default version for newly created clusters on the channel. - string default_version = 2; - - // List of valid versions for the channel. - repeated string valid_versions = 4; - } - - // Version of Kubernetes the service deploys by default. - string default_cluster_version = 1; - - // List of valid node upgrade target versions, in descending order. - repeated string valid_node_versions = 3; - - // Default image type. - string default_image_type = 4; - - // List of valid image types. - repeated string valid_image_types = 5; - - // List of valid master versions, in descending order. - repeated string valid_master_versions = 6; - - // List of release channel configurations. - repeated ReleaseChannelConfig channels = 9; -} - -// CreateNodePoolRequest creates a node pool for a cluster. -message CreateNodePoolRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the parent field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the parent field. - string cluster_id = 3 [deprecated = true]; - - // Required. The node pool to create. - NodePool node_pool = 4 [(google.api.field_behavior) = REQUIRED]; - - // The parent (project, location, cluster id) where the node pool will be - // created. Specified in the format - // `projects/*/locations/*/clusters/*`. - string parent = 6; -} - -// DeleteNodePoolRequest deletes a node pool for a cluster. -message DeleteNodePoolRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to delete. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // The name (project, location, cluster, node pool id) of the node pool to - // delete. Specified in the format - // `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 6; -} - -// ListNodePoolsRequest lists the node pool(s) for a cluster. -message ListNodePoolsRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the parent field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the parent field. - string cluster_id = 3 [deprecated = true]; - - // The parent (project, location, cluster id) where the node pools will be - // listed. Specified in the format `projects/*/locations/*/clusters/*`. - string parent = 5; -} - -// GetNodePoolRequest retrieves a node pool for a cluster. -message GetNodePoolRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // The name (project, location, cluster, node pool id) of the node pool to - // get. Specified in the format - // `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 6; -} - -// NodePool contains the name and configuration for a cluster's node pool. -// Node pools are a set of nodes (i.e. VM's), with a common configuration and -// specification, under the control of the cluster master. They may have a set -// of Kubernetes labels applied to them, which may be used to reference them -// during pod scheduling. They may also be resized up or down, to accommodate -// the workload. -message NodePool { - // These upgrade settings control the level of parallelism and the level of - // disruption caused by an upgrade. - // - // maxUnavailable controls the number of nodes that can be simultaneously - // unavailable. - // - // maxSurge controls the number of additional nodes that can be added to the - // node pool temporarily for the time of the upgrade to increase the number of - // available nodes. - // - // (maxUnavailable + maxSurge) determines the level of parallelism (how many - // nodes are being upgraded at the same time). - // - // Note: upgrades inevitably introduce some disruption since workloads need to - // be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, - // this holds true. (Disruption stays within the limits of - // PodDisruptionBudget, if it is configured.) - // - // Consider a hypothetical node pool with 5 nodes having maxSurge=2, - // maxUnavailable=1. This means the upgrade process upgrades 3 nodes - // simultaneously. It creates 2 additional (upgraded) nodes, then it brings - // down 3 old (not yet upgraded) nodes at the same time. This ensures that - // there are always at least 4 nodes available. - message UpgradeSettings { - // The maximum number of nodes that can be created beyond the current size - // of the node pool during the upgrade process. - int32 max_surge = 1; - - // The maximum number of nodes that can be simultaneously unavailable during - // the upgrade process. A node is considered available if its status is - // Ready. - int32 max_unavailable = 2; - } - - // The current status of the node pool instance. - enum Status { - // Not set. - STATUS_UNSPECIFIED = 0; - - // The PROVISIONING state indicates the node pool is being created. - PROVISIONING = 1; - - // The RUNNING state indicates the node pool has been created - // and is fully usable. - RUNNING = 2; - - // The RUNNING_WITH_ERROR state indicates the node pool has been created - // and is partially usable. Some error state has occurred and some - // functionality may be impaired. Customer may need to reissue a request - // or trigger a new update. - RUNNING_WITH_ERROR = 3; - - // The RECONCILING state indicates that some work is actively being done on - // the node pool, such as upgrading node software. Details can - // be found in the `statusMessage` field. - RECONCILING = 4; - - // The STOPPING state indicates the node pool is being deleted. - STOPPING = 5; - - // The ERROR state indicates the node pool may be unusable. Details - // can be found in the `statusMessage` field. - ERROR = 6; - } - - // The name of the node pool. - string name = 1; - - // The node configuration of the pool. - NodeConfig config = 2; - - // The initial node count for the pool. You must ensure that your - // Compute Engine [resource quota](https://cloud.google.com/compute/quotas) - // is sufficient for this number of instances. You must also have available - // firewall and routes quota. - int32 initial_node_count = 3; - - // The list of Google Compute Engine - // [zones](https://cloud.google.com/compute/docs/zones#available) in which the - // NodePool's nodes should be located. - // - // If this value is unspecified during node pool creation, the - // [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) - // value will be used, instead. - // - // Warning: changing node pool locations will result in nodes being added - // and/or removed. - repeated string locations = 13; - - // Networking configuration for this NodePool. If specified, it overrides the - // cluster-level defaults. - NodeNetworkConfig network_config = 14; - - // [Output only] Server-defined URL for the resource. - string self_link = 100; - - // The version of the Kubernetes of this node. - string version = 101; - - // [Output only] The resource URLs of the [managed instance - // groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) - // associated with this node pool. - repeated string instance_group_urls = 102; - - // [Output only] The status of the nodes in this pool instance. - Status status = 103; - - // [Output only] Deprecated. Use conditions instead. - // Additional information about the current status of this - // node pool instance, if available. - string status_message = 104 [deprecated = true]; - - // Autoscaler configuration for this NodePool. Autoscaler is enabled - // only if a valid configuration is present. - NodePoolAutoscaling autoscaling = 4; - - // NodeManagement configuration for this NodePool. - NodeManagement management = 5; - - // The constraint on the maximum number of pods that can be run - // simultaneously on a node in the node pool. - MaxPodsConstraint max_pods_constraint = 6; - - // Which conditions caused the current node pool state. - repeated StatusCondition conditions = 105; - - // [Output only] The pod CIDR block size per node in this node pool. - int32 pod_ipv4_cidr_size = 7; - - // Upgrade settings control disruption and speed of the upgrade. - UpgradeSettings upgrade_settings = 107; -} - -// NodeManagement defines the set of node management services turned on for the -// node pool. -message NodeManagement { - // A flag that specifies whether node auto-upgrade is enabled for the node - // pool. If enabled, node auto-upgrade helps keep the nodes in your node pool - // up to date with the latest release version of Kubernetes. - bool auto_upgrade = 1; - - // A flag that specifies whether the node auto-repair is enabled for the node - // pool. If enabled, the nodes in this node pool will be monitored and, if - // they fail health checks too many times, an automatic repair action will be - // triggered. - bool auto_repair = 2; - - // Specifies the Auto Upgrade knobs for the node pool. - AutoUpgradeOptions upgrade_options = 10; -} - -// AutoUpgradeOptions defines the set of options for the user to control how -// the Auto Upgrades will proceed. -message AutoUpgradeOptions { - // [Output only] This field is set when upgrades are about to commence - // with the approximate start time for the upgrades, in - // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. - string auto_upgrade_start_time = 1; - - // [Output only] This field is set when upgrades are about to commence - // with the description of the upgrade. - string description = 2; -} - -// MaintenancePolicy defines the maintenance policy to be used for the cluster. -message MaintenancePolicy { - // Specifies the maintenance window in which maintenance may be performed. - MaintenanceWindow window = 1; - - // A hash identifying the version of this policy, so that updates to fields of - // the policy won't accidentally undo intermediate changes (and so that users - // of the API unaware of some fields won't accidentally remove other fields). - // Make a `get()` request to the cluster to get the current - // resource version and include it with requests to set the policy. - string resource_version = 3; -} - -// MaintenanceWindow defines the maintenance window to be used for the cluster. -message MaintenanceWindow { - oneof policy { - // DailyMaintenanceWindow specifies a daily maintenance operation window. - DailyMaintenanceWindow daily_maintenance_window = 2; - - // RecurringWindow specifies some number of recurring time periods for - // maintenance to occur. The time windows may be overlapping. If no - // maintenance windows are set, maintenance can occur at any time. - RecurringTimeWindow recurring_window = 3; - } - - // Exceptions to maintenance window. Non-emergency maintenance should not - // occur in these windows. - map maintenance_exclusions = 4; -} - -// Represents an arbitrary window of time. -message TimeWindow { - oneof options { - // MaintenanceExclusionOptions provides maintenance exclusion related - // options. - MaintenanceExclusionOptions maintenance_exclusion_options = 3; - } - - // The time that the window first starts. - google.protobuf.Timestamp start_time = 1; - - // The time that the window ends. The end time should take place after the - // start time. - google.protobuf.Timestamp end_time = 2; -} - -// Represents the Maintenance exclusion option. -message MaintenanceExclusionOptions { - // Scope of exclusion. - enum Scope { - // NO_UPGRADES excludes all upgrades, including patch upgrades and minor - // upgrades across control planes and nodes. This is the default exclusion - // behavior. - NO_UPGRADES = 0; - - // NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only - // patches are allowed. - NO_MINOR_UPGRADES = 1; - - // NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster, - // and also exclude all node pool upgrades. Only control - // plane patches are allowed. - NO_MINOR_OR_NODE_UPGRADES = 2; - } - - // Scope specifies the upgrade scope which upgrades are blocked by the - // exclusion. - Scope scope = 1; -} - -// Represents an arbitrary window of time that recurs. -message RecurringTimeWindow { - // The window of the first recurrence. - TimeWindow window = 1; - - // An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how - // this window reccurs. They go on for the span of time between the start and - // end time. - // - // For example, to have something repeat every weekday, you'd use: - // `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` - // - // To repeat some window daily (equivalent to the DailyMaintenanceWindow): - // `FREQ=DAILY` - // - // For the first weekend of every month: - // `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` - // - // This specifies how frequently the window starts. Eg, if you wanted to have - // a 9-5 UTC-4 window every weekday, you'd use something like: - // ``` - // start time = 2019-01-01T09:00:00-0400 - // end time = 2019-01-01T17:00:00-0400 - // recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR - // ``` - // - // Windows can span multiple days. Eg, to make the window encompass every - // weekend from midnight Saturday till the last minute of Sunday UTC: - // ``` - // start time = 2019-01-05T00:00:00Z - // end time = 2019-01-07T23:59:00Z - // recurrence = FREQ=WEEKLY;BYDAY=SA - // ``` - // - // Note the start and end time's specific dates are largely arbitrary except - // to specify duration of the window and when it first starts. - // The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported. - string recurrence = 2; -} - -// Time window specified for daily maintenance operations. -message DailyMaintenanceWindow { - // Time within the maintenance window to start the maintenance operations. - // Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) - // format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. - string start_time = 2; - - // [Output only] Duration of the time window, automatically chosen to be - // smallest possible in the given scenario. - // Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) - // format "PTnHnMnS". - string duration = 3; -} - -// SetNodePoolManagementRequest sets the node management properties of a node -// pool. -message SetNodePoolManagementRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to update. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to update. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // Required. NodeManagement configuration for the node pool. - NodeManagement management = 5 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster, node pool id) of the node pool to set - // management properties. Specified in the format - // `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 7; -} - -// SetNodePoolSizeRequest sets the size of a node pool. -message SetNodePoolSizeRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to update. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to update. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // Required. The desired node count for the pool. - int32 node_count = 5 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster, node pool id) of the node pool to set - // size. - // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 7; -} - -// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed -// NodePool upgrade. This will be an no-op if the last upgrade successfully -// completed. -message RollbackNodePoolUpgradeRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to rollback. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Deprecated. The name of the node pool to rollback. - // This field has been deprecated and replaced by the name field. - string node_pool_id = 4 [deprecated = true]; - - // The name (project, location, cluster, node pool id) of the node poll to - // rollback upgrade. - // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. - string name = 6; -} - -// ListNodePoolsResponse is the result of ListNodePoolsRequest. -message ListNodePoolsResponse { - // A list of node pools for a cluster. - repeated NodePool node_pools = 1; -} - -// ClusterAutoscaling contains global, per-cluster information -// required by Cluster Autoscaler to automatically adjust -// the size of the cluster and create/delete -// node pools based on the current needs. -message ClusterAutoscaling { - // Defines possible options for autoscaling_profile field. - enum AutoscalingProfile { - // No change to autoscaling configuration. - PROFILE_UNSPECIFIED = 0; - - // Prioritize optimizing utilization of resources. - OPTIMIZE_UTILIZATION = 1; - - // Use default (balanced) autoscaling configuration. - BALANCED = 2; - } - - // Enables automatic node pool creation and deletion. - bool enable_node_autoprovisioning = 1; - - // Contains global constraints regarding minimum and maximum - // amount of resources in the cluster. - repeated ResourceLimit resource_limits = 2; - - // Defines autoscaling behaviour. - AutoscalingProfile autoscaling_profile = 3; - - // AutoprovisioningNodePoolDefaults contains defaults for a node pool - // created by NAP. - AutoprovisioningNodePoolDefaults autoprovisioning_node_pool_defaults = 4; - - // The list of Google Compute Engine - // [zones](https://cloud.google.com/compute/docs/zones#available) in which the - // NodePool's nodes can be created by NAP. - repeated string autoprovisioning_locations = 5; -} - -// AutoprovisioningNodePoolDefaults contains defaults for a node pool created -// by NAP. -message AutoprovisioningNodePoolDefaults { - // Scopes that are used by NAP when creating node pools. - repeated string oauth_scopes = 1; - - // The Google Cloud Platform Service Account to be used by the node VMs. - string service_account = 2; - - // Specifies the upgrade settings for NAP created node pools - NodePool.UpgradeSettings upgrade_settings = 3; - - // Specifies the node management options for NAP created node-pools. - NodeManagement management = 4; - - // Minimum CPU platform to be used for NAP created node pools. - // The instance may be scheduled on the specified or newer CPU platform. - // Applicable values are the friendly names of CPU platforms, such as - // minCpuPlatform: Intel Haswell or - // minCpuPlatform: Intel Sandy Bridge. For more - // information, read [how to specify min CPU - // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) - // To unset the min cpu platform field pass "automatic" - // as field value. - string min_cpu_platform = 5; - - // Size of the disk attached to each node, specified in GB. - // The smallest allowed disk size is 10GB. - // - // If unspecified, the default disk size is 100GB. - int32 disk_size_gb = 6; - - // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or - // 'pd-balanced') - // - // If unspecified, the default disk type is 'pd-standard' - string disk_type = 7; - - // Shielded Instance options. - ShieldedInstanceConfig shielded_instance_config = 8; - - // The Customer Managed Encryption Key used to encrypt the boot disk attached - // to each node in the node pool. This should be of the form - // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. - // For more information about protecting resources with Cloud KMS Keys please - // see: - // https://cloud.google.com/compute/docs/disks/customer-managed-encryption - string boot_disk_kms_key = 9; - - // The image type to use for NAP created node. - string image_type = 10; -} - -// Contains information about amount of some resource in the cluster. -// For memory, value should be in GB. -message ResourceLimit { - // Resource name "cpu", "memory" or gpu-specific string. - string resource_type = 1; - - // Minimum amount of the resource in the cluster. - int64 minimum = 2; - - // Maximum amount of the resource in the cluster. - int64 maximum = 3; -} - -// NodePoolAutoscaling contains information required by cluster autoscaler to -// adjust the size of the node pool to the current cluster usage. -message NodePoolAutoscaling { - // Is autoscaling enabled for this node pool. - bool enabled = 1; - - // Minimum number of nodes for one location in the NodePool. Must be >= 1 and - // <= max_node_count. - int32 min_node_count = 2; - - // Maximum number of nodes for one location in the NodePool. Must be >= - // min_node_count. There has to be enough quota to scale up the cluster. - int32 max_node_count = 3; - - // Can this node pool be deleted automatically. - bool autoprovisioned = 4; -} - -// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container -// Engine cluster, which will in turn set them for Google Compute Engine -// resources used by that cluster -message SetLabelsRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. The labels to set for that cluster. - map resource_labels = 4 [(google.api.field_behavior) = REQUIRED]; - - // Required. The fingerprint of the previous set of labels for this resource, - // used to detect conflicts. The fingerprint is initially generated by - // Kubernetes Engine and changes after every request to modify or update - // labels. You must always provide an up-to-date fingerprint hash when - // updating or changing labels. Make a `get()` request to the - // resource to get the latest fingerprint. - string label_fingerprint = 5 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster id) of the cluster to set labels. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 7; -} - -// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for -// a cluster. -message SetLegacyAbacRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster to update. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. Whether ABAC authorization will be enabled in the cluster. - bool enabled = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster id) of the cluster to set legacy abac. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; -} - -// StartIPRotationRequest creates a new IP for the cluster and then performs -// a node upgrade on each node pool to point to the new IP. -message StartIPRotationRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // The name (project, location, cluster id) of the cluster to start IP - // rotation. Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; - - // Whether to rotate credentials during IP rotation. - bool rotate_credentials = 7; -} - -// CompleteIPRotationRequest moves the cluster master back into single-IP mode. -message CompleteIPRotationRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // The name (project, location, cluster id) of the cluster to complete IP - // rotation. Specified in the format `projects/*/locations/*/clusters/*`. - string name = 7; -} - -// AcceleratorConfig represents a Hardware Accelerator request. -message AcceleratorConfig { - // The number of the accelerator cards exposed to an instance. - int64 accelerator_count = 1; - - // The accelerator type resource name. List of supported accelerators - // [here](https://cloud.google.com/compute/docs/gpus) - string accelerator_type = 2; - - // Size of partitions to create on the GPU. Valid values are described in the - // NVIDIA [mig user - // guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). - string gpu_partition_size = 3; -} - -// WorkloadMetadataConfig defines the metadata configuration to expose to -// workloads on the node pool. -message WorkloadMetadataConfig { - // Mode is the configuration for how to expose metadata to workloads running - // on the node. - enum Mode { - // Not set. - MODE_UNSPECIFIED = 0; - - // Expose all Compute Engine metadata to pods. - GCE_METADATA = 1; - - // Run the GKE Metadata Server on this node. The GKE Metadata Server exposes - // a metadata API to workloads that is compatible with the V1 Compute - // Metadata APIs exposed by the Compute Engine and App Engine Metadata - // Servers. This feature can only be enabled if Workload Identity is enabled - // at the cluster level. - GKE_METADATA = 2; - } - - // Mode is the configuration for how to expose metadata to workloads running - // on the node pool. - Mode mode = 2; -} - -// SetNetworkPolicyRequest enables/disables network policy for a cluster. -message SetNetworkPolicyRequest { - // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). - // This field has been deprecated and replaced by the name field. - string project_id = 1 [deprecated = true]; - - // 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. - string zone = 2 [deprecated = true]; - - // Deprecated. The name of the cluster. - // This field has been deprecated and replaced by the name field. - string cluster_id = 3 [deprecated = true]; - - // Required. Configuration options for the NetworkPolicy feature. - NetworkPolicy network_policy = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster id) of the cluster to set networking - // policy. Specified in the format `projects/*/locations/*/clusters/*`. - string name = 6; -} - -// SetMaintenancePolicyRequest sets the maintenance policy for a cluster. -message SetMaintenancePolicyRequest { - // Required. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The name of the Google Compute Engine - // [zone](https://cloud.google.com/compute/docs/zones#available) in which the - // cluster resides. - string zone = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The name of the cluster to update. - string cluster_id = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The maintenance policy to be set for the cluster. An empty field - // clears the existing maintenance policy. - MaintenancePolicy maintenance_policy = 4 [(google.api.field_behavior) = REQUIRED]; - - // The name (project, location, cluster id) of the cluster to set maintenance - // policy. - // Specified in the format `projects/*/locations/*/clusters/*`. - string name = 5; -} - -// StatusCondition describes why a cluster or a node pool has a certain status -// (e.g., ERROR or DEGRADED). -message StatusCondition { - // Code for each condition - enum Code { - // UNKNOWN indicates a generic condition. - UNKNOWN = 0; - - // GCE_STOCKOUT indicates that Google Compute Engine resources are - // temporarily unavailable. - GCE_STOCKOUT = 1; - - // GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot - // service account. - GKE_SERVICE_ACCOUNT_DELETED = 2; - - // Google Compute Engine quota was exceeded. - GCE_QUOTA_EXCEEDED = 3; - - // Cluster state was manually changed by an SRE due to a system logic error. - SET_BY_OPERATOR = 4; - - // Unable to perform an encrypt operation against the CloudKMS key used for - // etcd level encryption. - CLOUD_KMS_KEY_ERROR = 7; - - // Cluster CA is expiring soon. - CA_EXPIRING = 9; - } - - // Machine-friendly representation of the condition - // Deprecated. Use canonical_code instead. - Code code = 1 [deprecated = true]; - - // Human-friendly representation of the condition - string message = 2; - - // Canonical code of the condition. - google.rpc.Code canonical_code = 3; -} - -// NetworkConfig reports the relative names of network & subnetwork. -message NetworkConfig { - // Output only. The relative name of the Google Compute Engine - // [network][google.container.v1.NetworkConfig.network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) - // to which the cluster is connected. Example: - // projects/my-project/global/networks/my-network - string network = 1; - - // Output only. The relative name of the Google Compute Engine - // [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the - // cluster is connected. Example: - // projects/my-project/regions/us-central1/subnetworks/my-subnet - string subnetwork = 2; - - // Whether Intra-node visibility is enabled for this cluster. - // This makes same node pod to pod traffic visible for VPC network. - bool enable_intra_node_visibility = 5; - - // Whether the cluster disables default in-node sNAT rules. In-node sNAT rules - // will be disabled when default_snat_status is disabled. When disabled is set - // to false, default IP masquerade rules will be applied to the nodes to - // prevent sNAT on cluster internal traffic. - DefaultSnatStatus default_snat_status = 7; - - // Whether L4ILB Subsetting is enabled for this cluster. - bool enable_l4ilb_subsetting = 10; - - // The desired datapath provider for this cluster. By default, uses the - // IPTables-based kube-proxy implementation. - DatapathProvider datapath_provider = 11; - - // The desired state of IPv6 connectivity to Google Services. - // By default, no private IPv6 access to or from Google Services (all access - // will be via IPv4) - PrivateIPv6GoogleAccess private_ipv6_google_access = 12; - - // DNSConfig contains clusterDNS config for this cluster. - DNSConfig dns_config = 13; - - // ServiceExternalIPsConfig specifies if services with externalIPs field are - // blocked or not. - ServiceExternalIPsConfig service_external_ips_config = 15; -} - -// Config to block services with externalIPs field. -message ServiceExternalIPsConfig { - // Whether Services with ExternalIPs field are allowed or not. - bool enabled = 1; -} - -// GetOpenIDConfigRequest gets the OIDC discovery document for the -// cluster. See the OpenID Connect Discovery 1.0 specification for details. -message GetOpenIDConfigRequest { - // The cluster (project, location, cluster name) to get the discovery document - // for. Specified in the format `projects/*/locations/*/clusters/*`. - string parent = 1; -} - -// GetOpenIDConfigResponse is an OIDC discovery document for the cluster. -// See the OpenID Connect Discovery 1.0 specification for details. -message GetOpenIDConfigResponse { - // OIDC Issuer. - string issuer = 1; - - // JSON Web Key uri. - string jwks_uri = 2; - - // Supported response types. - repeated string response_types_supported = 3; - - // Supported subject types. - repeated string subject_types_supported = 4; - - // supported ID Token signing Algorithms. - repeated string id_token_signing_alg_values_supported = 5; - - // Supported claims. - repeated string claims_supported = 6; - - // Supported grant types. - repeated string grant_types = 7; -} - -// GetJSONWebKeysRequest gets the public component of the keys used by the -// cluster to sign token requests. This will be the jwks_uri for the discover -// document returned by getOpenIDConfig. See the OpenID Connect -// Discovery 1.0 specification for details. -message GetJSONWebKeysRequest { - // The cluster (project, location, cluster id) to get keys for. Specified in - // the format `projects/*/locations/*/clusters/*`. - string parent = 1; -} - -// Jwk is a JSON Web Key as specified in RFC 7517 -message Jwk { - // Key Type. - string kty = 1; - - // Algorithm. - string alg = 2; - - // Permitted uses for the public keys. - string use = 3; - - // Key ID. - string kid = 4; - - // Used for RSA keys. - string n = 5; - - // Used for RSA keys. - string e = 6; - - // Used for ECDSA keys. - string x = 7; - - // Used for ECDSA keys. - string y = 8; - - // Used for ECDSA keys. - string crv = 9; -} - -// GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517 -message GetJSONWebKeysResponse { - // The public component of the keys used by the cluster to sign token - // requests. - repeated Jwk keys = 1; -} - -// ReleaseChannel indicates which release channel a cluster is -// subscribed to. Release channels are arranged in order of risk. -// -// When a cluster is subscribed to a release channel, Google maintains -// both the master version and the node version. Node auto-upgrade -// defaults to true and cannot be disabled. -message ReleaseChannel { - // Possible values for 'channel'. - enum Channel { - // No channel specified. - UNSPECIFIED = 0; - - // RAPID channel is offered on an early access basis for customers who want - // to test new releases. - // - // WARNING: Versions available in the RAPID Channel may be subject to - // unresolved issues with no known workaround and are not subject to any - // SLAs. - RAPID = 1; - - // Clusters subscribed to REGULAR receive versions that are considered GA - // quality. REGULAR is intended for production users who want to take - // advantage of new features. - REGULAR = 2; - - // Clusters subscribed to STABLE receive versions that are known to be - // stable and reliable in production. - STABLE = 3; - } - - // channel specifies which release channel the cluster is subscribed to. - Channel channel = 1; -} - -// IntraNodeVisibilityConfig contains the desired config of the intra-node -// visibility on this cluster. -message IntraNodeVisibilityConfig { - // Enables intra node visibility for this cluster. - bool enabled = 1; -} - -// ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer -// subsetting on this cluster. -message ILBSubsettingConfig { - // Enables l4 ILB subsetting for this cluster. - bool enabled = 1; -} - -// DNSConfig contains the desired set of options for configuring clusterDNS. -message DNSConfig { - // Provider lists the various in-cluster DNS providers. - enum Provider { - // Default value - PROVIDER_UNSPECIFIED = 0; - - // Use GKE default DNS provider(kube-dns) for DNS resolution. - PLATFORM_DEFAULT = 1; - - // Use CloudDNS for DNS resolution. - CLOUD_DNS = 2; - } - - // DNSScope lists the various scopes of access to cluster DNS records. - enum DNSScope { - // Default value, will be inferred as cluster scope. - DNS_SCOPE_UNSPECIFIED = 0; - - // DNS records are accessible from within the VPC. - VPC_SCOPE = 2; - } - - // cluster_dns indicates which in-cluster DNS provider should be used. - Provider cluster_dns = 1; - - // cluster_dns_scope indicates the scope of access to cluster DNS records. - DNSScope cluster_dns_scope = 2; - - // cluster_dns_domain is the suffix used for all cluster service records. - string cluster_dns_domain = 3; -} - -// Constraints applied to pods. -message MaxPodsConstraint { - // Constraint enforced on the max num of pods per node. - int64 max_pods_per_node = 1; -} - -// Configuration for the use of Kubernetes Service Accounts in GCP IAM -// policies. -message WorkloadIdentityConfig { - // The workload pool to attach all Kubernetes service accounts to. - string workload_pool = 2; -} - -// Configuration for issuance of mTLS keys and certificates to Kubernetes pods. -message MeshCertificates { - // enable_certificates controls issuance of workload mTLS certificates. - // - // If set, the GKE Workload Identity Certificates controller and node agent - // will be deployed in the cluster, which can then be configured by creating a - // WorkloadCertificateConfig Custom Resource. - // - // Requires Workload Identity - // ([workload_pool][google.container.v1.WorkloadIdentityConfig.workload_pool] - // must be non-empty). - google.protobuf.BoolValue enable_certificates = 1; -} - -// Configuration of etcd encryption. -message DatabaseEncryption { - // State of etcd encryption. - enum State { - // Should never be set - UNKNOWN = 0; - - // Secrets in etcd are encrypted. - ENCRYPTED = 1; - - // Secrets in etcd are stored in plain text (at etcd level) - this is - // unrelated to Compute Engine level full disk encryption. - DECRYPTED = 2; - } - - // Denotes the state of etcd encryption. - State state = 2; - - // Name of CloudKMS key to use for the encryption of secrets in etcd. - // Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key - string key_name = 1; -} - -// ListUsableSubnetworksRequest requests the list of usable subnetworks -// available to a user for creating clusters. -message ListUsableSubnetworksRequest { - // The parent project where subnetworks are usable. - // Specified in the format `projects/*`. - string parent = 1; - - // Filtering currently only supports equality on the networkProjectId and must - // be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` - // is the project which owns the listed subnetworks. This defaults to the - // parent project ID. - string filter = 2; - - // The max number of results per page that should be returned. If the number - // of available results is larger than `page_size`, a `next_page_token` is - // returned which can be used to get the next page of results in subsequent - // requests. Acceptable values are 0 to 500, inclusive. (Default: 500) - int32 page_size = 3; - - // Specifies a page token to use. Set this to the nextPageToken returned by - // previous list requests to get the next page of results. - string page_token = 4; -} - -// ListUsableSubnetworksResponse is the response of -// ListUsableSubnetworksRequest. -message ListUsableSubnetworksResponse { - // A list of usable subnetworks in the specified network project. - repeated UsableSubnetwork subnetworks = 1; - - // This token allows you to get the next page of results for list requests. - // If the number of results is larger than `page_size`, use the - // `next_page_token` as a value for the query parameter `page_token` in the - // next request. The value will become empty when there are no more pages. - string next_page_token = 2; -} - -// Secondary IP range of a usable subnetwork. -message UsableSubnetworkSecondaryRange { - // Status shows the current usage of a secondary IP range. - enum Status { - // UNKNOWN is the zero value of the Status enum. It's not a valid status. - UNKNOWN = 0; - - // UNUSED denotes that this range is unclaimed by any cluster. - UNUSED = 1; - - // IN_USE_SERVICE denotes that this range is claimed by a cluster for - // services. It cannot be used for other clusters. - IN_USE_SERVICE = 2; - - // IN_USE_SHAREABLE_POD denotes this range was created by the network admin - // and is currently claimed by a cluster for pods. It can only be used by - // other clusters as a pod range. - IN_USE_SHAREABLE_POD = 3; - - // IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed - // for pods. It cannot be used for other clusters. - IN_USE_MANAGED_POD = 4; - } - - // The name associated with this subnetwork secondary range, used when adding - // an alias IP range to a VM instance. - string range_name = 1; - - // The range of IP addresses belonging to this subnetwork secondary range. - string ip_cidr_range = 2; - - // This field is to determine the status of the secondary range programmably. - Status status = 3; -} - -// UsableSubnetwork resource returns the subnetwork name, its associated network -// and the primary CIDR range. -message UsableSubnetwork { - // Subnetwork Name. - // Example: projects/my-project/regions/us-central1/subnetworks/my-subnet - string subnetwork = 1; - - // Network Name. - // Example: projects/my-project/global/networks/my-network - string network = 2; - - // The range of internal addresses that are owned by this subnetwork. - string ip_cidr_range = 3; - - // Secondary IP ranges. - repeated UsableSubnetworkSecondaryRange secondary_ip_ranges = 4; - - // A human readable status message representing the reasons for cases where - // the caller cannot use the secondary ranges under the subnet. For example if - // the secondary_ip_ranges is empty due to a permission issue, an insufficient - // permission message will be given by status_message. - string status_message = 5; -} - -// Configuration for exporting cluster resource usages. -message ResourceUsageExportConfig { - // Parameters for using BigQuery as the destination of resource usage export. - message BigQueryDestination { - // The ID of a BigQuery Dataset. - string dataset_id = 1; - } - - // Parameters for controlling consumption metering. - message ConsumptionMeteringConfig { - // Whether to enable consumption metering for this cluster. If enabled, a - // second BigQuery table will be created to hold resource consumption - // records. - bool enabled = 1; - } - - // Configuration to use BigQuery as usage export destination. - BigQueryDestination bigquery_destination = 1; - - // Whether to enable network egress metering for this cluster. If enabled, a - // daemonset will be created in the cluster to meter network egress traffic. - bool enable_network_egress_metering = 2; - - // Configuration to enable resource consumption metering. - ConsumptionMeteringConfig consumption_metering_config = 3; -} - -// VerticalPodAutoscaling contains global, per-cluster information -// required by Vertical Pod Autoscaler to automatically adjust -// the resources of pods controlled by it. -message VerticalPodAutoscaling { - // Enables vertical pod autoscaling. - bool enabled = 1; -} - -// DefaultSnatStatus contains the desired state of whether default sNAT should -// be disabled on the cluster. -message DefaultSnatStatus { - // Disables cluster default sNAT rules. - bool disabled = 1; -} - -// Configuration of Shielded Nodes feature. -message ShieldedNodes { - // Whether Shielded Nodes features are enabled on all nodes in this cluster. - bool enabled = 1; -} - -// Configuration of gVNIC feature. -message VirtualNIC { - // Whether gVNIC features are enabled in the node pool. - bool enabled = 1; -} - -// PrivateIPv6GoogleAccess controls whether and how the pods can communicate -// with Google Services through gRPC over IPv6. -enum PrivateIPv6GoogleAccess { - // Default value. Same as DISABLED - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0; - - // No private access to or from Google Services - PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1; - - // Enables private IPv6 access to Google Services from GKE - PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2; - - // Enables priate IPv6 access to and from Google Services - PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3; -} - -// The datapath provider selects the implementation of the Kubernetes networking -// model for service resolution and network policy enforcement. -enum DatapathProvider { - // Default value. - DATAPATH_PROVIDER_UNSPECIFIED = 0; - - // Use the IPTables implementation based on kube-proxy. - LEGACY_DATAPATH = 1; - - // Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE - // Dataplane V2 - // documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) - // for more. - ADVANCED_DATAPATH = 2; -} - -// NotificationConfig is the configuration of notifications. -message NotificationConfig { - // Types of notifications currently supported. Can be used to filter what - // notifications are sent. - enum EventType { - // Not set, will be ignored. - EVENT_TYPE_UNSPECIFIED = 0; - - // Corresponds with UpgradeAvailableEvent. - UPGRADE_AVAILABLE_EVENT = 1; - - // Corresponds with UpgradeEvent. - UPGRADE_EVENT = 2; - - // Corresponds with SecurityBulletinEvent. - SECURITY_BULLETIN_EVENT = 3; - } - - // Pub/Sub specific notification config. - message PubSub { - // Enable notifications for Pub/Sub. - bool enabled = 1; - - // The desired Pub/Sub topic to which notifications will be - // sent by GKE. Format is `projects/{project}/topics/{topic}`. - string topic = 2 [(google.api.resource_reference) = { - type: "pubsub.googleapis.com/Topic" - }]; - - // Allows filtering to one or more specific event types. If no filter is - // specified, or if a filter is specified with no event types, all event - // types will be sent - Filter filter = 3; - } - - // Allows filtering to one or more specific event types. If event types are - // present, those and only those event types will be transmitted to the - // cluster. Other types will be skipped. If no filter is specified, or no - // event types are present, all event types will be sent - message Filter { - // Event types to allowlist. - repeated EventType event_type = 1; - } - - // Notification config for Pub/Sub. - PubSub pubsub = 1; -} - -// ConfidentialNodes is configuration for the confidential nodes feature, which -// makes nodes run on confidential VMs. -message ConfidentialNodes { - // Whether Confidential Nodes feature is enabled for all nodes in this - // cluster. - bool enabled = 1; -} - -// UpgradeResourceType is the resource type that is upgrading. It is used -// in upgrade notifications. -enum UpgradeResourceType { - // Default value. This shouldn't be used. - UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0; - - // Master / control plane - MASTER = 1; - - // Node pool - NODE_POOL = 2; -} - -// UpgradeEvent is a notification sent to customers by the cluster server when -// a resource is upgrading. -message UpgradeEvent { - // The resource type that is upgrading. - UpgradeResourceType resource_type = 1; - - // The operation associated with this upgrade. - string operation = 2; - - // The time when the operation was started. - google.protobuf.Timestamp operation_start_time = 3; - - // The current version before the upgrade. - string current_version = 4; - - // The target version for the upgrade. - string target_version = 5; - - // Optional relative path to the resource. For example in node pool upgrades, - // the relative path of the node pool. - string resource = 6; -} - -// UpgradeAvailableEvent is a notification sent to customers when a new -// available version is released. -message UpgradeAvailableEvent { - // The release version available for upgrade. - string version = 1; - - // The resource type of the release version. - UpgradeResourceType resource_type = 2; - - // The release channel of the version. If empty, it means a non-channel - // release. - ReleaseChannel release_channel = 3; - - // Optional relative path to the resource. For example, the relative path of - // the node pool. - string resource = 4; -} - -// SecurityBulletinEvent is a notification sent to customers when a security -// bulletin has been posted that they are vulnerable to. -message SecurityBulletinEvent { - // The resource type (node/control plane) that has the vulnerability. Multiple - // notifications (1 notification per resource type) will be sent for a - // vulnerability that affects > 1 resource type. - string resource_type_affected = 1; - - // The ID of the bulletin corresponding to the vulnerability. - string bulletin_id = 2; - - // The CVEs associated with this bulletin. - repeated string cve_ids = 3; - - // The severity of this bulletin as it relates to GKE. - string severity = 4; - - // The URI link to the bulletin on the website for more information. - string bulletin_uri = 5; - - // A brief description of the bulletin. See the bulletin pointed to by the - // bulletin_uri field for an expanded description. - string brief_description = 6; - - // The GKE minor versions affected by this vulnerability. - repeated string affected_supported_minors = 7; - - // The GKE versions where this vulnerability is patched. - repeated string patched_versions = 8; - - // This represents a version selected from the patched_versions field that - // the cluster receiving this notification should most likely want to upgrade - // to based on its current version. Note that if this notification is being - // received by a given cluster, it means that this version is currently - // available as an upgrade target in that cluster's location. - string suggested_upgrade_target = 9; - - // If this field is specified, it means there are manual steps that the user - // must take to make their clusters safe. - bool manual_steps_required = 10; -} - -// Autopilot is the configuration for Autopilot settings on the cluster. -message Autopilot { - // Enable Autopilot - bool enabled = 1; -} - -// LoggingConfig is cluster logging configuration. -message LoggingConfig { - // Logging components configuration - LoggingComponentConfig component_config = 1; -} - -// LoggingComponentConfig is cluster logging component configuration. -message LoggingComponentConfig { - // GKE components exposing logs - enum Component { - // Default value. This shouldn't be used. - COMPONENT_UNSPECIFIED = 0; - - // system components - SYSTEM_COMPONENTS = 1; - - // workloads - WORKLOADS = 2; - } - - // Select components to collect logs. An empty set would disable all logging. - repeated Component enable_components = 1; -} - -// MonitoringConfig is cluster monitoring configuration. -message MonitoringConfig { - // Monitoring components configuration - MonitoringComponentConfig component_config = 1; -} - -// MonitoringComponentConfig is cluster monitoring component configuration. -message MonitoringComponentConfig { - // GKE components exposing metrics - enum Component { - // Default value. This shouldn't be used. - COMPONENT_UNSPECIFIED = 0; - - // system components - SYSTEM_COMPONENTS = 1; - } - - // Select components to collect metrics. An empty set would disable all - // monitoring. - repeated Component enable_components = 1; -} diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js deleted file mode 100644 index 90e79a4..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.cancel_operation.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_CancelOperation_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, operation id) of the operation to cancel. - * Specified in the format `projects/* /locations/* /operations/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callCancelOperation() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.cancelOperation(request); - console.log(response); - } - - callCancelOperation(); - // [END container_v1_generated_ClusterManager_CancelOperation_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js deleted file mode 100644 index d498d65..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.complete_i_p_rotation.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_CompleteIPRotation_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster id) of the cluster to complete IP - * rotation. Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callCompleteIPRotation() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.completeIPRotation(request); - console.log(response); - } - - callCompleteIPRotation(); - // [END container_v1_generated_ClusterManager_CompleteIPRotation_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js deleted file mode 100644 index 6033270..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_cluster.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(cluster) { - // [START container_v1_generated_ClusterManager_CreateCluster_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. A cluster - * resource (https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) - */ - // const cluster = {} - /** - * The parent (project and location) where the cluster will be created. - * Specified in the format `projects/* /locations/*`. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callCreateCluster() { - // Construct request - const request = { - cluster, - }; - - // Run request - const response = await containerClient.createCluster(request); - console.log(response); - } - - callCreateCluster(); - // [END container_v1_generated_ClusterManager_CreateCluster_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js deleted file mode 100644 index e514be6..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.create_node_pool.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(nodePool) { - // [START container_v1_generated_ClusterManager_CreateNodePool_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The node pool to create. - */ - // const nodePool = {} - /** - * The parent (project, location, cluster id) where the node pool will be - * created. Specified in the format - * `projects/* /locations/* /clusters/*`. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callCreateNodePool() { - // Construct request - const request = { - nodePool, - }; - - // Run request - const response = await containerClient.createNodePool(request); - console.log(response); - } - - callCreateNodePool(); - // [END container_v1_generated_ClusterManager_CreateNodePool_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js deleted file mode 100644 index 5c51486..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_cluster.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_DeleteCluster_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster) of the cluster to delete. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callDeleteCluster() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.deleteCluster(request); - console.log(response); - } - - callDeleteCluster(); - // [END container_v1_generated_ClusterManager_DeleteCluster_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js deleted file mode 100644 index f50509a..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.delete_node_pool.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_DeleteNodePool_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster, node pool id) of the node pool to - * delete. Specified in the format - * `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callDeleteNodePool() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.deleteNodePool(request); - console.log(response); - } - - callDeleteNodePool(); - // [END container_v1_generated_ClusterManager_DeleteNodePool_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js deleted file mode 100644 index b47a6f3..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_cluster.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_GetCluster_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster) of the cluster to retrieve. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callGetCluster() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.getCluster(request); - console.log(response); - } - - callGetCluster(); - // [END container_v1_generated_ClusterManager_GetCluster_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js deleted file mode 100644 index a1b3231..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_GetJSONWebKeys_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The cluster (project, location, cluster id) to get keys for. Specified in - * the format `projects/* /locations/* /clusters/*`. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callGetJSONWebKeys() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.getJSONWebKeys(request); - console.log(response); - } - - callGetJSONWebKeys(); - // [END container_v1_generated_ClusterManager_GetJSONWebKeys_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js deleted file mode 100644 index 4a88d3d..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_node_pool.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_GetNodePool_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster, node pool id) of the node pool to - * get. Specified in the format - * `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callGetNodePool() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.getNodePool(request); - console.log(response); - } - - callGetNodePool(); - // [END container_v1_generated_ClusterManager_GetNodePool_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js deleted file mode 100644 index dc9fe15..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_operation.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_GetOperation_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, operation id) of the operation to get. - * Specified in the format `projects/* /locations/* /operations/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callGetOperation() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.getOperation(request); - console.log(response); - } - - callGetOperation(); - // [END container_v1_generated_ClusterManager_GetOperation_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js deleted file mode 100644 index 61b4731..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.get_server_config.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_GetServerConfig_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project and location) of the server config to get, - * specified in the format `projects/* /locations/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callGetServerConfig() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.getServerConfig(request); - console.log(response); - } - - callGetServerConfig(); - // [END container_v1_generated_ClusterManager_GetServerConfig_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js deleted file mode 100644 index 5e41490..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_clusters.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_ListClusters_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The parent (project and location) where the clusters will be listed. - * Specified in the format `projects/* /locations/*`. - * Location "-" matches all zones and all regions. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callListClusters() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.listClusters(request); - console.log(response); - } - - callListClusters(); - // [END container_v1_generated_ClusterManager_ListClusters_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js deleted file mode 100644 index a4b768d..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_node_pools.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_ListNodePools_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The parent (project, location, cluster id) where the node pools will be - * listed. Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callListNodePools() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.listNodePools(request); - console.log(response); - } - - callListNodePools(); - // [END container_v1_generated_ClusterManager_ListNodePools_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js deleted file mode 100644 index 64552cf..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_operations.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_ListOperations_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The parent (project and location) where the operations will be listed. - * Specified in the format `projects/* /locations/*`. - * Location "-" matches all zones and all regions. - */ - // const parent = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callListOperations() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.listOperations(request); - console.log(response); - } - - callListOperations(); - // [END container_v1_generated_ClusterManager_ListOperations_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js deleted file mode 100644 index c5fc0bb..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.list_usable_subnetworks.js +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_ListUsableSubnetworks_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The parent project where subnetworks are usable. - * Specified in the format `projects/*`. - */ - // const parent = 'abc123' - /** - * Filtering currently only supports equality on the networkProjectId and must - * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` - * is the project which owns the listed subnetworks. This defaults to the - * parent project ID. - */ - // const filter = 'abc123' - /** - * The max number of results per page that should be returned. If the number - * of available results is larger than `page_size`, a `next_page_token` is - * returned which can be used to get the next page of results in subsequent - * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) - */ - // const pageSize = 1234 - /** - * Specifies a page token to use. Set this to the nextPageToken returned by - * previous list requests to get the next page of results. - */ - // const pageToken = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callListUsableSubnetworks() { - // Construct request - const request = { - }; - - // Run request - const iterable = await containerClient.listUsableSubnetworksAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListUsableSubnetworks(); - // [END container_v1_generated_ClusterManager_ListUsableSubnetworks_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js deleted file mode 100644 index 09cbd27..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster, node pool id) of the node poll to - * rollback upgrade. - * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callRollbackNodePoolUpgrade() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.rollbackNodePoolUpgrade(request); - console.log(response); - } - - callRollbackNodePoolUpgrade(); - // [END container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js deleted file mode 100644 index 267a0fa..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_addons_config.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(addonsConfig) { - // [START container_v1_generated_ClusterManager_SetAddonsConfig_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The desired configurations for the various addons available to run in the - * cluster. - */ - // const addonsConfig = {} - /** - * The name (project, location, cluster) of the cluster to set addons. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetAddonsConfig() { - // Construct request - const request = { - addonsConfig, - }; - - // Run request - const response = await containerClient.setAddonsConfig(request); - console.log(response); - } - - callSetAddonsConfig(); - // [END container_v1_generated_ClusterManager_SetAddonsConfig_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js deleted file mode 100644 index e8c6aa5..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_labels.js +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(resourceLabels, labelFingerprint) { - // [START container_v1_generated_ClusterManager_SetLabels_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The labels to set for that cluster. - */ - // const resourceLabels = 1234 - /** - * Required. The fingerprint of the previous set of labels for this resource, - * used to detect conflicts. The fingerprint is initially generated by - * Kubernetes Engine and changes after every request to modify or update - * labels. You must always provide an up-to-date fingerprint hash when - * updating or changing labels. Make a `get()` request to the - * resource to get the latest fingerprint. - */ - // const labelFingerprint = 'abc123' - /** - * The name (project, location, cluster id) of the cluster to set labels. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetLabels() { - // Construct request - const request = { - resourceLabels, - labelFingerprint, - }; - - // Run request - const response = await containerClient.setLabels(request); - console.log(response); - } - - callSetLabels(); - // [END container_v1_generated_ClusterManager_SetLabels_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js deleted file mode 100644 index 8b1740c..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_legacy_abac.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(enabled) { - // [START container_v1_generated_ClusterManager_SetLegacyAbac_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Whether ABAC authorization will be enabled in the cluster. - */ - // const enabled = true - /** - * The name (project, location, cluster id) of the cluster to set legacy abac. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetLegacyAbac() { - // Construct request - const request = { - enabled, - }; - - // Run request - const response = await containerClient.setLegacyAbac(request); - console.log(response); - } - - callSetLegacyAbac(); - // [END container_v1_generated_ClusterManager_SetLegacyAbac_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js deleted file mode 100644 index dbb19c4..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_locations.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(locations) { - // [START container_v1_generated_ClusterManager_SetLocations_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * 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. - */ - // const locations = 'abc123' - /** - * The name (project, location, cluster) of the cluster to set locations. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetLocations() { - // Construct request - const request = { - locations, - }; - - // Run request - const response = await containerClient.setLocations(request); - console.log(response); - } - - callSetLocations(); - // [END container_v1_generated_ClusterManager_SetLocations_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js deleted file mode 100644 index 788aeaa..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_logging_service.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(loggingService) { - // [START container_v1_generated_ClusterManager_SetLoggingService_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * 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. - */ - // const loggingService = 'abc123' - /** - * The name (project, location, cluster) of the cluster to set logging. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetLoggingService() { - // Construct request - const request = { - loggingService, - }; - - // Run request - const response = await containerClient.setLoggingService(request); - console.log(response); - } - - callSetLoggingService(); - // [END container_v1_generated_ClusterManager_SetLoggingService_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js deleted file mode 100644 index 17fa0b9..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_maintenance_policy.js +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(projectId, zone, clusterId, maintenancePolicy) { - // [START container_v1_generated_ClusterManager_SetMaintenancePolicy_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The Google Developers Console project ID or project - * number (https://support.google.com/cloud/answer/6158840). - */ - // const projectId = 'abc123' - /** - * Required. The name of the Google Compute Engine - * zone (https://cloud.google.com/compute/docs/zones#available) in which the - * cluster resides. - */ - // const zone = 'abc123' - /** - * Required. The name of the cluster to update. - */ - // const clusterId = 'abc123' - /** - * Required. The maintenance policy to be set for the cluster. An empty field - * clears the existing maintenance policy. - */ - // const maintenancePolicy = {} - /** - * The name (project, location, cluster id) of the cluster to set maintenance - * policy. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetMaintenancePolicy() { - // Construct request - const request = { - projectId, - zone, - clusterId, - maintenancePolicy, - }; - - // Run request - const response = await containerClient.setMaintenancePolicy(request); - console.log(response); - } - - callSetMaintenancePolicy(); - // [END container_v1_generated_ClusterManager_SetMaintenancePolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js deleted file mode 100644 index eaa4cb4..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_master_auth.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(action, update) { - // [START container_v1_generated_ClusterManager_SetMasterAuth_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The exact form of action to be taken on the master auth. - */ - // const action = {} - /** - * Required. A description of the update. - */ - // const update = {} - /** - * The name (project, location, cluster) of the cluster to set auth. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetMasterAuth() { - // Construct request - const request = { - action, - update, - }; - - // Run request - const response = await containerClient.setMasterAuth(request); - console.log(response); - } - - callSetMasterAuth(); - // [END container_v1_generated_ClusterManager_SetMasterAuth_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js deleted file mode 100644 index 3c390c8..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_monitoring_service.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(monitoringService) { - // [START container_v1_generated_ClusterManager_SetMonitoringService_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * 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. - */ - // const monitoringService = 'abc123' - /** - * The name (project, location, cluster) of the cluster to set monitoring. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetMonitoringService() { - // Construct request - const request = { - monitoringService, - }; - - // Run request - const response = await containerClient.setMonitoringService(request); - console.log(response); - } - - callSetMonitoringService(); - // [END container_v1_generated_ClusterManager_SetMonitoringService_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js deleted file mode 100644 index 978506b..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_network_policy.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(networkPolicy) { - // [START container_v1_generated_ClusterManager_SetNetworkPolicy_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Configuration options for the NetworkPolicy feature. - */ - // const networkPolicy = {} - /** - * The name (project, location, cluster id) of the cluster to set networking - * policy. Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetNetworkPolicy() { - // Construct request - const request = { - networkPolicy, - }; - - // Run request - const response = await containerClient.setNetworkPolicy(request); - console.log(response); - } - - callSetNetworkPolicy(); - // [END container_v1_generated_ClusterManager_SetNetworkPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js deleted file mode 100644 index 4dfb03f..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(autoscaling) { - // [START container_v1_generated_ClusterManager_SetNodePoolAutoscaling_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Autoscaling configuration for the node pool. - */ - // const autoscaling = {} - /** - * The name (project, location, cluster, node pool) of the node pool to set - * autoscaler settings. Specified in the format - * `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetNodePoolAutoscaling() { - // Construct request - const request = { - autoscaling, - }; - - // Run request - const response = await containerClient.setNodePoolAutoscaling(request); - console.log(response); - } - - callSetNodePoolAutoscaling(); - // [END container_v1_generated_ClusterManager_SetNodePoolAutoscaling_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js deleted file mode 100644 index 0c4c835..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_management.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(management) { - // [START container_v1_generated_ClusterManager_SetNodePoolManagement_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. NodeManagement configuration for the node pool. - */ - // const management = {} - /** - * The name (project, location, cluster, node pool id) of the node pool to set - * management properties. Specified in the format - * `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetNodePoolManagement() { - // Construct request - const request = { - management, - }; - - // Run request - const response = await containerClient.setNodePoolManagement(request); - console.log(response); - } - - callSetNodePoolManagement(); - // [END container_v1_generated_ClusterManager_SetNodePoolManagement_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js deleted file mode 100644 index 8c00b40..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.set_node_pool_size.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(nodeCount) { - // [START container_v1_generated_ClusterManager_SetNodePoolSize_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The desired node count for the pool. - */ - // const nodeCount = 1234 - /** - * The name (project, location, cluster, node pool id) of the node pool to set - * size. - * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callSetNodePoolSize() { - // Construct request - const request = { - nodeCount, - }; - - // Run request - const response = await containerClient.setNodePoolSize(request); - console.log(response); - } - - callSetNodePoolSize(); - // [END container_v1_generated_ClusterManager_SetNodePoolSize_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js deleted file mode 100644 index e4b9493..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.start_i_p_rotation.js +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main() { - // [START container_v1_generated_ClusterManager_StartIPRotation_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * The name (project, location, cluster id) of the cluster to start IP - * rotation. Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - /** - * Whether to rotate credentials during IP rotation. - */ - // const rotateCredentials = true - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callStartIPRotation() { - // Construct request - const request = { - }; - - // Run request - const response = await containerClient.startIPRotation(request); - console.log(response); - } - - callStartIPRotation(); - // [END container_v1_generated_ClusterManager_StartIPRotation_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js deleted file mode 100644 index 77d44a4..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_cluster.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(update) { - // [START container_v1_generated_ClusterManager_UpdateCluster_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. A description of the update. - */ - // const update = {} - /** - * The name (project, location, cluster) of the cluster to update. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callUpdateCluster() { - // Construct request - const request = { - update, - }; - - // Run request - const response = await containerClient.updateCluster(request); - console.log(response); - } - - callUpdateCluster(); - // [END container_v1_generated_ClusterManager_UpdateCluster_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js deleted file mode 100644 index 2aa34bc..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_master.js +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(masterVersion) { - // [START container_v1_generated_ClusterManager_UpdateMaster_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * 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 - */ - // const masterVersion = 'abc123' - /** - * The name (project, location, cluster) of the cluster to update. - * Specified in the format `projects/* /locations/* /clusters/*`. - */ - // const name = 'abc123' - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callUpdateMaster() { - // Construct request - const request = { - masterVersion, - }; - - // Run request - const response = await containerClient.updateMaster(request); - console.log(response); - } - - callUpdateMaster(); - // [END container_v1_generated_ClusterManager_UpdateMaster_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js b/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js deleted file mode 100644 index b2707cd..0000000 --- a/owl-bot-staging/v1/samples/generated/v1/cluster_manager.update_node_pool.js +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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. - - -'use strict'; - -function main(nodeVersion, imageType) { - // [START container_v1_generated_ClusterManager_UpdateNodePool_async] - /** - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * 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 - */ - // const nodeVersion = 'abc123' - /** - * Required. The desired image type for the node pool. - */ - // const imageType = 'abc123' - /** - * The name (project, location, cluster, node pool) of the node pool to - * update. Specified in the format - * `projects/* /locations/* /clusters/* /nodePools/*`. - */ - // const name = 'abc123' - /** - * 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. - */ - // const locations = 'abc123' - /** - * The desired workload metadata config for the node pool. - */ - // const workloadMetadataConfig = {} - /** - * Upgrade settings control disruption and speed of the upgrade. - */ - // const upgradeSettings = {} - /** - * Parameters that can be configured on Linux nodes. - */ - // const linuxNodeConfig = {} - /** - * Node kubelet configs. - */ - // const kubeletConfig = {} - /** - * GCFS config. - */ - // const gcfsConfig = {} - /** - * Enable or disable gvnic on the node pool. - */ - // const gvnic = {} - - // Imports the Container library - const {ClusterManagerClient} = require('@google-cloud/container').v1; - - // Instantiates a client - const containerClient = new ClusterManagerClient(); - - async function callUpdateNodePool() { - // Construct request - const request = { - nodeVersion, - imageType, - }; - - // Run request - const response = await containerClient.updateNodePool(request); - console.log(response); - } - - callUpdateNodePool(); - // [END container_v1_generated_ClusterManager_UpdateNodePool_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/v1/src/index.ts b/owl-bot-staging/v1/src/index.ts deleted file mode 100644 index 0af37af..0000000 --- a/owl-bot-staging/v1/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1 from './v1'; -const ClusterManagerClient = v1.ClusterManagerClient; -type ClusterManagerClient = v1.ClusterManagerClient; -export {v1, ClusterManagerClient}; -export default {v1, ClusterManagerClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_client.ts b/owl-bot-staging/v1/src/v1/cluster_manager_client.ts deleted file mode 100644 index 17419ba..0000000 --- a/owl-bot-staging/v1/src/v1/cluster_manager_client.ts +++ /dev/null @@ -1,3295 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import * as gax from 'google-gax'; -import {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; - -import { Transform } from 'stream'; -import { RequestType } from 'google-gax/build/src/apitypes'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); -/** - * Client JSON configuration object, loaded from - * `src/v1/cluster_manager_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './cluster_manager_client_config.json'; - -const version = require('../../../package.json').version; - -/** - * Google Kubernetes Engine Cluster Manager v1 - * @class - * @memberof v1 - */ -export class ClusterManagerClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - 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/master/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://developers.google.com/identity/protocols/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 fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. - */ - constructor(opts?: ClientOptions) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof ClusterManagerClient; - const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = staticMembers.servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === staticMembers.servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else if (opts.fallback === 'rest' ) { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listUsableSubnetworks: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'subnetworks') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.container.v1.ClusterManager', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; - } - - /** - * 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() { - // If the client stub promise is already initialized, return immediately. - if (this.clusterManagerStub) { - return this.clusterManagerStub; - } - - // Put together the "service stub" for - // google.container.v1.ClusterManager. - this.clusterManagerStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.container.v1.ClusterManager') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.container.v1.ClusterManager, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const clusterManagerStubMethods = - ['listClusters', 'getCluster', 'createCluster', 'updateCluster', 'updateNodePool', 'setNodePoolAutoscaling', 'setLoggingService', 'setMonitoringService', 'setAddonsConfig', 'setLocations', 'updateMaster', 'setMasterAuth', 'deleteCluster', 'listOperations', 'getOperation', 'cancelOperation', 'getServerConfig', 'getJSONWebKeys', 'listNodePools', 'getNodePool', 'createNodePool', 'deleteNodePool', 'rollbackNodePoolUpgrade', 'setNodePoolManagement', 'setLabels', 'setLegacyAbac', 'startIPRotation', 'completeIPRotation', 'setNodePoolSize', 'setNetworkPolicy', 'setMaintenancePolicy', 'listUsableSubnetworks']; - for (const methodName of clusterManagerStubMethods) { - const callPromise = this.clusterManagerStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.clusterManagerStub; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - return 'container.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - return 'container.googleapis.com'; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [ListClustersResponse]{@link google.container.v1.ListClustersResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.list_clusters.js - * 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; - listClusters( - request?: protos.google.container.v1.IListClustersRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IListClustersResponse, - protos.google.container.v1.IListClustersRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IListClustersResponse, - protos.google.container.v1.IListClustersRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IListClustersResponse, - protos.google.container.v1.IListClustersRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.listClusters(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Cluster]{@link google.container.v1.Cluster}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.get_cluster.js - * 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; - getCluster( - request?: protos.google.container.v1.IGetClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.ICluster, - protos.google.container.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.ICluster, - protos.google.container.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.ICluster, - protos.google.container.v1.IGetClusterRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.getCluster(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.create_cluster.js - * 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; - createCluster( - request?: protos.google.container.v1.ICreateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateClusterRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.createCluster(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.update_cluster.js - * 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; - updateCluster( - request?: protos.google.container.v1.IUpdateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateClusterRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.updateCluster(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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. - * @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.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.GcfsConfig} request.gcfsConfig - * GCFS config. - * @param {google.container.v1.VirtualNIC} request.gvnic - * Enable or disable gvnic on the node pool. - * @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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.update_node_pool.js - * 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; - updateNodePool( - request?: protos.google.container.v1.IUpdateNodePoolRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateNodePoolRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateNodePoolRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateNodePoolRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.updateNodePool(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_node_pool_autoscaling.js - * 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; - setNodePoolAutoscaling( - request?: protos.google.container.v1.ISetNodePoolAutoscalingRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolAutoscalingRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolAutoscalingRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolAutoscalingRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setNodePoolAutoscaling(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_logging_service.js - * 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; - setLoggingService( - request?: protos.google.container.v1.ISetLoggingServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLoggingServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLoggingServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLoggingServiceRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setLoggingService(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_monitoring_service.js - * 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; - setMonitoringService( - request?: protos.google.container.v1.ISetMonitoringServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMonitoringServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMonitoringServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMonitoringServiceRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setMonitoringService(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_addons_config.js - * 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; - setAddonsConfig( - request?: protos.google.container.v1.ISetAddonsConfigRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetAddonsConfigRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetAddonsConfigRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetAddonsConfigRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setAddonsConfig(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_locations.js - * 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; - setLocations( - request?: protos.google.container.v1.ISetLocationsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLocationsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLocationsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLocationsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - this.warn('DEP$ClusterManager-$SetLocations','SetLocations is deprecated and may be removed in a future version.', 'DeprecationWarning'); - return this.innerApiCalls.setLocations(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.update_master.js - * 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; - updateMaster( - request?: protos.google.container.v1.IUpdateMasterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateMasterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateMasterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IUpdateMasterRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.updateMaster(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_master_auth.js - * 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; - setMasterAuth( - request?: protos.google.container.v1.ISetMasterAuthRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMasterAuthRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMasterAuthRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMasterAuthRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setMasterAuth(request, options, callback); - } -/** - * 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://support.google.com/cloud/answer/6158840). - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.delete_cluster.js - * 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; - deleteCluster( - request?: protos.google.container.v1.IDeleteClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteClusterRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.deleteCluster(request, options, callback); - } -/** - * Lists all operations in a project in a specific 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://support.google.com/cloud/answer/6158840). - * 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) to return - * operations for, 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 operations 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 [ListOperationsResponse]{@link google.container.v1.ListOperationsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.list_operations.js - * region_tag:container_v1_generated_ClusterManager_ListOperations_async - */ - listOperations( - request?: protos.google.container.v1.IListOperationsRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|undefined, {}|undefined - ]>; - listOperations( - request: protos.google.container.v1.IListOperationsRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|null|undefined, - {}|null|undefined>): void; - listOperations( - request: protos.google.container.v1.IListOperationsRequest, - callback: Callback< - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|null|undefined, - {}|null|undefined>): void; - listOperations( - request?: protos.google.container.v1.IListOperationsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IListOperationsResponse, - protos.google.container.v1.IListOperationsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.listOperations(request, options, callback); - } -/** - * Gets the specified operation. - * - * @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://support.google.com/cloud/answer/6158840). - * 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.operationId - * Deprecated. The server-assigned `name` of the operation. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, operation id) of the operation to get. - * Specified in the format `projects/* /locations/* /operations/*`. - * @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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.get_operation.js - * region_tag:container_v1_generated_ClusterManager_GetOperation_async - */ - getOperation( - request?: protos.google.container.v1.IGetOperationRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|undefined, {}|undefined - ]>; - getOperation( - request: protos.google.container.v1.IGetOperationRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|null|undefined, - {}|null|undefined>): void; - getOperation( - request: protos.google.container.v1.IGetOperationRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|null|undefined, - {}|null|undefined>): void; - getOperation( - request?: protos.google.container.v1.IGetOperationRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IGetOperationRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.getOperation(request, options, callback); - } -/** - * Cancels the specified operation. - * - * @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://support.google.com/cloud/answer/6158840). - * 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 - * operation resides. This field has been deprecated and replaced by the name - * field. - * @param {string} request.operationId - * Deprecated. The server-assigned `name` of the operation. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, operation id) of the operation to cancel. - * Specified in the format `projects/* /locations/* /operations/*`. - * @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 [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.cancel_operation.js - * region_tag:container_v1_generated_ClusterManager_CancelOperation_async - */ - cancelOperation( - request?: protos.google.container.v1.ICancelOperationRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|undefined, {}|undefined - ]>; - cancelOperation( - request: protos.google.container.v1.ICancelOperationRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|null|undefined, - {}|null|undefined>): void; - cancelOperation( - request: protos.google.container.v1.ICancelOperationRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|null|undefined, - {}|null|undefined>): void; - cancelOperation( - request?: protos.google.container.v1.ICancelOperationRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.container.v1.ICancelOperationRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.cancelOperation(request, options, callback); - } -/** - * Returns configuration info about the Google Kubernetes Engine service. - * - * @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://support.google.com/cloud/answer/6158840). - * 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) to return - * operations for. This field has been deprecated and replaced by the name - * field. - * @param {string} request.name - * The name (project and location) of the server config to get, - * 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 [ServerConfig]{@link google.container.v1.ServerConfig}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.get_server_config.js - * region_tag:container_v1_generated_ClusterManager_GetServerConfig_async - */ - getServerConfig( - request?: protos.google.container.v1.IGetServerConfigRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|undefined, {}|undefined - ]>; - getServerConfig( - request: protos.google.container.v1.IGetServerConfigRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|null|undefined, - {}|null|undefined>): void; - getServerConfig( - request: protos.google.container.v1.IGetServerConfigRequest, - callback: Callback< - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|null|undefined, - {}|null|undefined>): void; - getServerConfig( - request?: protos.google.container.v1.IGetServerConfigRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IServerConfig, - protos.google.container.v1.IGetServerConfigRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.getServerConfig(request, options, callback); - } -/** - * Gets the public component of the cluster signing keys in - * JSON Web Key format. - * This API is not yet intended for general use, and is not available for all - * clusters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * The cluster (project, location, cluster id) to get keys for. 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 [GetJSONWebKeysResponse]{@link google.container.v1.GetJSONWebKeysResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js - * region_tag:container_v1_generated_ClusterManager_GetJSONWebKeys_async - */ - getJSONWebKeys( - request?: protos.google.container.v1.IGetJSONWebKeysRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|undefined, {}|undefined - ]>; - getJSONWebKeys( - request: protos.google.container.v1.IGetJSONWebKeysRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, - {}|null|undefined>): void; - getJSONWebKeys( - request: protos.google.container.v1.IGetJSONWebKeysRequest, - callback: Callback< - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, - {}|null|undefined>): void; - getJSONWebKeys( - request?: protos.google.container.v1.IGetJSONWebKeysRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IGetJSONWebKeysResponse, - protos.google.container.v1.IGetJSONWebKeysRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - }); - this.initialize(); - return this.innerApiCalls.getJSONWebKeys(request, options, callback); - } -/** - * Lists the node pools for a 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://developers.google.com/console/help/new/#projectnumber). - * 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 {string} request.clusterId - * Deprecated. The name of the cluster. - * This field has been deprecated and replaced by the parent field. - * @param {string} request.parent - * The parent (project, location, cluster id) where the node pools will be - * listed. 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 [ListNodePoolsResponse]{@link google.container.v1.ListNodePoolsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.list_node_pools.js - * region_tag:container_v1_generated_ClusterManager_ListNodePools_async - */ - listNodePools( - request?: protos.google.container.v1.IListNodePoolsRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|undefined, {}|undefined - ]>; - listNodePools( - request: protos.google.container.v1.IListNodePoolsRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|null|undefined, - {}|null|undefined>): void; - listNodePools( - request: protos.google.container.v1.IListNodePoolsRequest, - callback: Callback< - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|null|undefined, - {}|null|undefined>): void; - listNodePools( - request?: protos.google.container.v1.IListNodePoolsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IListNodePoolsResponse, - protos.google.container.v1.IListNodePoolsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.listNodePools(request, options, callback); - } -/** - * Retrieves the requested 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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {string} request.nodePoolId - * Deprecated. The name of the node pool. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, cluster, node pool id) of the node pool to - * get. 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 [NodePool]{@link google.container.v1.NodePool}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.get_node_pool.js - * region_tag:container_v1_generated_ClusterManager_GetNodePool_async - */ - getNodePool( - request?: protos.google.container.v1.IGetNodePoolRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|undefined, {}|undefined - ]>; - getNodePool( - request: protos.google.container.v1.IGetNodePoolRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|null|undefined, - {}|null|undefined>): void; - getNodePool( - request: protos.google.container.v1.IGetNodePoolRequest, - callback: Callback< - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|null|undefined, - {}|null|undefined>): void; - getNodePool( - request?: protos.google.container.v1.IGetNodePoolRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.INodePool, - protos.google.container.v1.IGetNodePoolRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.getNodePool(request, options, callback); - } -/** - * Creates a node pool for a 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://developers.google.com/console/help/new/#projectnumber). - * 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 {string} request.clusterId - * Deprecated. The name of the cluster. - * This field has been deprecated and replaced by the parent field. - * @param {google.container.v1.NodePool} request.nodePool - * Required. The node pool to create. - * @param {string} request.parent - * The parent (project, location, cluster id) where the node pool will be - * created. 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.create_node_pool.js - * region_tag:container_v1_generated_ClusterManager_CreateNodePool_async - */ - createNodePool( - request?: protos.google.container.v1.ICreateNodePoolRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|undefined, {}|undefined - ]>; - createNodePool( - request: protos.google.container.v1.ICreateNodePoolRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|null|undefined, - {}|null|undefined>): void; - createNodePool( - request: protos.google.container.v1.ICreateNodePoolRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|null|undefined, - {}|null|undefined>): void; - createNodePool( - request?: protos.google.container.v1.ICreateNodePoolRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ICreateNodePoolRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.createNodePool(request, options, callback); - } -/** - * Deletes a node pool from a 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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {string} request.nodePoolId - * Deprecated. The name of the node pool to delete. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, cluster, node pool id) of the node pool to - * delete. 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.delete_node_pool.js - * region_tag:container_v1_generated_ClusterManager_DeleteNodePool_async - */ - deleteNodePool( - request?: protos.google.container.v1.IDeleteNodePoolRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|undefined, {}|undefined - ]>; - deleteNodePool( - request: protos.google.container.v1.IDeleteNodePoolRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, - {}|null|undefined>): void; - deleteNodePool( - request: protos.google.container.v1.IDeleteNodePoolRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, - {}|null|undefined>): void; - deleteNodePool( - request?: protos.google.container.v1.IDeleteNodePoolRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IDeleteNodePoolRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.deleteNodePool(request, options, callback); - } -/** - * Rolls back a previously Aborted or Failed NodePool upgrade. - * This makes no changes if the last upgrade successfully completed. - * - * @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://support.google.com/cloud/answer/6158840). - * 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 rollback. - * This field has been deprecated and replaced by the name field. - * @param {string} request.nodePoolId - * Deprecated. The name of the node pool to rollback. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, cluster, node pool id) of the node poll to - * rollback upgrade. - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js - * region_tag:container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async - */ - rollbackNodePoolUpgrade( - request?: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|undefined, {}|undefined - ]>; - rollbackNodePoolUpgrade( - request: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, - {}|null|undefined>): void; - rollbackNodePoolUpgrade( - request: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, - {}|null|undefined>): void; - rollbackNodePoolUpgrade( - request?: protos.google.container.v1.IRollbackNodePoolUpgradeRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IRollbackNodePoolUpgradeRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.rollbackNodePoolUpgrade(request, options, callback); - } -/** - * Sets the NodeManagement options for a 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://support.google.com/cloud/answer/6158840). - * 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 update. - * This field has been deprecated and replaced by the name field. - * @param {string} request.nodePoolId - * Deprecated. The name of the node pool to update. - * This field has been deprecated and replaced by the name field. - * @param {google.container.v1.NodeManagement} request.management - * Required. NodeManagement configuration for the node pool. - * @param {string} request.name - * The name (project, location, cluster, node pool id) of the node pool to set - * management properties. 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_node_pool_management.js - * region_tag:container_v1_generated_ClusterManager_SetNodePoolManagement_async - */ - setNodePoolManagement( - request?: protos.google.container.v1.ISetNodePoolManagementRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|undefined, {}|undefined - ]>; - setNodePoolManagement( - request: protos.google.container.v1.ISetNodePoolManagementRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, - {}|null|undefined>): void; - setNodePoolManagement( - request: protos.google.container.v1.ISetNodePoolManagementRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, - {}|null|undefined>): void; - setNodePoolManagement( - request?: protos.google.container.v1.ISetNodePoolManagementRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolManagementRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setNodePoolManagement(request, options, callback); - } -/** - * Sets labels on a 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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {number[]} request.resourceLabels - * Required. The labels to set for that cluster. - * @param {string} request.labelFingerprint - * Required. The fingerprint of the previous set of labels for this resource, - * used to detect conflicts. The fingerprint is initially generated by - * Kubernetes Engine and changes after every request to modify or update - * labels. You must always provide an up-to-date fingerprint hash when - * updating or changing labels. Make a `get()` request to the - * resource to get the latest fingerprint. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set labels. - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_labels.js - * region_tag:container_v1_generated_ClusterManager_SetLabels_async - */ - setLabels( - request?: protos.google.container.v1.ISetLabelsRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|undefined, {}|undefined - ]>; - setLabels( - request: protos.google.container.v1.ISetLabelsRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|null|undefined, - {}|null|undefined>): void; - setLabels( - request: protos.google.container.v1.ISetLabelsRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|null|undefined, - {}|null|undefined>): void; - setLabels( - request?: protos.google.container.v1.ISetLabelsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLabelsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setLabels(request, options, callback); - } -/** - * Enables or disables the ABAC authorization mechanism on a 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://support.google.com/cloud/answer/6158840). - * 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 update. - * This field has been deprecated and replaced by the name field. - * @param {boolean} request.enabled - * Required. Whether ABAC authorization will be enabled in the cluster. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set legacy abac. - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_legacy_abac.js - * region_tag:container_v1_generated_ClusterManager_SetLegacyAbac_async - */ - setLegacyAbac( - request?: protos.google.container.v1.ISetLegacyAbacRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|undefined, {}|undefined - ]>; - setLegacyAbac( - request: protos.google.container.v1.ISetLegacyAbacRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, - {}|null|undefined>): void; - setLegacyAbac( - request: protos.google.container.v1.ISetLegacyAbacRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, - {}|null|undefined>): void; - setLegacyAbac( - request?: protos.google.container.v1.ISetLegacyAbacRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetLegacyAbacRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setLegacyAbac(request, options, callback); - } -/** - * Starts master IP rotation. - * - * @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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to start IP - * rotation. Specified in the format `projects/* /locations/* /clusters/*`. - * @param {boolean} request.rotateCredentials - * Whether to rotate credentials during IP rotation. - * @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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.start_i_p_rotation.js - * region_tag:container_v1_generated_ClusterManager_StartIPRotation_async - */ - startIPRotation( - request?: protos.google.container.v1.IStartIPRotationRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|undefined, {}|undefined - ]>; - startIPRotation( - request: protos.google.container.v1.IStartIPRotationRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|null|undefined, - {}|null|undefined>): void; - startIPRotation( - request: protos.google.container.v1.IStartIPRotationRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|null|undefined, - {}|null|undefined>): void; - startIPRotation( - request?: protos.google.container.v1.IStartIPRotationRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.IStartIPRotationRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.startIPRotation(request, options, callback); - } -/** - * Completes master IP rotation. - * - * @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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to complete IP - * rotation. 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.complete_i_p_rotation.js - * region_tag:container_v1_generated_ClusterManager_CompleteIPRotation_async - */ - completeIPRotation( - request?: protos.google.container.v1.ICompleteIPRotationRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|undefined, {}|undefined - ]>; - completeIPRotation( - request: protos.google.container.v1.ICompleteIPRotationRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, - {}|null|undefined>): void; - completeIPRotation( - request: protos.google.container.v1.ICompleteIPRotationRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, - {}|null|undefined>): void; - completeIPRotation( - request?: protos.google.container.v1.ICompleteIPRotationRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ICompleteIPRotationRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.completeIPRotation(request, options, callback); - } -/** - * Sets the size for a specific node pool. The new size will be used for all - * replicas, including future replicas created by modifying - * {@link google.container.v1.NodePool.locations|NodePool.locations}. - * - * @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://support.google.com/cloud/answer/6158840). - * 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 update. - * This field has been deprecated and replaced by the name field. - * @param {string} request.nodePoolId - * Deprecated. The name of the node pool to update. - * This field has been deprecated and replaced by the name field. - * @param {number} request.nodeCount - * Required. The desired node count for the pool. - * @param {string} request.name - * The name (project, location, cluster, node pool id) of the node pool to set - * size. - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_node_pool_size.js - * region_tag:container_v1_generated_ClusterManager_SetNodePoolSize_async - */ - setNodePoolSize( - request?: protos.google.container.v1.ISetNodePoolSizeRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|undefined, {}|undefined - ]>; - setNodePoolSize( - request: protos.google.container.v1.ISetNodePoolSizeRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, - {}|null|undefined>): void; - setNodePoolSize( - request: protos.google.container.v1.ISetNodePoolSizeRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, - {}|null|undefined>): void; - setNodePoolSize( - request?: protos.google.container.v1.ISetNodePoolSizeRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNodePoolSizeRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setNodePoolSize(request, options, callback); - } -/** - * Enables or disables Network Policy for a 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://developers.google.com/console/help/new/#projectnumber). - * 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. - * This field has been deprecated and replaced by the name field. - * @param {google.container.v1.NetworkPolicy} request.networkPolicy - * Required. Configuration options for the NetworkPolicy feature. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set networking - * policy. 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_network_policy.js - * region_tag:container_v1_generated_ClusterManager_SetNetworkPolicy_async - */ - setNetworkPolicy( - request?: protos.google.container.v1.ISetNetworkPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|undefined, {}|undefined - ]>; - setNetworkPolicy( - request: protos.google.container.v1.ISetNetworkPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, - {}|null|undefined>): void; - setNetworkPolicy( - request: protos.google.container.v1.ISetNetworkPolicyRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, - {}|null|undefined>): void; - setNetworkPolicy( - request?: protos.google.container.v1.ISetNetworkPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetNetworkPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setNetworkPolicy(request, options, callback); - } -/** - * Sets the maintenance policy for a cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.projectId - * Required. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). - * @param {string} request.zone - * Required. The name of the Google Compute Engine - * [zone](https://cloud.google.com/compute/docs/zones#available) in which the - * cluster resides. - * @param {string} request.clusterId - * Required. The name of the cluster to update. - * @param {google.container.v1.MaintenancePolicy} request.maintenancePolicy - * Required. The maintenance policy to be set for the cluster. An empty field - * clears the existing maintenance policy. - * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set maintenance - * policy. - * 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 [Operation]{@link google.container.v1.Operation}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.set_maintenance_policy.js - * region_tag:container_v1_generated_ClusterManager_SetMaintenancePolicy_async - */ - setMaintenancePolicy( - request?: protos.google.container.v1.ISetMaintenancePolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|undefined, {}|undefined - ]>; - setMaintenancePolicy( - request: protos.google.container.v1.ISetMaintenancePolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, - {}|null|undefined>): void; - setMaintenancePolicy( - request: protos.google.container.v1.ISetMaintenancePolicyRequest, - callback: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, - {}|null|undefined>): void; - setMaintenancePolicy( - request?: protos.google.container.v1.ISetMaintenancePolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.container.v1.IOperation, - protos.google.container.v1.ISetMaintenancePolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'name': request.name || '', - 'project_id': request.projectId || '', - }); - this.initialize(); - return this.innerApiCalls.setMaintenancePolicy(request, options, callback); - } - - /** - * Lists subnetworks that are usable for creating clusters in a project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * The parent project where subnetworks are usable. - * Specified in the format `projects/*`. - * @param {string} request.filter - * Filtering currently only supports equality on the networkProjectId and must - * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` - * is the project which owns the listed subnetworks. This defaults to the - * parent project ID. - * @param {number} request.pageSize - * The max number of results per page that should be returned. If the number - * of available results is larger than `page_size`, a `next_page_token` is - * returned which can be used to get the next page of results in subsequent - * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) - * @param {string} request.pageToken - * Specifies a page token to use. Set this to the nextPageToken returned by - * previous list requests to get the next page of results. - * @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 Array of [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listUsableSubnetworksAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listUsableSubnetworks( - request?: protos.google.container.v1.IListUsableSubnetworksRequest, - options?: CallOptions): - Promise<[ - protos.google.container.v1.IUsableSubnetwork[], - protos.google.container.v1.IListUsableSubnetworksRequest|null, - protos.google.container.v1.IListUsableSubnetworksResponse - ]>; - listUsableSubnetworks( - request: protos.google.container.v1.IListUsableSubnetworksRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.container.v1.IListUsableSubnetworksRequest, - protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, - protos.google.container.v1.IUsableSubnetwork>): void; - listUsableSubnetworks( - request: protos.google.container.v1.IListUsableSubnetworksRequest, - callback: PaginationCallback< - protos.google.container.v1.IListUsableSubnetworksRequest, - protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, - protos.google.container.v1.IUsableSubnetwork>): void; - listUsableSubnetworks( - request?: protos.google.container.v1.IListUsableSubnetworksRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.container.v1.IListUsableSubnetworksRequest, - protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, - protos.google.container.v1.IUsableSubnetwork>, - callback?: PaginationCallback< - protos.google.container.v1.IListUsableSubnetworksRequest, - protos.google.container.v1.IListUsableSubnetworksResponse|null|undefined, - protos.google.container.v1.IUsableSubnetwork>): - Promise<[ - protos.google.container.v1.IUsableSubnetwork[], - protos.google.container.v1.IListUsableSubnetworksRequest|null, - protos.google.container.v1.IListUsableSubnetworksResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - }); - this.initialize(); - return this.innerApiCalls.listUsableSubnetworks(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * The parent project where subnetworks are usable. - * Specified in the format `projects/*`. - * @param {string} request.filter - * Filtering currently only supports equality on the networkProjectId and must - * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` - * is the project which owns the listed subnetworks. This defaults to the - * parent project ID. - * @param {number} request.pageSize - * The max number of results per page that should be returned. If the number - * of available results is larger than `page_size`, a `next_page_token` is - * returned which can be used to get the next page of results in subsequent - * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) - * @param {string} request.pageToken - * Specifies a page token to use. Set this to the nextPageToken returned by - * previous list requests to get the next page of results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listUsableSubnetworksAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listUsableSubnetworksStream( - request?: protos.google.container.v1.IListUsableSubnetworksRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - }); - const defaultCallSettings = this._defaults['listUsableSubnetworks']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listUsableSubnetworks.createStream( - this.innerApiCalls.listUsableSubnetworks as gax.GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listUsableSubnetworks`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * The parent project where subnetworks are usable. - * Specified in the format `projects/*`. - * @param {string} request.filter - * Filtering currently only supports equality on the networkProjectId and must - * be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` - * is the project which owns the listed subnetworks. This defaults to the - * parent project ID. - * @param {number} request.pageSize - * The max number of results per page that should be returned. If the number - * of available results is larger than `page_size`, a `next_page_token` is - * returned which can be used to get the next page of results in subsequent - * requests. Acceptable values are 0 to 500, inclusive. (Default: 500) - * @param {string} request.pageToken - * Specifies a page token to use. Set this to the nextPageToken returned by - * previous list requests to get the next page of results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * When you iterate the returned iterable, each element will be an object representing - * [UsableSubnetwork]{@link google.container.v1.UsableSubnetwork}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - * @example include:samples/generated/v1/cluster_manager.list_usable_subnetworks.js - * region_tag:container_v1_generated_ClusterManager_ListUsableSubnetworks_async - */ - listUsableSubnetworksAsync( - request?: protos.google.container.v1.IListUsableSubnetworksRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'parent': request.parent || '', - }); - const defaultCallSettings = this._defaults['listUsableSubnetworks']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listUsableSubnetworks.asyncIterate( - this.innerApiCalls['listUsableSubnetworks'] as GaxCall, - request as unknown as RequestType, - callSettings - ) as AsyncIterable; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.clusterManagerStub!.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json b/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json deleted file mode 100644 index e21140e..0000000 --- a/owl-bot-staging/v1/src/v1/cluster_manager_client_config.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "interfaces": { - "google.container.v1.ClusterManager": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "ListClusters": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "GetCluster": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "CreateCluster": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "UpdateCluster": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "UpdateNodePool": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetNodePoolAutoscaling": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetLoggingService": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetMonitoringService": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetAddonsConfig": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetLocations": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "UpdateMaster": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetMasterAuth": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "DeleteCluster": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "ListOperations": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "GetOperation": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "CancelOperation": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "GetServerConfig": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "GetJSONWebKeys": { - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "ListNodePools": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "GetNodePool": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "CreateNodePool": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "DeleteNodePool": { - "timeout_millis": 20000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - }, - "RollbackNodePoolUpgrade": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetNodePoolManagement": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetLabels": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetLegacyAbac": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "StartIPRotation": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "CompleteIPRotation": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetNodePoolSize": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetNetworkPolicy": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "SetMaintenancePolicy": { - "timeout_millis": 45000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "ListUsableSubnetworks": { - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - } - } - } - } -} diff --git a/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json b/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json deleted file mode 100644 index aa69748..0000000 --- a/owl-bot-staging/v1/src/v1/cluster_manager_proto_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "../../protos/google/container/v1/cluster_service.proto" -] diff --git a/owl-bot-staging/v1/src/v1/gapic_metadata.json b/owl-bot-staging/v1/src/v1/gapic_metadata.json deleted file mode 100644 index 0c4b40f..0000000 --- a/owl-bot-staging/v1/src/v1/gapic_metadata.json +++ /dev/null @@ -1,347 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.container.v1", - "libraryPackage": "@google-cloud/container", - "services": { - "ClusterManager": { - "clients": { - "grpc": { - "libraryClient": "ClusterManagerClient", - "rpcs": { - "ListClusters": { - "methods": [ - "listClusters" - ] - }, - "GetCluster": { - "methods": [ - "getCluster" - ] - }, - "CreateCluster": { - "methods": [ - "createCluster" - ] - }, - "UpdateCluster": { - "methods": [ - "updateCluster" - ] - }, - "UpdateNodePool": { - "methods": [ - "updateNodePool" - ] - }, - "SetNodePoolAutoscaling": { - "methods": [ - "setNodePoolAutoscaling" - ] - }, - "SetLoggingService": { - "methods": [ - "setLoggingService" - ] - }, - "SetMonitoringService": { - "methods": [ - "setMonitoringService" - ] - }, - "SetAddonsConfig": { - "methods": [ - "setAddonsConfig" - ] - }, - "SetLocations": { - "methods": [ - "setLocations" - ] - }, - "UpdateMaster": { - "methods": [ - "updateMaster" - ] - }, - "SetMasterAuth": { - "methods": [ - "setMasterAuth" - ] - }, - "DeleteCluster": { - "methods": [ - "deleteCluster" - ] - }, - "ListOperations": { - "methods": [ - "listOperations" - ] - }, - "GetOperation": { - "methods": [ - "getOperation" - ] - }, - "CancelOperation": { - "methods": [ - "cancelOperation" - ] - }, - "GetServerConfig": { - "methods": [ - "getServerConfig" - ] - }, - "GetJSONWebKeys": { - "methods": [ - "getJSONWebKeys" - ] - }, - "ListNodePools": { - "methods": [ - "listNodePools" - ] - }, - "GetNodePool": { - "methods": [ - "getNodePool" - ] - }, - "CreateNodePool": { - "methods": [ - "createNodePool" - ] - }, - "DeleteNodePool": { - "methods": [ - "deleteNodePool" - ] - }, - "RollbackNodePoolUpgrade": { - "methods": [ - "rollbackNodePoolUpgrade" - ] - }, - "SetNodePoolManagement": { - "methods": [ - "setNodePoolManagement" - ] - }, - "SetLabels": { - "methods": [ - "setLabels" - ] - }, - "SetLegacyAbac": { - "methods": [ - "setLegacyAbac" - ] - }, - "StartIPRotation": { - "methods": [ - "startIPRotation" - ] - }, - "CompleteIPRotation": { - "methods": [ - "completeIPRotation" - ] - }, - "SetNodePoolSize": { - "methods": [ - "setNodePoolSize" - ] - }, - "SetNetworkPolicy": { - "methods": [ - "setNetworkPolicy" - ] - }, - "SetMaintenancePolicy": { - "methods": [ - "setMaintenancePolicy" - ] - }, - "ListUsableSubnetworks": { - "methods": [ - "listUsableSubnetworks", - "listUsableSubnetworksStream", - "listUsableSubnetworksAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "ClusterManagerClient", - "rpcs": { - "ListClusters": { - "methods": [ - "listClusters" - ] - }, - "GetCluster": { - "methods": [ - "getCluster" - ] - }, - "CreateCluster": { - "methods": [ - "createCluster" - ] - }, - "UpdateCluster": { - "methods": [ - "updateCluster" - ] - }, - "UpdateNodePool": { - "methods": [ - "updateNodePool" - ] - }, - "SetNodePoolAutoscaling": { - "methods": [ - "setNodePoolAutoscaling" - ] - }, - "SetLoggingService": { - "methods": [ - "setLoggingService" - ] - }, - "SetMonitoringService": { - "methods": [ - "setMonitoringService" - ] - }, - "SetAddonsConfig": { - "methods": [ - "setAddonsConfig" - ] - }, - "SetLocations": { - "methods": [ - "setLocations" - ] - }, - "UpdateMaster": { - "methods": [ - "updateMaster" - ] - }, - "SetMasterAuth": { - "methods": [ - "setMasterAuth" - ] - }, - "DeleteCluster": { - "methods": [ - "deleteCluster" - ] - }, - "ListOperations": { - "methods": [ - "listOperations" - ] - }, - "GetOperation": { - "methods": [ - "getOperation" - ] - }, - "CancelOperation": { - "methods": [ - "cancelOperation" - ] - }, - "GetServerConfig": { - "methods": [ - "getServerConfig" - ] - }, - "GetJSONWebKeys": { - "methods": [ - "getJSONWebKeys" - ] - }, - "ListNodePools": { - "methods": [ - "listNodePools" - ] - }, - "GetNodePool": { - "methods": [ - "getNodePool" - ] - }, - "CreateNodePool": { - "methods": [ - "createNodePool" - ] - }, - "DeleteNodePool": { - "methods": [ - "deleteNodePool" - ] - }, - "RollbackNodePoolUpgrade": { - "methods": [ - "rollbackNodePoolUpgrade" - ] - }, - "SetNodePoolManagement": { - "methods": [ - "setNodePoolManagement" - ] - }, - "SetLabels": { - "methods": [ - "setLabels" - ] - }, - "SetLegacyAbac": { - "methods": [ - "setLegacyAbac" - ] - }, - "StartIPRotation": { - "methods": [ - "startIPRotation" - ] - }, - "CompleteIPRotation": { - "methods": [ - "completeIPRotation" - ] - }, - "SetNodePoolSize": { - "methods": [ - "setNodePoolSize" - ] - }, - "SetNetworkPolicy": { - "methods": [ - "setNetworkPolicy" - ] - }, - "SetMaintenancePolicy": { - "methods": [ - "setMaintenancePolicy" - ] - }, - "ListUsableSubnetworks": { - "methods": [ - "listUsableSubnetworks", - "listUsableSubnetworksStream", - "listUsableSubnetworksAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/v1/src/v1/index.ts b/owl-bot-staging/v1/src/v1/index.ts deleted file mode 100644 index 7952088..0000000 --- a/owl-bot-staging/v1/src/v1/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -export {ClusterManagerClient} from './cluster_manager_client'; diff --git a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index 27b5fe9..0000000 --- a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const container = require('@google-cloud/container'); - -function main() { - const clusterManagerClient = new container.ClusterManagerClient(); -} - -main(); diff --git a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 374ca54..0000000 --- a/owl-bot-staging/v1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {ClusterManagerClient} from '@google-cloud/container'; - -// check that the client class type name can be used -function doStuffWithClusterManagerClient(client: ClusterManagerClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const clusterManagerClient = new ClusterManagerClient(); - doStuffWithClusterManagerClient(clusterManagerClient); -} - -main(); diff --git a/owl-bot-staging/v1/system-test/install.ts b/owl-bot-staging/v1/system-test/install.ts deleted file mode 100644 index 8ec4522..0000000 --- a/owl-bot-staging/v1/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import { packNTest } from 'pack-n-play'; -import { readFileSync } from 'fs'; -import { describe, it } from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts b/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts deleted file mode 100644 index 9caa23b..0000000 --- a/owl-bot-staging/v1/test/gapic_cluster_manager_v1.ts +++ /dev/null @@ -1,3090 +0,0 @@ -// Copyright 2022 Google LLC -// -// 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 -// -// https://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. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import { describe, it } from 'mocha'; -import * as clustermanagerModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1.ClusterManagerClient', () => { - it('has servicePath', () => { - const servicePath = clustermanagerModule.v1.ClusterManagerClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = clustermanagerModule.v1.ClusterManagerClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = clustermanagerModule.v1.ClusterManagerClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new clustermanagerModule.v1.ClusterManagerClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.clusterManagerStub, undefined); - await client.initialize(); - assert(client.clusterManagerStub); - }); - - it('has close method', () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - - describe('listClusters', () => { - it('invokes listClusters without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListClustersResponse()); - client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); - const [response] = await client.listClusters(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listClusters as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes listClusters without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListClustersResponse()); - client.innerApiCalls.listClusters = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listClusters( - request, - (err?: Error|null, result?: protos.google.container.v1.IListClustersResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listClusters as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes listClusters with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListClustersRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.listClusters = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listClusters(request), expectedError); - assert((client.innerApiCalls.listClusters as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('getCluster', () => { - it('invokes getCluster without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Cluster()); - client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); - const [response] = await client.getCluster(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes getCluster without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Cluster()); - client.innerApiCalls.getCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getCluster( - request, - (err?: Error|null, result?: protos.google.container.v1.ICluster|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes getCluster with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.getCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getCluster(request), expectedError); - assert((client.innerApiCalls.getCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('createCluster', () => { - it('invokes createCluster without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.createCluster = stubSimpleCall(expectedResponse); - const [response] = await client.createCluster(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.createCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes createCluster without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.createCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createCluster( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.createCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes createCluster with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateClusterRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createCluster(request), expectedError); - assert((client.innerApiCalls.createCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('updateCluster', () => { - it('invokes updateCluster without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateCluster = stubSimpleCall(expectedResponse); - const [response] = await client.updateCluster(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes updateCluster without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateCluster( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes updateCluster with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateCluster(request), expectedError); - assert((client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('updateNodePool', () => { - it('invokes updateNodePool without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateNodePool = stubSimpleCall(expectedResponse); - const [response] = await client.updateNodePool(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes updateNodePool without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateNodePool = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateNodePool( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes updateNodePool with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.updateNodePool = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateNodePool(request), expectedError); - assert((client.innerApiCalls.updateNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setNodePoolAutoscaling', () => { - it('invokes setNodePoolAutoscaling without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCall(expectedResponse); - const [response] = await client.setNodePoolAutoscaling(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setNodePoolAutoscaling without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setNodePoolAutoscaling( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setNodePoolAutoscaling with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolAutoscalingRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setNodePoolAutoscaling = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setNodePoolAutoscaling(request), expectedError); - assert((client.innerApiCalls.setNodePoolAutoscaling as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setLoggingService', () => { - it('invokes setLoggingService without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLoggingService = stubSimpleCall(expectedResponse); - const [response] = await client.setLoggingService(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLoggingService as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setLoggingService without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLoggingService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setLoggingService( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLoggingService as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setLoggingService with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLoggingServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setLoggingService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setLoggingService(request), expectedError); - assert((client.innerApiCalls.setLoggingService as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setMonitoringService', () => { - it('invokes setMonitoringService without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMonitoringService = stubSimpleCall(expectedResponse); - const [response] = await client.setMonitoringService(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMonitoringService as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setMonitoringService without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMonitoringService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setMonitoringService( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMonitoringService as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setMonitoringService with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMonitoringServiceRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setMonitoringService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setMonitoringService(request), expectedError); - assert((client.innerApiCalls.setMonitoringService as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setAddonsConfig', () => { - it('invokes setAddonsConfig without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setAddonsConfig = stubSimpleCall(expectedResponse); - const [response] = await client.setAddonsConfig(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setAddonsConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setAddonsConfig without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setAddonsConfig = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setAddonsConfig( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setAddonsConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setAddonsConfig with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetAddonsConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setAddonsConfig = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setAddonsConfig(request), expectedError); - assert((client.innerApiCalls.setAddonsConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setLocations', () => { - it('invokes setLocations without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLocations = stubSimpleCall(expectedResponse); - const [response] = await client.setLocations(request); - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLocations as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setLocations without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLocations = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setLocations( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLocations as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setLocations with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLocationsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setLocations = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setLocations(request), expectedError); - assert(stub.calledOnce); - assert((client.innerApiCalls.setLocations as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('updateMaster', () => { - it('invokes updateMaster without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateMaster = stubSimpleCall(expectedResponse); - const [response] = await client.updateMaster(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateMaster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes updateMaster without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.updateMaster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateMaster( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.updateMaster as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes updateMaster with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.UpdateMasterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.updateMaster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateMaster(request), expectedError); - assert((client.innerApiCalls.updateMaster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setMasterAuth', () => { - it('invokes setMasterAuth without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMasterAuth = stubSimpleCall(expectedResponse); - const [response] = await client.setMasterAuth(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMasterAuth as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setMasterAuth without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMasterAuth = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setMasterAuth( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMasterAuth as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setMasterAuth with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMasterAuthRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setMasterAuth = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setMasterAuth(request), expectedError); - assert((client.innerApiCalls.setMasterAuth as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('deleteCluster', () => { - it('invokes deleteCluster without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.deleteCluster = stubSimpleCall(expectedResponse); - const [response] = await client.deleteCluster(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes deleteCluster without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.deleteCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteCluster( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes deleteCluster with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteClusterRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteCluster(request), expectedError); - assert((client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('listOperations', () => { - it('invokes listOperations without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListOperationsResponse()); - client.innerApiCalls.listOperations = stubSimpleCall(expectedResponse); - const [response] = await client.listOperations(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listOperations as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes listOperations without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListOperationsResponse()); - client.innerApiCalls.listOperations = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listOperations( - request, - (err?: Error|null, result?: protos.google.container.v1.IListOperationsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listOperations as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes listOperations with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListOperationsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.listOperations = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listOperations(request), expectedError); - assert((client.innerApiCalls.listOperations as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.getOperation = stubSimpleCall(expectedResponse); - const [response] = await client.getOperation(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes getOperation without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.getOperation = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getOperation( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes getOperation with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getOperation(request), expectedError); - assert((client.innerApiCalls.getOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty()); - client.innerApiCalls.cancelOperation = stubSimpleCall(expectedResponse); - const [response] = await client.cancelOperation(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.cancelOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes cancelOperation without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty()); - client.innerApiCalls.cancelOperation = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.cancelOperation( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.cancelOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes cancelOperation with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CancelOperationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.cancelOperation(request), expectedError); - assert((client.innerApiCalls.cancelOperation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('getServerConfig', () => { - it('invokes getServerConfig without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ServerConfig()); - client.innerApiCalls.getServerConfig = stubSimpleCall(expectedResponse); - const [response] = await client.getServerConfig(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getServerConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes getServerConfig without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ServerConfig()); - client.innerApiCalls.getServerConfig = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getServerConfig( - request, - (err?: Error|null, result?: protos.google.container.v1.IServerConfig|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getServerConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes getServerConfig with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetServerConfigRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.getServerConfig = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getServerConfig(request), expectedError); - assert((client.innerApiCalls.getServerConfig as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('getJSONWebKeys', () => { - it('invokes getJSONWebKeys without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysResponse()); - client.innerApiCalls.getJSONWebKeys = stubSimpleCall(expectedResponse); - const [response] = await client.getJSONWebKeys(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getJSONWebKeys as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes getJSONWebKeys without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysResponse()); - client.innerApiCalls.getJSONWebKeys = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getJSONWebKeys( - request, - (err?: Error|null, result?: protos.google.container.v1.IGetJSONWebKeysResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getJSONWebKeys as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes getJSONWebKeys with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetJSONWebKeysRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.getJSONWebKeys = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getJSONWebKeys(request), expectedError); - assert((client.innerApiCalls.getJSONWebKeys as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('listNodePools', () => { - it('invokes listNodePools without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListNodePoolsResponse()); - client.innerApiCalls.listNodePools = stubSimpleCall(expectedResponse); - const [response] = await client.listNodePools(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listNodePools as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes listNodePools without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.ListNodePoolsResponse()); - client.innerApiCalls.listNodePools = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listNodePools( - request, - (err?: Error|null, result?: protos.google.container.v1.IListNodePoolsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listNodePools as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes listNodePools with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListNodePoolsRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.listNodePools = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listNodePools(request), expectedError); - assert((client.innerApiCalls.listNodePools as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('getNodePool', () => { - it('invokes getNodePool without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.NodePool()); - client.innerApiCalls.getNodePool = stubSimpleCall(expectedResponse); - const [response] = await client.getNodePool(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes getNodePool without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.NodePool()); - client.innerApiCalls.getNodePool = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getNodePool( - request, - (err?: Error|null, result?: protos.google.container.v1.INodePool|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.getNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes getNodePool with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.GetNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.getNodePool = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getNodePool(request), expectedError); - assert((client.innerApiCalls.getNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('createNodePool', () => { - it('invokes createNodePool without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.createNodePool = stubSimpleCall(expectedResponse); - const [response] = await client.createNodePool(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.createNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes createNodePool without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.createNodePool = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createNodePool( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.createNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes createNodePool with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CreateNodePoolRequest()); - request.parent = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "parent=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.createNodePool = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createNodePool(request), expectedError); - assert((client.innerApiCalls.createNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('deleteNodePool', () => { - it('invokes deleteNodePool without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.deleteNodePool = stubSimpleCall(expectedResponse); - const [response] = await client.deleteNodePool(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.deleteNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes deleteNodePool without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.deleteNodePool = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteNodePool( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.deleteNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes deleteNodePool with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.DeleteNodePoolRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteNodePool = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteNodePool(request), expectedError); - assert((client.innerApiCalls.deleteNodePool as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('rollbackNodePoolUpgrade', () => { - it('invokes rollbackNodePoolUpgrade without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCall(expectedResponse); - const [response] = await client.rollbackNodePoolUpgrade(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes rollbackNodePoolUpgrade without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.rollbackNodePoolUpgrade( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes rollbackNodePoolUpgrade with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.RollbackNodePoolUpgradeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.rollbackNodePoolUpgrade = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.rollbackNodePoolUpgrade(request), expectedError); - assert((client.innerApiCalls.rollbackNodePoolUpgrade as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setNodePoolManagement', () => { - it('invokes setNodePoolManagement without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolManagement = stubSimpleCall(expectedResponse); - const [response] = await client.setNodePoolManagement(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolManagement as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setNodePoolManagement without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolManagement = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setNodePoolManagement( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolManagement as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setNodePoolManagement with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolManagementRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setNodePoolManagement = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setNodePoolManagement(request), expectedError); - assert((client.innerApiCalls.setNodePoolManagement as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setLabels', () => { - it('invokes setLabels without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLabels = stubSimpleCall(expectedResponse); - const [response] = await client.setLabels(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLabels as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setLabels without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLabels = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setLabels( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLabels as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setLabels with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLabelsRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setLabels = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setLabels(request), expectedError); - assert((client.innerApiCalls.setLabels as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setLegacyAbac', () => { - it('invokes setLegacyAbac without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLegacyAbac = stubSimpleCall(expectedResponse); - const [response] = await client.setLegacyAbac(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLegacyAbac as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setLegacyAbac without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setLegacyAbac = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setLegacyAbac( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setLegacyAbac as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setLegacyAbac with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetLegacyAbacRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setLegacyAbac = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setLegacyAbac(request), expectedError); - assert((client.innerApiCalls.setLegacyAbac as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('startIPRotation', () => { - it('invokes startIPRotation without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.startIPRotation = stubSimpleCall(expectedResponse); - const [response] = await client.startIPRotation(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.startIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes startIPRotation without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.startIPRotation = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.startIPRotation( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.startIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes startIPRotation with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.StartIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.startIPRotation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.startIPRotation(request), expectedError); - assert((client.innerApiCalls.startIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('completeIPRotation', () => { - it('invokes completeIPRotation without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.completeIPRotation = stubSimpleCall(expectedResponse); - const [response] = await client.completeIPRotation(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.completeIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes completeIPRotation without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.completeIPRotation = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.completeIPRotation( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.completeIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes completeIPRotation with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.CompleteIPRotationRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.completeIPRotation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.completeIPRotation(request), expectedError); - assert((client.innerApiCalls.completeIPRotation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setNodePoolSize', () => { - it('invokes setNodePoolSize without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolSize = stubSimpleCall(expectedResponse); - const [response] = await client.setNodePoolSize(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolSize as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setNodePoolSize without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNodePoolSize = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setNodePoolSize( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNodePoolSize as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setNodePoolSize with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNodePoolSizeRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setNodePoolSize = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setNodePoolSize(request), expectedError); - assert((client.innerApiCalls.setNodePoolSize as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setNetworkPolicy', () => { - it('invokes setNetworkPolicy without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNetworkPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setNetworkPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNetworkPolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setNetworkPolicy without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setNetworkPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setNetworkPolicy( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setNetworkPolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setNetworkPolicy with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetNetworkPolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setNetworkPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setNetworkPolicy(request), expectedError); - assert((client.innerApiCalls.setNetworkPolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('setMaintenancePolicy', () => { - it('invokes setMaintenancePolicy without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMaintenancePolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setMaintenancePolicy(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes setMaintenancePolicy without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage(new protos.google.container.v1.Operation()); - client.innerApiCalls.setMaintenancePolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setMaintenancePolicy( - request, - (err?: Error|null, result?: protos.google.container.v1.IOperation|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes setMaintenancePolicy with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.SetMaintenancePolicyRequest()); - request.name = ''; - request.projectId = ''; - const expectedHeaderRequestParams = "name=&project_id="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.setMaintenancePolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setMaintenancePolicy(request), expectedError); - assert((client.innerApiCalls.setMaintenancePolicy as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - - describe('listUsableSubnetworks', () => { - it('invokes listUsableSubnetworks without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = [ - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - ]; - client.innerApiCalls.listUsableSubnetworks = stubSimpleCall(expectedResponse); - const [response] = await client.listUsableSubnetworks(request); - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes listUsableSubnetworks without error using callback', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = [ - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - ]; - client.innerApiCalls.listUsableSubnetworks = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listUsableSubnetworks( - request, - (err?: Error|null, result?: protos.google.container.v1.IUsableSubnetwork[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) - .getCall(0).calledWith(request, expectedOptions /*, callback defined above */)); - }); - - it('invokes listUsableSubnetworks with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.innerApiCalls.listUsableSubnetworks = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listUsableSubnetworks(request), expectedError); - assert((client.innerApiCalls.listUsableSubnetworks as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - - it('invokes listUsableSubnetworksStream without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedResponse = [ - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - ]; - client.descriptors.page.listUsableSubnetworks.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listUsableSubnetworksStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.container.v1.UsableSubnetwork[] = []; - stream.on('data', (response: protos.google.container.v1.UsableSubnetwork) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listUsableSubnetworks, request)); - assert.strictEqual( - (client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams - ); - }); - - it('invokes listUsableSubnetworksStream with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedError = new Error('expected'); - client.descriptors.page.listUsableSubnetworks.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listUsableSubnetworksStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.container.v1.UsableSubnetwork[] = []; - stream.on('data', (response: protos.google.container.v1.UsableSubnetwork) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listUsableSubnetworks, request)); - assert.strictEqual( - (client.descriptors.page.listUsableSubnetworks.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams - ); - }); - - it('uses async iteration with listUsableSubnetworks without error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent="; - const expectedResponse = [ - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - generateSampleMessage(new protos.google.container.v1.UsableSubnetwork()), - ]; - client.descriptors.page.listUsableSubnetworks.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.container.v1.IUsableSubnetwork[] = []; - const iterable = client.listUsableSubnetworksAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert.strictEqual( - (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams - ); - }); - - it('uses async iteration with listUsableSubnetworks with error', async () => { - const client = new clustermanagerModule.v1.ClusterManagerClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage(new protos.google.container.v1.ListUsableSubnetworksRequest()); - request.parent = ''; - const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected'); - client.descriptors.page.listUsableSubnetworks.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listUsableSubnetworksAsync(request); - await assert.rejects(async () => { - const responses: protos.google.container.v1.IUsableSubnetwork[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert.strictEqual( - (client.descriptors.page.listUsableSubnetworks.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams - ); - }); - }); -}); diff --git a/owl-bot-staging/v1/tsconfig.json b/owl-bot-staging/v1/tsconfig.json deleted file mode 100644 index c78f1c8..0000000 --- a/owl-bot-staging/v1/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/v1/webpack.config.js b/owl-bot-staging/v1/webpack.config.js deleted file mode 100644 index 9032271..0000000 --- a/owl-bot-staging/v1/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// 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 -// -// https://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. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'ClusterManager', - filename: './cluster-manager.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/protos/google/container/v1/cluster_service.proto b/protos/google/container/v1/cluster_service.proto index c48f0a8..6dc6eec 100644 --- a/protos/google/container/v1/cluster_service.proto +++ b/protos/google/container/v1/cluster_service.proto @@ -3384,6 +3384,39 @@ message ServiceExternalIPsConfig { bool enabled = 1; } +// GetOpenIDConfigRequest gets the OIDC discovery document for the +// cluster. See the OpenID Connect Discovery 1.0 specification for details. +message GetOpenIDConfigRequest { + // The cluster (project, location, cluster name) to get the discovery document + // for. Specified in the format `projects/*/locations/*/clusters/*`. + string parent = 1; +} + +// GetOpenIDConfigResponse is an OIDC discovery document for the cluster. +// See the OpenID Connect Discovery 1.0 specification for details. +message GetOpenIDConfigResponse { + // OIDC Issuer. + string issuer = 1; + + // JSON Web Key uri. + string jwks_uri = 2; + + // Supported response types. + repeated string response_types_supported = 3; + + // Supported subject types. + repeated string subject_types_supported = 4; + + // supported ID Token signing Algorithms. + repeated string id_token_signing_alg_values_supported = 5; + + // Supported claims. + repeated string claims_supported = 6; + + // Supported grant types. + repeated string grant_types = 7; +} + // GetJSONWebKeysRequest gets the public component of the keys used by the // cluster to sign token requests. This will be the jwks_uri for the discover // document returned by getOpenIDConfig. See the OpenID Connect diff --git a/protos/protos.d.ts b/protos/protos.d.ts index 55ff728..dea8887 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -11373,6 +11373,222 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a GetOpenIDConfigRequest. */ + interface IGetOpenIDConfigRequest { + + /** GetOpenIDConfigRequest parent */ + parent?: (string|null); + } + + /** Represents a GetOpenIDConfigRequest. */ + class GetOpenIDConfigRequest implements IGetOpenIDConfigRequest { + + /** + * Constructs a new GetOpenIDConfigRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IGetOpenIDConfigRequest); + + /** GetOpenIDConfigRequest parent. */ + public parent: string; + + /** + * Creates a new GetOpenIDConfigRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetOpenIDConfigRequest instance + */ + public static create(properties?: google.container.v1.IGetOpenIDConfigRequest): google.container.v1.GetOpenIDConfigRequest; + + /** + * Encodes the specified GetOpenIDConfigRequest message. Does not implicitly {@link google.container.v1.GetOpenIDConfigRequest.verify|verify} messages. + * @param message GetOpenIDConfigRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IGetOpenIDConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetOpenIDConfigRequest message, length delimited. Does not implicitly {@link google.container.v1.GetOpenIDConfigRequest.verify|verify} messages. + * @param message GetOpenIDConfigRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IGetOpenIDConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetOpenIDConfigRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetOpenIDConfigRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.GetOpenIDConfigRequest; + + /** + * Decodes a GetOpenIDConfigRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetOpenIDConfigRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.GetOpenIDConfigRequest; + + /** + * Verifies a GetOpenIDConfigRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetOpenIDConfigRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetOpenIDConfigRequest + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.GetOpenIDConfigRequest; + + /** + * Creates a plain object from a GetOpenIDConfigRequest message. Also converts values to other types if specified. + * @param message GetOpenIDConfigRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.GetOpenIDConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetOpenIDConfigRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetOpenIDConfigResponse. */ + interface IGetOpenIDConfigResponse { + + /** GetOpenIDConfigResponse issuer */ + issuer?: (string|null); + + /** GetOpenIDConfigResponse jwksUri */ + jwksUri?: (string|null); + + /** GetOpenIDConfigResponse responseTypesSupported */ + responseTypesSupported?: (string[]|null); + + /** GetOpenIDConfigResponse subjectTypesSupported */ + subjectTypesSupported?: (string[]|null); + + /** GetOpenIDConfigResponse idTokenSigningAlgValuesSupported */ + idTokenSigningAlgValuesSupported?: (string[]|null); + + /** GetOpenIDConfigResponse claimsSupported */ + claimsSupported?: (string[]|null); + + /** GetOpenIDConfigResponse grantTypes */ + grantTypes?: (string[]|null); + } + + /** Represents a GetOpenIDConfigResponse. */ + class GetOpenIDConfigResponse implements IGetOpenIDConfigResponse { + + /** + * Constructs a new GetOpenIDConfigResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IGetOpenIDConfigResponse); + + /** GetOpenIDConfigResponse issuer. */ + public issuer: string; + + /** GetOpenIDConfigResponse jwksUri. */ + public jwksUri: string; + + /** GetOpenIDConfigResponse responseTypesSupported. */ + public responseTypesSupported: string[]; + + /** GetOpenIDConfigResponse subjectTypesSupported. */ + public subjectTypesSupported: string[]; + + /** GetOpenIDConfigResponse idTokenSigningAlgValuesSupported. */ + public idTokenSigningAlgValuesSupported: string[]; + + /** GetOpenIDConfigResponse claimsSupported. */ + public claimsSupported: string[]; + + /** GetOpenIDConfigResponse grantTypes. */ + public grantTypes: string[]; + + /** + * Creates a new GetOpenIDConfigResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns GetOpenIDConfigResponse instance + */ + public static create(properties?: google.container.v1.IGetOpenIDConfigResponse): google.container.v1.GetOpenIDConfigResponse; + + /** + * Encodes the specified GetOpenIDConfigResponse message. Does not implicitly {@link google.container.v1.GetOpenIDConfigResponse.verify|verify} messages. + * @param message GetOpenIDConfigResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IGetOpenIDConfigResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetOpenIDConfigResponse message, length delimited. Does not implicitly {@link google.container.v1.GetOpenIDConfigResponse.verify|verify} messages. + * @param message GetOpenIDConfigResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IGetOpenIDConfigResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetOpenIDConfigResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetOpenIDConfigResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.GetOpenIDConfigResponse; + + /** + * Decodes a GetOpenIDConfigResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetOpenIDConfigResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.GetOpenIDConfigResponse; + + /** + * Verifies a GetOpenIDConfigResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetOpenIDConfigResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetOpenIDConfigResponse + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.GetOpenIDConfigResponse; + + /** + * Creates a plain object from a GetOpenIDConfigResponse message. Also converts values to other types if specified. + * @param message GetOpenIDConfigResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.GetOpenIDConfigResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetOpenIDConfigResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a GetJSONWebKeysRequest. */ interface IGetJSONWebKeysRequest { diff --git a/protos/protos.js b/protos/protos.js index a5a4fe6..fe7c472 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -28904,6 +28904,595 @@ return ServiceExternalIPsConfig; })(); + v1.GetOpenIDConfigRequest = (function() { + + /** + * Properties of a GetOpenIDConfigRequest. + * @memberof google.container.v1 + * @interface IGetOpenIDConfigRequest + * @property {string|null} [parent] GetOpenIDConfigRequest parent + */ + + /** + * Constructs a new GetOpenIDConfigRequest. + * @memberof google.container.v1 + * @classdesc Represents a GetOpenIDConfigRequest. + * @implements IGetOpenIDConfigRequest + * @constructor + * @param {google.container.v1.IGetOpenIDConfigRequest=} [properties] Properties to set + */ + function GetOpenIDConfigRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetOpenIDConfigRequest parent. + * @member {string} parent + * @memberof google.container.v1.GetOpenIDConfigRequest + * @instance + */ + GetOpenIDConfigRequest.prototype.parent = ""; + + /** + * Creates a new GetOpenIDConfigRequest instance using the specified properties. + * @function create + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {google.container.v1.IGetOpenIDConfigRequest=} [properties] Properties to set + * @returns {google.container.v1.GetOpenIDConfigRequest} GetOpenIDConfigRequest instance + */ + GetOpenIDConfigRequest.create = function create(properties) { + return new GetOpenIDConfigRequest(properties); + }; + + /** + * Encodes the specified GetOpenIDConfigRequest message. Does not implicitly {@link google.container.v1.GetOpenIDConfigRequest.verify|verify} messages. + * @function encode + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {google.container.v1.IGetOpenIDConfigRequest} message GetOpenIDConfigRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOpenIDConfigRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + return writer; + }; + + /** + * Encodes the specified GetOpenIDConfigRequest message, length delimited. Does not implicitly {@link google.container.v1.GetOpenIDConfigRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {google.container.v1.IGetOpenIDConfigRequest} message GetOpenIDConfigRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOpenIDConfigRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetOpenIDConfigRequest message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.GetOpenIDConfigRequest} GetOpenIDConfigRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOpenIDConfigRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.GetOpenIDConfigRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetOpenIDConfigRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.GetOpenIDConfigRequest} GetOpenIDConfigRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOpenIDConfigRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetOpenIDConfigRequest message. + * @function verify + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetOpenIDConfigRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates a GetOpenIDConfigRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.GetOpenIDConfigRequest} GetOpenIDConfigRequest + */ + GetOpenIDConfigRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.GetOpenIDConfigRequest) + return object; + var message = new $root.google.container.v1.GetOpenIDConfigRequest(); + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a GetOpenIDConfigRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.GetOpenIDConfigRequest + * @static + * @param {google.container.v1.GetOpenIDConfigRequest} message GetOpenIDConfigRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetOpenIDConfigRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this GetOpenIDConfigRequest to JSON. + * @function toJSON + * @memberof google.container.v1.GetOpenIDConfigRequest + * @instance + * @returns {Object.} JSON object + */ + GetOpenIDConfigRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetOpenIDConfigRequest; + })(); + + v1.GetOpenIDConfigResponse = (function() { + + /** + * Properties of a GetOpenIDConfigResponse. + * @memberof google.container.v1 + * @interface IGetOpenIDConfigResponse + * @property {string|null} [issuer] GetOpenIDConfigResponse issuer + * @property {string|null} [jwksUri] GetOpenIDConfigResponse jwksUri + * @property {Array.|null} [responseTypesSupported] GetOpenIDConfigResponse responseTypesSupported + * @property {Array.|null} [subjectTypesSupported] GetOpenIDConfigResponse subjectTypesSupported + * @property {Array.|null} [idTokenSigningAlgValuesSupported] GetOpenIDConfigResponse idTokenSigningAlgValuesSupported + * @property {Array.|null} [claimsSupported] GetOpenIDConfigResponse claimsSupported + * @property {Array.|null} [grantTypes] GetOpenIDConfigResponse grantTypes + */ + + /** + * Constructs a new GetOpenIDConfigResponse. + * @memberof google.container.v1 + * @classdesc Represents a GetOpenIDConfigResponse. + * @implements IGetOpenIDConfigResponse + * @constructor + * @param {google.container.v1.IGetOpenIDConfigResponse=} [properties] Properties to set + */ + function GetOpenIDConfigResponse(properties) { + this.responseTypesSupported = []; + this.subjectTypesSupported = []; + this.idTokenSigningAlgValuesSupported = []; + this.claimsSupported = []; + this.grantTypes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetOpenIDConfigResponse issuer. + * @member {string} issuer + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.issuer = ""; + + /** + * GetOpenIDConfigResponse jwksUri. + * @member {string} jwksUri + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.jwksUri = ""; + + /** + * GetOpenIDConfigResponse responseTypesSupported. + * @member {Array.} responseTypesSupported + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.responseTypesSupported = $util.emptyArray; + + /** + * GetOpenIDConfigResponse subjectTypesSupported. + * @member {Array.} subjectTypesSupported + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.subjectTypesSupported = $util.emptyArray; + + /** + * GetOpenIDConfigResponse idTokenSigningAlgValuesSupported. + * @member {Array.} idTokenSigningAlgValuesSupported + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.idTokenSigningAlgValuesSupported = $util.emptyArray; + + /** + * GetOpenIDConfigResponse claimsSupported. + * @member {Array.} claimsSupported + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.claimsSupported = $util.emptyArray; + + /** + * GetOpenIDConfigResponse grantTypes. + * @member {Array.} grantTypes + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + */ + GetOpenIDConfigResponse.prototype.grantTypes = $util.emptyArray; + + /** + * Creates a new GetOpenIDConfigResponse instance using the specified properties. + * @function create + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {google.container.v1.IGetOpenIDConfigResponse=} [properties] Properties to set + * @returns {google.container.v1.GetOpenIDConfigResponse} GetOpenIDConfigResponse instance + */ + GetOpenIDConfigResponse.create = function create(properties) { + return new GetOpenIDConfigResponse(properties); + }; + + /** + * Encodes the specified GetOpenIDConfigResponse message. Does not implicitly {@link google.container.v1.GetOpenIDConfigResponse.verify|verify} messages. + * @function encode + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {google.container.v1.IGetOpenIDConfigResponse} message GetOpenIDConfigResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOpenIDConfigResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.issuer != null && Object.hasOwnProperty.call(message, "issuer")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.issuer); + if (message.jwksUri != null && Object.hasOwnProperty.call(message, "jwksUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.jwksUri); + if (message.responseTypesSupported != null && message.responseTypesSupported.length) + for (var i = 0; i < message.responseTypesSupported.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.responseTypesSupported[i]); + if (message.subjectTypesSupported != null && message.subjectTypesSupported.length) + for (var i = 0; i < message.subjectTypesSupported.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.subjectTypesSupported[i]); + if (message.idTokenSigningAlgValuesSupported != null && message.idTokenSigningAlgValuesSupported.length) + for (var i = 0; i < message.idTokenSigningAlgValuesSupported.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.idTokenSigningAlgValuesSupported[i]); + if (message.claimsSupported != null && message.claimsSupported.length) + for (var i = 0; i < message.claimsSupported.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.claimsSupported[i]); + if (message.grantTypes != null && message.grantTypes.length) + for (var i = 0; i < message.grantTypes.length; ++i) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.grantTypes[i]); + return writer; + }; + + /** + * Encodes the specified GetOpenIDConfigResponse message, length delimited. Does not implicitly {@link google.container.v1.GetOpenIDConfigResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {google.container.v1.IGetOpenIDConfigResponse} message GetOpenIDConfigResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOpenIDConfigResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetOpenIDConfigResponse message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.GetOpenIDConfigResponse} GetOpenIDConfigResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOpenIDConfigResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.GetOpenIDConfigResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.issuer = reader.string(); + break; + case 2: + message.jwksUri = reader.string(); + break; + case 3: + if (!(message.responseTypesSupported && message.responseTypesSupported.length)) + message.responseTypesSupported = []; + message.responseTypesSupported.push(reader.string()); + break; + case 4: + if (!(message.subjectTypesSupported && message.subjectTypesSupported.length)) + message.subjectTypesSupported = []; + message.subjectTypesSupported.push(reader.string()); + break; + case 5: + if (!(message.idTokenSigningAlgValuesSupported && message.idTokenSigningAlgValuesSupported.length)) + message.idTokenSigningAlgValuesSupported = []; + message.idTokenSigningAlgValuesSupported.push(reader.string()); + break; + case 6: + if (!(message.claimsSupported && message.claimsSupported.length)) + message.claimsSupported = []; + message.claimsSupported.push(reader.string()); + break; + case 7: + if (!(message.grantTypes && message.grantTypes.length)) + message.grantTypes = []; + message.grantTypes.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetOpenIDConfigResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.GetOpenIDConfigResponse} GetOpenIDConfigResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOpenIDConfigResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetOpenIDConfigResponse message. + * @function verify + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetOpenIDConfigResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.issuer != null && message.hasOwnProperty("issuer")) + if (!$util.isString(message.issuer)) + return "issuer: string expected"; + if (message.jwksUri != null && message.hasOwnProperty("jwksUri")) + if (!$util.isString(message.jwksUri)) + return "jwksUri: string expected"; + if (message.responseTypesSupported != null && message.hasOwnProperty("responseTypesSupported")) { + if (!Array.isArray(message.responseTypesSupported)) + return "responseTypesSupported: array expected"; + for (var i = 0; i < message.responseTypesSupported.length; ++i) + if (!$util.isString(message.responseTypesSupported[i])) + return "responseTypesSupported: string[] expected"; + } + if (message.subjectTypesSupported != null && message.hasOwnProperty("subjectTypesSupported")) { + if (!Array.isArray(message.subjectTypesSupported)) + return "subjectTypesSupported: array expected"; + for (var i = 0; i < message.subjectTypesSupported.length; ++i) + if (!$util.isString(message.subjectTypesSupported[i])) + return "subjectTypesSupported: string[] expected"; + } + if (message.idTokenSigningAlgValuesSupported != null && message.hasOwnProperty("idTokenSigningAlgValuesSupported")) { + if (!Array.isArray(message.idTokenSigningAlgValuesSupported)) + return "idTokenSigningAlgValuesSupported: array expected"; + for (var i = 0; i < message.idTokenSigningAlgValuesSupported.length; ++i) + if (!$util.isString(message.idTokenSigningAlgValuesSupported[i])) + return "idTokenSigningAlgValuesSupported: string[] expected"; + } + if (message.claimsSupported != null && message.hasOwnProperty("claimsSupported")) { + if (!Array.isArray(message.claimsSupported)) + return "claimsSupported: array expected"; + for (var i = 0; i < message.claimsSupported.length; ++i) + if (!$util.isString(message.claimsSupported[i])) + return "claimsSupported: string[] expected"; + } + if (message.grantTypes != null && message.hasOwnProperty("grantTypes")) { + if (!Array.isArray(message.grantTypes)) + return "grantTypes: array expected"; + for (var i = 0; i < message.grantTypes.length; ++i) + if (!$util.isString(message.grantTypes[i])) + return "grantTypes: string[] expected"; + } + return null; + }; + + /** + * Creates a GetOpenIDConfigResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.GetOpenIDConfigResponse} GetOpenIDConfigResponse + */ + GetOpenIDConfigResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.GetOpenIDConfigResponse) + return object; + var message = new $root.google.container.v1.GetOpenIDConfigResponse(); + if (object.issuer != null) + message.issuer = String(object.issuer); + if (object.jwksUri != null) + message.jwksUri = String(object.jwksUri); + if (object.responseTypesSupported) { + if (!Array.isArray(object.responseTypesSupported)) + throw TypeError(".google.container.v1.GetOpenIDConfigResponse.responseTypesSupported: array expected"); + message.responseTypesSupported = []; + for (var i = 0; i < object.responseTypesSupported.length; ++i) + message.responseTypesSupported[i] = String(object.responseTypesSupported[i]); + } + if (object.subjectTypesSupported) { + if (!Array.isArray(object.subjectTypesSupported)) + throw TypeError(".google.container.v1.GetOpenIDConfigResponse.subjectTypesSupported: array expected"); + message.subjectTypesSupported = []; + for (var i = 0; i < object.subjectTypesSupported.length; ++i) + message.subjectTypesSupported[i] = String(object.subjectTypesSupported[i]); + } + if (object.idTokenSigningAlgValuesSupported) { + if (!Array.isArray(object.idTokenSigningAlgValuesSupported)) + throw TypeError(".google.container.v1.GetOpenIDConfigResponse.idTokenSigningAlgValuesSupported: array expected"); + message.idTokenSigningAlgValuesSupported = []; + for (var i = 0; i < object.idTokenSigningAlgValuesSupported.length; ++i) + message.idTokenSigningAlgValuesSupported[i] = String(object.idTokenSigningAlgValuesSupported[i]); + } + if (object.claimsSupported) { + if (!Array.isArray(object.claimsSupported)) + throw TypeError(".google.container.v1.GetOpenIDConfigResponse.claimsSupported: array expected"); + message.claimsSupported = []; + for (var i = 0; i < object.claimsSupported.length; ++i) + message.claimsSupported[i] = String(object.claimsSupported[i]); + } + if (object.grantTypes) { + if (!Array.isArray(object.grantTypes)) + throw TypeError(".google.container.v1.GetOpenIDConfigResponse.grantTypes: array expected"); + message.grantTypes = []; + for (var i = 0; i < object.grantTypes.length; ++i) + message.grantTypes[i] = String(object.grantTypes[i]); + } + return message; + }; + + /** + * Creates a plain object from a GetOpenIDConfigResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.GetOpenIDConfigResponse + * @static + * @param {google.container.v1.GetOpenIDConfigResponse} message GetOpenIDConfigResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetOpenIDConfigResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.responseTypesSupported = []; + object.subjectTypesSupported = []; + object.idTokenSigningAlgValuesSupported = []; + object.claimsSupported = []; + object.grantTypes = []; + } + if (options.defaults) { + object.issuer = ""; + object.jwksUri = ""; + } + if (message.issuer != null && message.hasOwnProperty("issuer")) + object.issuer = message.issuer; + if (message.jwksUri != null && message.hasOwnProperty("jwksUri")) + object.jwksUri = message.jwksUri; + if (message.responseTypesSupported && message.responseTypesSupported.length) { + object.responseTypesSupported = []; + for (var j = 0; j < message.responseTypesSupported.length; ++j) + object.responseTypesSupported[j] = message.responseTypesSupported[j]; + } + if (message.subjectTypesSupported && message.subjectTypesSupported.length) { + object.subjectTypesSupported = []; + for (var j = 0; j < message.subjectTypesSupported.length; ++j) + object.subjectTypesSupported[j] = message.subjectTypesSupported[j]; + } + if (message.idTokenSigningAlgValuesSupported && message.idTokenSigningAlgValuesSupported.length) { + object.idTokenSigningAlgValuesSupported = []; + for (var j = 0; j < message.idTokenSigningAlgValuesSupported.length; ++j) + object.idTokenSigningAlgValuesSupported[j] = message.idTokenSigningAlgValuesSupported[j]; + } + if (message.claimsSupported && message.claimsSupported.length) { + object.claimsSupported = []; + for (var j = 0; j < message.claimsSupported.length; ++j) + object.claimsSupported[j] = message.claimsSupported[j]; + } + if (message.grantTypes && message.grantTypes.length) { + object.grantTypes = []; + for (var j = 0; j < message.grantTypes.length; ++j) + object.grantTypes[j] = message.grantTypes[j]; + } + return object; + }; + + /** + * Converts this GetOpenIDConfigResponse to JSON. + * @function toJSON + * @memberof google.container.v1.GetOpenIDConfigResponse + * @instance + * @returns {Object.} JSON object + */ + GetOpenIDConfigResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetOpenIDConfigResponse; + })(); + v1.GetJSONWebKeysRequest = (function() { /** diff --git a/protos/protos.json b/protos/protos.json index f0a20e7..a69746c 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -3689,6 +3689,51 @@ } } }, + "GetOpenIDConfigRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + } + } + }, + "GetOpenIDConfigResponse": { + "fields": { + "issuer": { + "type": "string", + "id": 1 + }, + "jwksUri": { + "type": "string", + "id": 2 + }, + "responseTypesSupported": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "subjectTypesSupported": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "idTokenSigningAlgValuesSupported": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "claimsSupported": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "grantTypes": { + "rule": "repeated", + "type": "string", + "id": 7 + } + } + }, "GetJSONWebKeysRequest": { "fields": { "parent": {