google-cloud-container-v1 0.41.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3957 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/container/v1/cluster_service_pb"
21
+ require "google/cloud/container/v1/cluster_manager/rest/service_stub"
22
+
23
+ module Google
24
+ module Cloud
25
+ module Container
26
+ module V1
27
+ module ClusterManager
28
+ module Rest
29
+ ##
30
+ # REST client for the ClusterManager service.
31
+ #
32
+ # Google Kubernetes Engine Cluster Manager v1
33
+ #
34
+ class Client
35
+ # @private
36
+ API_VERSION = ""
37
+
38
+ # @private
39
+ DEFAULT_ENDPOINT_TEMPLATE = "container.$UNIVERSE_DOMAIN$"
40
+
41
+ include Paths
42
+
43
+ # @private
44
+ attr_reader :cluster_manager_stub
45
+
46
+ ##
47
+ # Configure the ClusterManager Client class.
48
+ #
49
+ # See {::Google::Cloud::Container::V1::ClusterManager::Rest::Client::Configuration}
50
+ # for a description of the configuration fields.
51
+ #
52
+ # @example
53
+ #
54
+ # # Modify the configuration for all ClusterManager clients
55
+ # ::Google::Cloud::Container::V1::ClusterManager::Rest::Client.configure do |config|
56
+ # config.timeout = 10.0
57
+ # end
58
+ #
59
+ # @yield [config] Configure the Client client.
60
+ # @yieldparam config [Client::Configuration]
61
+ #
62
+ # @return [Client::Configuration]
63
+ #
64
+ def self.configure
65
+ @configure ||= begin
66
+ namespace = ["Google", "Cloud", "Container", "V1"]
67
+ parent_config = while namespace.any?
68
+ parent_name = namespace.join "::"
69
+ parent_const = const_get parent_name
70
+ break parent_const.configure if parent_const.respond_to? :configure
71
+ namespace.pop
72
+ end
73
+ default_config = Client::Configuration.new parent_config
74
+
75
+ default_config.rpcs.list_clusters.timeout = 20.0
76
+ default_config.rpcs.list_clusters.retry_policy = {
77
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
78
+ }
79
+
80
+ default_config.rpcs.get_cluster.timeout = 20.0
81
+ default_config.rpcs.get_cluster.retry_policy = {
82
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
83
+ }
84
+
85
+ default_config.rpcs.create_cluster.timeout = 45.0
86
+
87
+ default_config.rpcs.update_cluster.timeout = 45.0
88
+
89
+ default_config.rpcs.update_node_pool.timeout = 45.0
90
+
91
+ default_config.rpcs.set_node_pool_autoscaling.timeout = 45.0
92
+
93
+ default_config.rpcs.set_logging_service.timeout = 45.0
94
+
95
+ default_config.rpcs.set_monitoring_service.timeout = 45.0
96
+
97
+ default_config.rpcs.set_addons_config.timeout = 45.0
98
+
99
+ default_config.rpcs.set_locations.timeout = 45.0
100
+
101
+ default_config.rpcs.update_master.timeout = 45.0
102
+
103
+ default_config.rpcs.set_master_auth.timeout = 45.0
104
+
105
+ default_config.rpcs.delete_cluster.timeout = 20.0
106
+ default_config.rpcs.delete_cluster.retry_policy = {
107
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
108
+ }
109
+
110
+ default_config.rpcs.list_operations.timeout = 20.0
111
+ default_config.rpcs.list_operations.retry_policy = {
112
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
113
+ }
114
+
115
+ default_config.rpcs.get_operation.timeout = 20.0
116
+ default_config.rpcs.get_operation.retry_policy = {
117
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
118
+ }
119
+
120
+ default_config.rpcs.cancel_operation.timeout = 45.0
121
+
122
+ default_config.rpcs.get_server_config.timeout = 20.0
123
+ default_config.rpcs.get_server_config.retry_policy = {
124
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
125
+ }
126
+
127
+ default_config.rpcs.list_node_pools.timeout = 20.0
128
+ default_config.rpcs.list_node_pools.retry_policy = {
129
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
130
+ }
131
+
132
+ default_config.rpcs.get_node_pool.timeout = 20.0
133
+ default_config.rpcs.get_node_pool.retry_policy = {
134
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
135
+ }
136
+
137
+ default_config.rpcs.create_node_pool.timeout = 45.0
138
+
139
+ default_config.rpcs.delete_node_pool.timeout = 20.0
140
+ default_config.rpcs.delete_node_pool.retry_policy = {
141
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
142
+ }
143
+
144
+ default_config.rpcs.rollback_node_pool_upgrade.timeout = 45.0
145
+
146
+ default_config.rpcs.set_node_pool_management.timeout = 45.0
147
+
148
+ default_config.rpcs.set_labels.timeout = 45.0
149
+
150
+ default_config.rpcs.set_legacy_abac.timeout = 45.0
151
+
152
+ default_config.rpcs.start_ip_rotation.timeout = 45.0
153
+
154
+ default_config.rpcs.complete_ip_rotation.timeout = 45.0
155
+
156
+ default_config.rpcs.set_node_pool_size.timeout = 45.0
157
+
158
+ default_config.rpcs.set_network_policy.timeout = 45.0
159
+
160
+ default_config.rpcs.set_maintenance_policy.timeout = 45.0
161
+
162
+ default_config
163
+ end
164
+ yield @configure if block_given?
165
+ @configure
166
+ end
167
+
168
+ ##
169
+ # Configure the ClusterManager Client instance.
170
+ #
171
+ # The configuration is set to the derived mode, meaning that values can be changed,
172
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
173
+ # should be made on {Client.configure}.
174
+ #
175
+ # See {::Google::Cloud::Container::V1::ClusterManager::Rest::Client::Configuration}
176
+ # for a description of the configuration fields.
177
+ #
178
+ # @yield [config] Configure the Client client.
179
+ # @yieldparam config [Client::Configuration]
180
+ #
181
+ # @return [Client::Configuration]
182
+ #
183
+ def configure
184
+ yield @config if block_given?
185
+ @config
186
+ end
187
+
188
+ ##
189
+ # The effective universe domain
190
+ #
191
+ # @return [String]
192
+ #
193
+ def universe_domain
194
+ @cluster_manager_stub.universe_domain
195
+ end
196
+
197
+ ##
198
+ # Create a new ClusterManager REST client object.
199
+ #
200
+ # @example
201
+ #
202
+ # # Create a client using the default configuration
203
+ # client = ::Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
204
+ #
205
+ # # Create a client using a custom configuration
206
+ # client = ::Google::Cloud::Container::V1::ClusterManager::Rest::Client.new do |config|
207
+ # config.timeout = 10.0
208
+ # end
209
+ #
210
+ # @yield [config] Configure the ClusterManager client.
211
+ # @yieldparam config [Client::Configuration]
212
+ #
213
+ def initialize
214
+ # Create the configuration object
215
+ @config = Configuration.new Client.configure
216
+
217
+ # Yield the configuration if needed
218
+ yield @config if block_given?
219
+
220
+ # Create credentials
221
+ credentials = @config.credentials
222
+ # Use self-signed JWT if the endpoint is unchanged from default,
223
+ # but only if the default endpoint does not have a region prefix.
224
+ enable_self_signed_jwt = @config.endpoint.nil? ||
225
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
226
+ !@config.endpoint.split(".").first.include?("-"))
227
+ credentials ||= Credentials.default scope: @config.scope,
228
+ enable_self_signed_jwt: enable_self_signed_jwt
229
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
230
+ credentials = Credentials.new credentials, scope: @config.scope
231
+ end
232
+
233
+ @quota_project_id = @config.quota_project
234
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
235
+
236
+ @cluster_manager_stub = ::Google::Cloud::Container::V1::ClusterManager::Rest::ServiceStub.new(
237
+ endpoint: @config.endpoint,
238
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
239
+ universe_domain: @config.universe_domain,
240
+ credentials: credentials
241
+ )
242
+ end
243
+
244
+ # Service calls
245
+
246
+ ##
247
+ # Lists all clusters owned by a project in either the specified zone or all
248
+ # zones.
249
+ #
250
+ # @overload list_clusters(request, options = nil)
251
+ # Pass arguments to `list_clusters` via a request object, either of type
252
+ # {::Google::Cloud::Container::V1::ListClustersRequest} or an equivalent Hash.
253
+ #
254
+ # @param request [::Google::Cloud::Container::V1::ListClustersRequest, ::Hash]
255
+ # A request object representing the call parameters. Required. To specify no
256
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
257
+ # @param options [::Gapic::CallOptions, ::Hash]
258
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
259
+ #
260
+ # @overload list_clusters(project_id: nil, zone: nil, parent: nil)
261
+ # Pass arguments to `list_clusters` via keyword arguments. Note that at
262
+ # least one keyword argument is required. To specify no parameters, or to keep all
263
+ # the default parameter values, pass an empty Hash as a request object (see above).
264
+ #
265
+ # @param project_id [::String]
266
+ # Deprecated. The Google Developers Console [project ID or project
267
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
268
+ # This field has been deprecated and replaced by the parent field.
269
+ # @param zone [::String]
270
+ # Deprecated. The name of the Google Compute Engine
271
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
272
+ # cluster resides, or "-" for all zones. This field has been deprecated and
273
+ # replaced by the parent field.
274
+ # @param parent [::String]
275
+ # The parent (project and location) where the clusters will be listed.
276
+ # Specified in the format `projects/*/locations/*`.
277
+ # Location "-" matches all zones and all regions.
278
+ # @yield [result, operation] Access the result along with the TransportOperation object
279
+ # @yieldparam result [::Google::Cloud::Container::V1::ListClustersResponse]
280
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
281
+ #
282
+ # @return [::Google::Cloud::Container::V1::ListClustersResponse]
283
+ #
284
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
285
+ #
286
+ # @example Basic example
287
+ # require "google/cloud/container/v1"
288
+ #
289
+ # # Create a client object. The client can be reused for multiple calls.
290
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
291
+ #
292
+ # # Create a request. To set request fields, pass in keyword arguments.
293
+ # request = Google::Cloud::Container::V1::ListClustersRequest.new
294
+ #
295
+ # # Call the list_clusters method.
296
+ # result = client.list_clusters request
297
+ #
298
+ # # The returned object is of type Google::Cloud::Container::V1::ListClustersResponse.
299
+ # p result
300
+ #
301
+ def list_clusters request, options = nil
302
+ raise ::ArgumentError, "request must be provided" if request.nil?
303
+
304
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::ListClustersRequest
305
+
306
+ # Converts hash and nil to an options object
307
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
308
+
309
+ # Customize the options with defaults
310
+ call_metadata = @config.rpcs.list_clusters.metadata.to_h
311
+
312
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
313
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
314
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
315
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
316
+ transports_version_send: [:rest]
317
+
318
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
319
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
320
+
321
+ options.apply_defaults timeout: @config.rpcs.list_clusters.timeout,
322
+ metadata: call_metadata,
323
+ retry_policy: @config.rpcs.list_clusters.retry_policy
324
+
325
+ options.apply_defaults timeout: @config.timeout,
326
+ metadata: @config.metadata,
327
+ retry_policy: @config.retry_policy
328
+
329
+ @cluster_manager_stub.list_clusters request, options do |result, operation|
330
+ yield result, operation if block_given?
331
+ return result
332
+ end
333
+ rescue ::Gapic::Rest::Error => e
334
+ raise ::Google::Cloud::Error.from_error(e)
335
+ end
336
+
337
+ ##
338
+ # Gets the details of a specific cluster.
339
+ #
340
+ # @overload get_cluster(request, options = nil)
341
+ # Pass arguments to `get_cluster` via a request object, either of type
342
+ # {::Google::Cloud::Container::V1::GetClusterRequest} or an equivalent Hash.
343
+ #
344
+ # @param request [::Google::Cloud::Container::V1::GetClusterRequest, ::Hash]
345
+ # A request object representing the call parameters. Required. To specify no
346
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
347
+ # @param options [::Gapic::CallOptions, ::Hash]
348
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
349
+ #
350
+ # @overload get_cluster(project_id: nil, zone: nil, cluster_id: nil, name: nil)
351
+ # Pass arguments to `get_cluster` via keyword arguments. Note that at
352
+ # least one keyword argument is required. To specify no parameters, or to keep all
353
+ # the default parameter values, pass an empty Hash as a request object (see above).
354
+ #
355
+ # @param project_id [::String]
356
+ # Deprecated. The Google Developers Console [project ID or project
357
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
358
+ # This field has been deprecated and replaced by the name field.
359
+ # @param zone [::String]
360
+ # Deprecated. The name of the Google Compute Engine
361
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
362
+ # cluster resides. This field has been deprecated and replaced by the name
363
+ # field.
364
+ # @param cluster_id [::String]
365
+ # Deprecated. The name of the cluster to retrieve.
366
+ # This field has been deprecated and replaced by the name field.
367
+ # @param name [::String]
368
+ # The name (project, location, cluster) of the cluster to retrieve.
369
+ # Specified in the format `projects/*/locations/*/clusters/*`.
370
+ # @yield [result, operation] Access the result along with the TransportOperation object
371
+ # @yieldparam result [::Google::Cloud::Container::V1::Cluster]
372
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
373
+ #
374
+ # @return [::Google::Cloud::Container::V1::Cluster]
375
+ #
376
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
377
+ #
378
+ # @example Basic example
379
+ # require "google/cloud/container/v1"
380
+ #
381
+ # # Create a client object. The client can be reused for multiple calls.
382
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
383
+ #
384
+ # # Create a request. To set request fields, pass in keyword arguments.
385
+ # request = Google::Cloud::Container::V1::GetClusterRequest.new
386
+ #
387
+ # # Call the get_cluster method.
388
+ # result = client.get_cluster request
389
+ #
390
+ # # The returned object is of type Google::Cloud::Container::V1::Cluster.
391
+ # p result
392
+ #
393
+ def get_cluster request, options = nil
394
+ raise ::ArgumentError, "request must be provided" if request.nil?
395
+
396
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetClusterRequest
397
+
398
+ # Converts hash and nil to an options object
399
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
400
+
401
+ # Customize the options with defaults
402
+ call_metadata = @config.rpcs.get_cluster.metadata.to_h
403
+
404
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
405
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
406
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
407
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
408
+ transports_version_send: [:rest]
409
+
410
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
411
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
412
+
413
+ options.apply_defaults timeout: @config.rpcs.get_cluster.timeout,
414
+ metadata: call_metadata,
415
+ retry_policy: @config.rpcs.get_cluster.retry_policy
416
+
417
+ options.apply_defaults timeout: @config.timeout,
418
+ metadata: @config.metadata,
419
+ retry_policy: @config.retry_policy
420
+
421
+ @cluster_manager_stub.get_cluster request, options do |result, operation|
422
+ yield result, operation if block_given?
423
+ return result
424
+ end
425
+ rescue ::Gapic::Rest::Error => e
426
+ raise ::Google::Cloud::Error.from_error(e)
427
+ end
428
+
429
+ ##
430
+ # Creates a cluster, consisting of the specified number and type of Google
431
+ # Compute Engine instances.
432
+ #
433
+ # By default, the cluster is created in the project's
434
+ # [default
435
+ # network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
436
+ #
437
+ # One firewall is added for the cluster. After cluster creation,
438
+ # the Kubelet creates routes for each node to allow the containers
439
+ # on that node to communicate with all other instances in the
440
+ # cluster.
441
+ #
442
+ # Finally, an entry is added to the project's global metadata indicating
443
+ # which CIDR range the cluster is using.
444
+ #
445
+ # @overload create_cluster(request, options = nil)
446
+ # Pass arguments to `create_cluster` via a request object, either of type
447
+ # {::Google::Cloud::Container::V1::CreateClusterRequest} or an equivalent Hash.
448
+ #
449
+ # @param request [::Google::Cloud::Container::V1::CreateClusterRequest, ::Hash]
450
+ # A request object representing the call parameters. Required. To specify no
451
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
452
+ # @param options [::Gapic::CallOptions, ::Hash]
453
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
454
+ #
455
+ # @overload create_cluster(project_id: nil, zone: nil, cluster: nil, parent: nil)
456
+ # Pass arguments to `create_cluster` via keyword arguments. Note that at
457
+ # least one keyword argument is required. To specify no parameters, or to keep all
458
+ # the default parameter values, pass an empty Hash as a request object (see above).
459
+ #
460
+ # @param project_id [::String]
461
+ # Deprecated. The Google Developers Console [project ID or project
462
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
463
+ # This field has been deprecated and replaced by the parent field.
464
+ # @param zone [::String]
465
+ # Deprecated. The name of the Google Compute Engine
466
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
467
+ # cluster resides. This field has been deprecated and replaced by the parent
468
+ # field.
469
+ # @param cluster [::Google::Cloud::Container::V1::Cluster, ::Hash]
470
+ # Required. A [cluster
471
+ # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
472
+ # @param parent [::String]
473
+ # The parent (project and location) where the cluster will be created.
474
+ # Specified in the format `projects/*/locations/*`.
475
+ # @yield [result, operation] Access the result along with the TransportOperation object
476
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
477
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
478
+ #
479
+ # @return [::Google::Cloud::Container::V1::Operation]
480
+ #
481
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
482
+ #
483
+ # @example Basic example
484
+ # require "google/cloud/container/v1"
485
+ #
486
+ # # Create a client object. The client can be reused for multiple calls.
487
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
488
+ #
489
+ # # Create a request. To set request fields, pass in keyword arguments.
490
+ # request = Google::Cloud::Container::V1::CreateClusterRequest.new
491
+ #
492
+ # # Call the create_cluster method.
493
+ # result = client.create_cluster request
494
+ #
495
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
496
+ # p result
497
+ #
498
+ def create_cluster request, options = nil
499
+ raise ::ArgumentError, "request must be provided" if request.nil?
500
+
501
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CreateClusterRequest
502
+
503
+ # Converts hash and nil to an options object
504
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
505
+
506
+ # Customize the options with defaults
507
+ call_metadata = @config.rpcs.create_cluster.metadata.to_h
508
+
509
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
510
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
511
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
512
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
513
+ transports_version_send: [:rest]
514
+
515
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
516
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
517
+
518
+ options.apply_defaults timeout: @config.rpcs.create_cluster.timeout,
519
+ metadata: call_metadata,
520
+ retry_policy: @config.rpcs.create_cluster.retry_policy
521
+
522
+ options.apply_defaults timeout: @config.timeout,
523
+ metadata: @config.metadata,
524
+ retry_policy: @config.retry_policy
525
+
526
+ @cluster_manager_stub.create_cluster request, options do |result, operation|
527
+ yield result, operation if block_given?
528
+ return result
529
+ end
530
+ rescue ::Gapic::Rest::Error => e
531
+ raise ::Google::Cloud::Error.from_error(e)
532
+ end
533
+
534
+ ##
535
+ # Updates the settings of a specific cluster.
536
+ #
537
+ # @overload update_cluster(request, options = nil)
538
+ # Pass arguments to `update_cluster` via a request object, either of type
539
+ # {::Google::Cloud::Container::V1::UpdateClusterRequest} or an equivalent Hash.
540
+ #
541
+ # @param request [::Google::Cloud::Container::V1::UpdateClusterRequest, ::Hash]
542
+ # A request object representing the call parameters. Required. To specify no
543
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
544
+ # @param options [::Gapic::CallOptions, ::Hash]
545
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
546
+ #
547
+ # @overload update_cluster(project_id: nil, zone: nil, cluster_id: nil, update: nil, name: nil)
548
+ # Pass arguments to `update_cluster` via keyword arguments. Note that at
549
+ # least one keyword argument is required. To specify no parameters, or to keep all
550
+ # the default parameter values, pass an empty Hash as a request object (see above).
551
+ #
552
+ # @param project_id [::String]
553
+ # Deprecated. The Google Developers Console [project ID or project
554
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
555
+ # This field has been deprecated and replaced by the name field.
556
+ # @param zone [::String]
557
+ # Deprecated. The name of the Google Compute Engine
558
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
559
+ # cluster resides. This field has been deprecated and replaced by the name
560
+ # field.
561
+ # @param cluster_id [::String]
562
+ # Deprecated. The name of the cluster to upgrade.
563
+ # This field has been deprecated and replaced by the name field.
564
+ # @param update [::Google::Cloud::Container::V1::ClusterUpdate, ::Hash]
565
+ # Required. A description of the update.
566
+ # @param name [::String]
567
+ # The name (project, location, cluster) of the cluster to update.
568
+ # Specified in the format `projects/*/locations/*/clusters/*`.
569
+ # @yield [result, operation] Access the result along with the TransportOperation object
570
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
571
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
572
+ #
573
+ # @return [::Google::Cloud::Container::V1::Operation]
574
+ #
575
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
576
+ #
577
+ # @example Basic example
578
+ # require "google/cloud/container/v1"
579
+ #
580
+ # # Create a client object. The client can be reused for multiple calls.
581
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
582
+ #
583
+ # # Create a request. To set request fields, pass in keyword arguments.
584
+ # request = Google::Cloud::Container::V1::UpdateClusterRequest.new
585
+ #
586
+ # # Call the update_cluster method.
587
+ # result = client.update_cluster request
588
+ #
589
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
590
+ # p result
591
+ #
592
+ def update_cluster request, options = nil
593
+ raise ::ArgumentError, "request must be provided" if request.nil?
594
+
595
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::UpdateClusterRequest
596
+
597
+ # Converts hash and nil to an options object
598
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
599
+
600
+ # Customize the options with defaults
601
+ call_metadata = @config.rpcs.update_cluster.metadata.to_h
602
+
603
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
604
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
605
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
606
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
607
+ transports_version_send: [:rest]
608
+
609
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
610
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
611
+
612
+ options.apply_defaults timeout: @config.rpcs.update_cluster.timeout,
613
+ metadata: call_metadata,
614
+ retry_policy: @config.rpcs.update_cluster.retry_policy
615
+
616
+ options.apply_defaults timeout: @config.timeout,
617
+ metadata: @config.metadata,
618
+ retry_policy: @config.retry_policy
619
+
620
+ @cluster_manager_stub.update_cluster request, options do |result, operation|
621
+ yield result, operation if block_given?
622
+ return result
623
+ end
624
+ rescue ::Gapic::Rest::Error => e
625
+ raise ::Google::Cloud::Error.from_error(e)
626
+ end
627
+
628
+ ##
629
+ # Updates the version and/or image type for the specified node pool.
630
+ #
631
+ # @overload update_node_pool(request, options = nil)
632
+ # Pass arguments to `update_node_pool` via a request object, either of type
633
+ # {::Google::Cloud::Container::V1::UpdateNodePoolRequest} or an equivalent Hash.
634
+ #
635
+ # @param request [::Google::Cloud::Container::V1::UpdateNodePoolRequest, ::Hash]
636
+ # A request object representing the call parameters. Required. To specify no
637
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
638
+ # @param options [::Gapic::CallOptions, ::Hash]
639
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
640
+ #
641
+ # @overload update_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_version: nil, image_type: nil, name: nil, locations: nil, workload_metadata_config: nil, upgrade_settings: nil, tags: nil, taints: nil, labels: nil, linux_node_config: nil, kubelet_config: nil, node_network_config: nil, gcfs_config: nil, confidential_nodes: nil, gvnic: nil, etag: nil, fast_socket: nil, logging_config: nil, resource_labels: nil, windows_node_config: nil, accelerators: nil, machine_type: nil, disk_type: nil, disk_size_gb: nil, resource_manager_tags: nil, containerd_config: nil, queued_provisioning: nil)
642
+ # Pass arguments to `update_node_pool` via keyword arguments. Note that at
643
+ # least one keyword argument is required. To specify no parameters, or to keep all
644
+ # the default parameter values, pass an empty Hash as a request object (see above).
645
+ #
646
+ # @param project_id [::String]
647
+ # Deprecated. The Google Developers Console [project ID or project
648
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
649
+ # This field has been deprecated and replaced by the name field.
650
+ # @param zone [::String]
651
+ # Deprecated. The name of the Google Compute Engine
652
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
653
+ # cluster resides. This field has been deprecated and replaced by the name
654
+ # field.
655
+ # @param cluster_id [::String]
656
+ # Deprecated. The name of the cluster to upgrade.
657
+ # This field has been deprecated and replaced by the name field.
658
+ # @param node_pool_id [::String]
659
+ # Deprecated. The name of the node pool to upgrade.
660
+ # This field has been deprecated and replaced by the name field.
661
+ # @param node_version [::String]
662
+ # Required. The Kubernetes version to change the nodes to (typically an
663
+ # upgrade).
664
+ #
665
+ # Users may specify either explicit versions offered by Kubernetes Engine or
666
+ # version aliases, which have the following behavior:
667
+ #
668
+ # - "latest": picks the highest valid Kubernetes version
669
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
670
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
671
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
672
+ # - "-": picks the Kubernetes master version
673
+ # @param image_type [::String]
674
+ # Required. The desired image type for the node pool. Please see
675
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
676
+ # available image types.
677
+ # @param name [::String]
678
+ # The name (project, location, cluster, node pool) of the node pool to
679
+ # update. Specified in the format
680
+ # `projects/*/locations/*/clusters/*/nodePools/*`.
681
+ # @param locations [::Array<::String>]
682
+ # The desired list of Google Compute Engine
683
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
684
+ # node pool's nodes should be located. Changing the locations for a node pool
685
+ # will result in nodes being either created or removed from the node pool,
686
+ # depending on whether locations are being added or removed.
687
+ # @param workload_metadata_config [::Google::Cloud::Container::V1::WorkloadMetadataConfig, ::Hash]
688
+ # The desired workload metadata config for the node pool.
689
+ # @param upgrade_settings [::Google::Cloud::Container::V1::NodePool::UpgradeSettings, ::Hash]
690
+ # Upgrade settings control disruption and speed of the upgrade.
691
+ # @param tags [::Google::Cloud::Container::V1::NetworkTags, ::Hash]
692
+ # The desired network tags to be applied to all nodes in the node pool.
693
+ # If this field is not present, the tags will not be changed. Otherwise,
694
+ # the existing network tags will be *replaced* with the provided tags.
695
+ # @param taints [::Google::Cloud::Container::V1::NodeTaints, ::Hash]
696
+ # The desired node taints to be applied to all nodes in the node pool.
697
+ # If this field is not present, the taints will not be changed. Otherwise,
698
+ # the existing node taints will be *replaced* with the provided taints.
699
+ # @param labels [::Google::Cloud::Container::V1::NodeLabels, ::Hash]
700
+ # The desired node labels to be applied to all nodes in the node pool.
701
+ # If this field is not present, the labels will not be changed. Otherwise,
702
+ # the existing node labels will be *replaced* with the provided labels.
703
+ # @param linux_node_config [::Google::Cloud::Container::V1::LinuxNodeConfig, ::Hash]
704
+ # Parameters that can be configured on Linux nodes.
705
+ # @param kubelet_config [::Google::Cloud::Container::V1::NodeKubeletConfig, ::Hash]
706
+ # Node kubelet configs.
707
+ # @param node_network_config [::Google::Cloud::Container::V1::NodeNetworkConfig, ::Hash]
708
+ # Node network config.
709
+ # @param gcfs_config [::Google::Cloud::Container::V1::GcfsConfig, ::Hash]
710
+ # GCFS config.
711
+ # @param confidential_nodes [::Google::Cloud::Container::V1::ConfidentialNodes, ::Hash]
712
+ # Confidential nodes config.
713
+ # All the nodes in the node pool will be Confidential VM once enabled.
714
+ # @param gvnic [::Google::Cloud::Container::V1::VirtualNIC, ::Hash]
715
+ # Enable or disable gvnic on the node pool.
716
+ # @param etag [::String]
717
+ # The current etag of the node pool.
718
+ # If an etag is provided and does not match the current etag of the node
719
+ # pool, update will be blocked and an ABORTED error will be returned.
720
+ # @param fast_socket [::Google::Cloud::Container::V1::FastSocket, ::Hash]
721
+ # Enable or disable NCCL fast socket for the node pool.
722
+ # @param logging_config [::Google::Cloud::Container::V1::NodePoolLoggingConfig, ::Hash]
723
+ # Logging configuration.
724
+ # @param resource_labels [::Google::Cloud::Container::V1::ResourceLabels, ::Hash]
725
+ # The resource labels for the node pool to use to annotate any related
726
+ # Google Compute Engine resources.
727
+ # @param windows_node_config [::Google::Cloud::Container::V1::WindowsNodeConfig, ::Hash]
728
+ # Parameters that can be configured on Windows nodes.
729
+ # @param accelerators [::Array<::Google::Cloud::Container::V1::AcceleratorConfig, ::Hash>]
730
+ # A list of hardware accelerators to be attached to each node.
731
+ # See https://cloud.google.com/compute/docs/gpus for more information about
732
+ # support for GPUs.
733
+ # @param machine_type [::String]
734
+ # Optional. The desired [Google Compute Engine machine
735
+ # type](https://cloud.google.com/compute/docs/machine-types) for nodes in the
736
+ # node pool. Initiates an upgrade operation that migrates the nodes in the
737
+ # node pool to the specified machine type.
738
+ # @param disk_type [::String]
739
+ # Optional. The desired disk type (e.g. 'pd-standard', 'pd-ssd' or
740
+ # 'pd-balanced') for nodes in the node pool.
741
+ # Initiates an upgrade operation that migrates the nodes in the
742
+ # node pool to the specified disk type.
743
+ # @param disk_size_gb [::Integer]
744
+ # Optional. The desired disk size for nodes in the node pool specified in GB.
745
+ # The smallest allowed disk size is 10GB.
746
+ # Initiates an upgrade operation that migrates the nodes in the
747
+ # node pool to the specified disk size.
748
+ # @param resource_manager_tags [::Google::Cloud::Container::V1::ResourceManagerTags, ::Hash]
749
+ # Desired resource manager tag keys and values to be attached to the nodes
750
+ # for managing Compute Engine firewalls using Network Firewall Policies.
751
+ # Existing tags will be replaced with new values.
752
+ # @param containerd_config [::Google::Cloud::Container::V1::ContainerdConfig, ::Hash]
753
+ # The desired containerd config for nodes in the node pool.
754
+ # Initiates an upgrade operation that recreates the nodes with the new
755
+ # config.
756
+ # @param queued_provisioning [::Google::Cloud::Container::V1::NodePool::QueuedProvisioning, ::Hash]
757
+ # Specifies the configuration of queued provisioning.
758
+ # @yield [result, operation] Access the result along with the TransportOperation object
759
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
760
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
761
+ #
762
+ # @return [::Google::Cloud::Container::V1::Operation]
763
+ #
764
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
765
+ #
766
+ # @example Basic example
767
+ # require "google/cloud/container/v1"
768
+ #
769
+ # # Create a client object. The client can be reused for multiple calls.
770
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
771
+ #
772
+ # # Create a request. To set request fields, pass in keyword arguments.
773
+ # request = Google::Cloud::Container::V1::UpdateNodePoolRequest.new
774
+ #
775
+ # # Call the update_node_pool method.
776
+ # result = client.update_node_pool request
777
+ #
778
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
779
+ # p result
780
+ #
781
+ def update_node_pool request, options = nil
782
+ raise ::ArgumentError, "request must be provided" if request.nil?
783
+
784
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::UpdateNodePoolRequest
785
+
786
+ # Converts hash and nil to an options object
787
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
788
+
789
+ # Customize the options with defaults
790
+ call_metadata = @config.rpcs.update_node_pool.metadata.to_h
791
+
792
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
793
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
794
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
795
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
796
+ transports_version_send: [:rest]
797
+
798
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
799
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
800
+
801
+ options.apply_defaults timeout: @config.rpcs.update_node_pool.timeout,
802
+ metadata: call_metadata,
803
+ retry_policy: @config.rpcs.update_node_pool.retry_policy
804
+
805
+ options.apply_defaults timeout: @config.timeout,
806
+ metadata: @config.metadata,
807
+ retry_policy: @config.retry_policy
808
+
809
+ @cluster_manager_stub.update_node_pool request, options do |result, operation|
810
+ yield result, operation if block_given?
811
+ return result
812
+ end
813
+ rescue ::Gapic::Rest::Error => e
814
+ raise ::Google::Cloud::Error.from_error(e)
815
+ end
816
+
817
+ ##
818
+ # Sets the autoscaling settings for the specified node pool.
819
+ #
820
+ # @overload set_node_pool_autoscaling(request, options = nil)
821
+ # Pass arguments to `set_node_pool_autoscaling` via a request object, either of type
822
+ # {::Google::Cloud::Container::V1::SetNodePoolAutoscalingRequest} or an equivalent Hash.
823
+ #
824
+ # @param request [::Google::Cloud::Container::V1::SetNodePoolAutoscalingRequest, ::Hash]
825
+ # A request object representing the call parameters. Required. To specify no
826
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
827
+ # @param options [::Gapic::CallOptions, ::Hash]
828
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
829
+ #
830
+ # @overload set_node_pool_autoscaling(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, autoscaling: nil, name: nil)
831
+ # Pass arguments to `set_node_pool_autoscaling` via keyword arguments. Note that at
832
+ # least one keyword argument is required. To specify no parameters, or to keep all
833
+ # the default parameter values, pass an empty Hash as a request object (see above).
834
+ #
835
+ # @param project_id [::String]
836
+ # Deprecated. The Google Developers Console [project ID or project
837
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
838
+ # This field has been deprecated and replaced by the name field.
839
+ # @param zone [::String]
840
+ # Deprecated. The name of the Google Compute Engine
841
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
842
+ # cluster resides. This field has been deprecated and replaced by the name
843
+ # field.
844
+ # @param cluster_id [::String]
845
+ # Deprecated. The name of the cluster to upgrade.
846
+ # This field has been deprecated and replaced by the name field.
847
+ # @param node_pool_id [::String]
848
+ # Deprecated. The name of the node pool to upgrade.
849
+ # This field has been deprecated and replaced by the name field.
850
+ # @param autoscaling [::Google::Cloud::Container::V1::NodePoolAutoscaling, ::Hash]
851
+ # Required. Autoscaling configuration for the node pool.
852
+ # @param name [::String]
853
+ # The name (project, location, cluster, node pool) of the node pool to set
854
+ # autoscaler settings. Specified in the format
855
+ # `projects/*/locations/*/clusters/*/nodePools/*`.
856
+ # @yield [result, operation] Access the result along with the TransportOperation object
857
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
858
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
859
+ #
860
+ # @return [::Google::Cloud::Container::V1::Operation]
861
+ #
862
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
863
+ #
864
+ # @example Basic example
865
+ # require "google/cloud/container/v1"
866
+ #
867
+ # # Create a client object. The client can be reused for multiple calls.
868
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
869
+ #
870
+ # # Create a request. To set request fields, pass in keyword arguments.
871
+ # request = Google::Cloud::Container::V1::SetNodePoolAutoscalingRequest.new
872
+ #
873
+ # # Call the set_node_pool_autoscaling method.
874
+ # result = client.set_node_pool_autoscaling request
875
+ #
876
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
877
+ # p result
878
+ #
879
+ def set_node_pool_autoscaling request, options = nil
880
+ raise ::ArgumentError, "request must be provided" if request.nil?
881
+
882
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetNodePoolAutoscalingRequest
883
+
884
+ # Converts hash and nil to an options object
885
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
886
+
887
+ # Customize the options with defaults
888
+ call_metadata = @config.rpcs.set_node_pool_autoscaling.metadata.to_h
889
+
890
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
891
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
892
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
893
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
894
+ transports_version_send: [:rest]
895
+
896
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
897
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
898
+
899
+ options.apply_defaults timeout: @config.rpcs.set_node_pool_autoscaling.timeout,
900
+ metadata: call_metadata,
901
+ retry_policy: @config.rpcs.set_node_pool_autoscaling.retry_policy
902
+
903
+ options.apply_defaults timeout: @config.timeout,
904
+ metadata: @config.metadata,
905
+ retry_policy: @config.retry_policy
906
+
907
+ @cluster_manager_stub.set_node_pool_autoscaling request, options do |result, operation|
908
+ yield result, operation if block_given?
909
+ return result
910
+ end
911
+ rescue ::Gapic::Rest::Error => e
912
+ raise ::Google::Cloud::Error.from_error(e)
913
+ end
914
+
915
+ ##
916
+ # Sets the logging service for a specific cluster.
917
+ #
918
+ # @overload set_logging_service(request, options = nil)
919
+ # Pass arguments to `set_logging_service` via a request object, either of type
920
+ # {::Google::Cloud::Container::V1::SetLoggingServiceRequest} or an equivalent Hash.
921
+ #
922
+ # @param request [::Google::Cloud::Container::V1::SetLoggingServiceRequest, ::Hash]
923
+ # A request object representing the call parameters. Required. To specify no
924
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
925
+ # @param options [::Gapic::CallOptions, ::Hash]
926
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
927
+ #
928
+ # @overload set_logging_service(project_id: nil, zone: nil, cluster_id: nil, logging_service: nil, name: nil)
929
+ # Pass arguments to `set_logging_service` via keyword arguments. Note that at
930
+ # least one keyword argument is required. To specify no parameters, or to keep all
931
+ # the default parameter values, pass an empty Hash as a request object (see above).
932
+ #
933
+ # @param project_id [::String]
934
+ # Deprecated. The Google Developers Console [project ID or project
935
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
936
+ # This field has been deprecated and replaced by the name field.
937
+ # @param zone [::String]
938
+ # Deprecated. The name of the Google Compute Engine
939
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
940
+ # cluster resides. This field has been deprecated and replaced by the name
941
+ # field.
942
+ # @param cluster_id [::String]
943
+ # Deprecated. The name of the cluster to upgrade.
944
+ # This field has been deprecated and replaced by the name field.
945
+ # @param logging_service [::String]
946
+ # Required. The logging service the cluster should use to write logs.
947
+ # Currently available options:
948
+ #
949
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
950
+ # service with a Kubernetes-native resource model
951
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
952
+ # available as of GKE 1.15).
953
+ # * `none` - no logs will be exported from the cluster.
954
+ #
955
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
956
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
957
+ # @param name [::String]
958
+ # The name (project, location, cluster) of the cluster to set logging.
959
+ # Specified in the format `projects/*/locations/*/clusters/*`.
960
+ # @yield [result, operation] Access the result along with the TransportOperation object
961
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
962
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
963
+ #
964
+ # @return [::Google::Cloud::Container::V1::Operation]
965
+ #
966
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
967
+ #
968
+ # @example Basic example
969
+ # require "google/cloud/container/v1"
970
+ #
971
+ # # Create a client object. The client can be reused for multiple calls.
972
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
973
+ #
974
+ # # Create a request. To set request fields, pass in keyword arguments.
975
+ # request = Google::Cloud::Container::V1::SetLoggingServiceRequest.new
976
+ #
977
+ # # Call the set_logging_service method.
978
+ # result = client.set_logging_service request
979
+ #
980
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
981
+ # p result
982
+ #
983
+ def set_logging_service request, options = nil
984
+ raise ::ArgumentError, "request must be provided" if request.nil?
985
+
986
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetLoggingServiceRequest
987
+
988
+ # Converts hash and nil to an options object
989
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
990
+
991
+ # Customize the options with defaults
992
+ call_metadata = @config.rpcs.set_logging_service.metadata.to_h
993
+
994
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
995
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
996
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
997
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
998
+ transports_version_send: [:rest]
999
+
1000
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1001
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1002
+
1003
+ options.apply_defaults timeout: @config.rpcs.set_logging_service.timeout,
1004
+ metadata: call_metadata,
1005
+ retry_policy: @config.rpcs.set_logging_service.retry_policy
1006
+
1007
+ options.apply_defaults timeout: @config.timeout,
1008
+ metadata: @config.metadata,
1009
+ retry_policy: @config.retry_policy
1010
+
1011
+ @cluster_manager_stub.set_logging_service request, options do |result, operation|
1012
+ yield result, operation if block_given?
1013
+ return result
1014
+ end
1015
+ rescue ::Gapic::Rest::Error => e
1016
+ raise ::Google::Cloud::Error.from_error(e)
1017
+ end
1018
+
1019
+ ##
1020
+ # Sets the monitoring service for a specific cluster.
1021
+ #
1022
+ # @overload set_monitoring_service(request, options = nil)
1023
+ # Pass arguments to `set_monitoring_service` via a request object, either of type
1024
+ # {::Google::Cloud::Container::V1::SetMonitoringServiceRequest} or an equivalent Hash.
1025
+ #
1026
+ # @param request [::Google::Cloud::Container::V1::SetMonitoringServiceRequest, ::Hash]
1027
+ # A request object representing the call parameters. Required. To specify no
1028
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1029
+ # @param options [::Gapic::CallOptions, ::Hash]
1030
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1031
+ #
1032
+ # @overload set_monitoring_service(project_id: nil, zone: nil, cluster_id: nil, monitoring_service: nil, name: nil)
1033
+ # Pass arguments to `set_monitoring_service` via keyword arguments. Note that at
1034
+ # least one keyword argument is required. To specify no parameters, or to keep all
1035
+ # the default parameter values, pass an empty Hash as a request object (see above).
1036
+ #
1037
+ # @param project_id [::String]
1038
+ # Deprecated. The Google Developers Console [project ID or project
1039
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1040
+ # This field has been deprecated and replaced by the name field.
1041
+ # @param zone [::String]
1042
+ # Deprecated. The name of the Google Compute Engine
1043
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1044
+ # cluster resides. This field has been deprecated and replaced by the name
1045
+ # field.
1046
+ # @param cluster_id [::String]
1047
+ # Deprecated. The name of the cluster to upgrade.
1048
+ # This field has been deprecated and replaced by the name field.
1049
+ # @param monitoring_service [::String]
1050
+ # Required. The monitoring service the cluster should use to write metrics.
1051
+ # Currently available options:
1052
+ #
1053
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
1054
+ # service with a Kubernetes-native resource model
1055
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1056
+ # longer available as of GKE 1.15).
1057
+ # * `none` - No metrics will be exported from the cluster.
1058
+ #
1059
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
1060
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
1061
+ # @param name [::String]
1062
+ # The name (project, location, cluster) of the cluster to set monitoring.
1063
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1064
+ # @yield [result, operation] Access the result along with the TransportOperation object
1065
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1066
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1067
+ #
1068
+ # @return [::Google::Cloud::Container::V1::Operation]
1069
+ #
1070
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1071
+ #
1072
+ # @example Basic example
1073
+ # require "google/cloud/container/v1"
1074
+ #
1075
+ # # Create a client object. The client can be reused for multiple calls.
1076
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1077
+ #
1078
+ # # Create a request. To set request fields, pass in keyword arguments.
1079
+ # request = Google::Cloud::Container::V1::SetMonitoringServiceRequest.new
1080
+ #
1081
+ # # Call the set_monitoring_service method.
1082
+ # result = client.set_monitoring_service request
1083
+ #
1084
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1085
+ # p result
1086
+ #
1087
+ def set_monitoring_service request, options = nil
1088
+ raise ::ArgumentError, "request must be provided" if request.nil?
1089
+
1090
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetMonitoringServiceRequest
1091
+
1092
+ # Converts hash and nil to an options object
1093
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1094
+
1095
+ # Customize the options with defaults
1096
+ call_metadata = @config.rpcs.set_monitoring_service.metadata.to_h
1097
+
1098
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1099
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1100
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1101
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1102
+ transports_version_send: [:rest]
1103
+
1104
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1105
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1106
+
1107
+ options.apply_defaults timeout: @config.rpcs.set_monitoring_service.timeout,
1108
+ metadata: call_metadata,
1109
+ retry_policy: @config.rpcs.set_monitoring_service.retry_policy
1110
+
1111
+ options.apply_defaults timeout: @config.timeout,
1112
+ metadata: @config.metadata,
1113
+ retry_policy: @config.retry_policy
1114
+
1115
+ @cluster_manager_stub.set_monitoring_service request, options do |result, operation|
1116
+ yield result, operation if block_given?
1117
+ return result
1118
+ end
1119
+ rescue ::Gapic::Rest::Error => e
1120
+ raise ::Google::Cloud::Error.from_error(e)
1121
+ end
1122
+
1123
+ ##
1124
+ # Sets the addons for a specific cluster.
1125
+ #
1126
+ # @overload set_addons_config(request, options = nil)
1127
+ # Pass arguments to `set_addons_config` via a request object, either of type
1128
+ # {::Google::Cloud::Container::V1::SetAddonsConfigRequest} or an equivalent Hash.
1129
+ #
1130
+ # @param request [::Google::Cloud::Container::V1::SetAddonsConfigRequest, ::Hash]
1131
+ # A request object representing the call parameters. Required. To specify no
1132
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1133
+ # @param options [::Gapic::CallOptions, ::Hash]
1134
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1135
+ #
1136
+ # @overload set_addons_config(project_id: nil, zone: nil, cluster_id: nil, addons_config: nil, name: nil)
1137
+ # Pass arguments to `set_addons_config` via keyword arguments. Note that at
1138
+ # least one keyword argument is required. To specify no parameters, or to keep all
1139
+ # the default parameter values, pass an empty Hash as a request object (see above).
1140
+ #
1141
+ # @param project_id [::String]
1142
+ # Deprecated. The Google Developers Console [project ID or project
1143
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1144
+ # This field has been deprecated and replaced by the name field.
1145
+ # @param zone [::String]
1146
+ # Deprecated. The name of the Google Compute Engine
1147
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1148
+ # cluster resides. This field has been deprecated and replaced by the name
1149
+ # field.
1150
+ # @param cluster_id [::String]
1151
+ # Deprecated. The name of the cluster to upgrade.
1152
+ # This field has been deprecated and replaced by the name field.
1153
+ # @param addons_config [::Google::Cloud::Container::V1::AddonsConfig, ::Hash]
1154
+ # Required. The desired configurations for the various addons available to
1155
+ # run in the cluster.
1156
+ # @param name [::String]
1157
+ # The name (project, location, cluster) of the cluster to set addons.
1158
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1159
+ # @yield [result, operation] Access the result along with the TransportOperation object
1160
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1161
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1162
+ #
1163
+ # @return [::Google::Cloud::Container::V1::Operation]
1164
+ #
1165
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1166
+ #
1167
+ # @example Basic example
1168
+ # require "google/cloud/container/v1"
1169
+ #
1170
+ # # Create a client object. The client can be reused for multiple calls.
1171
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1172
+ #
1173
+ # # Create a request. To set request fields, pass in keyword arguments.
1174
+ # request = Google::Cloud::Container::V1::SetAddonsConfigRequest.new
1175
+ #
1176
+ # # Call the set_addons_config method.
1177
+ # result = client.set_addons_config request
1178
+ #
1179
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1180
+ # p result
1181
+ #
1182
+ def set_addons_config request, options = nil
1183
+ raise ::ArgumentError, "request must be provided" if request.nil?
1184
+
1185
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetAddonsConfigRequest
1186
+
1187
+ # Converts hash and nil to an options object
1188
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1189
+
1190
+ # Customize the options with defaults
1191
+ call_metadata = @config.rpcs.set_addons_config.metadata.to_h
1192
+
1193
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1194
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1195
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1196
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1197
+ transports_version_send: [:rest]
1198
+
1199
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1200
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1201
+
1202
+ options.apply_defaults timeout: @config.rpcs.set_addons_config.timeout,
1203
+ metadata: call_metadata,
1204
+ retry_policy: @config.rpcs.set_addons_config.retry_policy
1205
+
1206
+ options.apply_defaults timeout: @config.timeout,
1207
+ metadata: @config.metadata,
1208
+ retry_policy: @config.retry_policy
1209
+
1210
+ @cluster_manager_stub.set_addons_config request, options do |result, operation|
1211
+ yield result, operation if block_given?
1212
+ return result
1213
+ end
1214
+ rescue ::Gapic::Rest::Error => e
1215
+ raise ::Google::Cloud::Error.from_error(e)
1216
+ end
1217
+
1218
+ ##
1219
+ # Sets the locations for a specific cluster.
1220
+ # Deprecated. Use
1221
+ # [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)
1222
+ # instead.
1223
+ #
1224
+ # @overload set_locations(request, options = nil)
1225
+ # Pass arguments to `set_locations` via a request object, either of type
1226
+ # {::Google::Cloud::Container::V1::SetLocationsRequest} or an equivalent Hash.
1227
+ #
1228
+ # @param request [::Google::Cloud::Container::V1::SetLocationsRequest, ::Hash]
1229
+ # A request object representing the call parameters. Required. To specify no
1230
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1231
+ # @param options [::Gapic::CallOptions, ::Hash]
1232
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1233
+ #
1234
+ # @overload set_locations(project_id: nil, zone: nil, cluster_id: nil, locations: nil, name: nil)
1235
+ # Pass arguments to `set_locations` via keyword arguments. Note that at
1236
+ # least one keyword argument is required. To specify no parameters, or to keep all
1237
+ # the default parameter values, pass an empty Hash as a request object (see above).
1238
+ #
1239
+ # @param project_id [::String]
1240
+ # Deprecated. The Google Developers Console [project ID or project
1241
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1242
+ # This field has been deprecated and replaced by the name field.
1243
+ # @param zone [::String]
1244
+ # Deprecated. The name of the Google Compute Engine
1245
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1246
+ # cluster resides. This field has been deprecated and replaced by the name
1247
+ # field.
1248
+ # @param cluster_id [::String]
1249
+ # Deprecated. The name of the cluster to upgrade.
1250
+ # This field has been deprecated and replaced by the name field.
1251
+ # @param locations [::Array<::String>]
1252
+ # Required. The desired list of Google Compute Engine
1253
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1254
+ # cluster's nodes should be located. Changing the locations a cluster is in
1255
+ # will result in nodes being either created or removed from the cluster,
1256
+ # depending on whether locations are being added or removed.
1257
+ #
1258
+ # This list must always include the cluster's primary zone.
1259
+ # @param name [::String]
1260
+ # The name (project, location, cluster) of the cluster to set locations.
1261
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1262
+ # @yield [result, operation] Access the result along with the TransportOperation object
1263
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1264
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1265
+ #
1266
+ # @return [::Google::Cloud::Container::V1::Operation]
1267
+ #
1268
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1269
+ #
1270
+ # @example Basic example
1271
+ # require "google/cloud/container/v1"
1272
+ #
1273
+ # # Create a client object. The client can be reused for multiple calls.
1274
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1275
+ #
1276
+ # # Create a request. To set request fields, pass in keyword arguments.
1277
+ # request = Google::Cloud::Container::V1::SetLocationsRequest.new
1278
+ #
1279
+ # # Call the set_locations method.
1280
+ # result = client.set_locations request
1281
+ #
1282
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1283
+ # p result
1284
+ #
1285
+ def set_locations request, options = nil
1286
+ raise ::ArgumentError, "request must be provided" if request.nil?
1287
+
1288
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetLocationsRequest
1289
+
1290
+ # Converts hash and nil to an options object
1291
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1292
+
1293
+ # Customize the options with defaults
1294
+ call_metadata = @config.rpcs.set_locations.metadata.to_h
1295
+
1296
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1297
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1298
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1299
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1300
+ transports_version_send: [:rest]
1301
+
1302
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1303
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1304
+
1305
+ options.apply_defaults timeout: @config.rpcs.set_locations.timeout,
1306
+ metadata: call_metadata,
1307
+ retry_policy: @config.rpcs.set_locations.retry_policy
1308
+
1309
+ options.apply_defaults timeout: @config.timeout,
1310
+ metadata: @config.metadata,
1311
+ retry_policy: @config.retry_policy
1312
+
1313
+ @cluster_manager_stub.set_locations request, options do |result, operation|
1314
+ yield result, operation if block_given?
1315
+ return result
1316
+ end
1317
+ rescue ::Gapic::Rest::Error => e
1318
+ raise ::Google::Cloud::Error.from_error(e)
1319
+ end
1320
+
1321
+ ##
1322
+ # Updates the master for a specific cluster.
1323
+ #
1324
+ # @overload update_master(request, options = nil)
1325
+ # Pass arguments to `update_master` via a request object, either of type
1326
+ # {::Google::Cloud::Container::V1::UpdateMasterRequest} or an equivalent Hash.
1327
+ #
1328
+ # @param request [::Google::Cloud::Container::V1::UpdateMasterRequest, ::Hash]
1329
+ # A request object representing the call parameters. Required. To specify no
1330
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1331
+ # @param options [::Gapic::CallOptions, ::Hash]
1332
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1333
+ #
1334
+ # @overload update_master(project_id: nil, zone: nil, cluster_id: nil, master_version: nil, name: nil)
1335
+ # Pass arguments to `update_master` via keyword arguments. Note that at
1336
+ # least one keyword argument is required. To specify no parameters, or to keep all
1337
+ # the default parameter values, pass an empty Hash as a request object (see above).
1338
+ #
1339
+ # @param project_id [::String]
1340
+ # Deprecated. The Google Developers Console [project ID or project
1341
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1342
+ # This field has been deprecated and replaced by the name field.
1343
+ # @param zone [::String]
1344
+ # Deprecated. The name of the Google Compute Engine
1345
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1346
+ # cluster resides. This field has been deprecated and replaced by the name
1347
+ # field.
1348
+ # @param cluster_id [::String]
1349
+ # Deprecated. The name of the cluster to upgrade.
1350
+ # This field has been deprecated and replaced by the name field.
1351
+ # @param master_version [::String]
1352
+ # Required. The Kubernetes version to change the master to.
1353
+ #
1354
+ # Users may specify either explicit versions offered by Kubernetes Engine or
1355
+ # version aliases, which have the following behavior:
1356
+ #
1357
+ # - "latest": picks the highest valid Kubernetes version
1358
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
1359
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1360
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
1361
+ # - "-": picks the default Kubernetes version
1362
+ # @param name [::String]
1363
+ # The name (project, location, cluster) of the cluster to update.
1364
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1365
+ # @yield [result, operation] Access the result along with the TransportOperation object
1366
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1367
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1368
+ #
1369
+ # @return [::Google::Cloud::Container::V1::Operation]
1370
+ #
1371
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1372
+ #
1373
+ # @example Basic example
1374
+ # require "google/cloud/container/v1"
1375
+ #
1376
+ # # Create a client object. The client can be reused for multiple calls.
1377
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1378
+ #
1379
+ # # Create a request. To set request fields, pass in keyword arguments.
1380
+ # request = Google::Cloud::Container::V1::UpdateMasterRequest.new
1381
+ #
1382
+ # # Call the update_master method.
1383
+ # result = client.update_master request
1384
+ #
1385
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1386
+ # p result
1387
+ #
1388
+ def update_master request, options = nil
1389
+ raise ::ArgumentError, "request must be provided" if request.nil?
1390
+
1391
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::UpdateMasterRequest
1392
+
1393
+ # Converts hash and nil to an options object
1394
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1395
+
1396
+ # Customize the options with defaults
1397
+ call_metadata = @config.rpcs.update_master.metadata.to_h
1398
+
1399
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1400
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1401
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1402
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1403
+ transports_version_send: [:rest]
1404
+
1405
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1406
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1407
+
1408
+ options.apply_defaults timeout: @config.rpcs.update_master.timeout,
1409
+ metadata: call_metadata,
1410
+ retry_policy: @config.rpcs.update_master.retry_policy
1411
+
1412
+ options.apply_defaults timeout: @config.timeout,
1413
+ metadata: @config.metadata,
1414
+ retry_policy: @config.retry_policy
1415
+
1416
+ @cluster_manager_stub.update_master request, options do |result, operation|
1417
+ yield result, operation if block_given?
1418
+ return result
1419
+ end
1420
+ rescue ::Gapic::Rest::Error => e
1421
+ raise ::Google::Cloud::Error.from_error(e)
1422
+ end
1423
+
1424
+ ##
1425
+ # Sets master auth materials. Currently supports changing the admin password
1426
+ # or a specific cluster, either via password generation or explicitly setting
1427
+ # the password.
1428
+ #
1429
+ # @overload set_master_auth(request, options = nil)
1430
+ # Pass arguments to `set_master_auth` via a request object, either of type
1431
+ # {::Google::Cloud::Container::V1::SetMasterAuthRequest} or an equivalent Hash.
1432
+ #
1433
+ # @param request [::Google::Cloud::Container::V1::SetMasterAuthRequest, ::Hash]
1434
+ # A request object representing the call parameters. Required. To specify no
1435
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1436
+ # @param options [::Gapic::CallOptions, ::Hash]
1437
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1438
+ #
1439
+ # @overload set_master_auth(project_id: nil, zone: nil, cluster_id: nil, action: nil, update: nil, name: nil)
1440
+ # Pass arguments to `set_master_auth` via keyword arguments. Note that at
1441
+ # least one keyword argument is required. To specify no parameters, or to keep all
1442
+ # the default parameter values, pass an empty Hash as a request object (see above).
1443
+ #
1444
+ # @param project_id [::String]
1445
+ # Deprecated. The Google Developers Console [project ID or project
1446
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1447
+ # This field has been deprecated and replaced by the name field.
1448
+ # @param zone [::String]
1449
+ # Deprecated. The name of the Google Compute Engine
1450
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1451
+ # cluster resides. This field has been deprecated and replaced by the name
1452
+ # field.
1453
+ # @param cluster_id [::String]
1454
+ # Deprecated. The name of the cluster to upgrade.
1455
+ # This field has been deprecated and replaced by the name field.
1456
+ # @param action [::Google::Cloud::Container::V1::SetMasterAuthRequest::Action]
1457
+ # Required. The exact form of action to be taken on the master auth.
1458
+ # @param update [::Google::Cloud::Container::V1::MasterAuth, ::Hash]
1459
+ # Required. A description of the update.
1460
+ # @param name [::String]
1461
+ # The name (project, location, cluster) of the cluster to set auth.
1462
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1463
+ # @yield [result, operation] Access the result along with the TransportOperation object
1464
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1465
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1466
+ #
1467
+ # @return [::Google::Cloud::Container::V1::Operation]
1468
+ #
1469
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1470
+ #
1471
+ # @example Basic example
1472
+ # require "google/cloud/container/v1"
1473
+ #
1474
+ # # Create a client object. The client can be reused for multiple calls.
1475
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1476
+ #
1477
+ # # Create a request. To set request fields, pass in keyword arguments.
1478
+ # request = Google::Cloud::Container::V1::SetMasterAuthRequest.new
1479
+ #
1480
+ # # Call the set_master_auth method.
1481
+ # result = client.set_master_auth request
1482
+ #
1483
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1484
+ # p result
1485
+ #
1486
+ def set_master_auth request, options = nil
1487
+ raise ::ArgumentError, "request must be provided" if request.nil?
1488
+
1489
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetMasterAuthRequest
1490
+
1491
+ # Converts hash and nil to an options object
1492
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1493
+
1494
+ # Customize the options with defaults
1495
+ call_metadata = @config.rpcs.set_master_auth.metadata.to_h
1496
+
1497
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1498
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1499
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1500
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1501
+ transports_version_send: [:rest]
1502
+
1503
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1504
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1505
+
1506
+ options.apply_defaults timeout: @config.rpcs.set_master_auth.timeout,
1507
+ metadata: call_metadata,
1508
+ retry_policy: @config.rpcs.set_master_auth.retry_policy
1509
+
1510
+ options.apply_defaults timeout: @config.timeout,
1511
+ metadata: @config.metadata,
1512
+ retry_policy: @config.retry_policy
1513
+
1514
+ @cluster_manager_stub.set_master_auth request, options do |result, operation|
1515
+ yield result, operation if block_given?
1516
+ return result
1517
+ end
1518
+ rescue ::Gapic::Rest::Error => e
1519
+ raise ::Google::Cloud::Error.from_error(e)
1520
+ end
1521
+
1522
+ ##
1523
+ # Deletes the cluster, including the Kubernetes endpoint and all worker
1524
+ # nodes.
1525
+ #
1526
+ # Firewalls and routes that were configured during cluster creation
1527
+ # are also deleted.
1528
+ #
1529
+ # Other Google Compute Engine resources that might be in use by the cluster,
1530
+ # such as load balancer resources, are not deleted if they weren't present
1531
+ # when the cluster was initially created.
1532
+ #
1533
+ # @overload delete_cluster(request, options = nil)
1534
+ # Pass arguments to `delete_cluster` via a request object, either of type
1535
+ # {::Google::Cloud::Container::V1::DeleteClusterRequest} or an equivalent Hash.
1536
+ #
1537
+ # @param request [::Google::Cloud::Container::V1::DeleteClusterRequest, ::Hash]
1538
+ # A request object representing the call parameters. Required. To specify no
1539
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1540
+ # @param options [::Gapic::CallOptions, ::Hash]
1541
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1542
+ #
1543
+ # @overload delete_cluster(project_id: nil, zone: nil, cluster_id: nil, name: nil)
1544
+ # Pass arguments to `delete_cluster` via keyword arguments. Note that at
1545
+ # least one keyword argument is required. To specify no parameters, or to keep all
1546
+ # the default parameter values, pass an empty Hash as a request object (see above).
1547
+ #
1548
+ # @param project_id [::String]
1549
+ # Deprecated. The Google Developers Console [project ID or project
1550
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1551
+ # This field has been deprecated and replaced by the name field.
1552
+ # @param zone [::String]
1553
+ # Deprecated. The name of the Google Compute Engine
1554
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1555
+ # cluster resides. This field has been deprecated and replaced by the name
1556
+ # field.
1557
+ # @param cluster_id [::String]
1558
+ # Deprecated. The name of the cluster to delete.
1559
+ # This field has been deprecated and replaced by the name field.
1560
+ # @param name [::String]
1561
+ # The name (project, location, cluster) of the cluster to delete.
1562
+ # Specified in the format `projects/*/locations/*/clusters/*`.
1563
+ # @yield [result, operation] Access the result along with the TransportOperation object
1564
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1565
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1566
+ #
1567
+ # @return [::Google::Cloud::Container::V1::Operation]
1568
+ #
1569
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1570
+ #
1571
+ # @example Basic example
1572
+ # require "google/cloud/container/v1"
1573
+ #
1574
+ # # Create a client object. The client can be reused for multiple calls.
1575
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1576
+ #
1577
+ # # Create a request. To set request fields, pass in keyword arguments.
1578
+ # request = Google::Cloud::Container::V1::DeleteClusterRequest.new
1579
+ #
1580
+ # # Call the delete_cluster method.
1581
+ # result = client.delete_cluster request
1582
+ #
1583
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1584
+ # p result
1585
+ #
1586
+ def delete_cluster request, options = nil
1587
+ raise ::ArgumentError, "request must be provided" if request.nil?
1588
+
1589
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::DeleteClusterRequest
1590
+
1591
+ # Converts hash and nil to an options object
1592
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1593
+
1594
+ # Customize the options with defaults
1595
+ call_metadata = @config.rpcs.delete_cluster.metadata.to_h
1596
+
1597
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1598
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1599
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1600
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1601
+ transports_version_send: [:rest]
1602
+
1603
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1604
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1605
+
1606
+ options.apply_defaults timeout: @config.rpcs.delete_cluster.timeout,
1607
+ metadata: call_metadata,
1608
+ retry_policy: @config.rpcs.delete_cluster.retry_policy
1609
+
1610
+ options.apply_defaults timeout: @config.timeout,
1611
+ metadata: @config.metadata,
1612
+ retry_policy: @config.retry_policy
1613
+
1614
+ @cluster_manager_stub.delete_cluster request, options do |result, operation|
1615
+ yield result, operation if block_given?
1616
+ return result
1617
+ end
1618
+ rescue ::Gapic::Rest::Error => e
1619
+ raise ::Google::Cloud::Error.from_error(e)
1620
+ end
1621
+
1622
+ ##
1623
+ # Lists all operations in a project in a specific zone or all zones.
1624
+ #
1625
+ # @overload list_operations(request, options = nil)
1626
+ # Pass arguments to `list_operations` via a request object, either of type
1627
+ # {::Google::Cloud::Container::V1::ListOperationsRequest} or an equivalent Hash.
1628
+ #
1629
+ # @param request [::Google::Cloud::Container::V1::ListOperationsRequest, ::Hash]
1630
+ # A request object representing the call parameters. Required. To specify no
1631
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1632
+ # @param options [::Gapic::CallOptions, ::Hash]
1633
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1634
+ #
1635
+ # @overload list_operations(project_id: nil, zone: nil, parent: nil)
1636
+ # Pass arguments to `list_operations` via keyword arguments. Note that at
1637
+ # least one keyword argument is required. To specify no parameters, or to keep all
1638
+ # the default parameter values, pass an empty Hash as a request object (see above).
1639
+ #
1640
+ # @param project_id [::String]
1641
+ # Deprecated. The Google Developers Console [project ID or project
1642
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1643
+ # This field has been deprecated and replaced by the parent field.
1644
+ # @param zone [::String]
1645
+ # Deprecated. The name of the Google Compute Engine
1646
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1647
+ # operations for, or `-` for all zones. This field has been deprecated and
1648
+ # replaced by the parent field.
1649
+ # @param parent [::String]
1650
+ # The parent (project and location) where the operations will be listed.
1651
+ # Specified in the format `projects/*/locations/*`.
1652
+ # Location "-" matches all zones and all regions.
1653
+ # @yield [result, operation] Access the result along with the TransportOperation object
1654
+ # @yieldparam result [::Google::Cloud::Container::V1::ListOperationsResponse]
1655
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1656
+ #
1657
+ # @return [::Google::Cloud::Container::V1::ListOperationsResponse]
1658
+ #
1659
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1660
+ #
1661
+ # @example Basic example
1662
+ # require "google/cloud/container/v1"
1663
+ #
1664
+ # # Create a client object. The client can be reused for multiple calls.
1665
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1666
+ #
1667
+ # # Create a request. To set request fields, pass in keyword arguments.
1668
+ # request = Google::Cloud::Container::V1::ListOperationsRequest.new
1669
+ #
1670
+ # # Call the list_operations method.
1671
+ # result = client.list_operations request
1672
+ #
1673
+ # # The returned object is of type Google::Cloud::Container::V1::ListOperationsResponse.
1674
+ # p result
1675
+ #
1676
+ def list_operations request, options = nil
1677
+ raise ::ArgumentError, "request must be provided" if request.nil?
1678
+
1679
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::ListOperationsRequest
1680
+
1681
+ # Converts hash and nil to an options object
1682
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1683
+
1684
+ # Customize the options with defaults
1685
+ call_metadata = @config.rpcs.list_operations.metadata.to_h
1686
+
1687
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1688
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1689
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1690
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1691
+ transports_version_send: [:rest]
1692
+
1693
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1694
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1695
+
1696
+ options.apply_defaults timeout: @config.rpcs.list_operations.timeout,
1697
+ metadata: call_metadata,
1698
+ retry_policy: @config.rpcs.list_operations.retry_policy
1699
+
1700
+ options.apply_defaults timeout: @config.timeout,
1701
+ metadata: @config.metadata,
1702
+ retry_policy: @config.retry_policy
1703
+
1704
+ @cluster_manager_stub.list_operations request, options do |result, operation|
1705
+ yield result, operation if block_given?
1706
+ return result
1707
+ end
1708
+ rescue ::Gapic::Rest::Error => e
1709
+ raise ::Google::Cloud::Error.from_error(e)
1710
+ end
1711
+
1712
+ ##
1713
+ # Gets the specified operation.
1714
+ #
1715
+ # @overload get_operation(request, options = nil)
1716
+ # Pass arguments to `get_operation` via a request object, either of type
1717
+ # {::Google::Cloud::Container::V1::GetOperationRequest} or an equivalent Hash.
1718
+ #
1719
+ # @param request [::Google::Cloud::Container::V1::GetOperationRequest, ::Hash]
1720
+ # A request object representing the call parameters. Required. To specify no
1721
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1722
+ # @param options [::Gapic::CallOptions, ::Hash]
1723
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1724
+ #
1725
+ # @overload get_operation(project_id: nil, zone: nil, operation_id: nil, name: nil)
1726
+ # Pass arguments to `get_operation` via keyword arguments. Note that at
1727
+ # least one keyword argument is required. To specify no parameters, or to keep all
1728
+ # the default parameter values, pass an empty Hash as a request object (see above).
1729
+ #
1730
+ # @param project_id [::String]
1731
+ # Deprecated. The Google Developers Console [project ID or project
1732
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1733
+ # This field has been deprecated and replaced by the name field.
1734
+ # @param zone [::String]
1735
+ # Deprecated. The name of the Google Compute Engine
1736
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1737
+ # cluster resides. This field has been deprecated and replaced by the name
1738
+ # field.
1739
+ # @param operation_id [::String]
1740
+ # Deprecated. The server-assigned `name` of the operation.
1741
+ # This field has been deprecated and replaced by the name field.
1742
+ # @param name [::String]
1743
+ # The name (project, location, operation id) of the operation to get.
1744
+ # Specified in the format `projects/*/locations/*/operations/*`.
1745
+ # @yield [result, operation] Access the result along with the TransportOperation object
1746
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
1747
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1748
+ #
1749
+ # @return [::Google::Cloud::Container::V1::Operation]
1750
+ #
1751
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1752
+ #
1753
+ # @example Basic example
1754
+ # require "google/cloud/container/v1"
1755
+ #
1756
+ # # Create a client object. The client can be reused for multiple calls.
1757
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1758
+ #
1759
+ # # Create a request. To set request fields, pass in keyword arguments.
1760
+ # request = Google::Cloud::Container::V1::GetOperationRequest.new
1761
+ #
1762
+ # # Call the get_operation method.
1763
+ # result = client.get_operation request
1764
+ #
1765
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
1766
+ # p result
1767
+ #
1768
+ def get_operation request, options = nil
1769
+ raise ::ArgumentError, "request must be provided" if request.nil?
1770
+
1771
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetOperationRequest
1772
+
1773
+ # Converts hash and nil to an options object
1774
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1775
+
1776
+ # Customize the options with defaults
1777
+ call_metadata = @config.rpcs.get_operation.metadata.to_h
1778
+
1779
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1780
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1781
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1782
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1783
+ transports_version_send: [:rest]
1784
+
1785
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1786
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1787
+
1788
+ options.apply_defaults timeout: @config.rpcs.get_operation.timeout,
1789
+ metadata: call_metadata,
1790
+ retry_policy: @config.rpcs.get_operation.retry_policy
1791
+
1792
+ options.apply_defaults timeout: @config.timeout,
1793
+ metadata: @config.metadata,
1794
+ retry_policy: @config.retry_policy
1795
+
1796
+ @cluster_manager_stub.get_operation request, options do |result, operation|
1797
+ yield result, operation if block_given?
1798
+ return result
1799
+ end
1800
+ rescue ::Gapic::Rest::Error => e
1801
+ raise ::Google::Cloud::Error.from_error(e)
1802
+ end
1803
+
1804
+ ##
1805
+ # Cancels the specified operation.
1806
+ #
1807
+ # @overload cancel_operation(request, options = nil)
1808
+ # Pass arguments to `cancel_operation` via a request object, either of type
1809
+ # {::Google::Cloud::Container::V1::CancelOperationRequest} or an equivalent Hash.
1810
+ #
1811
+ # @param request [::Google::Cloud::Container::V1::CancelOperationRequest, ::Hash]
1812
+ # A request object representing the call parameters. Required. To specify no
1813
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1814
+ # @param options [::Gapic::CallOptions, ::Hash]
1815
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1816
+ #
1817
+ # @overload cancel_operation(project_id: nil, zone: nil, operation_id: nil, name: nil)
1818
+ # Pass arguments to `cancel_operation` via keyword arguments. Note that at
1819
+ # least one keyword argument is required. To specify no parameters, or to keep all
1820
+ # the default parameter values, pass an empty Hash as a request object (see above).
1821
+ #
1822
+ # @param project_id [::String]
1823
+ # Deprecated. The Google Developers Console [project ID or project
1824
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1825
+ # This field has been deprecated and replaced by the name field.
1826
+ # @param zone [::String]
1827
+ # Deprecated. The name of the Google Compute Engine
1828
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1829
+ # operation resides. This field has been deprecated and replaced by the name
1830
+ # field.
1831
+ # @param operation_id [::String]
1832
+ # Deprecated. The server-assigned `name` of the operation.
1833
+ # This field has been deprecated and replaced by the name field.
1834
+ # @param name [::String]
1835
+ # The name (project, location, operation id) of the operation to cancel.
1836
+ # Specified in the format `projects/*/locations/*/operations/*`.
1837
+ # @yield [result, operation] Access the result along with the TransportOperation object
1838
+ # @yieldparam result [::Google::Protobuf::Empty]
1839
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1840
+ #
1841
+ # @return [::Google::Protobuf::Empty]
1842
+ #
1843
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1844
+ #
1845
+ # @example Basic example
1846
+ # require "google/cloud/container/v1"
1847
+ #
1848
+ # # Create a client object. The client can be reused for multiple calls.
1849
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1850
+ #
1851
+ # # Create a request. To set request fields, pass in keyword arguments.
1852
+ # request = Google::Cloud::Container::V1::CancelOperationRequest.new
1853
+ #
1854
+ # # Call the cancel_operation method.
1855
+ # result = client.cancel_operation request
1856
+ #
1857
+ # # The returned object is of type Google::Protobuf::Empty.
1858
+ # p result
1859
+ #
1860
+ def cancel_operation request, options = nil
1861
+ raise ::ArgumentError, "request must be provided" if request.nil?
1862
+
1863
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CancelOperationRequest
1864
+
1865
+ # Converts hash and nil to an options object
1866
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1867
+
1868
+ # Customize the options with defaults
1869
+ call_metadata = @config.rpcs.cancel_operation.metadata.to_h
1870
+
1871
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1872
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1873
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1874
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1875
+ transports_version_send: [:rest]
1876
+
1877
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1878
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1879
+
1880
+ options.apply_defaults timeout: @config.rpcs.cancel_operation.timeout,
1881
+ metadata: call_metadata,
1882
+ retry_policy: @config.rpcs.cancel_operation.retry_policy
1883
+
1884
+ options.apply_defaults timeout: @config.timeout,
1885
+ metadata: @config.metadata,
1886
+ retry_policy: @config.retry_policy
1887
+
1888
+ @cluster_manager_stub.cancel_operation request, options do |result, operation|
1889
+ yield result, operation if block_given?
1890
+ return result
1891
+ end
1892
+ rescue ::Gapic::Rest::Error => e
1893
+ raise ::Google::Cloud::Error.from_error(e)
1894
+ end
1895
+
1896
+ ##
1897
+ # Returns configuration info about the Google Kubernetes Engine service.
1898
+ #
1899
+ # @overload get_server_config(request, options = nil)
1900
+ # Pass arguments to `get_server_config` via a request object, either of type
1901
+ # {::Google::Cloud::Container::V1::GetServerConfigRequest} or an equivalent Hash.
1902
+ #
1903
+ # @param request [::Google::Cloud::Container::V1::GetServerConfigRequest, ::Hash]
1904
+ # A request object representing the call parameters. Required. To specify no
1905
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1906
+ # @param options [::Gapic::CallOptions, ::Hash]
1907
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1908
+ #
1909
+ # @overload get_server_config(project_id: nil, zone: nil, name: nil)
1910
+ # Pass arguments to `get_server_config` via keyword arguments. Note that at
1911
+ # least one keyword argument is required. To specify no parameters, or to keep all
1912
+ # the default parameter values, pass an empty Hash as a request object (see above).
1913
+ #
1914
+ # @param project_id [::String]
1915
+ # Deprecated. The Google Developers Console [project ID or project
1916
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1917
+ # This field has been deprecated and replaced by the name field.
1918
+ # @param zone [::String]
1919
+ # Deprecated. The name of the Google Compute Engine
1920
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1921
+ # operations for. This field has been deprecated and replaced by the name
1922
+ # field.
1923
+ # @param name [::String]
1924
+ # The name (project and location) of the server config to get,
1925
+ # specified in the format `projects/*/locations/*`.
1926
+ # @yield [result, operation] Access the result along with the TransportOperation object
1927
+ # @yieldparam result [::Google::Cloud::Container::V1::ServerConfig]
1928
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1929
+ #
1930
+ # @return [::Google::Cloud::Container::V1::ServerConfig]
1931
+ #
1932
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1933
+ #
1934
+ # @example Basic example
1935
+ # require "google/cloud/container/v1"
1936
+ #
1937
+ # # Create a client object. The client can be reused for multiple calls.
1938
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
1939
+ #
1940
+ # # Create a request. To set request fields, pass in keyword arguments.
1941
+ # request = Google::Cloud::Container::V1::GetServerConfigRequest.new
1942
+ #
1943
+ # # Call the get_server_config method.
1944
+ # result = client.get_server_config request
1945
+ #
1946
+ # # The returned object is of type Google::Cloud::Container::V1::ServerConfig.
1947
+ # p result
1948
+ #
1949
+ def get_server_config request, options = nil
1950
+ raise ::ArgumentError, "request must be provided" if request.nil?
1951
+
1952
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetServerConfigRequest
1953
+
1954
+ # Converts hash and nil to an options object
1955
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1956
+
1957
+ # Customize the options with defaults
1958
+ call_metadata = @config.rpcs.get_server_config.metadata.to_h
1959
+
1960
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1961
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1962
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1963
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
1964
+ transports_version_send: [:rest]
1965
+
1966
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1967
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1968
+
1969
+ options.apply_defaults timeout: @config.rpcs.get_server_config.timeout,
1970
+ metadata: call_metadata,
1971
+ retry_policy: @config.rpcs.get_server_config.retry_policy
1972
+
1973
+ options.apply_defaults timeout: @config.timeout,
1974
+ metadata: @config.metadata,
1975
+ retry_policy: @config.retry_policy
1976
+
1977
+ @cluster_manager_stub.get_server_config request, options do |result, operation|
1978
+ yield result, operation if block_given?
1979
+ return result
1980
+ end
1981
+ rescue ::Gapic::Rest::Error => e
1982
+ raise ::Google::Cloud::Error.from_error(e)
1983
+ end
1984
+
1985
+ ##
1986
+ # Gets the public component of the cluster signing keys in
1987
+ # JSON Web Key format.
1988
+ #
1989
+ # @overload get_json_web_keys(request, options = nil)
1990
+ # Pass arguments to `get_json_web_keys` via a request object, either of type
1991
+ # {::Google::Cloud::Container::V1::GetJSONWebKeysRequest} or an equivalent Hash.
1992
+ #
1993
+ # @param request [::Google::Cloud::Container::V1::GetJSONWebKeysRequest, ::Hash]
1994
+ # A request object representing the call parameters. Required. To specify no
1995
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1996
+ # @param options [::Gapic::CallOptions, ::Hash]
1997
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1998
+ #
1999
+ # @overload get_json_web_keys(parent: nil)
2000
+ # Pass arguments to `get_json_web_keys` via keyword arguments. Note that at
2001
+ # least one keyword argument is required. To specify no parameters, or to keep all
2002
+ # the default parameter values, pass an empty Hash as a request object (see above).
2003
+ #
2004
+ # @param parent [::String]
2005
+ # The cluster (project, location, cluster name) to get keys for. Specified in
2006
+ # the format `projects/*/locations/*/clusters/*`.
2007
+ # @yield [result, operation] Access the result along with the TransportOperation object
2008
+ # @yieldparam result [::Google::Cloud::Container::V1::GetJSONWebKeysResponse]
2009
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2010
+ #
2011
+ # @return [::Google::Cloud::Container::V1::GetJSONWebKeysResponse]
2012
+ #
2013
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2014
+ #
2015
+ # @example Basic example
2016
+ # require "google/cloud/container/v1"
2017
+ #
2018
+ # # Create a client object. The client can be reused for multiple calls.
2019
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2020
+ #
2021
+ # # Create a request. To set request fields, pass in keyword arguments.
2022
+ # request = Google::Cloud::Container::V1::GetJSONWebKeysRequest.new
2023
+ #
2024
+ # # Call the get_json_web_keys method.
2025
+ # result = client.get_json_web_keys request
2026
+ #
2027
+ # # The returned object is of type Google::Cloud::Container::V1::GetJSONWebKeysResponse.
2028
+ # p result
2029
+ #
2030
+ def get_json_web_keys request, options = nil
2031
+ raise ::ArgumentError, "request must be provided" if request.nil?
2032
+
2033
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetJSONWebKeysRequest
2034
+
2035
+ # Converts hash and nil to an options object
2036
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2037
+
2038
+ # Customize the options with defaults
2039
+ call_metadata = @config.rpcs.get_json_web_keys.metadata.to_h
2040
+
2041
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2042
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2043
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2044
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2045
+ transports_version_send: [:rest]
2046
+
2047
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2048
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2049
+
2050
+ options.apply_defaults timeout: @config.rpcs.get_json_web_keys.timeout,
2051
+ metadata: call_metadata,
2052
+ retry_policy: @config.rpcs.get_json_web_keys.retry_policy
2053
+
2054
+ options.apply_defaults timeout: @config.timeout,
2055
+ metadata: @config.metadata,
2056
+ retry_policy: @config.retry_policy
2057
+
2058
+ @cluster_manager_stub.get_json_web_keys request, options do |result, operation|
2059
+ yield result, operation if block_given?
2060
+ return result
2061
+ end
2062
+ rescue ::Gapic::Rest::Error => e
2063
+ raise ::Google::Cloud::Error.from_error(e)
2064
+ end
2065
+
2066
+ ##
2067
+ # Lists the node pools for a cluster.
2068
+ #
2069
+ # @overload list_node_pools(request, options = nil)
2070
+ # Pass arguments to `list_node_pools` via a request object, either of type
2071
+ # {::Google::Cloud::Container::V1::ListNodePoolsRequest} or an equivalent Hash.
2072
+ #
2073
+ # @param request [::Google::Cloud::Container::V1::ListNodePoolsRequest, ::Hash]
2074
+ # A request object representing the call parameters. Required. To specify no
2075
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2076
+ # @param options [::Gapic::CallOptions, ::Hash]
2077
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2078
+ #
2079
+ # @overload list_node_pools(project_id: nil, zone: nil, cluster_id: nil, parent: nil)
2080
+ # Pass arguments to `list_node_pools` via keyword arguments. Note that at
2081
+ # least one keyword argument is required. To specify no parameters, or to keep all
2082
+ # the default parameter values, pass an empty Hash as a request object (see above).
2083
+ #
2084
+ # @param project_id [::String]
2085
+ # Deprecated. The Google Developers Console [project ID or project
2086
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2087
+ # This field has been deprecated and replaced by the parent field.
2088
+ # @param zone [::String]
2089
+ # Deprecated. The name of the Google Compute Engine
2090
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2091
+ # cluster resides. This field has been deprecated and replaced by the parent
2092
+ # field.
2093
+ # @param cluster_id [::String]
2094
+ # Deprecated. The name of the cluster.
2095
+ # This field has been deprecated and replaced by the parent field.
2096
+ # @param parent [::String]
2097
+ # The parent (project, location, cluster name) where the node pools will be
2098
+ # listed. Specified in the format `projects/*/locations/*/clusters/*`.
2099
+ # @yield [result, operation] Access the result along with the TransportOperation object
2100
+ # @yieldparam result [::Google::Cloud::Container::V1::ListNodePoolsResponse]
2101
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2102
+ #
2103
+ # @return [::Google::Cloud::Container::V1::ListNodePoolsResponse]
2104
+ #
2105
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2106
+ #
2107
+ # @example Basic example
2108
+ # require "google/cloud/container/v1"
2109
+ #
2110
+ # # Create a client object. The client can be reused for multiple calls.
2111
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2112
+ #
2113
+ # # Create a request. To set request fields, pass in keyword arguments.
2114
+ # request = Google::Cloud::Container::V1::ListNodePoolsRequest.new
2115
+ #
2116
+ # # Call the list_node_pools method.
2117
+ # result = client.list_node_pools request
2118
+ #
2119
+ # # The returned object is of type Google::Cloud::Container::V1::ListNodePoolsResponse.
2120
+ # p result
2121
+ #
2122
+ def list_node_pools request, options = nil
2123
+ raise ::ArgumentError, "request must be provided" if request.nil?
2124
+
2125
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::ListNodePoolsRequest
2126
+
2127
+ # Converts hash and nil to an options object
2128
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2129
+
2130
+ # Customize the options with defaults
2131
+ call_metadata = @config.rpcs.list_node_pools.metadata.to_h
2132
+
2133
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2134
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2135
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2136
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2137
+ transports_version_send: [:rest]
2138
+
2139
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2140
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2141
+
2142
+ options.apply_defaults timeout: @config.rpcs.list_node_pools.timeout,
2143
+ metadata: call_metadata,
2144
+ retry_policy: @config.rpcs.list_node_pools.retry_policy
2145
+
2146
+ options.apply_defaults timeout: @config.timeout,
2147
+ metadata: @config.metadata,
2148
+ retry_policy: @config.retry_policy
2149
+
2150
+ @cluster_manager_stub.list_node_pools request, options do |result, operation|
2151
+ yield result, operation if block_given?
2152
+ return result
2153
+ end
2154
+ rescue ::Gapic::Rest::Error => e
2155
+ raise ::Google::Cloud::Error.from_error(e)
2156
+ end
2157
+
2158
+ ##
2159
+ # Retrieves the requested node pool.
2160
+ #
2161
+ # @overload get_node_pool(request, options = nil)
2162
+ # Pass arguments to `get_node_pool` via a request object, either of type
2163
+ # {::Google::Cloud::Container::V1::GetNodePoolRequest} or an equivalent Hash.
2164
+ #
2165
+ # @param request [::Google::Cloud::Container::V1::GetNodePoolRequest, ::Hash]
2166
+ # A request object representing the call parameters. Required. To specify no
2167
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2168
+ # @param options [::Gapic::CallOptions, ::Hash]
2169
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2170
+ #
2171
+ # @overload get_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, name: nil)
2172
+ # Pass arguments to `get_node_pool` via keyword arguments. Note that at
2173
+ # least one keyword argument is required. To specify no parameters, or to keep all
2174
+ # the default parameter values, pass an empty Hash as a request object (see above).
2175
+ #
2176
+ # @param project_id [::String]
2177
+ # Deprecated. The Google Developers Console [project ID or project
2178
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2179
+ # This field has been deprecated and replaced by the name field.
2180
+ # @param zone [::String]
2181
+ # Deprecated. The name of the Google Compute Engine
2182
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2183
+ # cluster resides. This field has been deprecated and replaced by the name
2184
+ # field.
2185
+ # @param cluster_id [::String]
2186
+ # Deprecated. The name of the cluster.
2187
+ # This field has been deprecated and replaced by the name field.
2188
+ # @param node_pool_id [::String]
2189
+ # Deprecated. The name of the node pool.
2190
+ # This field has been deprecated and replaced by the name field.
2191
+ # @param name [::String]
2192
+ # The name (project, location, cluster, node pool id) of the node pool to
2193
+ # get. Specified in the format
2194
+ # `projects/*/locations/*/clusters/*/nodePools/*`.
2195
+ # @yield [result, operation] Access the result along with the TransportOperation object
2196
+ # @yieldparam result [::Google::Cloud::Container::V1::NodePool]
2197
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2198
+ #
2199
+ # @return [::Google::Cloud::Container::V1::NodePool]
2200
+ #
2201
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2202
+ #
2203
+ # @example Basic example
2204
+ # require "google/cloud/container/v1"
2205
+ #
2206
+ # # Create a client object. The client can be reused for multiple calls.
2207
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2208
+ #
2209
+ # # Create a request. To set request fields, pass in keyword arguments.
2210
+ # request = Google::Cloud::Container::V1::GetNodePoolRequest.new
2211
+ #
2212
+ # # Call the get_node_pool method.
2213
+ # result = client.get_node_pool request
2214
+ #
2215
+ # # The returned object is of type Google::Cloud::Container::V1::NodePool.
2216
+ # p result
2217
+ #
2218
+ def get_node_pool request, options = nil
2219
+ raise ::ArgumentError, "request must be provided" if request.nil?
2220
+
2221
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetNodePoolRequest
2222
+
2223
+ # Converts hash and nil to an options object
2224
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2225
+
2226
+ # Customize the options with defaults
2227
+ call_metadata = @config.rpcs.get_node_pool.metadata.to_h
2228
+
2229
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2230
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2231
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2232
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2233
+ transports_version_send: [:rest]
2234
+
2235
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2236
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2237
+
2238
+ options.apply_defaults timeout: @config.rpcs.get_node_pool.timeout,
2239
+ metadata: call_metadata,
2240
+ retry_policy: @config.rpcs.get_node_pool.retry_policy
2241
+
2242
+ options.apply_defaults timeout: @config.timeout,
2243
+ metadata: @config.metadata,
2244
+ retry_policy: @config.retry_policy
2245
+
2246
+ @cluster_manager_stub.get_node_pool request, options do |result, operation|
2247
+ yield result, operation if block_given?
2248
+ return result
2249
+ end
2250
+ rescue ::Gapic::Rest::Error => e
2251
+ raise ::Google::Cloud::Error.from_error(e)
2252
+ end
2253
+
2254
+ ##
2255
+ # Creates a node pool for a cluster.
2256
+ #
2257
+ # @overload create_node_pool(request, options = nil)
2258
+ # Pass arguments to `create_node_pool` via a request object, either of type
2259
+ # {::Google::Cloud::Container::V1::CreateNodePoolRequest} or an equivalent Hash.
2260
+ #
2261
+ # @param request [::Google::Cloud::Container::V1::CreateNodePoolRequest, ::Hash]
2262
+ # A request object representing the call parameters. Required. To specify no
2263
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2264
+ # @param options [::Gapic::CallOptions, ::Hash]
2265
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2266
+ #
2267
+ # @overload create_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool: nil, parent: nil)
2268
+ # Pass arguments to `create_node_pool` via keyword arguments. Note that at
2269
+ # least one keyword argument is required. To specify no parameters, or to keep all
2270
+ # the default parameter values, pass an empty Hash as a request object (see above).
2271
+ #
2272
+ # @param project_id [::String]
2273
+ # Deprecated. The Google Developers Console [project ID or project
2274
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2275
+ # This field has been deprecated and replaced by the parent field.
2276
+ # @param zone [::String]
2277
+ # Deprecated. The name of the Google Compute Engine
2278
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2279
+ # cluster resides. This field has been deprecated and replaced by the parent
2280
+ # field.
2281
+ # @param cluster_id [::String]
2282
+ # Deprecated. The name of the cluster.
2283
+ # This field has been deprecated and replaced by the parent field.
2284
+ # @param node_pool [::Google::Cloud::Container::V1::NodePool, ::Hash]
2285
+ # Required. The node pool to create.
2286
+ # @param parent [::String]
2287
+ # The parent (project, location, cluster name) where the node pool will be
2288
+ # created. Specified in the format
2289
+ # `projects/*/locations/*/clusters/*`.
2290
+ # @yield [result, operation] Access the result along with the TransportOperation object
2291
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2292
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2293
+ #
2294
+ # @return [::Google::Cloud::Container::V1::Operation]
2295
+ #
2296
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2297
+ #
2298
+ # @example Basic example
2299
+ # require "google/cloud/container/v1"
2300
+ #
2301
+ # # Create a client object. The client can be reused for multiple calls.
2302
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2303
+ #
2304
+ # # Create a request. To set request fields, pass in keyword arguments.
2305
+ # request = Google::Cloud::Container::V1::CreateNodePoolRequest.new
2306
+ #
2307
+ # # Call the create_node_pool method.
2308
+ # result = client.create_node_pool request
2309
+ #
2310
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2311
+ # p result
2312
+ #
2313
+ def create_node_pool request, options = nil
2314
+ raise ::ArgumentError, "request must be provided" if request.nil?
2315
+
2316
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CreateNodePoolRequest
2317
+
2318
+ # Converts hash and nil to an options object
2319
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2320
+
2321
+ # Customize the options with defaults
2322
+ call_metadata = @config.rpcs.create_node_pool.metadata.to_h
2323
+
2324
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2325
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2326
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2327
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2328
+ transports_version_send: [:rest]
2329
+
2330
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2331
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2332
+
2333
+ options.apply_defaults timeout: @config.rpcs.create_node_pool.timeout,
2334
+ metadata: call_metadata,
2335
+ retry_policy: @config.rpcs.create_node_pool.retry_policy
2336
+
2337
+ options.apply_defaults timeout: @config.timeout,
2338
+ metadata: @config.metadata,
2339
+ retry_policy: @config.retry_policy
2340
+
2341
+ @cluster_manager_stub.create_node_pool request, options do |result, operation|
2342
+ yield result, operation if block_given?
2343
+ return result
2344
+ end
2345
+ rescue ::Gapic::Rest::Error => e
2346
+ raise ::Google::Cloud::Error.from_error(e)
2347
+ end
2348
+
2349
+ ##
2350
+ # Deletes a node pool from a cluster.
2351
+ #
2352
+ # @overload delete_node_pool(request, options = nil)
2353
+ # Pass arguments to `delete_node_pool` via a request object, either of type
2354
+ # {::Google::Cloud::Container::V1::DeleteNodePoolRequest} or an equivalent Hash.
2355
+ #
2356
+ # @param request [::Google::Cloud::Container::V1::DeleteNodePoolRequest, ::Hash]
2357
+ # A request object representing the call parameters. Required. To specify no
2358
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2359
+ # @param options [::Gapic::CallOptions, ::Hash]
2360
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2361
+ #
2362
+ # @overload delete_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, name: nil)
2363
+ # Pass arguments to `delete_node_pool` via keyword arguments. Note that at
2364
+ # least one keyword argument is required. To specify no parameters, or to keep all
2365
+ # the default parameter values, pass an empty Hash as a request object (see above).
2366
+ #
2367
+ # @param project_id [::String]
2368
+ # Deprecated. The Google Developers Console [project ID or project
2369
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2370
+ # This field has been deprecated and replaced by the name field.
2371
+ # @param zone [::String]
2372
+ # Deprecated. The name of the Google Compute Engine
2373
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2374
+ # cluster resides. This field has been deprecated and replaced by the name
2375
+ # field.
2376
+ # @param cluster_id [::String]
2377
+ # Deprecated. The name of the cluster.
2378
+ # This field has been deprecated and replaced by the name field.
2379
+ # @param node_pool_id [::String]
2380
+ # Deprecated. The name of the node pool to delete.
2381
+ # This field has been deprecated and replaced by the name field.
2382
+ # @param name [::String]
2383
+ # The name (project, location, cluster, node pool id) of the node pool to
2384
+ # delete. Specified in the format
2385
+ # `projects/*/locations/*/clusters/*/nodePools/*`.
2386
+ # @yield [result, operation] Access the result along with the TransportOperation object
2387
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2388
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2389
+ #
2390
+ # @return [::Google::Cloud::Container::V1::Operation]
2391
+ #
2392
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2393
+ #
2394
+ # @example Basic example
2395
+ # require "google/cloud/container/v1"
2396
+ #
2397
+ # # Create a client object. The client can be reused for multiple calls.
2398
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2399
+ #
2400
+ # # Create a request. To set request fields, pass in keyword arguments.
2401
+ # request = Google::Cloud::Container::V1::DeleteNodePoolRequest.new
2402
+ #
2403
+ # # Call the delete_node_pool method.
2404
+ # result = client.delete_node_pool request
2405
+ #
2406
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2407
+ # p result
2408
+ #
2409
+ def delete_node_pool request, options = nil
2410
+ raise ::ArgumentError, "request must be provided" if request.nil?
2411
+
2412
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::DeleteNodePoolRequest
2413
+
2414
+ # Converts hash and nil to an options object
2415
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2416
+
2417
+ # Customize the options with defaults
2418
+ call_metadata = @config.rpcs.delete_node_pool.metadata.to_h
2419
+
2420
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2421
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2422
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2423
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2424
+ transports_version_send: [:rest]
2425
+
2426
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2427
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2428
+
2429
+ options.apply_defaults timeout: @config.rpcs.delete_node_pool.timeout,
2430
+ metadata: call_metadata,
2431
+ retry_policy: @config.rpcs.delete_node_pool.retry_policy
2432
+
2433
+ options.apply_defaults timeout: @config.timeout,
2434
+ metadata: @config.metadata,
2435
+ retry_policy: @config.retry_policy
2436
+
2437
+ @cluster_manager_stub.delete_node_pool request, options do |result, operation|
2438
+ yield result, operation if block_given?
2439
+ return result
2440
+ end
2441
+ rescue ::Gapic::Rest::Error => e
2442
+ raise ::Google::Cloud::Error.from_error(e)
2443
+ end
2444
+
2445
+ ##
2446
+ # CompleteNodePoolUpgrade will signal an on-going node pool upgrade to
2447
+ # complete.
2448
+ #
2449
+ # @overload complete_node_pool_upgrade(request, options = nil)
2450
+ # Pass arguments to `complete_node_pool_upgrade` via a request object, either of type
2451
+ # {::Google::Cloud::Container::V1::CompleteNodePoolUpgradeRequest} or an equivalent Hash.
2452
+ #
2453
+ # @param request [::Google::Cloud::Container::V1::CompleteNodePoolUpgradeRequest, ::Hash]
2454
+ # A request object representing the call parameters. Required. To specify no
2455
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2456
+ # @param options [::Gapic::CallOptions, ::Hash]
2457
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2458
+ #
2459
+ # @overload complete_node_pool_upgrade(name: nil)
2460
+ # Pass arguments to `complete_node_pool_upgrade` via keyword arguments. Note that at
2461
+ # least one keyword argument is required. To specify no parameters, or to keep all
2462
+ # the default parameter values, pass an empty Hash as a request object (see above).
2463
+ #
2464
+ # @param name [::String]
2465
+ # The name (project, location, cluster, node pool id) of the node pool to
2466
+ # complete upgrade.
2467
+ # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
2468
+ # @yield [result, operation] Access the result along with the TransportOperation object
2469
+ # @yieldparam result [::Google::Protobuf::Empty]
2470
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2471
+ #
2472
+ # @return [::Google::Protobuf::Empty]
2473
+ #
2474
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2475
+ #
2476
+ # @example Basic example
2477
+ # require "google/cloud/container/v1"
2478
+ #
2479
+ # # Create a client object. The client can be reused for multiple calls.
2480
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2481
+ #
2482
+ # # Create a request. To set request fields, pass in keyword arguments.
2483
+ # request = Google::Cloud::Container::V1::CompleteNodePoolUpgradeRequest.new
2484
+ #
2485
+ # # Call the complete_node_pool_upgrade method.
2486
+ # result = client.complete_node_pool_upgrade request
2487
+ #
2488
+ # # The returned object is of type Google::Protobuf::Empty.
2489
+ # p result
2490
+ #
2491
+ def complete_node_pool_upgrade request, options = nil
2492
+ raise ::ArgumentError, "request must be provided" if request.nil?
2493
+
2494
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CompleteNodePoolUpgradeRequest
2495
+
2496
+ # Converts hash and nil to an options object
2497
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2498
+
2499
+ # Customize the options with defaults
2500
+ call_metadata = @config.rpcs.complete_node_pool_upgrade.metadata.to_h
2501
+
2502
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2503
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2504
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2505
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2506
+ transports_version_send: [:rest]
2507
+
2508
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2509
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2510
+
2511
+ options.apply_defaults timeout: @config.rpcs.complete_node_pool_upgrade.timeout,
2512
+ metadata: call_metadata,
2513
+ retry_policy: @config.rpcs.complete_node_pool_upgrade.retry_policy
2514
+
2515
+ options.apply_defaults timeout: @config.timeout,
2516
+ metadata: @config.metadata,
2517
+ retry_policy: @config.retry_policy
2518
+
2519
+ @cluster_manager_stub.complete_node_pool_upgrade request, options do |result, operation|
2520
+ yield result, operation if block_given?
2521
+ return result
2522
+ end
2523
+ rescue ::Gapic::Rest::Error => e
2524
+ raise ::Google::Cloud::Error.from_error(e)
2525
+ end
2526
+
2527
+ ##
2528
+ # Rolls back a previously Aborted or Failed NodePool upgrade.
2529
+ # This makes no changes if the last upgrade successfully completed.
2530
+ #
2531
+ # @overload rollback_node_pool_upgrade(request, options = nil)
2532
+ # Pass arguments to `rollback_node_pool_upgrade` via a request object, either of type
2533
+ # {::Google::Cloud::Container::V1::RollbackNodePoolUpgradeRequest} or an equivalent Hash.
2534
+ #
2535
+ # @param request [::Google::Cloud::Container::V1::RollbackNodePoolUpgradeRequest, ::Hash]
2536
+ # A request object representing the call parameters. Required. To specify no
2537
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2538
+ # @param options [::Gapic::CallOptions, ::Hash]
2539
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2540
+ #
2541
+ # @overload rollback_node_pool_upgrade(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, name: nil, respect_pdb: nil)
2542
+ # Pass arguments to `rollback_node_pool_upgrade` via keyword arguments. Note that at
2543
+ # least one keyword argument is required. To specify no parameters, or to keep all
2544
+ # the default parameter values, pass an empty Hash as a request object (see above).
2545
+ #
2546
+ # @param project_id [::String]
2547
+ # Deprecated. The Google Developers Console [project ID or project
2548
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2549
+ # This field has been deprecated and replaced by the name field.
2550
+ # @param zone [::String]
2551
+ # Deprecated. The name of the Google Compute Engine
2552
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2553
+ # cluster resides. This field has been deprecated and replaced by the name
2554
+ # field.
2555
+ # @param cluster_id [::String]
2556
+ # Deprecated. The name of the cluster to rollback.
2557
+ # This field has been deprecated and replaced by the name field.
2558
+ # @param node_pool_id [::String]
2559
+ # Deprecated. The name of the node pool to rollback.
2560
+ # This field has been deprecated and replaced by the name field.
2561
+ # @param name [::String]
2562
+ # The name (project, location, cluster, node pool id) of the node poll to
2563
+ # rollback upgrade.
2564
+ # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
2565
+ # @param respect_pdb [::Boolean]
2566
+ # Option for rollback to ignore the PodDisruptionBudget.
2567
+ # Default value is false.
2568
+ # @yield [result, operation] Access the result along with the TransportOperation object
2569
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2570
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2571
+ #
2572
+ # @return [::Google::Cloud::Container::V1::Operation]
2573
+ #
2574
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2575
+ #
2576
+ # @example Basic example
2577
+ # require "google/cloud/container/v1"
2578
+ #
2579
+ # # Create a client object. The client can be reused for multiple calls.
2580
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2581
+ #
2582
+ # # Create a request. To set request fields, pass in keyword arguments.
2583
+ # request = Google::Cloud::Container::V1::RollbackNodePoolUpgradeRequest.new
2584
+ #
2585
+ # # Call the rollback_node_pool_upgrade method.
2586
+ # result = client.rollback_node_pool_upgrade request
2587
+ #
2588
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2589
+ # p result
2590
+ #
2591
+ def rollback_node_pool_upgrade request, options = nil
2592
+ raise ::ArgumentError, "request must be provided" if request.nil?
2593
+
2594
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::RollbackNodePoolUpgradeRequest
2595
+
2596
+ # Converts hash and nil to an options object
2597
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2598
+
2599
+ # Customize the options with defaults
2600
+ call_metadata = @config.rpcs.rollback_node_pool_upgrade.metadata.to_h
2601
+
2602
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2603
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2604
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2605
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2606
+ transports_version_send: [:rest]
2607
+
2608
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2609
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2610
+
2611
+ options.apply_defaults timeout: @config.rpcs.rollback_node_pool_upgrade.timeout,
2612
+ metadata: call_metadata,
2613
+ retry_policy: @config.rpcs.rollback_node_pool_upgrade.retry_policy
2614
+
2615
+ options.apply_defaults timeout: @config.timeout,
2616
+ metadata: @config.metadata,
2617
+ retry_policy: @config.retry_policy
2618
+
2619
+ @cluster_manager_stub.rollback_node_pool_upgrade request, options do |result, operation|
2620
+ yield result, operation if block_given?
2621
+ return result
2622
+ end
2623
+ rescue ::Gapic::Rest::Error => e
2624
+ raise ::Google::Cloud::Error.from_error(e)
2625
+ end
2626
+
2627
+ ##
2628
+ # Sets the NodeManagement options for a node pool.
2629
+ #
2630
+ # @overload set_node_pool_management(request, options = nil)
2631
+ # Pass arguments to `set_node_pool_management` via a request object, either of type
2632
+ # {::Google::Cloud::Container::V1::SetNodePoolManagementRequest} or an equivalent Hash.
2633
+ #
2634
+ # @param request [::Google::Cloud::Container::V1::SetNodePoolManagementRequest, ::Hash]
2635
+ # A request object representing the call parameters. Required. To specify no
2636
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2637
+ # @param options [::Gapic::CallOptions, ::Hash]
2638
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2639
+ #
2640
+ # @overload set_node_pool_management(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, management: nil, name: nil)
2641
+ # Pass arguments to `set_node_pool_management` via keyword arguments. Note that at
2642
+ # least one keyword argument is required. To specify no parameters, or to keep all
2643
+ # the default parameter values, pass an empty Hash as a request object (see above).
2644
+ #
2645
+ # @param project_id [::String]
2646
+ # Deprecated. The Google Developers Console [project ID or project
2647
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2648
+ # This field has been deprecated and replaced by the name field.
2649
+ # @param zone [::String]
2650
+ # Deprecated. The name of the Google Compute Engine
2651
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2652
+ # cluster resides. This field has been deprecated and replaced by the name
2653
+ # field.
2654
+ # @param cluster_id [::String]
2655
+ # Deprecated. The name of the cluster to update.
2656
+ # This field has been deprecated and replaced by the name field.
2657
+ # @param node_pool_id [::String]
2658
+ # Deprecated. The name of the node pool to update.
2659
+ # This field has been deprecated and replaced by the name field.
2660
+ # @param management [::Google::Cloud::Container::V1::NodeManagement, ::Hash]
2661
+ # Required. NodeManagement configuration for the node pool.
2662
+ # @param name [::String]
2663
+ # The name (project, location, cluster, node pool id) of the node pool to set
2664
+ # management properties. Specified in the format
2665
+ # `projects/*/locations/*/clusters/*/nodePools/*`.
2666
+ # @yield [result, operation] Access the result along with the TransportOperation object
2667
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2668
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2669
+ #
2670
+ # @return [::Google::Cloud::Container::V1::Operation]
2671
+ #
2672
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2673
+ #
2674
+ # @example Basic example
2675
+ # require "google/cloud/container/v1"
2676
+ #
2677
+ # # Create a client object. The client can be reused for multiple calls.
2678
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2679
+ #
2680
+ # # Create a request. To set request fields, pass in keyword arguments.
2681
+ # request = Google::Cloud::Container::V1::SetNodePoolManagementRequest.new
2682
+ #
2683
+ # # Call the set_node_pool_management method.
2684
+ # result = client.set_node_pool_management request
2685
+ #
2686
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2687
+ # p result
2688
+ #
2689
+ def set_node_pool_management request, options = nil
2690
+ raise ::ArgumentError, "request must be provided" if request.nil?
2691
+
2692
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetNodePoolManagementRequest
2693
+
2694
+ # Converts hash and nil to an options object
2695
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2696
+
2697
+ # Customize the options with defaults
2698
+ call_metadata = @config.rpcs.set_node_pool_management.metadata.to_h
2699
+
2700
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2701
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2702
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2703
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2704
+ transports_version_send: [:rest]
2705
+
2706
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2707
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2708
+
2709
+ options.apply_defaults timeout: @config.rpcs.set_node_pool_management.timeout,
2710
+ metadata: call_metadata,
2711
+ retry_policy: @config.rpcs.set_node_pool_management.retry_policy
2712
+
2713
+ options.apply_defaults timeout: @config.timeout,
2714
+ metadata: @config.metadata,
2715
+ retry_policy: @config.retry_policy
2716
+
2717
+ @cluster_manager_stub.set_node_pool_management request, options do |result, operation|
2718
+ yield result, operation if block_given?
2719
+ return result
2720
+ end
2721
+ rescue ::Gapic::Rest::Error => e
2722
+ raise ::Google::Cloud::Error.from_error(e)
2723
+ end
2724
+
2725
+ ##
2726
+ # Sets labels on a cluster.
2727
+ #
2728
+ # @overload set_labels(request, options = nil)
2729
+ # Pass arguments to `set_labels` via a request object, either of type
2730
+ # {::Google::Cloud::Container::V1::SetLabelsRequest} or an equivalent Hash.
2731
+ #
2732
+ # @param request [::Google::Cloud::Container::V1::SetLabelsRequest, ::Hash]
2733
+ # A request object representing the call parameters. Required. To specify no
2734
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2735
+ # @param options [::Gapic::CallOptions, ::Hash]
2736
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2737
+ #
2738
+ # @overload set_labels(project_id: nil, zone: nil, cluster_id: nil, resource_labels: nil, label_fingerprint: nil, name: nil)
2739
+ # Pass arguments to `set_labels` via keyword arguments. Note that at
2740
+ # least one keyword argument is required. To specify no parameters, or to keep all
2741
+ # the default parameter values, pass an empty Hash as a request object (see above).
2742
+ #
2743
+ # @param project_id [::String]
2744
+ # Deprecated. The Google Developers Console [project ID or project
2745
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2746
+ # This field has been deprecated and replaced by the name field.
2747
+ # @param zone [::String]
2748
+ # Deprecated. The name of the Google Compute Engine
2749
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2750
+ # cluster resides. This field has been deprecated and replaced by the name
2751
+ # field.
2752
+ # @param cluster_id [::String]
2753
+ # Deprecated. The name of the cluster.
2754
+ # This field has been deprecated and replaced by the name field.
2755
+ # @param resource_labels [::Hash{::String => ::String}]
2756
+ # Required. The labels to set for that cluster.
2757
+ # @param label_fingerprint [::String]
2758
+ # Required. The fingerprint of the previous set of labels for this resource,
2759
+ # used to detect conflicts. The fingerprint is initially generated by
2760
+ # Kubernetes Engine and changes after every request to modify or update
2761
+ # labels. You must always provide an up-to-date fingerprint hash when
2762
+ # updating or changing labels. Make a `get()` request to the
2763
+ # resource to get the latest fingerprint.
2764
+ # @param name [::String]
2765
+ # The name (project, location, cluster name) of the cluster to set labels.
2766
+ # Specified in the format `projects/*/locations/*/clusters/*`.
2767
+ # @yield [result, operation] Access the result along with the TransportOperation object
2768
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2769
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2770
+ #
2771
+ # @return [::Google::Cloud::Container::V1::Operation]
2772
+ #
2773
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2774
+ #
2775
+ # @example Basic example
2776
+ # require "google/cloud/container/v1"
2777
+ #
2778
+ # # Create a client object. The client can be reused for multiple calls.
2779
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2780
+ #
2781
+ # # Create a request. To set request fields, pass in keyword arguments.
2782
+ # request = Google::Cloud::Container::V1::SetLabelsRequest.new
2783
+ #
2784
+ # # Call the set_labels method.
2785
+ # result = client.set_labels request
2786
+ #
2787
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2788
+ # p result
2789
+ #
2790
+ def set_labels request, options = nil
2791
+ raise ::ArgumentError, "request must be provided" if request.nil?
2792
+
2793
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetLabelsRequest
2794
+
2795
+ # Converts hash and nil to an options object
2796
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2797
+
2798
+ # Customize the options with defaults
2799
+ call_metadata = @config.rpcs.set_labels.metadata.to_h
2800
+
2801
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2802
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2803
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2804
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2805
+ transports_version_send: [:rest]
2806
+
2807
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2808
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2809
+
2810
+ options.apply_defaults timeout: @config.rpcs.set_labels.timeout,
2811
+ metadata: call_metadata,
2812
+ retry_policy: @config.rpcs.set_labels.retry_policy
2813
+
2814
+ options.apply_defaults timeout: @config.timeout,
2815
+ metadata: @config.metadata,
2816
+ retry_policy: @config.retry_policy
2817
+
2818
+ @cluster_manager_stub.set_labels request, options do |result, operation|
2819
+ yield result, operation if block_given?
2820
+ return result
2821
+ end
2822
+ rescue ::Gapic::Rest::Error => e
2823
+ raise ::Google::Cloud::Error.from_error(e)
2824
+ end
2825
+
2826
+ ##
2827
+ # Enables or disables the ABAC authorization mechanism on a cluster.
2828
+ #
2829
+ # @overload set_legacy_abac(request, options = nil)
2830
+ # Pass arguments to `set_legacy_abac` via a request object, either of type
2831
+ # {::Google::Cloud::Container::V1::SetLegacyAbacRequest} or an equivalent Hash.
2832
+ #
2833
+ # @param request [::Google::Cloud::Container::V1::SetLegacyAbacRequest, ::Hash]
2834
+ # A request object representing the call parameters. Required. To specify no
2835
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2836
+ # @param options [::Gapic::CallOptions, ::Hash]
2837
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2838
+ #
2839
+ # @overload set_legacy_abac(project_id: nil, zone: nil, cluster_id: nil, enabled: nil, name: nil)
2840
+ # Pass arguments to `set_legacy_abac` via keyword arguments. Note that at
2841
+ # least one keyword argument is required. To specify no parameters, or to keep all
2842
+ # the default parameter values, pass an empty Hash as a request object (see above).
2843
+ #
2844
+ # @param project_id [::String]
2845
+ # Deprecated. The Google Developers Console [project ID or project
2846
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2847
+ # This field has been deprecated and replaced by the name field.
2848
+ # @param zone [::String]
2849
+ # Deprecated. The name of the Google Compute Engine
2850
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2851
+ # cluster resides. This field has been deprecated and replaced by the name
2852
+ # field.
2853
+ # @param cluster_id [::String]
2854
+ # Deprecated. The name of the cluster to update.
2855
+ # This field has been deprecated and replaced by the name field.
2856
+ # @param enabled [::Boolean]
2857
+ # Required. Whether ABAC authorization will be enabled in the cluster.
2858
+ # @param name [::String]
2859
+ # The name (project, location, cluster name) of the cluster to set legacy
2860
+ # abac. Specified in the format `projects/*/locations/*/clusters/*`.
2861
+ # @yield [result, operation] Access the result along with the TransportOperation object
2862
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2863
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2864
+ #
2865
+ # @return [::Google::Cloud::Container::V1::Operation]
2866
+ #
2867
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2868
+ #
2869
+ # @example Basic example
2870
+ # require "google/cloud/container/v1"
2871
+ #
2872
+ # # Create a client object. The client can be reused for multiple calls.
2873
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2874
+ #
2875
+ # # Create a request. To set request fields, pass in keyword arguments.
2876
+ # request = Google::Cloud::Container::V1::SetLegacyAbacRequest.new
2877
+ #
2878
+ # # Call the set_legacy_abac method.
2879
+ # result = client.set_legacy_abac request
2880
+ #
2881
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2882
+ # p result
2883
+ #
2884
+ def set_legacy_abac request, options = nil
2885
+ raise ::ArgumentError, "request must be provided" if request.nil?
2886
+
2887
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetLegacyAbacRequest
2888
+
2889
+ # Converts hash and nil to an options object
2890
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2891
+
2892
+ # Customize the options with defaults
2893
+ call_metadata = @config.rpcs.set_legacy_abac.metadata.to_h
2894
+
2895
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2896
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2897
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2898
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2899
+ transports_version_send: [:rest]
2900
+
2901
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2902
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2903
+
2904
+ options.apply_defaults timeout: @config.rpcs.set_legacy_abac.timeout,
2905
+ metadata: call_metadata,
2906
+ retry_policy: @config.rpcs.set_legacy_abac.retry_policy
2907
+
2908
+ options.apply_defaults timeout: @config.timeout,
2909
+ metadata: @config.metadata,
2910
+ retry_policy: @config.retry_policy
2911
+
2912
+ @cluster_manager_stub.set_legacy_abac request, options do |result, operation|
2913
+ yield result, operation if block_given?
2914
+ return result
2915
+ end
2916
+ rescue ::Gapic::Rest::Error => e
2917
+ raise ::Google::Cloud::Error.from_error(e)
2918
+ end
2919
+
2920
+ ##
2921
+ # Starts master IP rotation.
2922
+ #
2923
+ # @overload start_ip_rotation(request, options = nil)
2924
+ # Pass arguments to `start_ip_rotation` via a request object, either of type
2925
+ # {::Google::Cloud::Container::V1::StartIPRotationRequest} or an equivalent Hash.
2926
+ #
2927
+ # @param request [::Google::Cloud::Container::V1::StartIPRotationRequest, ::Hash]
2928
+ # A request object representing the call parameters. Required. To specify no
2929
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2930
+ # @param options [::Gapic::CallOptions, ::Hash]
2931
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2932
+ #
2933
+ # @overload start_ip_rotation(project_id: nil, zone: nil, cluster_id: nil, name: nil, rotate_credentials: nil)
2934
+ # Pass arguments to `start_ip_rotation` via keyword arguments. Note that at
2935
+ # least one keyword argument is required. To specify no parameters, or to keep all
2936
+ # the default parameter values, pass an empty Hash as a request object (see above).
2937
+ #
2938
+ # @param project_id [::String]
2939
+ # Deprecated. The Google Developers Console [project ID or project
2940
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2941
+ # This field has been deprecated and replaced by the name field.
2942
+ # @param zone [::String]
2943
+ # Deprecated. The name of the Google Compute Engine
2944
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2945
+ # cluster resides. This field has been deprecated and replaced by the name
2946
+ # field.
2947
+ # @param cluster_id [::String]
2948
+ # Deprecated. The name of the cluster.
2949
+ # This field has been deprecated and replaced by the name field.
2950
+ # @param name [::String]
2951
+ # The name (project, location, cluster name) of the cluster to start IP
2952
+ # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
2953
+ # @param rotate_credentials [::Boolean]
2954
+ # Whether to rotate credentials during IP rotation.
2955
+ # @yield [result, operation] Access the result along with the TransportOperation object
2956
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
2957
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2958
+ #
2959
+ # @return [::Google::Cloud::Container::V1::Operation]
2960
+ #
2961
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2962
+ #
2963
+ # @example Basic example
2964
+ # require "google/cloud/container/v1"
2965
+ #
2966
+ # # Create a client object. The client can be reused for multiple calls.
2967
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
2968
+ #
2969
+ # # Create a request. To set request fields, pass in keyword arguments.
2970
+ # request = Google::Cloud::Container::V1::StartIPRotationRequest.new
2971
+ #
2972
+ # # Call the start_ip_rotation method.
2973
+ # result = client.start_ip_rotation request
2974
+ #
2975
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
2976
+ # p result
2977
+ #
2978
+ def start_ip_rotation request, options = nil
2979
+ raise ::ArgumentError, "request must be provided" if request.nil?
2980
+
2981
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::StartIPRotationRequest
2982
+
2983
+ # Converts hash and nil to an options object
2984
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2985
+
2986
+ # Customize the options with defaults
2987
+ call_metadata = @config.rpcs.start_ip_rotation.metadata.to_h
2988
+
2989
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2990
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2991
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2992
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
2993
+ transports_version_send: [:rest]
2994
+
2995
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2996
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2997
+
2998
+ options.apply_defaults timeout: @config.rpcs.start_ip_rotation.timeout,
2999
+ metadata: call_metadata,
3000
+ retry_policy: @config.rpcs.start_ip_rotation.retry_policy
3001
+
3002
+ options.apply_defaults timeout: @config.timeout,
3003
+ metadata: @config.metadata,
3004
+ retry_policy: @config.retry_policy
3005
+
3006
+ @cluster_manager_stub.start_ip_rotation request, options do |result, operation|
3007
+ yield result, operation if block_given?
3008
+ return result
3009
+ end
3010
+ rescue ::Gapic::Rest::Error => e
3011
+ raise ::Google::Cloud::Error.from_error(e)
3012
+ end
3013
+
3014
+ ##
3015
+ # Completes master IP rotation.
3016
+ #
3017
+ # @overload complete_ip_rotation(request, options = nil)
3018
+ # Pass arguments to `complete_ip_rotation` via a request object, either of type
3019
+ # {::Google::Cloud::Container::V1::CompleteIPRotationRequest} or an equivalent Hash.
3020
+ #
3021
+ # @param request [::Google::Cloud::Container::V1::CompleteIPRotationRequest, ::Hash]
3022
+ # A request object representing the call parameters. Required. To specify no
3023
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3024
+ # @param options [::Gapic::CallOptions, ::Hash]
3025
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3026
+ #
3027
+ # @overload complete_ip_rotation(project_id: nil, zone: nil, cluster_id: nil, name: nil)
3028
+ # Pass arguments to `complete_ip_rotation` via keyword arguments. Note that at
3029
+ # least one keyword argument is required. To specify no parameters, or to keep all
3030
+ # the default parameter values, pass an empty Hash as a request object (see above).
3031
+ #
3032
+ # @param project_id [::String]
3033
+ # Deprecated. The Google Developers Console [project ID or project
3034
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3035
+ # This field has been deprecated and replaced by the name field.
3036
+ # @param zone [::String]
3037
+ # Deprecated. The name of the Google Compute Engine
3038
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3039
+ # cluster resides. This field has been deprecated and replaced by the name
3040
+ # field.
3041
+ # @param cluster_id [::String]
3042
+ # Deprecated. The name of the cluster.
3043
+ # This field has been deprecated and replaced by the name field.
3044
+ # @param name [::String]
3045
+ # The name (project, location, cluster name) of the cluster to complete IP
3046
+ # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3047
+ # @yield [result, operation] Access the result along with the TransportOperation object
3048
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
3049
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3050
+ #
3051
+ # @return [::Google::Cloud::Container::V1::Operation]
3052
+ #
3053
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3054
+ #
3055
+ # @example Basic example
3056
+ # require "google/cloud/container/v1"
3057
+ #
3058
+ # # Create a client object. The client can be reused for multiple calls.
3059
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3060
+ #
3061
+ # # Create a request. To set request fields, pass in keyword arguments.
3062
+ # request = Google::Cloud::Container::V1::CompleteIPRotationRequest.new
3063
+ #
3064
+ # # Call the complete_ip_rotation method.
3065
+ # result = client.complete_ip_rotation request
3066
+ #
3067
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
3068
+ # p result
3069
+ #
3070
+ def complete_ip_rotation request, options = nil
3071
+ raise ::ArgumentError, "request must be provided" if request.nil?
3072
+
3073
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CompleteIPRotationRequest
3074
+
3075
+ # Converts hash and nil to an options object
3076
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3077
+
3078
+ # Customize the options with defaults
3079
+ call_metadata = @config.rpcs.complete_ip_rotation.metadata.to_h
3080
+
3081
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3082
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3083
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3084
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3085
+ transports_version_send: [:rest]
3086
+
3087
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3088
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3089
+
3090
+ options.apply_defaults timeout: @config.rpcs.complete_ip_rotation.timeout,
3091
+ metadata: call_metadata,
3092
+ retry_policy: @config.rpcs.complete_ip_rotation.retry_policy
3093
+
3094
+ options.apply_defaults timeout: @config.timeout,
3095
+ metadata: @config.metadata,
3096
+ retry_policy: @config.retry_policy
3097
+
3098
+ @cluster_manager_stub.complete_ip_rotation request, options do |result, operation|
3099
+ yield result, operation if block_given?
3100
+ return result
3101
+ end
3102
+ rescue ::Gapic::Rest::Error => e
3103
+ raise ::Google::Cloud::Error.from_error(e)
3104
+ end
3105
+
3106
+ ##
3107
+ # Sets the size for a specific node pool. The new size will be used for all
3108
+ # replicas, including future replicas created by modifying
3109
+ # {::Google::Cloud::Container::V1::NodePool#locations NodePool.locations}.
3110
+ #
3111
+ # @overload set_node_pool_size(request, options = nil)
3112
+ # Pass arguments to `set_node_pool_size` via a request object, either of type
3113
+ # {::Google::Cloud::Container::V1::SetNodePoolSizeRequest} or an equivalent Hash.
3114
+ #
3115
+ # @param request [::Google::Cloud::Container::V1::SetNodePoolSizeRequest, ::Hash]
3116
+ # A request object representing the call parameters. Required. To specify no
3117
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3118
+ # @param options [::Gapic::CallOptions, ::Hash]
3119
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3120
+ #
3121
+ # @overload set_node_pool_size(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_count: nil, name: nil)
3122
+ # Pass arguments to `set_node_pool_size` via keyword arguments. Note that at
3123
+ # least one keyword argument is required. To specify no parameters, or to keep all
3124
+ # the default parameter values, pass an empty Hash as a request object (see above).
3125
+ #
3126
+ # @param project_id [::String]
3127
+ # Deprecated. The Google Developers Console [project ID or project
3128
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3129
+ # This field has been deprecated and replaced by the name field.
3130
+ # @param zone [::String]
3131
+ # Deprecated. The name of the Google Compute Engine
3132
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3133
+ # cluster resides. This field has been deprecated and replaced by the name
3134
+ # field.
3135
+ # @param cluster_id [::String]
3136
+ # Deprecated. The name of the cluster to update.
3137
+ # This field has been deprecated and replaced by the name field.
3138
+ # @param node_pool_id [::String]
3139
+ # Deprecated. The name of the node pool to update.
3140
+ # This field has been deprecated and replaced by the name field.
3141
+ # @param node_count [::Integer]
3142
+ # Required. The desired node count for the pool.
3143
+ # @param name [::String]
3144
+ # The name (project, location, cluster, node pool id) of the node pool to set
3145
+ # size.
3146
+ # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
3147
+ # @yield [result, operation] Access the result along with the TransportOperation object
3148
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
3149
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3150
+ #
3151
+ # @return [::Google::Cloud::Container::V1::Operation]
3152
+ #
3153
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3154
+ #
3155
+ # @example Basic example
3156
+ # require "google/cloud/container/v1"
3157
+ #
3158
+ # # Create a client object. The client can be reused for multiple calls.
3159
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3160
+ #
3161
+ # # Create a request. To set request fields, pass in keyword arguments.
3162
+ # request = Google::Cloud::Container::V1::SetNodePoolSizeRequest.new
3163
+ #
3164
+ # # Call the set_node_pool_size method.
3165
+ # result = client.set_node_pool_size request
3166
+ #
3167
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
3168
+ # p result
3169
+ #
3170
+ def set_node_pool_size request, options = nil
3171
+ raise ::ArgumentError, "request must be provided" if request.nil?
3172
+
3173
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetNodePoolSizeRequest
3174
+
3175
+ # Converts hash and nil to an options object
3176
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3177
+
3178
+ # Customize the options with defaults
3179
+ call_metadata = @config.rpcs.set_node_pool_size.metadata.to_h
3180
+
3181
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3182
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3183
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3184
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3185
+ transports_version_send: [:rest]
3186
+
3187
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3188
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3189
+
3190
+ options.apply_defaults timeout: @config.rpcs.set_node_pool_size.timeout,
3191
+ metadata: call_metadata,
3192
+ retry_policy: @config.rpcs.set_node_pool_size.retry_policy
3193
+
3194
+ options.apply_defaults timeout: @config.timeout,
3195
+ metadata: @config.metadata,
3196
+ retry_policy: @config.retry_policy
3197
+
3198
+ @cluster_manager_stub.set_node_pool_size request, options do |result, operation|
3199
+ yield result, operation if block_given?
3200
+ return result
3201
+ end
3202
+ rescue ::Gapic::Rest::Error => e
3203
+ raise ::Google::Cloud::Error.from_error(e)
3204
+ end
3205
+
3206
+ ##
3207
+ # Enables or disables Network Policy for a cluster.
3208
+ #
3209
+ # @overload set_network_policy(request, options = nil)
3210
+ # Pass arguments to `set_network_policy` via a request object, either of type
3211
+ # {::Google::Cloud::Container::V1::SetNetworkPolicyRequest} or an equivalent Hash.
3212
+ #
3213
+ # @param request [::Google::Cloud::Container::V1::SetNetworkPolicyRequest, ::Hash]
3214
+ # A request object representing the call parameters. Required. To specify no
3215
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3216
+ # @param options [::Gapic::CallOptions, ::Hash]
3217
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3218
+ #
3219
+ # @overload set_network_policy(project_id: nil, zone: nil, cluster_id: nil, network_policy: nil, name: nil)
3220
+ # Pass arguments to `set_network_policy` via keyword arguments. Note that at
3221
+ # least one keyword argument is required. To specify no parameters, or to keep all
3222
+ # the default parameter values, pass an empty Hash as a request object (see above).
3223
+ #
3224
+ # @param project_id [::String]
3225
+ # Deprecated. The Google Developers Console [project ID or project
3226
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3227
+ # This field has been deprecated and replaced by the name field.
3228
+ # @param zone [::String]
3229
+ # Deprecated. The name of the Google Compute Engine
3230
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3231
+ # cluster resides. This field has been deprecated and replaced by the name
3232
+ # field.
3233
+ # @param cluster_id [::String]
3234
+ # Deprecated. The name of the cluster.
3235
+ # This field has been deprecated and replaced by the name field.
3236
+ # @param network_policy [::Google::Cloud::Container::V1::NetworkPolicy, ::Hash]
3237
+ # Required. Configuration options for the NetworkPolicy feature.
3238
+ # @param name [::String]
3239
+ # The name (project, location, cluster name) of the cluster to set networking
3240
+ # policy. Specified in the format `projects/*/locations/*/clusters/*`.
3241
+ # @yield [result, operation] Access the result along with the TransportOperation object
3242
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
3243
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3244
+ #
3245
+ # @return [::Google::Cloud::Container::V1::Operation]
3246
+ #
3247
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3248
+ #
3249
+ # @example Basic example
3250
+ # require "google/cloud/container/v1"
3251
+ #
3252
+ # # Create a client object. The client can be reused for multiple calls.
3253
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3254
+ #
3255
+ # # Create a request. To set request fields, pass in keyword arguments.
3256
+ # request = Google::Cloud::Container::V1::SetNetworkPolicyRequest.new
3257
+ #
3258
+ # # Call the set_network_policy method.
3259
+ # result = client.set_network_policy request
3260
+ #
3261
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
3262
+ # p result
3263
+ #
3264
+ def set_network_policy request, options = nil
3265
+ raise ::ArgumentError, "request must be provided" if request.nil?
3266
+
3267
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetNetworkPolicyRequest
3268
+
3269
+ # Converts hash and nil to an options object
3270
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3271
+
3272
+ # Customize the options with defaults
3273
+ call_metadata = @config.rpcs.set_network_policy.metadata.to_h
3274
+
3275
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3276
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3277
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3278
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3279
+ transports_version_send: [:rest]
3280
+
3281
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3282
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3283
+
3284
+ options.apply_defaults timeout: @config.rpcs.set_network_policy.timeout,
3285
+ metadata: call_metadata,
3286
+ retry_policy: @config.rpcs.set_network_policy.retry_policy
3287
+
3288
+ options.apply_defaults timeout: @config.timeout,
3289
+ metadata: @config.metadata,
3290
+ retry_policy: @config.retry_policy
3291
+
3292
+ @cluster_manager_stub.set_network_policy request, options do |result, operation|
3293
+ yield result, operation if block_given?
3294
+ return result
3295
+ end
3296
+ rescue ::Gapic::Rest::Error => e
3297
+ raise ::Google::Cloud::Error.from_error(e)
3298
+ end
3299
+
3300
+ ##
3301
+ # Sets the maintenance policy for a cluster.
3302
+ #
3303
+ # @overload set_maintenance_policy(request, options = nil)
3304
+ # Pass arguments to `set_maintenance_policy` via a request object, either of type
3305
+ # {::Google::Cloud::Container::V1::SetMaintenancePolicyRequest} or an equivalent Hash.
3306
+ #
3307
+ # @param request [::Google::Cloud::Container::V1::SetMaintenancePolicyRequest, ::Hash]
3308
+ # A request object representing the call parameters. Required. To specify no
3309
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3310
+ # @param options [::Gapic::CallOptions, ::Hash]
3311
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3312
+ #
3313
+ # @overload set_maintenance_policy(project_id: nil, zone: nil, cluster_id: nil, maintenance_policy: nil, name: nil)
3314
+ # Pass arguments to `set_maintenance_policy` via keyword arguments. Note that at
3315
+ # least one keyword argument is required. To specify no parameters, or to keep all
3316
+ # the default parameter values, pass an empty Hash as a request object (see above).
3317
+ #
3318
+ # @param project_id [::String]
3319
+ # Required. The Google Developers Console [project ID or project
3320
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3321
+ # @param zone [::String]
3322
+ # Required. The name of the Google Compute Engine
3323
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3324
+ # cluster resides.
3325
+ # @param cluster_id [::String]
3326
+ # Required. The name of the cluster to update.
3327
+ # @param maintenance_policy [::Google::Cloud::Container::V1::MaintenancePolicy, ::Hash]
3328
+ # Required. The maintenance policy to be set for the cluster. An empty field
3329
+ # clears the existing maintenance policy.
3330
+ # @param name [::String]
3331
+ # The name (project, location, cluster name) of the cluster to set
3332
+ # maintenance policy.
3333
+ # Specified in the format `projects/*/locations/*/clusters/*`.
3334
+ # @yield [result, operation] Access the result along with the TransportOperation object
3335
+ # @yieldparam result [::Google::Cloud::Container::V1::Operation]
3336
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3337
+ #
3338
+ # @return [::Google::Cloud::Container::V1::Operation]
3339
+ #
3340
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3341
+ #
3342
+ # @example Basic example
3343
+ # require "google/cloud/container/v1"
3344
+ #
3345
+ # # Create a client object. The client can be reused for multiple calls.
3346
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3347
+ #
3348
+ # # Create a request. To set request fields, pass in keyword arguments.
3349
+ # request = Google::Cloud::Container::V1::SetMaintenancePolicyRequest.new
3350
+ #
3351
+ # # Call the set_maintenance_policy method.
3352
+ # result = client.set_maintenance_policy request
3353
+ #
3354
+ # # The returned object is of type Google::Cloud::Container::V1::Operation.
3355
+ # p result
3356
+ #
3357
+ def set_maintenance_policy request, options = nil
3358
+ raise ::ArgumentError, "request must be provided" if request.nil?
3359
+
3360
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::SetMaintenancePolicyRequest
3361
+
3362
+ # Converts hash and nil to an options object
3363
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3364
+
3365
+ # Customize the options with defaults
3366
+ call_metadata = @config.rpcs.set_maintenance_policy.metadata.to_h
3367
+
3368
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3369
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3370
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3371
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3372
+ transports_version_send: [:rest]
3373
+
3374
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3375
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3376
+
3377
+ options.apply_defaults timeout: @config.rpcs.set_maintenance_policy.timeout,
3378
+ metadata: call_metadata,
3379
+ retry_policy: @config.rpcs.set_maintenance_policy.retry_policy
3380
+
3381
+ options.apply_defaults timeout: @config.timeout,
3382
+ metadata: @config.metadata,
3383
+ retry_policy: @config.retry_policy
3384
+
3385
+ @cluster_manager_stub.set_maintenance_policy request, options do |result, operation|
3386
+ yield result, operation if block_given?
3387
+ return result
3388
+ end
3389
+ rescue ::Gapic::Rest::Error => e
3390
+ raise ::Google::Cloud::Error.from_error(e)
3391
+ end
3392
+
3393
+ ##
3394
+ # Lists subnetworks that are usable for creating clusters in a project.
3395
+ #
3396
+ # @overload list_usable_subnetworks(request, options = nil)
3397
+ # Pass arguments to `list_usable_subnetworks` via a request object, either of type
3398
+ # {::Google::Cloud::Container::V1::ListUsableSubnetworksRequest} or an equivalent Hash.
3399
+ #
3400
+ # @param request [::Google::Cloud::Container::V1::ListUsableSubnetworksRequest, ::Hash]
3401
+ # A request object representing the call parameters. Required. To specify no
3402
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3403
+ # @param options [::Gapic::CallOptions, ::Hash]
3404
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3405
+ #
3406
+ # @overload list_usable_subnetworks(parent: nil, filter: nil, page_size: nil, page_token: nil)
3407
+ # Pass arguments to `list_usable_subnetworks` via keyword arguments. Note that at
3408
+ # least one keyword argument is required. To specify no parameters, or to keep all
3409
+ # the default parameter values, pass an empty Hash as a request object (see above).
3410
+ #
3411
+ # @param parent [::String]
3412
+ # The parent project where subnetworks are usable.
3413
+ # Specified in the format `projects/*`.
3414
+ # @param filter [::String]
3415
+ # Filtering currently only supports equality on the networkProjectId and must
3416
+ # be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
3417
+ # is the project which owns the listed subnetworks. This defaults to the
3418
+ # parent project ID.
3419
+ # @param page_size [::Integer]
3420
+ # The max number of results per page that should be returned. If the number
3421
+ # of available results is larger than `page_size`, a `next_page_token` is
3422
+ # returned which can be used to get the next page of results in subsequent
3423
+ # requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
3424
+ # @param page_token [::String]
3425
+ # Specifies a page token to use. Set this to the nextPageToken returned by
3426
+ # previous list requests to get the next page of results.
3427
+ # @yield [result, operation] Access the result along with the TransportOperation object
3428
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Container::V1::UsableSubnetwork>]
3429
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3430
+ #
3431
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Container::V1::UsableSubnetwork>]
3432
+ #
3433
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3434
+ #
3435
+ # @example Basic example
3436
+ # require "google/cloud/container/v1"
3437
+ #
3438
+ # # Create a client object. The client can be reused for multiple calls.
3439
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3440
+ #
3441
+ # # Create a request. To set request fields, pass in keyword arguments.
3442
+ # request = Google::Cloud::Container::V1::ListUsableSubnetworksRequest.new
3443
+ #
3444
+ # # Call the list_usable_subnetworks method.
3445
+ # result = client.list_usable_subnetworks request
3446
+ #
3447
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
3448
+ # # over elements, and API calls will be issued to fetch pages as needed.
3449
+ # result.each do |item|
3450
+ # # Each element is of type ::Google::Cloud::Container::V1::UsableSubnetwork.
3451
+ # p item
3452
+ # end
3453
+ #
3454
+ def list_usable_subnetworks request, options = nil
3455
+ raise ::ArgumentError, "request must be provided" if request.nil?
3456
+
3457
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::ListUsableSubnetworksRequest
3458
+
3459
+ # Converts hash and nil to an options object
3460
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3461
+
3462
+ # Customize the options with defaults
3463
+ call_metadata = @config.rpcs.list_usable_subnetworks.metadata.to_h
3464
+
3465
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3466
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3467
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3468
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3469
+ transports_version_send: [:rest]
3470
+
3471
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3472
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3473
+
3474
+ options.apply_defaults timeout: @config.rpcs.list_usable_subnetworks.timeout,
3475
+ metadata: call_metadata,
3476
+ retry_policy: @config.rpcs.list_usable_subnetworks.retry_policy
3477
+
3478
+ options.apply_defaults timeout: @config.timeout,
3479
+ metadata: @config.metadata,
3480
+ retry_policy: @config.retry_policy
3481
+
3482
+ @cluster_manager_stub.list_usable_subnetworks request, options do |result, operation|
3483
+ result = ::Gapic::Rest::PagedEnumerable.new @cluster_manager_stub, :list_usable_subnetworks, "subnetworks", request, result, options
3484
+ yield result, operation if block_given?
3485
+ return result
3486
+ end
3487
+ rescue ::Gapic::Rest::Error => e
3488
+ raise ::Google::Cloud::Error.from_error(e)
3489
+ end
3490
+
3491
+ ##
3492
+ # Checks the cluster compatibility with Autopilot mode, and returns a list of
3493
+ # compatibility issues.
3494
+ #
3495
+ # @overload check_autopilot_compatibility(request, options = nil)
3496
+ # Pass arguments to `check_autopilot_compatibility` via a request object, either of type
3497
+ # {::Google::Cloud::Container::V1::CheckAutopilotCompatibilityRequest} or an equivalent Hash.
3498
+ #
3499
+ # @param request [::Google::Cloud::Container::V1::CheckAutopilotCompatibilityRequest, ::Hash]
3500
+ # A request object representing the call parameters. Required. To specify no
3501
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3502
+ # @param options [::Gapic::CallOptions, ::Hash]
3503
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3504
+ #
3505
+ # @overload check_autopilot_compatibility(name: nil)
3506
+ # Pass arguments to `check_autopilot_compatibility` via keyword arguments. Note that at
3507
+ # least one keyword argument is required. To specify no parameters, or to keep all
3508
+ # the default parameter values, pass an empty Hash as a request object (see above).
3509
+ #
3510
+ # @param name [::String]
3511
+ # The name (project, location, cluster) of the cluster to retrieve.
3512
+ # Specified in the format `projects/*/locations/*/clusters/*`.
3513
+ # @yield [result, operation] Access the result along with the TransportOperation object
3514
+ # @yieldparam result [::Google::Cloud::Container::V1::CheckAutopilotCompatibilityResponse]
3515
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3516
+ #
3517
+ # @return [::Google::Cloud::Container::V1::CheckAutopilotCompatibilityResponse]
3518
+ #
3519
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3520
+ #
3521
+ # @example Basic example
3522
+ # require "google/cloud/container/v1"
3523
+ #
3524
+ # # Create a client object. The client can be reused for multiple calls.
3525
+ # client = Google::Cloud::Container::V1::ClusterManager::Rest::Client.new
3526
+ #
3527
+ # # Create a request. To set request fields, pass in keyword arguments.
3528
+ # request = Google::Cloud::Container::V1::CheckAutopilotCompatibilityRequest.new
3529
+ #
3530
+ # # Call the check_autopilot_compatibility method.
3531
+ # result = client.check_autopilot_compatibility request
3532
+ #
3533
+ # # The returned object is of type Google::Cloud::Container::V1::CheckAutopilotCompatibilityResponse.
3534
+ # p result
3535
+ #
3536
+ def check_autopilot_compatibility request, options = nil
3537
+ raise ::ArgumentError, "request must be provided" if request.nil?
3538
+
3539
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::CheckAutopilotCompatibilityRequest
3540
+
3541
+ # Converts hash and nil to an options object
3542
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3543
+
3544
+ # Customize the options with defaults
3545
+ call_metadata = @config.rpcs.check_autopilot_compatibility.metadata.to_h
3546
+
3547
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3548
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3549
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3550
+ gapic_version: ::Google::Cloud::Container::V1::VERSION,
3551
+ transports_version_send: [:rest]
3552
+
3553
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3554
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3555
+
3556
+ options.apply_defaults timeout: @config.rpcs.check_autopilot_compatibility.timeout,
3557
+ metadata: call_metadata,
3558
+ retry_policy: @config.rpcs.check_autopilot_compatibility.retry_policy
3559
+
3560
+ options.apply_defaults timeout: @config.timeout,
3561
+ metadata: @config.metadata,
3562
+ retry_policy: @config.retry_policy
3563
+
3564
+ @cluster_manager_stub.check_autopilot_compatibility request, options do |result, operation|
3565
+ yield result, operation if block_given?
3566
+ return result
3567
+ end
3568
+ rescue ::Gapic::Rest::Error => e
3569
+ raise ::Google::Cloud::Error.from_error(e)
3570
+ end
3571
+
3572
+ ##
3573
+ # Configuration class for the ClusterManager REST API.
3574
+ #
3575
+ # This class represents the configuration for ClusterManager REST,
3576
+ # providing control over timeouts, retry behavior, logging, transport
3577
+ # parameters, and other low-level controls. Certain parameters can also be
3578
+ # applied individually to specific RPCs. See
3579
+ # {::Google::Cloud::Container::V1::ClusterManager::Rest::Client::Configuration::Rpcs}
3580
+ # for a list of RPCs that can be configured independently.
3581
+ #
3582
+ # Configuration can be applied globally to all clients, or to a single client
3583
+ # on construction.
3584
+ #
3585
+ # @example
3586
+ #
3587
+ # # Modify the global config, setting the timeout for
3588
+ # # list_clusters to 20 seconds,
3589
+ # # and all remaining timeouts to 10 seconds.
3590
+ # ::Google::Cloud::Container::V1::ClusterManager::Rest::Client.configure do |config|
3591
+ # config.timeout = 10.0
3592
+ # config.rpcs.list_clusters.timeout = 20.0
3593
+ # end
3594
+ #
3595
+ # # Apply the above configuration only to a new client.
3596
+ # client = ::Google::Cloud::Container::V1::ClusterManager::Rest::Client.new do |config|
3597
+ # config.timeout = 10.0
3598
+ # config.rpcs.list_clusters.timeout = 20.0
3599
+ # end
3600
+ #
3601
+ # @!attribute [rw] endpoint
3602
+ # A custom service endpoint, as a hostname or hostname:port. The default is
3603
+ # nil, indicating to use the default endpoint in the current universe domain.
3604
+ # @return [::String,nil]
3605
+ # @!attribute [rw] credentials
3606
+ # Credentials to send with calls. You may provide any of the following types:
3607
+ # * (`String`) The path to a service account key file in JSON format
3608
+ # * (`Hash`) A service account key as a Hash
3609
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
3610
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
3611
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
3612
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
3613
+ # * (`nil`) indicating no credentials
3614
+ # @return [::Object]
3615
+ # @!attribute [rw] scope
3616
+ # The OAuth scopes
3617
+ # @return [::Array<::String>]
3618
+ # @!attribute [rw] lib_name
3619
+ # The library name as recorded in instrumentation and logging
3620
+ # @return [::String]
3621
+ # @!attribute [rw] lib_version
3622
+ # The library version as recorded in instrumentation and logging
3623
+ # @return [::String]
3624
+ # @!attribute [rw] timeout
3625
+ # The call timeout in seconds.
3626
+ # @return [::Numeric]
3627
+ # @!attribute [rw] metadata
3628
+ # Additional headers to be sent with the call.
3629
+ # @return [::Hash{::Symbol=>::String}]
3630
+ # @!attribute [rw] retry_policy
3631
+ # The retry policy. The value is a hash with the following keys:
3632
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3633
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3634
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3635
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3636
+ # trigger a retry.
3637
+ # @return [::Hash]
3638
+ # @!attribute [rw] quota_project
3639
+ # A separate project against which to charge quota.
3640
+ # @return [::String]
3641
+ # @!attribute [rw] universe_domain
3642
+ # The universe domain within which to make requests. This determines the
3643
+ # default endpoint URL. The default value of nil uses the environment
3644
+ # universe (usually the default "googleapis.com" universe).
3645
+ # @return [::String,nil]
3646
+ #
3647
+ class Configuration
3648
+ extend ::Gapic::Config
3649
+
3650
+ # @private
3651
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
3652
+ DEFAULT_ENDPOINT = "container.googleapis.com"
3653
+
3654
+ config_attr :endpoint, nil, ::String, nil
3655
+ config_attr :credentials, nil do |value|
3656
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3657
+ allowed.any? { |klass| klass === value }
3658
+ end
3659
+ config_attr :scope, nil, ::String, ::Array, nil
3660
+ config_attr :lib_name, nil, ::String, nil
3661
+ config_attr :lib_version, nil, ::String, nil
3662
+ config_attr :timeout, nil, ::Numeric, nil
3663
+ config_attr :metadata, nil, ::Hash, nil
3664
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
3665
+ config_attr :quota_project, nil, ::String, nil
3666
+ config_attr :universe_domain, nil, ::String, nil
3667
+
3668
+ # @private
3669
+ def initialize parent_config = nil
3670
+ @parent_config = parent_config unless parent_config.nil?
3671
+
3672
+ yield self if block_given?
3673
+ end
3674
+
3675
+ ##
3676
+ # Configurations for individual RPCs
3677
+ # @return [Rpcs]
3678
+ #
3679
+ def rpcs
3680
+ @rpcs ||= begin
3681
+ parent_rpcs = nil
3682
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
3683
+ Rpcs.new parent_rpcs
3684
+ end
3685
+ end
3686
+
3687
+ ##
3688
+ # Configuration RPC class for the ClusterManager API.
3689
+ #
3690
+ # Includes fields providing the configuration for each RPC in this service.
3691
+ # Each configuration object is of type `Gapic::Config::Method` and includes
3692
+ # the following configuration fields:
3693
+ #
3694
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
3695
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
3696
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
3697
+ # include the following keys:
3698
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3699
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3700
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3701
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3702
+ # trigger a retry.
3703
+ #
3704
+ class Rpcs
3705
+ ##
3706
+ # RPC-specific configuration for `list_clusters`
3707
+ # @return [::Gapic::Config::Method]
3708
+ #
3709
+ attr_reader :list_clusters
3710
+ ##
3711
+ # RPC-specific configuration for `get_cluster`
3712
+ # @return [::Gapic::Config::Method]
3713
+ #
3714
+ attr_reader :get_cluster
3715
+ ##
3716
+ # RPC-specific configuration for `create_cluster`
3717
+ # @return [::Gapic::Config::Method]
3718
+ #
3719
+ attr_reader :create_cluster
3720
+ ##
3721
+ # RPC-specific configuration for `update_cluster`
3722
+ # @return [::Gapic::Config::Method]
3723
+ #
3724
+ attr_reader :update_cluster
3725
+ ##
3726
+ # RPC-specific configuration for `update_node_pool`
3727
+ # @return [::Gapic::Config::Method]
3728
+ #
3729
+ attr_reader :update_node_pool
3730
+ ##
3731
+ # RPC-specific configuration for `set_node_pool_autoscaling`
3732
+ # @return [::Gapic::Config::Method]
3733
+ #
3734
+ attr_reader :set_node_pool_autoscaling
3735
+ ##
3736
+ # RPC-specific configuration for `set_logging_service`
3737
+ # @return [::Gapic::Config::Method]
3738
+ #
3739
+ attr_reader :set_logging_service
3740
+ ##
3741
+ # RPC-specific configuration for `set_monitoring_service`
3742
+ # @return [::Gapic::Config::Method]
3743
+ #
3744
+ attr_reader :set_monitoring_service
3745
+ ##
3746
+ # RPC-specific configuration for `set_addons_config`
3747
+ # @return [::Gapic::Config::Method]
3748
+ #
3749
+ attr_reader :set_addons_config
3750
+ ##
3751
+ # RPC-specific configuration for `set_locations`
3752
+ # @return [::Gapic::Config::Method]
3753
+ #
3754
+ attr_reader :set_locations
3755
+ ##
3756
+ # RPC-specific configuration for `update_master`
3757
+ # @return [::Gapic::Config::Method]
3758
+ #
3759
+ attr_reader :update_master
3760
+ ##
3761
+ # RPC-specific configuration for `set_master_auth`
3762
+ # @return [::Gapic::Config::Method]
3763
+ #
3764
+ attr_reader :set_master_auth
3765
+ ##
3766
+ # RPC-specific configuration for `delete_cluster`
3767
+ # @return [::Gapic::Config::Method]
3768
+ #
3769
+ attr_reader :delete_cluster
3770
+ ##
3771
+ # RPC-specific configuration for `list_operations`
3772
+ # @return [::Gapic::Config::Method]
3773
+ #
3774
+ attr_reader :list_operations
3775
+ ##
3776
+ # RPC-specific configuration for `get_operation`
3777
+ # @return [::Gapic::Config::Method]
3778
+ #
3779
+ attr_reader :get_operation
3780
+ ##
3781
+ # RPC-specific configuration for `cancel_operation`
3782
+ # @return [::Gapic::Config::Method]
3783
+ #
3784
+ attr_reader :cancel_operation
3785
+ ##
3786
+ # RPC-specific configuration for `get_server_config`
3787
+ # @return [::Gapic::Config::Method]
3788
+ #
3789
+ attr_reader :get_server_config
3790
+ ##
3791
+ # RPC-specific configuration for `get_json_web_keys`
3792
+ # @return [::Gapic::Config::Method]
3793
+ #
3794
+ attr_reader :get_json_web_keys
3795
+ ##
3796
+ # RPC-specific configuration for `list_node_pools`
3797
+ # @return [::Gapic::Config::Method]
3798
+ #
3799
+ attr_reader :list_node_pools
3800
+ ##
3801
+ # RPC-specific configuration for `get_node_pool`
3802
+ # @return [::Gapic::Config::Method]
3803
+ #
3804
+ attr_reader :get_node_pool
3805
+ ##
3806
+ # RPC-specific configuration for `create_node_pool`
3807
+ # @return [::Gapic::Config::Method]
3808
+ #
3809
+ attr_reader :create_node_pool
3810
+ ##
3811
+ # RPC-specific configuration for `delete_node_pool`
3812
+ # @return [::Gapic::Config::Method]
3813
+ #
3814
+ attr_reader :delete_node_pool
3815
+ ##
3816
+ # RPC-specific configuration for `complete_node_pool_upgrade`
3817
+ # @return [::Gapic::Config::Method]
3818
+ #
3819
+ attr_reader :complete_node_pool_upgrade
3820
+ ##
3821
+ # RPC-specific configuration for `rollback_node_pool_upgrade`
3822
+ # @return [::Gapic::Config::Method]
3823
+ #
3824
+ attr_reader :rollback_node_pool_upgrade
3825
+ ##
3826
+ # RPC-specific configuration for `set_node_pool_management`
3827
+ # @return [::Gapic::Config::Method]
3828
+ #
3829
+ attr_reader :set_node_pool_management
3830
+ ##
3831
+ # RPC-specific configuration for `set_labels`
3832
+ # @return [::Gapic::Config::Method]
3833
+ #
3834
+ attr_reader :set_labels
3835
+ ##
3836
+ # RPC-specific configuration for `set_legacy_abac`
3837
+ # @return [::Gapic::Config::Method]
3838
+ #
3839
+ attr_reader :set_legacy_abac
3840
+ ##
3841
+ # RPC-specific configuration for `start_ip_rotation`
3842
+ # @return [::Gapic::Config::Method]
3843
+ #
3844
+ attr_reader :start_ip_rotation
3845
+ ##
3846
+ # RPC-specific configuration for `complete_ip_rotation`
3847
+ # @return [::Gapic::Config::Method]
3848
+ #
3849
+ attr_reader :complete_ip_rotation
3850
+ ##
3851
+ # RPC-specific configuration for `set_node_pool_size`
3852
+ # @return [::Gapic::Config::Method]
3853
+ #
3854
+ attr_reader :set_node_pool_size
3855
+ ##
3856
+ # RPC-specific configuration for `set_network_policy`
3857
+ # @return [::Gapic::Config::Method]
3858
+ #
3859
+ attr_reader :set_network_policy
3860
+ ##
3861
+ # RPC-specific configuration for `set_maintenance_policy`
3862
+ # @return [::Gapic::Config::Method]
3863
+ #
3864
+ attr_reader :set_maintenance_policy
3865
+ ##
3866
+ # RPC-specific configuration for `list_usable_subnetworks`
3867
+ # @return [::Gapic::Config::Method]
3868
+ #
3869
+ attr_reader :list_usable_subnetworks
3870
+ ##
3871
+ # RPC-specific configuration for `check_autopilot_compatibility`
3872
+ # @return [::Gapic::Config::Method]
3873
+ #
3874
+ attr_reader :check_autopilot_compatibility
3875
+
3876
+ # @private
3877
+ def initialize parent_rpcs = nil
3878
+ list_clusters_config = parent_rpcs.list_clusters if parent_rpcs.respond_to? :list_clusters
3879
+ @list_clusters = ::Gapic::Config::Method.new list_clusters_config
3880
+ get_cluster_config = parent_rpcs.get_cluster if parent_rpcs.respond_to? :get_cluster
3881
+ @get_cluster = ::Gapic::Config::Method.new get_cluster_config
3882
+ create_cluster_config = parent_rpcs.create_cluster if parent_rpcs.respond_to? :create_cluster
3883
+ @create_cluster = ::Gapic::Config::Method.new create_cluster_config
3884
+ update_cluster_config = parent_rpcs.update_cluster if parent_rpcs.respond_to? :update_cluster
3885
+ @update_cluster = ::Gapic::Config::Method.new update_cluster_config
3886
+ update_node_pool_config = parent_rpcs.update_node_pool if parent_rpcs.respond_to? :update_node_pool
3887
+ @update_node_pool = ::Gapic::Config::Method.new update_node_pool_config
3888
+ set_node_pool_autoscaling_config = parent_rpcs.set_node_pool_autoscaling if parent_rpcs.respond_to? :set_node_pool_autoscaling
3889
+ @set_node_pool_autoscaling = ::Gapic::Config::Method.new set_node_pool_autoscaling_config
3890
+ set_logging_service_config = parent_rpcs.set_logging_service if parent_rpcs.respond_to? :set_logging_service
3891
+ @set_logging_service = ::Gapic::Config::Method.new set_logging_service_config
3892
+ set_monitoring_service_config = parent_rpcs.set_monitoring_service if parent_rpcs.respond_to? :set_monitoring_service
3893
+ @set_monitoring_service = ::Gapic::Config::Method.new set_monitoring_service_config
3894
+ set_addons_config_config = parent_rpcs.set_addons_config if parent_rpcs.respond_to? :set_addons_config
3895
+ @set_addons_config = ::Gapic::Config::Method.new set_addons_config_config
3896
+ set_locations_config = parent_rpcs.set_locations if parent_rpcs.respond_to? :set_locations
3897
+ @set_locations = ::Gapic::Config::Method.new set_locations_config
3898
+ update_master_config = parent_rpcs.update_master if parent_rpcs.respond_to? :update_master
3899
+ @update_master = ::Gapic::Config::Method.new update_master_config
3900
+ set_master_auth_config = parent_rpcs.set_master_auth if parent_rpcs.respond_to? :set_master_auth
3901
+ @set_master_auth = ::Gapic::Config::Method.new set_master_auth_config
3902
+ delete_cluster_config = parent_rpcs.delete_cluster if parent_rpcs.respond_to? :delete_cluster
3903
+ @delete_cluster = ::Gapic::Config::Method.new delete_cluster_config
3904
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
3905
+ @list_operations = ::Gapic::Config::Method.new list_operations_config
3906
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
3907
+ @get_operation = ::Gapic::Config::Method.new get_operation_config
3908
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
3909
+ @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
3910
+ get_server_config_config = parent_rpcs.get_server_config if parent_rpcs.respond_to? :get_server_config
3911
+ @get_server_config = ::Gapic::Config::Method.new get_server_config_config
3912
+ get_json_web_keys_config = parent_rpcs.get_json_web_keys if parent_rpcs.respond_to? :get_json_web_keys
3913
+ @get_json_web_keys = ::Gapic::Config::Method.new get_json_web_keys_config
3914
+ list_node_pools_config = parent_rpcs.list_node_pools if parent_rpcs.respond_to? :list_node_pools
3915
+ @list_node_pools = ::Gapic::Config::Method.new list_node_pools_config
3916
+ get_node_pool_config = parent_rpcs.get_node_pool if parent_rpcs.respond_to? :get_node_pool
3917
+ @get_node_pool = ::Gapic::Config::Method.new get_node_pool_config
3918
+ create_node_pool_config = parent_rpcs.create_node_pool if parent_rpcs.respond_to? :create_node_pool
3919
+ @create_node_pool = ::Gapic::Config::Method.new create_node_pool_config
3920
+ delete_node_pool_config = parent_rpcs.delete_node_pool if parent_rpcs.respond_to? :delete_node_pool
3921
+ @delete_node_pool = ::Gapic::Config::Method.new delete_node_pool_config
3922
+ complete_node_pool_upgrade_config = parent_rpcs.complete_node_pool_upgrade if parent_rpcs.respond_to? :complete_node_pool_upgrade
3923
+ @complete_node_pool_upgrade = ::Gapic::Config::Method.new complete_node_pool_upgrade_config
3924
+ rollback_node_pool_upgrade_config = parent_rpcs.rollback_node_pool_upgrade if parent_rpcs.respond_to? :rollback_node_pool_upgrade
3925
+ @rollback_node_pool_upgrade = ::Gapic::Config::Method.new rollback_node_pool_upgrade_config
3926
+ set_node_pool_management_config = parent_rpcs.set_node_pool_management if parent_rpcs.respond_to? :set_node_pool_management
3927
+ @set_node_pool_management = ::Gapic::Config::Method.new set_node_pool_management_config
3928
+ set_labels_config = parent_rpcs.set_labels if parent_rpcs.respond_to? :set_labels
3929
+ @set_labels = ::Gapic::Config::Method.new set_labels_config
3930
+ set_legacy_abac_config = parent_rpcs.set_legacy_abac if parent_rpcs.respond_to? :set_legacy_abac
3931
+ @set_legacy_abac = ::Gapic::Config::Method.new set_legacy_abac_config
3932
+ start_ip_rotation_config = parent_rpcs.start_ip_rotation if parent_rpcs.respond_to? :start_ip_rotation
3933
+ @start_ip_rotation = ::Gapic::Config::Method.new start_ip_rotation_config
3934
+ complete_ip_rotation_config = parent_rpcs.complete_ip_rotation if parent_rpcs.respond_to? :complete_ip_rotation
3935
+ @complete_ip_rotation = ::Gapic::Config::Method.new complete_ip_rotation_config
3936
+ set_node_pool_size_config = parent_rpcs.set_node_pool_size if parent_rpcs.respond_to? :set_node_pool_size
3937
+ @set_node_pool_size = ::Gapic::Config::Method.new set_node_pool_size_config
3938
+ set_network_policy_config = parent_rpcs.set_network_policy if parent_rpcs.respond_to? :set_network_policy
3939
+ @set_network_policy = ::Gapic::Config::Method.new set_network_policy_config
3940
+ set_maintenance_policy_config = parent_rpcs.set_maintenance_policy if parent_rpcs.respond_to? :set_maintenance_policy
3941
+ @set_maintenance_policy = ::Gapic::Config::Method.new set_maintenance_policy_config
3942
+ list_usable_subnetworks_config = parent_rpcs.list_usable_subnetworks if parent_rpcs.respond_to? :list_usable_subnetworks
3943
+ @list_usable_subnetworks = ::Gapic::Config::Method.new list_usable_subnetworks_config
3944
+ check_autopilot_compatibility_config = parent_rpcs.check_autopilot_compatibility if parent_rpcs.respond_to? :check_autopilot_compatibility
3945
+ @check_autopilot_compatibility = ::Gapic::Config::Method.new check_autopilot_compatibility_config
3946
+
3947
+ yield self if block_given?
3948
+ end
3949
+ end
3950
+ end
3951
+ end
3952
+ end
3953
+ end
3954
+ end
3955
+ end
3956
+ end
3957
+ end