google-cloud-gke_multi_cloud-v1 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -99
  3. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/client.rb +157 -12
  4. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/operations.rb +28 -6
  5. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/client.rb +1354 -0
  6. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/operations.rb +895 -0
  7. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/service_stub.rb +595 -0
  8. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest.rb +55 -0
  9. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters.rb +6 -0
  10. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/client.rb +492 -10
  11. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/operations.rb +28 -6
  12. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/client.rb +2122 -0
  13. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/operations.rb +895 -0
  14. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/service_stub.rb +1010 -0
  15. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest.rb +54 -0
  16. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters.rb +6 -0
  17. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/client.rb +356 -10
  18. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/operations.rb +28 -6
  19. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/client.rb +2430 -0
  20. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/operations.rb +895 -0
  21. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/service_stub.rb +1187 -0
  22. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest.rb +54 -0
  23. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters.rb +6 -0
  24. data/lib/google/cloud/gke_multi_cloud/v1/rest.rb +39 -0
  25. data/lib/google/cloud/gke_multi_cloud/v1/version.rb +1 -1
  26. data/lib/google/cloud/gke_multi_cloud/v1.rb +5 -0
  27. data/lib/google/cloud/gkemulticloud/v1/attached_resources_pb.rb +4 -1
  28. data/lib/google/cloud/gkemulticloud/v1/attached_service_pb.rb +6 -2
  29. data/lib/google/cloud/gkemulticloud/v1/attached_service_services_pb.rb +2 -0
  30. data/lib/google/cloud/gkemulticloud/v1/aws_resources_pb.rb +10 -1
  31. data/lib/google/cloud/gkemulticloud/v1/aws_service_pb.rb +8 -1
  32. data/lib/google/cloud/gkemulticloud/v1/aws_service_services_pb.rb +18 -0
  33. data/lib/google/cloud/gkemulticloud/v1/azure_resources_pb.rb +7 -1
  34. data/lib/google/cloud/gkemulticloud/v1/azure_service_pb.rb +7 -1
  35. data/lib/google/cloud/gkemulticloud/v1/azure_service_services_pb.rb +11 -0
  36. data/lib/google/cloud/gkemulticloud/v1/common_resources_pb.rb +4 -1
  37. data/proto_docs/google/api/client.rb +14 -0
  38. data/proto_docs/google/cloud/gkemulticloud/v1/attached_resources.rb +48 -2
  39. data/proto_docs/google/cloud/gkemulticloud/v1/attached_service.rb +55 -2
  40. data/proto_docs/google/cloud/gkemulticloud/v1/aws_resources.rb +181 -6
  41. data/proto_docs/google/cloud/gkemulticloud/v1/aws_service.rb +117 -0
  42. data/proto_docs/google/cloud/gkemulticloud/v1/azure_resources.rb +103 -6
  43. data/proto_docs/google/cloud/gkemulticloud/v1/azure_service.rb +80 -4
  44. data/proto_docs/google/cloud/gkemulticloud/v1/common_resources.rb +56 -0
  45. data/proto_docs/google/type/date.rb +53 -0
  46. metadata +19 -5
@@ -0,0 +1,2430 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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/cloud/gkemulticloud/v1/azure_service_pb"
21
+ require "google/cloud/gke_multi_cloud/v1/azure_clusters/rest/service_stub"
22
+
23
+ module Google
24
+ module Cloud
25
+ module GkeMultiCloud
26
+ module V1
27
+ module AzureClusters
28
+ module Rest
29
+ ##
30
+ # REST client for the AzureClusters service.
31
+ #
32
+ # The AzureClusters API provides a single centrally managed service
33
+ # to create and manage Anthos clusters that run on Azure infrastructure.
34
+ #
35
+ class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "gkemulticloud.$UNIVERSE_DOMAIN$"
38
+
39
+ include Paths
40
+
41
+ # @private
42
+ attr_reader :azure_clusters_stub
43
+
44
+ ##
45
+ # Configure the AzureClusters Client class.
46
+ #
47
+ # See {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client::Configuration}
48
+ # for a description of the configuration fields.
49
+ #
50
+ # @example
51
+ #
52
+ # # Modify the configuration for all AzureClusters clients
53
+ # ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.configure do |config|
54
+ # config.timeout = 10.0
55
+ # end
56
+ #
57
+ # @yield [config] Configure the Client client.
58
+ # @yieldparam config [Client::Configuration]
59
+ #
60
+ # @return [Client::Configuration]
61
+ #
62
+ def self.configure
63
+ @configure ||= begin
64
+ namespace = ["Google", "Cloud", "GkeMultiCloud", "V1"]
65
+ parent_config = while namespace.any?
66
+ parent_name = namespace.join "::"
67
+ parent_const = const_get parent_name
68
+ break parent_const.configure if parent_const.respond_to? :configure
69
+ namespace.pop
70
+ end
71
+ default_config = Client::Configuration.new parent_config
72
+
73
+ default_config.rpcs.create_azure_client.timeout = 60.0
74
+
75
+ default_config.rpcs.get_azure_client.timeout = 60.0
76
+ default_config.rpcs.get_azure_client.retry_policy = {
77
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
78
+ }
79
+
80
+ default_config.rpcs.list_azure_clients.timeout = 60.0
81
+ default_config.rpcs.list_azure_clients.retry_policy = {
82
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
83
+ }
84
+
85
+ default_config.rpcs.delete_azure_client.timeout = 60.0
86
+
87
+ default_config.rpcs.create_azure_cluster.timeout = 60.0
88
+
89
+ default_config.rpcs.update_azure_cluster.timeout = 60.0
90
+
91
+ default_config.rpcs.get_azure_cluster.timeout = 60.0
92
+ default_config.rpcs.get_azure_cluster.retry_policy = {
93
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
94
+ }
95
+
96
+ default_config.rpcs.list_azure_clusters.timeout = 60.0
97
+ default_config.rpcs.list_azure_clusters.retry_policy = {
98
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
99
+ }
100
+
101
+ default_config.rpcs.delete_azure_cluster.timeout = 60.0
102
+
103
+ default_config.rpcs.generate_azure_cluster_agent_token.timeout = 60.0
104
+ default_config.rpcs.generate_azure_cluster_agent_token.retry_policy = {
105
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
106
+ }
107
+
108
+ default_config.rpcs.generate_azure_access_token.timeout = 60.0
109
+ default_config.rpcs.generate_azure_access_token.retry_policy = {
110
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
111
+ }
112
+
113
+ default_config.rpcs.create_azure_node_pool.timeout = 60.0
114
+
115
+ default_config.rpcs.update_azure_node_pool.timeout = 60.0
116
+
117
+ default_config.rpcs.get_azure_node_pool.timeout = 60.0
118
+ default_config.rpcs.get_azure_node_pool.retry_policy = {
119
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
120
+ }
121
+
122
+ default_config.rpcs.list_azure_node_pools.timeout = 60.0
123
+ default_config.rpcs.list_azure_node_pools.retry_policy = {
124
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
125
+ }
126
+
127
+ default_config.rpcs.delete_azure_node_pool.timeout = 60.0
128
+
129
+ default_config.rpcs.get_azure_open_id_config.timeout = 60.0
130
+ default_config.rpcs.get_azure_open_id_config.retry_policy = {
131
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
132
+ }
133
+
134
+ default_config.rpcs.get_azure_json_web_keys.timeout = 60.0
135
+ default_config.rpcs.get_azure_json_web_keys.retry_policy = {
136
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
137
+ }
138
+
139
+ default_config.rpcs.get_azure_server_config.timeout = 60.0
140
+ default_config.rpcs.get_azure_server_config.retry_policy = {
141
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
142
+ }
143
+
144
+ default_config
145
+ end
146
+ yield @configure if block_given?
147
+ @configure
148
+ end
149
+
150
+ ##
151
+ # Configure the AzureClusters Client instance.
152
+ #
153
+ # The configuration is set to the derived mode, meaning that values can be changed,
154
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
155
+ # should be made on {Client.configure}.
156
+ #
157
+ # See {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client::Configuration}
158
+ # for a description of the configuration fields.
159
+ #
160
+ # @yield [config] Configure the Client client.
161
+ # @yieldparam config [Client::Configuration]
162
+ #
163
+ # @return [Client::Configuration]
164
+ #
165
+ def configure
166
+ yield @config if block_given?
167
+ @config
168
+ end
169
+
170
+ ##
171
+ # The effective universe domain
172
+ #
173
+ # @return [String]
174
+ #
175
+ def universe_domain
176
+ @azure_clusters_stub.universe_domain
177
+ end
178
+
179
+ ##
180
+ # Create a new AzureClusters REST client object.
181
+ #
182
+ # @example
183
+ #
184
+ # # Create a client using the default configuration
185
+ # client = ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
186
+ #
187
+ # # Create a client using a custom configuration
188
+ # client = ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new do |config|
189
+ # config.timeout = 10.0
190
+ # end
191
+ #
192
+ # @yield [config] Configure the AzureClusters client.
193
+ # @yieldparam config [Client::Configuration]
194
+ #
195
+ def initialize
196
+ # Create the configuration object
197
+ @config = Configuration.new Client.configure
198
+
199
+ # Yield the configuration if needed
200
+ yield @config if block_given?
201
+
202
+ # Create credentials
203
+ credentials = @config.credentials
204
+ # Use self-signed JWT if the endpoint is unchanged from default,
205
+ # but only if the default endpoint does not have a region prefix.
206
+ enable_self_signed_jwt = @config.endpoint.nil? ||
207
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
208
+ !@config.endpoint.split(".").first.include?("-"))
209
+ credentials ||= Credentials.default scope: @config.scope,
210
+ enable_self_signed_jwt: enable_self_signed_jwt
211
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
212
+ credentials = Credentials.new credentials, scope: @config.scope
213
+ end
214
+
215
+ @quota_project_id = @config.quota_project
216
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
217
+
218
+ @operations_client = ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Operations.new do |config|
219
+ config.credentials = credentials
220
+ config.quota_project = @quota_project_id
221
+ config.endpoint = @config.endpoint
222
+ config.universe_domain = @config.universe_domain
223
+ end
224
+
225
+ @azure_clusters_stub = ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::ServiceStub.new(
226
+ endpoint: @config.endpoint,
227
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
228
+ universe_domain: @config.universe_domain,
229
+ credentials: credentials
230
+ )
231
+ end
232
+
233
+ ##
234
+ # Get the associated client for long-running operations.
235
+ #
236
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Operations]
237
+ #
238
+ attr_reader :operations_client
239
+
240
+ # Service calls
241
+
242
+ ##
243
+ # Creates a new {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient}
244
+ # resource on a given Google Cloud project and region.
245
+ #
246
+ # `AzureClient` resources hold client authentication
247
+ # information needed by the Anthos Multicloud API to manage Azure resources
248
+ # on your Azure subscription on your behalf.
249
+ #
250
+ # If successful, the response contains a newly created
251
+ # {::Google::Longrunning::Operation Operation} resource that can be
252
+ # described to track the status of the operation.
253
+ #
254
+ # @overload create_azure_client(request, options = nil)
255
+ # Pass arguments to `create_azure_client` via a request object, either of type
256
+ # {::Google::Cloud::GkeMultiCloud::V1::CreateAzureClientRequest} or an equivalent Hash.
257
+ #
258
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::CreateAzureClientRequest, ::Hash]
259
+ # A request object representing the call parameters. Required. To specify no
260
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
261
+ # @param options [::Gapic::CallOptions, ::Hash]
262
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
263
+ #
264
+ # @overload create_azure_client(parent: nil, azure_client: nil, azure_client_id: nil, validate_only: nil)
265
+ # Pass arguments to `create_azure_client` via keyword arguments. Note that at
266
+ # least one keyword argument is required. To specify no parameters, or to keep all
267
+ # the default parameter values, pass an empty Hash as a request object (see above).
268
+ #
269
+ # @param parent [::String]
270
+ # Required. The parent location where this
271
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resource will be
272
+ # created.
273
+ #
274
+ # Location names are formatted as `projects/<project-id>/locations/<region>`.
275
+ #
276
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
277
+ # for more details on Google Cloud resource names.
278
+ # @param azure_client [::Google::Cloud::GkeMultiCloud::V1::AzureClient, ::Hash]
279
+ # Required. The specification of the
280
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} to create.
281
+ # @param azure_client_id [::String]
282
+ # Required. A client provided ID the resource. Must be unique within the
283
+ # parent resource.
284
+ #
285
+ # The provided ID will be part of the
286
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resource name
287
+ # formatted as
288
+ # `projects/<project-id>/locations/<region>/azureClients/<client-id>`.
289
+ #
290
+ # Valid characters are `/[a-z][0-9]-/`. Cannot be longer than 63 characters.
291
+ # @param validate_only [::Boolean]
292
+ # If set, only validate the request, but do not actually create the client.
293
+ # @yield [result, operation] Access the result along with the TransportOperation object
294
+ # @yieldparam result [::Gapic::Operation]
295
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
296
+ #
297
+ # @return [::Gapic::Operation]
298
+ #
299
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
300
+ #
301
+ # @example Basic example
302
+ # require "google/cloud/gke_multi_cloud/v1"
303
+ #
304
+ # # Create a client object. The client can be reused for multiple calls.
305
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
306
+ #
307
+ # # Create a request. To set request fields, pass in keyword arguments.
308
+ # request = Google::Cloud::GkeMultiCloud::V1::CreateAzureClientRequest.new
309
+ #
310
+ # # Call the create_azure_client method.
311
+ # result = client.create_azure_client request
312
+ #
313
+ # # The returned object is of type Gapic::Operation. You can use it to
314
+ # # check the status of an operation, cancel it, or wait for results.
315
+ # # Here is how to wait for a response.
316
+ # result.wait_until_done! timeout: 60
317
+ # if result.response?
318
+ # p result.response
319
+ # else
320
+ # puts "No response received."
321
+ # end
322
+ #
323
+ def create_azure_client request, options = nil
324
+ raise ::ArgumentError, "request must be provided" if request.nil?
325
+
326
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::CreateAzureClientRequest
327
+
328
+ # Converts hash and nil to an options object
329
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
330
+
331
+ # Customize the options with defaults
332
+ call_metadata = @config.rpcs.create_azure_client.metadata.to_h
333
+
334
+ # Set x-goog-api-client and x-goog-user-project headers
335
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
336
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
337
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
338
+ transports_version_send: [:rest]
339
+
340
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
341
+
342
+ options.apply_defaults timeout: @config.rpcs.create_azure_client.timeout,
343
+ metadata: call_metadata,
344
+ retry_policy: @config.rpcs.create_azure_client.retry_policy
345
+
346
+ options.apply_defaults timeout: @config.timeout,
347
+ metadata: @config.metadata,
348
+ retry_policy: @config.retry_policy
349
+
350
+ @azure_clusters_stub.create_azure_client request, options do |result, operation|
351
+ result = ::Gapic::Operation.new result, @operations_client, options: options
352
+ yield result, operation if block_given?
353
+ return result
354
+ end
355
+ rescue ::Gapic::Rest::Error => e
356
+ raise ::Google::Cloud::Error.from_error(e)
357
+ end
358
+
359
+ ##
360
+ # Describes a specific
361
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resource.
362
+ #
363
+ # @overload get_azure_client(request, options = nil)
364
+ # Pass arguments to `get_azure_client` via a request object, either of type
365
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureClientRequest} or an equivalent Hash.
366
+ #
367
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureClientRequest, ::Hash]
368
+ # A request object representing the call parameters. Required. To specify no
369
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
370
+ # @param options [::Gapic::CallOptions, ::Hash]
371
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
372
+ #
373
+ # @overload get_azure_client(name: nil)
374
+ # Pass arguments to `get_azure_client` via keyword arguments. Note that at
375
+ # least one keyword argument is required. To specify no parameters, or to keep all
376
+ # the default parameter values, pass an empty Hash as a request object (see above).
377
+ #
378
+ # @param name [::String]
379
+ # Required. The name of the
380
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resource to
381
+ # describe.
382
+ #
383
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} names are
384
+ # formatted as
385
+ # `projects/<project-id>/locations/<region>/azureClients/<client-id>`.
386
+ #
387
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
388
+ # for more details on Google Cloud resource names.
389
+ # @yield [result, operation] Access the result along with the TransportOperation object
390
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureClient]
391
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
392
+ #
393
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureClient]
394
+ #
395
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
396
+ #
397
+ # @example Basic example
398
+ # require "google/cloud/gke_multi_cloud/v1"
399
+ #
400
+ # # Create a client object. The client can be reused for multiple calls.
401
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
402
+ #
403
+ # # Create a request. To set request fields, pass in keyword arguments.
404
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureClientRequest.new
405
+ #
406
+ # # Call the get_azure_client method.
407
+ # result = client.get_azure_client request
408
+ #
409
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureClient.
410
+ # p result
411
+ #
412
+ def get_azure_client request, options = nil
413
+ raise ::ArgumentError, "request must be provided" if request.nil?
414
+
415
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureClientRequest
416
+
417
+ # Converts hash and nil to an options object
418
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
419
+
420
+ # Customize the options with defaults
421
+ call_metadata = @config.rpcs.get_azure_client.metadata.to_h
422
+
423
+ # Set x-goog-api-client and x-goog-user-project headers
424
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
425
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
426
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
427
+ transports_version_send: [:rest]
428
+
429
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
430
+
431
+ options.apply_defaults timeout: @config.rpcs.get_azure_client.timeout,
432
+ metadata: call_metadata,
433
+ retry_policy: @config.rpcs.get_azure_client.retry_policy
434
+
435
+ options.apply_defaults timeout: @config.timeout,
436
+ metadata: @config.metadata,
437
+ retry_policy: @config.retry_policy
438
+
439
+ @azure_clusters_stub.get_azure_client request, options do |result, operation|
440
+ yield result, operation if block_given?
441
+ return result
442
+ end
443
+ rescue ::Gapic::Rest::Error => e
444
+ raise ::Google::Cloud::Error.from_error(e)
445
+ end
446
+
447
+ ##
448
+ # Lists all {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient}
449
+ # resources on a given Google Cloud project and region.
450
+ #
451
+ # @overload list_azure_clients(request, options = nil)
452
+ # Pass arguments to `list_azure_clients` via a request object, either of type
453
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureClientsRequest} or an equivalent Hash.
454
+ #
455
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::ListAzureClientsRequest, ::Hash]
456
+ # A request object representing the call parameters. Required. To specify no
457
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
458
+ # @param options [::Gapic::CallOptions, ::Hash]
459
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
460
+ #
461
+ # @overload list_azure_clients(parent: nil, page_size: nil, page_token: nil)
462
+ # Pass arguments to `list_azure_clients` via keyword arguments. Note that at
463
+ # least one keyword argument is required. To specify no parameters, or to keep all
464
+ # the default parameter values, pass an empty Hash as a request object (see above).
465
+ #
466
+ # @param parent [::String]
467
+ # Required. The parent location which owns this collection of
468
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resources.
469
+ #
470
+ # Location names are formatted as `projects/<project-id>/locations/<region>`.
471
+ #
472
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
473
+ # for more details on Google Cloud Platform resource names.
474
+ # @param page_size [::Integer]
475
+ # The maximum number of items to return.
476
+ #
477
+ # If not specified, a default value of 50 will be used by the service.
478
+ # Regardless of the pageSize value, the response can include a partial list
479
+ # and a caller should only rely on response's
480
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureClientsResponse#next_page_token nextPageToken}
481
+ # to determine if there are more instances left to be queried.
482
+ # @param page_token [::String]
483
+ # The `nextPageToken` value returned from a previous
484
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client#list_azure_clients azureClients.list}
485
+ # request, if any.
486
+ # @yield [result, operation] Access the result along with the TransportOperation object
487
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureClient>]
488
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
489
+ #
490
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureClient>]
491
+ #
492
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
493
+ #
494
+ # @example Basic example
495
+ # require "google/cloud/gke_multi_cloud/v1"
496
+ #
497
+ # # Create a client object. The client can be reused for multiple calls.
498
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
499
+ #
500
+ # # Create a request. To set request fields, pass in keyword arguments.
501
+ # request = Google::Cloud::GkeMultiCloud::V1::ListAzureClientsRequest.new
502
+ #
503
+ # # Call the list_azure_clients method.
504
+ # result = client.list_azure_clients request
505
+ #
506
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
507
+ # # over elements, and API calls will be issued to fetch pages as needed.
508
+ # result.each do |item|
509
+ # # Each element is of type ::Google::Cloud::GkeMultiCloud::V1::AzureClient.
510
+ # p item
511
+ # end
512
+ #
513
+ def list_azure_clients request, options = nil
514
+ raise ::ArgumentError, "request must be provided" if request.nil?
515
+
516
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::ListAzureClientsRequest
517
+
518
+ # Converts hash and nil to an options object
519
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
520
+
521
+ # Customize the options with defaults
522
+ call_metadata = @config.rpcs.list_azure_clients.metadata.to_h
523
+
524
+ # Set x-goog-api-client and x-goog-user-project headers
525
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
526
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
527
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
528
+ transports_version_send: [:rest]
529
+
530
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
531
+
532
+ options.apply_defaults timeout: @config.rpcs.list_azure_clients.timeout,
533
+ metadata: call_metadata,
534
+ retry_policy: @config.rpcs.list_azure_clients.retry_policy
535
+
536
+ options.apply_defaults timeout: @config.timeout,
537
+ metadata: @config.metadata,
538
+ retry_policy: @config.retry_policy
539
+
540
+ @azure_clusters_stub.list_azure_clients request, options do |result, operation|
541
+ result = ::Gapic::Rest::PagedEnumerable.new @azure_clusters_stub, :list_azure_clients, "azure_clients", request, result, options
542
+ yield result, operation if block_given?
543
+ return result
544
+ end
545
+ rescue ::Gapic::Rest::Error => e
546
+ raise ::Google::Cloud::Error.from_error(e)
547
+ end
548
+
549
+ ##
550
+ # Deletes a specific {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient}
551
+ # resource.
552
+ #
553
+ # If the client is used by one or more clusters, deletion will
554
+ # fail and a `FAILED_PRECONDITION` error will be returned.
555
+ #
556
+ # If successful, the response contains a newly created
557
+ # {::Google::Longrunning::Operation Operation} resource that can be
558
+ # described to track the status of the operation.
559
+ #
560
+ # @overload delete_azure_client(request, options = nil)
561
+ # Pass arguments to `delete_azure_client` via a request object, either of type
562
+ # {::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClientRequest} or an equivalent Hash.
563
+ #
564
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClientRequest, ::Hash]
565
+ # A request object representing the call parameters. Required. To specify no
566
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
567
+ # @param options [::Gapic::CallOptions, ::Hash]
568
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
569
+ #
570
+ # @overload delete_azure_client(name: nil, allow_missing: nil, validate_only: nil)
571
+ # Pass arguments to `delete_azure_client` via keyword arguments. Note that at
572
+ # least one keyword argument is required. To specify no parameters, or to keep all
573
+ # the default parameter values, pass an empty Hash as a request object (see above).
574
+ #
575
+ # @param name [::String]
576
+ # Required. The resource name the
577
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} to delete.
578
+ #
579
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} names are
580
+ # formatted as
581
+ # `projects/<project-id>/locations/<region>/azureClients/<client-id>`.
582
+ #
583
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
584
+ # for more details on Google Cloud resource names.
585
+ # @param allow_missing [::Boolean]
586
+ # If set to true, and the
587
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} resource is not
588
+ # found, the request will succeed but no action will be taken on the server
589
+ # and a completed {::Google::Longrunning::Operation Operation} will be returned.
590
+ #
591
+ # Useful for idempotent deletion.
592
+ # @param validate_only [::Boolean]
593
+ # If set, only validate the request, but do not actually delete the resource.
594
+ # @yield [result, operation] Access the result along with the TransportOperation object
595
+ # @yieldparam result [::Gapic::Operation]
596
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
597
+ #
598
+ # @return [::Gapic::Operation]
599
+ #
600
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
601
+ #
602
+ # @example Basic example
603
+ # require "google/cloud/gke_multi_cloud/v1"
604
+ #
605
+ # # Create a client object. The client can be reused for multiple calls.
606
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
607
+ #
608
+ # # Create a request. To set request fields, pass in keyword arguments.
609
+ # request = Google::Cloud::GkeMultiCloud::V1::DeleteAzureClientRequest.new
610
+ #
611
+ # # Call the delete_azure_client method.
612
+ # result = client.delete_azure_client request
613
+ #
614
+ # # The returned object is of type Gapic::Operation. You can use it to
615
+ # # check the status of an operation, cancel it, or wait for results.
616
+ # # Here is how to wait for a response.
617
+ # result.wait_until_done! timeout: 60
618
+ # if result.response?
619
+ # p result.response
620
+ # else
621
+ # puts "No response received."
622
+ # end
623
+ #
624
+ def delete_azure_client request, options = nil
625
+ raise ::ArgumentError, "request must be provided" if request.nil?
626
+
627
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClientRequest
628
+
629
+ # Converts hash and nil to an options object
630
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
631
+
632
+ # Customize the options with defaults
633
+ call_metadata = @config.rpcs.delete_azure_client.metadata.to_h
634
+
635
+ # Set x-goog-api-client and x-goog-user-project headers
636
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
637
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
638
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
639
+ transports_version_send: [:rest]
640
+
641
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
642
+
643
+ options.apply_defaults timeout: @config.rpcs.delete_azure_client.timeout,
644
+ metadata: call_metadata,
645
+ retry_policy: @config.rpcs.delete_azure_client.retry_policy
646
+
647
+ options.apply_defaults timeout: @config.timeout,
648
+ metadata: @config.metadata,
649
+ retry_policy: @config.retry_policy
650
+
651
+ @azure_clusters_stub.delete_azure_client request, options do |result, operation|
652
+ result = ::Gapic::Operation.new result, @operations_client, options: options
653
+ yield result, operation if block_given?
654
+ return result
655
+ end
656
+ rescue ::Gapic::Rest::Error => e
657
+ raise ::Google::Cloud::Error.from_error(e)
658
+ end
659
+
660
+ ##
661
+ # Creates a new {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}
662
+ # resource on a given Google Cloud Platform project and region.
663
+ #
664
+ # If successful, the response contains a newly created
665
+ # {::Google::Longrunning::Operation Operation} resource that can be
666
+ # described to track the status of the operation.
667
+ #
668
+ # @overload create_azure_cluster(request, options = nil)
669
+ # Pass arguments to `create_azure_cluster` via a request object, either of type
670
+ # {::Google::Cloud::GkeMultiCloud::V1::CreateAzureClusterRequest} or an equivalent Hash.
671
+ #
672
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::CreateAzureClusterRequest, ::Hash]
673
+ # A request object representing the call parameters. Required. To specify no
674
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
675
+ # @param options [::Gapic::CallOptions, ::Hash]
676
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
677
+ #
678
+ # @overload create_azure_cluster(parent: nil, azure_cluster: nil, azure_cluster_id: nil, validate_only: nil)
679
+ # Pass arguments to `create_azure_cluster` via keyword arguments. Note that at
680
+ # least one keyword argument is required. To specify no parameters, or to keep all
681
+ # the default parameter values, pass an empty Hash as a request object (see above).
682
+ #
683
+ # @param parent [::String]
684
+ # Required. The parent location where this
685
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource will be
686
+ # created.
687
+ #
688
+ # Location names are formatted as `projects/<project-id>/locations/<region>`.
689
+ #
690
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
691
+ # for more details on Google Cloud resource names.
692
+ # @param azure_cluster [::Google::Cloud::GkeMultiCloud::V1::AzureCluster, ::Hash]
693
+ # Required. The specification of the
694
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} to create.
695
+ # @param azure_cluster_id [::String]
696
+ # Required. A client provided ID the resource. Must be unique within the
697
+ # parent resource.
698
+ #
699
+ # The provided ID will be part of the
700
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource name
701
+ # formatted as
702
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
703
+ #
704
+ # Valid characters are `/[a-z][0-9]-/`. Cannot be longer than 63 characters.
705
+ # @param validate_only [::Boolean]
706
+ # If set, only validate the request, but do not actually create the cluster.
707
+ # @yield [result, operation] Access the result along with the TransportOperation object
708
+ # @yieldparam result [::Gapic::Operation]
709
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
710
+ #
711
+ # @return [::Gapic::Operation]
712
+ #
713
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
714
+ #
715
+ # @example Basic example
716
+ # require "google/cloud/gke_multi_cloud/v1"
717
+ #
718
+ # # Create a client object. The client can be reused for multiple calls.
719
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
720
+ #
721
+ # # Create a request. To set request fields, pass in keyword arguments.
722
+ # request = Google::Cloud::GkeMultiCloud::V1::CreateAzureClusterRequest.new
723
+ #
724
+ # # Call the create_azure_cluster method.
725
+ # result = client.create_azure_cluster request
726
+ #
727
+ # # The returned object is of type Gapic::Operation. You can use it to
728
+ # # check the status of an operation, cancel it, or wait for results.
729
+ # # Here is how to wait for a response.
730
+ # result.wait_until_done! timeout: 60
731
+ # if result.response?
732
+ # p result.response
733
+ # else
734
+ # puts "No response received."
735
+ # end
736
+ #
737
+ def create_azure_cluster request, options = nil
738
+ raise ::ArgumentError, "request must be provided" if request.nil?
739
+
740
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::CreateAzureClusterRequest
741
+
742
+ # Converts hash and nil to an options object
743
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
744
+
745
+ # Customize the options with defaults
746
+ call_metadata = @config.rpcs.create_azure_cluster.metadata.to_h
747
+
748
+ # Set x-goog-api-client and x-goog-user-project headers
749
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
750
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
751
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
752
+ transports_version_send: [:rest]
753
+
754
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
755
+
756
+ options.apply_defaults timeout: @config.rpcs.create_azure_cluster.timeout,
757
+ metadata: call_metadata,
758
+ retry_policy: @config.rpcs.create_azure_cluster.retry_policy
759
+
760
+ options.apply_defaults timeout: @config.timeout,
761
+ metadata: @config.metadata,
762
+ retry_policy: @config.retry_policy
763
+
764
+ @azure_clusters_stub.create_azure_cluster request, options do |result, operation|
765
+ result = ::Gapic::Operation.new result, @operations_client, options: options
766
+ yield result, operation if block_given?
767
+ return result
768
+ end
769
+ rescue ::Gapic::Rest::Error => e
770
+ raise ::Google::Cloud::Error.from_error(e)
771
+ end
772
+
773
+ ##
774
+ # Updates an {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}.
775
+ #
776
+ # @overload update_azure_cluster(request, options = nil)
777
+ # Pass arguments to `update_azure_cluster` via a request object, either of type
778
+ # {::Google::Cloud::GkeMultiCloud::V1::UpdateAzureClusterRequest} or an equivalent Hash.
779
+ #
780
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::UpdateAzureClusterRequest, ::Hash]
781
+ # A request object representing the call parameters. Required. To specify no
782
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
783
+ # @param options [::Gapic::CallOptions, ::Hash]
784
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
785
+ #
786
+ # @overload update_azure_cluster(azure_cluster: nil, validate_only: nil, update_mask: nil)
787
+ # Pass arguments to `update_azure_cluster` via keyword arguments. Note that at
788
+ # least one keyword argument is required. To specify no parameters, or to keep all
789
+ # the default parameter values, pass an empty Hash as a request object (see above).
790
+ #
791
+ # @param azure_cluster [::Google::Cloud::GkeMultiCloud::V1::AzureCluster, ::Hash]
792
+ # Required. The {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}
793
+ # resource to update.
794
+ # @param validate_only [::Boolean]
795
+ # If set, only validate the request, but do not actually update the cluster.
796
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
797
+ # Required. Mask of fields to update. At least one path must be supplied in
798
+ # this field. The elements of the repeated paths field can only include these
799
+ # fields from {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}:
800
+ #
801
+ # * `description`.
802
+ # * `azureClient`.
803
+ # * `control_plane.version`.
804
+ # * `control_plane.vm_size`.
805
+ # * `annotations`.
806
+ # * `authorization.admin_users`.
807
+ # * `authorization.admin_groups`.
808
+ # * `control_plane.root_volume.size_gib`.
809
+ # * `azure_services_authentication`.
810
+ # * `azure_services_authentication.tenant_id`.
811
+ # * `azure_services_authentication.application_id`.
812
+ # * `control_plane.proxy_config`.
813
+ # * `control_plane.proxy_config.resource_group_id`.
814
+ # * `control_plane.proxy_config.secret_id`.
815
+ # * `control_plane.ssh_config.authorized_key`.
816
+ # * `logging_config.component_config.enable_components`
817
+ # * `monitoring_config.managed_prometheus_config.enabled`.
818
+ # @yield [result, operation] Access the result along with the TransportOperation object
819
+ # @yieldparam result [::Gapic::Operation]
820
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
821
+ #
822
+ # @return [::Gapic::Operation]
823
+ #
824
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
825
+ #
826
+ # @example Basic example
827
+ # require "google/cloud/gke_multi_cloud/v1"
828
+ #
829
+ # # Create a client object. The client can be reused for multiple calls.
830
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
831
+ #
832
+ # # Create a request. To set request fields, pass in keyword arguments.
833
+ # request = Google::Cloud::GkeMultiCloud::V1::UpdateAzureClusterRequest.new
834
+ #
835
+ # # Call the update_azure_cluster method.
836
+ # result = client.update_azure_cluster request
837
+ #
838
+ # # The returned object is of type Gapic::Operation. You can use it to
839
+ # # check the status of an operation, cancel it, or wait for results.
840
+ # # Here is how to wait for a response.
841
+ # result.wait_until_done! timeout: 60
842
+ # if result.response?
843
+ # p result.response
844
+ # else
845
+ # puts "No response received."
846
+ # end
847
+ #
848
+ def update_azure_cluster request, options = nil
849
+ raise ::ArgumentError, "request must be provided" if request.nil?
850
+
851
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::UpdateAzureClusterRequest
852
+
853
+ # Converts hash and nil to an options object
854
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
855
+
856
+ # Customize the options with defaults
857
+ call_metadata = @config.rpcs.update_azure_cluster.metadata.to_h
858
+
859
+ # Set x-goog-api-client and x-goog-user-project headers
860
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
861
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
862
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
863
+ transports_version_send: [:rest]
864
+
865
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
866
+
867
+ options.apply_defaults timeout: @config.rpcs.update_azure_cluster.timeout,
868
+ metadata: call_metadata,
869
+ retry_policy: @config.rpcs.update_azure_cluster.retry_policy
870
+
871
+ options.apply_defaults timeout: @config.timeout,
872
+ metadata: @config.metadata,
873
+ retry_policy: @config.retry_policy
874
+
875
+ @azure_clusters_stub.update_azure_cluster request, options do |result, operation|
876
+ result = ::Gapic::Operation.new result, @operations_client, options: options
877
+ yield result, operation if block_given?
878
+ return result
879
+ end
880
+ rescue ::Gapic::Rest::Error => e
881
+ raise ::Google::Cloud::Error.from_error(e)
882
+ end
883
+
884
+ ##
885
+ # Describes a specific
886
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource.
887
+ #
888
+ # @overload get_azure_cluster(request, options = nil)
889
+ # Pass arguments to `get_azure_cluster` via a request object, either of type
890
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureClusterRequest} or an equivalent Hash.
891
+ #
892
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureClusterRequest, ::Hash]
893
+ # A request object representing the call parameters. Required. To specify no
894
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
895
+ # @param options [::Gapic::CallOptions, ::Hash]
896
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
897
+ #
898
+ # @overload get_azure_cluster(name: nil)
899
+ # Pass arguments to `get_azure_cluster` via keyword arguments. Note that at
900
+ # least one keyword argument is required. To specify no parameters, or to keep all
901
+ # the default parameter values, pass an empty Hash as a request object (see above).
902
+ #
903
+ # @param name [::String]
904
+ # Required. The name of the
905
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource to
906
+ # describe.
907
+ #
908
+ # `AzureCluster` names are formatted as
909
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
910
+ #
911
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
912
+ # for more details on Google Cloud Platform resource names.
913
+ # @yield [result, operation] Access the result along with the TransportOperation object
914
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureCluster]
915
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
916
+ #
917
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureCluster]
918
+ #
919
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
920
+ #
921
+ # @example Basic example
922
+ # require "google/cloud/gke_multi_cloud/v1"
923
+ #
924
+ # # Create a client object. The client can be reused for multiple calls.
925
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
926
+ #
927
+ # # Create a request. To set request fields, pass in keyword arguments.
928
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureClusterRequest.new
929
+ #
930
+ # # Call the get_azure_cluster method.
931
+ # result = client.get_azure_cluster request
932
+ #
933
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureCluster.
934
+ # p result
935
+ #
936
+ def get_azure_cluster request, options = nil
937
+ raise ::ArgumentError, "request must be provided" if request.nil?
938
+
939
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureClusterRequest
940
+
941
+ # Converts hash and nil to an options object
942
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
943
+
944
+ # Customize the options with defaults
945
+ call_metadata = @config.rpcs.get_azure_cluster.metadata.to_h
946
+
947
+ # Set x-goog-api-client and x-goog-user-project headers
948
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
949
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
950
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
951
+ transports_version_send: [:rest]
952
+
953
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
954
+
955
+ options.apply_defaults timeout: @config.rpcs.get_azure_cluster.timeout,
956
+ metadata: call_metadata,
957
+ retry_policy: @config.rpcs.get_azure_cluster.retry_policy
958
+
959
+ options.apply_defaults timeout: @config.timeout,
960
+ metadata: @config.metadata,
961
+ retry_policy: @config.retry_policy
962
+
963
+ @azure_clusters_stub.get_azure_cluster request, options do |result, operation|
964
+ yield result, operation if block_given?
965
+ return result
966
+ end
967
+ rescue ::Gapic::Rest::Error => e
968
+ raise ::Google::Cloud::Error.from_error(e)
969
+ end
970
+
971
+ ##
972
+ # Lists all {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}
973
+ # resources on a given Google Cloud project and region.
974
+ #
975
+ # @overload list_azure_clusters(request, options = nil)
976
+ # Pass arguments to `list_azure_clusters` via a request object, either of type
977
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureClustersRequest} or an equivalent Hash.
978
+ #
979
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::ListAzureClustersRequest, ::Hash]
980
+ # A request object representing the call parameters. Required. To specify no
981
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
982
+ # @param options [::Gapic::CallOptions, ::Hash]
983
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
984
+ #
985
+ # @overload list_azure_clusters(parent: nil, page_size: nil, page_token: nil)
986
+ # Pass arguments to `list_azure_clusters` via keyword arguments. Note that at
987
+ # least one keyword argument is required. To specify no parameters, or to keep all
988
+ # the default parameter values, pass an empty Hash as a request object (see above).
989
+ #
990
+ # @param parent [::String]
991
+ # Required. The parent location which owns this collection of
992
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resources.
993
+ #
994
+ # Location names are formatted as `projects/<project-id>/locations/<region>`.
995
+ #
996
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
997
+ # for more details on Google Cloud Platform resource names.
998
+ # @param page_size [::Integer]
999
+ # The maximum number of items to return.
1000
+ #
1001
+ # If not specified, a default value of 50 will be used by the service.
1002
+ # Regardless of the pageSize value, the response can include a partial list
1003
+ # and a caller should only rely on response's
1004
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureClustersResponse#next_page_token nextPageToken}
1005
+ # to determine if there are more instances left to be queried.
1006
+ # @param page_token [::String]
1007
+ # The `nextPageToken` value returned from a previous
1008
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client#list_azure_clusters azureClusters.list}
1009
+ # request, if any.
1010
+ # @yield [result, operation] Access the result along with the TransportOperation object
1011
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureCluster>]
1012
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1013
+ #
1014
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureCluster>]
1015
+ #
1016
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1017
+ #
1018
+ # @example Basic example
1019
+ # require "google/cloud/gke_multi_cloud/v1"
1020
+ #
1021
+ # # Create a client object. The client can be reused for multiple calls.
1022
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1023
+ #
1024
+ # # Create a request. To set request fields, pass in keyword arguments.
1025
+ # request = Google::Cloud::GkeMultiCloud::V1::ListAzureClustersRequest.new
1026
+ #
1027
+ # # Call the list_azure_clusters method.
1028
+ # result = client.list_azure_clusters request
1029
+ #
1030
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1031
+ # # over elements, and API calls will be issued to fetch pages as needed.
1032
+ # result.each do |item|
1033
+ # # Each element is of type ::Google::Cloud::GkeMultiCloud::V1::AzureCluster.
1034
+ # p item
1035
+ # end
1036
+ #
1037
+ def list_azure_clusters request, options = nil
1038
+ raise ::ArgumentError, "request must be provided" if request.nil?
1039
+
1040
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::ListAzureClustersRequest
1041
+
1042
+ # Converts hash and nil to an options object
1043
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1044
+
1045
+ # Customize the options with defaults
1046
+ call_metadata = @config.rpcs.list_azure_clusters.metadata.to_h
1047
+
1048
+ # Set x-goog-api-client and x-goog-user-project headers
1049
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1050
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1051
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1052
+ transports_version_send: [:rest]
1053
+
1054
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1055
+
1056
+ options.apply_defaults timeout: @config.rpcs.list_azure_clusters.timeout,
1057
+ metadata: call_metadata,
1058
+ retry_policy: @config.rpcs.list_azure_clusters.retry_policy
1059
+
1060
+ options.apply_defaults timeout: @config.timeout,
1061
+ metadata: @config.metadata,
1062
+ retry_policy: @config.retry_policy
1063
+
1064
+ @azure_clusters_stub.list_azure_clusters request, options do |result, operation|
1065
+ result = ::Gapic::Rest::PagedEnumerable.new @azure_clusters_stub, :list_azure_clusters, "azure_clusters", request, result, options
1066
+ yield result, operation if block_given?
1067
+ return result
1068
+ end
1069
+ rescue ::Gapic::Rest::Error => e
1070
+ raise ::Google::Cloud::Error.from_error(e)
1071
+ end
1072
+
1073
+ ##
1074
+ # Deletes a specific
1075
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource.
1076
+ #
1077
+ # Fails if the cluster has one or more associated
1078
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resources.
1079
+ #
1080
+ # If successful, the response contains a newly created
1081
+ # {::Google::Longrunning::Operation Operation} resource that can be
1082
+ # described to track the status of the operation.
1083
+ #
1084
+ # @overload delete_azure_cluster(request, options = nil)
1085
+ # Pass arguments to `delete_azure_cluster` via a request object, either of type
1086
+ # {::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClusterRequest} or an equivalent Hash.
1087
+ #
1088
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClusterRequest, ::Hash]
1089
+ # A request object representing the call parameters. Required. To specify no
1090
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1091
+ # @param options [::Gapic::CallOptions, ::Hash]
1092
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1093
+ #
1094
+ # @overload delete_azure_cluster(name: nil, allow_missing: nil, validate_only: nil, etag: nil)
1095
+ # Pass arguments to `delete_azure_cluster` via keyword arguments. Note that at
1096
+ # least one keyword argument is required. To specify no parameters, or to keep all
1097
+ # the default parameter values, pass an empty Hash as a request object (see above).
1098
+ #
1099
+ # @param name [::String]
1100
+ # Required. The resource name the
1101
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} to delete.
1102
+ #
1103
+ # `AzureCluster` names are formatted as
1104
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
1105
+ #
1106
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1107
+ # for more details on Google Cloud Platform resource names.
1108
+ # @param allow_missing [::Boolean]
1109
+ # If set to true, and the
1110
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource is not
1111
+ # found, the request will succeed but no action will be taken on the server
1112
+ # and a completed {::Google::Longrunning::Operation Operation} will be returned.
1113
+ #
1114
+ # Useful for idempotent deletion.
1115
+ # @param validate_only [::Boolean]
1116
+ # If set, only validate the request, but do not actually delete the resource.
1117
+ # @param etag [::String]
1118
+ # The current etag of the
1119
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}.
1120
+ #
1121
+ # Allows clients to perform deletions through optimistic concurrency control.
1122
+ #
1123
+ # If the provided etag does not match the current etag of the cluster,
1124
+ # the request will fail and an ABORTED error will be returned.
1125
+ # @yield [result, operation] Access the result along with the TransportOperation object
1126
+ # @yieldparam result [::Gapic::Operation]
1127
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1128
+ #
1129
+ # @return [::Gapic::Operation]
1130
+ #
1131
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1132
+ #
1133
+ # @example Basic example
1134
+ # require "google/cloud/gke_multi_cloud/v1"
1135
+ #
1136
+ # # Create a client object. The client can be reused for multiple calls.
1137
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1138
+ #
1139
+ # # Create a request. To set request fields, pass in keyword arguments.
1140
+ # request = Google::Cloud::GkeMultiCloud::V1::DeleteAzureClusterRequest.new
1141
+ #
1142
+ # # Call the delete_azure_cluster method.
1143
+ # result = client.delete_azure_cluster request
1144
+ #
1145
+ # # The returned object is of type Gapic::Operation. You can use it to
1146
+ # # check the status of an operation, cancel it, or wait for results.
1147
+ # # Here is how to wait for a response.
1148
+ # result.wait_until_done! timeout: 60
1149
+ # if result.response?
1150
+ # p result.response
1151
+ # else
1152
+ # puts "No response received."
1153
+ # end
1154
+ #
1155
+ def delete_azure_cluster request, options = nil
1156
+ raise ::ArgumentError, "request must be provided" if request.nil?
1157
+
1158
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::DeleteAzureClusterRequest
1159
+
1160
+ # Converts hash and nil to an options object
1161
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1162
+
1163
+ # Customize the options with defaults
1164
+ call_metadata = @config.rpcs.delete_azure_cluster.metadata.to_h
1165
+
1166
+ # Set x-goog-api-client and x-goog-user-project headers
1167
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1168
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1169
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1170
+ transports_version_send: [:rest]
1171
+
1172
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1173
+
1174
+ options.apply_defaults timeout: @config.rpcs.delete_azure_cluster.timeout,
1175
+ metadata: call_metadata,
1176
+ retry_policy: @config.rpcs.delete_azure_cluster.retry_policy
1177
+
1178
+ options.apply_defaults timeout: @config.timeout,
1179
+ metadata: @config.metadata,
1180
+ retry_policy: @config.retry_policy
1181
+
1182
+ @azure_clusters_stub.delete_azure_cluster request, options do |result, operation|
1183
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1184
+ yield result, operation if block_given?
1185
+ return result
1186
+ end
1187
+ rescue ::Gapic::Rest::Error => e
1188
+ raise ::Google::Cloud::Error.from_error(e)
1189
+ end
1190
+
1191
+ ##
1192
+ # Generates an access token for a cluster agent.
1193
+ #
1194
+ # @overload generate_azure_cluster_agent_token(request, options = nil)
1195
+ # Pass arguments to `generate_azure_cluster_agent_token` via a request object, either of type
1196
+ # {::Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenRequest} or an equivalent Hash.
1197
+ #
1198
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenRequest, ::Hash]
1199
+ # A request object representing the call parameters. Required. To specify no
1200
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1201
+ # @param options [::Gapic::CallOptions, ::Hash]
1202
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1203
+ #
1204
+ # @overload generate_azure_cluster_agent_token(azure_cluster: nil, subject_token: nil, subject_token_type: nil, version: nil, node_pool_id: nil, grant_type: nil, audience: nil, scope: nil, requested_token_type: nil, options: nil)
1205
+ # Pass arguments to `generate_azure_cluster_agent_token` via keyword arguments. Note that at
1206
+ # least one keyword argument is required. To specify no parameters, or to keep all
1207
+ # the default parameter values, pass an empty Hash as a request object (see above).
1208
+ #
1209
+ # @param azure_cluster [::String]
1210
+ # Required.
1211
+ # @param subject_token [::String]
1212
+ # Required.
1213
+ # @param subject_token_type [::String]
1214
+ # Required.
1215
+ # @param version [::String]
1216
+ # Required.
1217
+ # @param node_pool_id [::String]
1218
+ # Optional.
1219
+ # @param grant_type [::String]
1220
+ # Optional.
1221
+ # @param audience [::String]
1222
+ # Optional.
1223
+ # @param scope [::String]
1224
+ # Optional.
1225
+ # @param requested_token_type [::String]
1226
+ # Optional.
1227
+ # @param options [::String]
1228
+ # Optional.
1229
+ # @yield [result, operation] Access the result along with the TransportOperation object
1230
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenResponse]
1231
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1232
+ #
1233
+ # @return [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenResponse]
1234
+ #
1235
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1236
+ #
1237
+ # @example Basic example
1238
+ # require "google/cloud/gke_multi_cloud/v1"
1239
+ #
1240
+ # # Create a client object. The client can be reused for multiple calls.
1241
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1242
+ #
1243
+ # # Create a request. To set request fields, pass in keyword arguments.
1244
+ # request = Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenRequest.new
1245
+ #
1246
+ # # Call the generate_azure_cluster_agent_token method.
1247
+ # result = client.generate_azure_cluster_agent_token request
1248
+ #
1249
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenResponse.
1250
+ # p result
1251
+ #
1252
+ def generate_azure_cluster_agent_token request, options = nil
1253
+ raise ::ArgumentError, "request must be provided" if request.nil?
1254
+
1255
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GenerateAzureClusterAgentTokenRequest
1256
+
1257
+ # Converts hash and nil to an options object
1258
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1259
+
1260
+ # Customize the options with defaults
1261
+ call_metadata = @config.rpcs.generate_azure_cluster_agent_token.metadata.to_h
1262
+
1263
+ # Set x-goog-api-client and x-goog-user-project headers
1264
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1265
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1266
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1267
+ transports_version_send: [:rest]
1268
+
1269
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1270
+
1271
+ options.apply_defaults timeout: @config.rpcs.generate_azure_cluster_agent_token.timeout,
1272
+ metadata: call_metadata,
1273
+ retry_policy: @config.rpcs.generate_azure_cluster_agent_token.retry_policy
1274
+
1275
+ options.apply_defaults timeout: @config.timeout,
1276
+ metadata: @config.metadata,
1277
+ retry_policy: @config.retry_policy
1278
+
1279
+ @azure_clusters_stub.generate_azure_cluster_agent_token request, options do |result, operation|
1280
+ yield result, operation if block_given?
1281
+ return result
1282
+ end
1283
+ rescue ::Gapic::Rest::Error => e
1284
+ raise ::Google::Cloud::Error.from_error(e)
1285
+ end
1286
+
1287
+ ##
1288
+ # Generates a short-lived access token to authenticate to a given
1289
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource.
1290
+ #
1291
+ # @overload generate_azure_access_token(request, options = nil)
1292
+ # Pass arguments to `generate_azure_access_token` via a request object, either of type
1293
+ # {::Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenRequest} or an equivalent Hash.
1294
+ #
1295
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenRequest, ::Hash]
1296
+ # A request object representing the call parameters. Required. To specify no
1297
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1298
+ # @param options [::Gapic::CallOptions, ::Hash]
1299
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1300
+ #
1301
+ # @overload generate_azure_access_token(azure_cluster: nil)
1302
+ # Pass arguments to `generate_azure_access_token` via keyword arguments. Note that at
1303
+ # least one keyword argument is required. To specify no parameters, or to keep all
1304
+ # the default parameter values, pass an empty Hash as a request object (see above).
1305
+ #
1306
+ # @param azure_cluster [::String]
1307
+ # Required. The name of the
1308
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} resource to
1309
+ # authenticate to.
1310
+ #
1311
+ # `AzureCluster` names are formatted as
1312
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
1313
+ #
1314
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1315
+ # for more details on Google Cloud resource names.
1316
+ # @yield [result, operation] Access the result along with the TransportOperation object
1317
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenResponse]
1318
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1319
+ #
1320
+ # @return [::Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenResponse]
1321
+ #
1322
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1323
+ #
1324
+ # @example Basic example
1325
+ # require "google/cloud/gke_multi_cloud/v1"
1326
+ #
1327
+ # # Create a client object. The client can be reused for multiple calls.
1328
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1329
+ #
1330
+ # # Create a request. To set request fields, pass in keyword arguments.
1331
+ # request = Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenRequest.new
1332
+ #
1333
+ # # Call the generate_azure_access_token method.
1334
+ # result = client.generate_azure_access_token request
1335
+ #
1336
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenResponse.
1337
+ # p result
1338
+ #
1339
+ def generate_azure_access_token request, options = nil
1340
+ raise ::ArgumentError, "request must be provided" if request.nil?
1341
+
1342
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GenerateAzureAccessTokenRequest
1343
+
1344
+ # Converts hash and nil to an options object
1345
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1346
+
1347
+ # Customize the options with defaults
1348
+ call_metadata = @config.rpcs.generate_azure_access_token.metadata.to_h
1349
+
1350
+ # Set x-goog-api-client and x-goog-user-project headers
1351
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1352
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1353
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1354
+ transports_version_send: [:rest]
1355
+
1356
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1357
+
1358
+ options.apply_defaults timeout: @config.rpcs.generate_azure_access_token.timeout,
1359
+ metadata: call_metadata,
1360
+ retry_policy: @config.rpcs.generate_azure_access_token.retry_policy
1361
+
1362
+ options.apply_defaults timeout: @config.timeout,
1363
+ metadata: @config.metadata,
1364
+ retry_policy: @config.retry_policy
1365
+
1366
+ @azure_clusters_stub.generate_azure_access_token request, options do |result, operation|
1367
+ yield result, operation if block_given?
1368
+ return result
1369
+ end
1370
+ rescue ::Gapic::Rest::Error => e
1371
+ raise ::Google::Cloud::Error.from_error(e)
1372
+ end
1373
+
1374
+ ##
1375
+ # Creates a new {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool},
1376
+ # attached to a given
1377
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}.
1378
+ #
1379
+ # If successful, the response contains a newly created
1380
+ # {::Google::Longrunning::Operation Operation} resource that can be
1381
+ # described to track the status of the operation.
1382
+ #
1383
+ # @overload create_azure_node_pool(request, options = nil)
1384
+ # Pass arguments to `create_azure_node_pool` via a request object, either of type
1385
+ # {::Google::Cloud::GkeMultiCloud::V1::CreateAzureNodePoolRequest} or an equivalent Hash.
1386
+ #
1387
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::CreateAzureNodePoolRequest, ::Hash]
1388
+ # A request object representing the call parameters. Required. To specify no
1389
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1390
+ # @param options [::Gapic::CallOptions, ::Hash]
1391
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1392
+ #
1393
+ # @overload create_azure_node_pool(parent: nil, azure_node_pool: nil, azure_node_pool_id: nil, validate_only: nil)
1394
+ # Pass arguments to `create_azure_node_pool` via keyword arguments. Note that at
1395
+ # least one keyword argument is required. To specify no parameters, or to keep all
1396
+ # the default parameter values, pass an empty Hash as a request object (see above).
1397
+ #
1398
+ # @param parent [::String]
1399
+ # Required. The {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}
1400
+ # resource where this node pool will be created.
1401
+ #
1402
+ # `AzureCluster` names are formatted as
1403
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
1404
+ #
1405
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1406
+ # for more details on Google Cloud resource names.
1407
+ # @param azure_node_pool [::Google::Cloud::GkeMultiCloud::V1::AzureNodePool, ::Hash]
1408
+ # Required. The specification of the
1409
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} to create.
1410
+ # @param azure_node_pool_id [::String]
1411
+ # Required. A client provided ID the resource. Must be unique within the
1412
+ # parent resource.
1413
+ #
1414
+ # The provided ID will be part of the
1415
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resource name
1416
+ # formatted as
1417
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>/azureNodePools/<node-pool-id>`.
1418
+ #
1419
+ # Valid characters are `/[a-z][0-9]-/`. Cannot be longer than 63 characters.
1420
+ # @param validate_only [::Boolean]
1421
+ # If set, only validate the request, but do not actually create the node
1422
+ # pool.
1423
+ # @yield [result, operation] Access the result along with the TransportOperation object
1424
+ # @yieldparam result [::Gapic::Operation]
1425
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1426
+ #
1427
+ # @return [::Gapic::Operation]
1428
+ #
1429
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1430
+ #
1431
+ # @example Basic example
1432
+ # require "google/cloud/gke_multi_cloud/v1"
1433
+ #
1434
+ # # Create a client object. The client can be reused for multiple calls.
1435
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1436
+ #
1437
+ # # Create a request. To set request fields, pass in keyword arguments.
1438
+ # request = Google::Cloud::GkeMultiCloud::V1::CreateAzureNodePoolRequest.new
1439
+ #
1440
+ # # Call the create_azure_node_pool method.
1441
+ # result = client.create_azure_node_pool request
1442
+ #
1443
+ # # The returned object is of type Gapic::Operation. You can use it to
1444
+ # # check the status of an operation, cancel it, or wait for results.
1445
+ # # Here is how to wait for a response.
1446
+ # result.wait_until_done! timeout: 60
1447
+ # if result.response?
1448
+ # p result.response
1449
+ # else
1450
+ # puts "No response received."
1451
+ # end
1452
+ #
1453
+ def create_azure_node_pool request, options = nil
1454
+ raise ::ArgumentError, "request must be provided" if request.nil?
1455
+
1456
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::CreateAzureNodePoolRequest
1457
+
1458
+ # Converts hash and nil to an options object
1459
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1460
+
1461
+ # Customize the options with defaults
1462
+ call_metadata = @config.rpcs.create_azure_node_pool.metadata.to_h
1463
+
1464
+ # Set x-goog-api-client and x-goog-user-project headers
1465
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1466
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1467
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1468
+ transports_version_send: [:rest]
1469
+
1470
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1471
+
1472
+ options.apply_defaults timeout: @config.rpcs.create_azure_node_pool.timeout,
1473
+ metadata: call_metadata,
1474
+ retry_policy: @config.rpcs.create_azure_node_pool.retry_policy
1475
+
1476
+ options.apply_defaults timeout: @config.timeout,
1477
+ metadata: @config.metadata,
1478
+ retry_policy: @config.retry_policy
1479
+
1480
+ @azure_clusters_stub.create_azure_node_pool request, options do |result, operation|
1481
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1482
+ yield result, operation if block_given?
1483
+ return result
1484
+ end
1485
+ rescue ::Gapic::Rest::Error => e
1486
+ raise ::Google::Cloud::Error.from_error(e)
1487
+ end
1488
+
1489
+ ##
1490
+ # Updates an {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool}.
1491
+ #
1492
+ # @overload update_azure_node_pool(request, options = nil)
1493
+ # Pass arguments to `update_azure_node_pool` via a request object, either of type
1494
+ # {::Google::Cloud::GkeMultiCloud::V1::UpdateAzureNodePoolRequest} or an equivalent Hash.
1495
+ #
1496
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::UpdateAzureNodePoolRequest, ::Hash]
1497
+ # A request object representing the call parameters. Required. To specify no
1498
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1499
+ # @param options [::Gapic::CallOptions, ::Hash]
1500
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1501
+ #
1502
+ # @overload update_azure_node_pool(azure_node_pool: nil, validate_only: nil, update_mask: nil)
1503
+ # Pass arguments to `update_azure_node_pool` via keyword arguments. Note that at
1504
+ # least one keyword argument is required. To specify no parameters, or to keep all
1505
+ # the default parameter values, pass an empty Hash as a request object (see above).
1506
+ #
1507
+ # @param azure_node_pool [::Google::Cloud::GkeMultiCloud::V1::AzureNodePool, ::Hash]
1508
+ # Required. The {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool}
1509
+ # resource to update.
1510
+ # @param validate_only [::Boolean]
1511
+ # If set, only validate the request, but don't actually update the node pool.
1512
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1513
+ # Required. Mask of fields to update. At least one path must be supplied in
1514
+ # this field. The elements of the repeated paths field can only include these
1515
+ # fields from {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool}:
1516
+ #
1517
+ # *. `annotations`.
1518
+ # * `version`.
1519
+ # * `autoscaling.min_node_count`.
1520
+ # * `autoscaling.max_node_count`.
1521
+ # * `config.ssh_config.authorized_key`.
1522
+ # * `management.auto_repair`.
1523
+ # * `management`.
1524
+ # @yield [result, operation] Access the result along with the TransportOperation object
1525
+ # @yieldparam result [::Gapic::Operation]
1526
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1527
+ #
1528
+ # @return [::Gapic::Operation]
1529
+ #
1530
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1531
+ #
1532
+ # @example Basic example
1533
+ # require "google/cloud/gke_multi_cloud/v1"
1534
+ #
1535
+ # # Create a client object. The client can be reused for multiple calls.
1536
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1537
+ #
1538
+ # # Create a request. To set request fields, pass in keyword arguments.
1539
+ # request = Google::Cloud::GkeMultiCloud::V1::UpdateAzureNodePoolRequest.new
1540
+ #
1541
+ # # Call the update_azure_node_pool method.
1542
+ # result = client.update_azure_node_pool request
1543
+ #
1544
+ # # The returned object is of type Gapic::Operation. You can use it to
1545
+ # # check the status of an operation, cancel it, or wait for results.
1546
+ # # Here is how to wait for a response.
1547
+ # result.wait_until_done! timeout: 60
1548
+ # if result.response?
1549
+ # p result.response
1550
+ # else
1551
+ # puts "No response received."
1552
+ # end
1553
+ #
1554
+ def update_azure_node_pool request, options = nil
1555
+ raise ::ArgumentError, "request must be provided" if request.nil?
1556
+
1557
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::UpdateAzureNodePoolRequest
1558
+
1559
+ # Converts hash and nil to an options object
1560
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1561
+
1562
+ # Customize the options with defaults
1563
+ call_metadata = @config.rpcs.update_azure_node_pool.metadata.to_h
1564
+
1565
+ # Set x-goog-api-client and x-goog-user-project headers
1566
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1567
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1568
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1569
+ transports_version_send: [:rest]
1570
+
1571
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1572
+
1573
+ options.apply_defaults timeout: @config.rpcs.update_azure_node_pool.timeout,
1574
+ metadata: call_metadata,
1575
+ retry_policy: @config.rpcs.update_azure_node_pool.retry_policy
1576
+
1577
+ options.apply_defaults timeout: @config.timeout,
1578
+ metadata: @config.metadata,
1579
+ retry_policy: @config.retry_policy
1580
+
1581
+ @azure_clusters_stub.update_azure_node_pool request, options do |result, operation|
1582
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1583
+ yield result, operation if block_given?
1584
+ return result
1585
+ end
1586
+ rescue ::Gapic::Rest::Error => e
1587
+ raise ::Google::Cloud::Error.from_error(e)
1588
+ end
1589
+
1590
+ ##
1591
+ # Describes a specific
1592
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resource.
1593
+ #
1594
+ # @overload get_azure_node_pool(request, options = nil)
1595
+ # Pass arguments to `get_azure_node_pool` via a request object, either of type
1596
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureNodePoolRequest} or an equivalent Hash.
1597
+ #
1598
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureNodePoolRequest, ::Hash]
1599
+ # A request object representing the call parameters. Required. To specify no
1600
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1601
+ # @param options [::Gapic::CallOptions, ::Hash]
1602
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1603
+ #
1604
+ # @overload get_azure_node_pool(name: nil)
1605
+ # Pass arguments to `get_azure_node_pool` via keyword arguments. Note that at
1606
+ # least one keyword argument is required. To specify no parameters, or to keep all
1607
+ # the default parameter values, pass an empty Hash as a request object (see above).
1608
+ #
1609
+ # @param name [::String]
1610
+ # Required. The name of the
1611
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resource to
1612
+ # describe.
1613
+ #
1614
+ # `AzureNodePool` names are formatted as
1615
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>/azureNodePools/<node-pool-id>`.
1616
+ #
1617
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1618
+ # for more details on Google Cloud resource names.
1619
+ # @yield [result, operation] Access the result along with the TransportOperation object
1620
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureNodePool]
1621
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1622
+ #
1623
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureNodePool]
1624
+ #
1625
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1626
+ #
1627
+ # @example Basic example
1628
+ # require "google/cloud/gke_multi_cloud/v1"
1629
+ #
1630
+ # # Create a client object. The client can be reused for multiple calls.
1631
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1632
+ #
1633
+ # # Create a request. To set request fields, pass in keyword arguments.
1634
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureNodePoolRequest.new
1635
+ #
1636
+ # # Call the get_azure_node_pool method.
1637
+ # result = client.get_azure_node_pool request
1638
+ #
1639
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureNodePool.
1640
+ # p result
1641
+ #
1642
+ def get_azure_node_pool request, options = nil
1643
+ raise ::ArgumentError, "request must be provided" if request.nil?
1644
+
1645
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureNodePoolRequest
1646
+
1647
+ # Converts hash and nil to an options object
1648
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1649
+
1650
+ # Customize the options with defaults
1651
+ call_metadata = @config.rpcs.get_azure_node_pool.metadata.to_h
1652
+
1653
+ # Set x-goog-api-client and x-goog-user-project headers
1654
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1655
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1656
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1657
+ transports_version_send: [:rest]
1658
+
1659
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1660
+
1661
+ options.apply_defaults timeout: @config.rpcs.get_azure_node_pool.timeout,
1662
+ metadata: call_metadata,
1663
+ retry_policy: @config.rpcs.get_azure_node_pool.retry_policy
1664
+
1665
+ options.apply_defaults timeout: @config.timeout,
1666
+ metadata: @config.metadata,
1667
+ retry_policy: @config.retry_policy
1668
+
1669
+ @azure_clusters_stub.get_azure_node_pool request, options do |result, operation|
1670
+ yield result, operation if block_given?
1671
+ return result
1672
+ end
1673
+ rescue ::Gapic::Rest::Error => e
1674
+ raise ::Google::Cloud::Error.from_error(e)
1675
+ end
1676
+
1677
+ ##
1678
+ # Lists all {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool}
1679
+ # resources on a given
1680
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster}.
1681
+ #
1682
+ # @overload list_azure_node_pools(request, options = nil)
1683
+ # Pass arguments to `list_azure_node_pools` via a request object, either of type
1684
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureNodePoolsRequest} or an equivalent Hash.
1685
+ #
1686
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::ListAzureNodePoolsRequest, ::Hash]
1687
+ # A request object representing the call parameters. Required. To specify no
1688
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1689
+ # @param options [::Gapic::CallOptions, ::Hash]
1690
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1691
+ #
1692
+ # @overload list_azure_node_pools(parent: nil, page_size: nil, page_token: nil)
1693
+ # Pass arguments to `list_azure_node_pools` via keyword arguments. Note that at
1694
+ # least one keyword argument is required. To specify no parameters, or to keep all
1695
+ # the default parameter values, pass an empty Hash as a request object (see above).
1696
+ #
1697
+ # @param parent [::String]
1698
+ # Required. The parent `AzureCluster` which owns this collection of
1699
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resources.
1700
+ #
1701
+ # `AzureCluster` names are formatted as
1702
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>`.
1703
+ #
1704
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1705
+ # for more details on Google Cloud resource names.
1706
+ # @param page_size [::Integer]
1707
+ # The maximum number of items to return.
1708
+ #
1709
+ # If not specified, a default value of 50 will be used by the service.
1710
+ # Regardless of the pageSize value, the response can include a partial list
1711
+ # and a caller should only rely on response's
1712
+ # {::Google::Cloud::GkeMultiCloud::V1::ListAzureNodePoolsResponse#next_page_token nextPageToken}
1713
+ # to determine if there are more instances left to be queried.
1714
+ # @param page_token [::String]
1715
+ # The `nextPageToken` value returned from a previous
1716
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client#list_azure_node_pools azureNodePools.list}
1717
+ # request, if any.
1718
+ # @yield [result, operation] Access the result along with the TransportOperation object
1719
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureNodePool>]
1720
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1721
+ #
1722
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::GkeMultiCloud::V1::AzureNodePool>]
1723
+ #
1724
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1725
+ #
1726
+ # @example Basic example
1727
+ # require "google/cloud/gke_multi_cloud/v1"
1728
+ #
1729
+ # # Create a client object. The client can be reused for multiple calls.
1730
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1731
+ #
1732
+ # # Create a request. To set request fields, pass in keyword arguments.
1733
+ # request = Google::Cloud::GkeMultiCloud::V1::ListAzureNodePoolsRequest.new
1734
+ #
1735
+ # # Call the list_azure_node_pools method.
1736
+ # result = client.list_azure_node_pools request
1737
+ #
1738
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1739
+ # # over elements, and API calls will be issued to fetch pages as needed.
1740
+ # result.each do |item|
1741
+ # # Each element is of type ::Google::Cloud::GkeMultiCloud::V1::AzureNodePool.
1742
+ # p item
1743
+ # end
1744
+ #
1745
+ def list_azure_node_pools request, options = nil
1746
+ raise ::ArgumentError, "request must be provided" if request.nil?
1747
+
1748
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::ListAzureNodePoolsRequest
1749
+
1750
+ # Converts hash and nil to an options object
1751
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1752
+
1753
+ # Customize the options with defaults
1754
+ call_metadata = @config.rpcs.list_azure_node_pools.metadata.to_h
1755
+
1756
+ # Set x-goog-api-client and x-goog-user-project headers
1757
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1758
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1759
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1760
+ transports_version_send: [:rest]
1761
+
1762
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1763
+
1764
+ options.apply_defaults timeout: @config.rpcs.list_azure_node_pools.timeout,
1765
+ metadata: call_metadata,
1766
+ retry_policy: @config.rpcs.list_azure_node_pools.retry_policy
1767
+
1768
+ options.apply_defaults timeout: @config.timeout,
1769
+ metadata: @config.metadata,
1770
+ retry_policy: @config.retry_policy
1771
+
1772
+ @azure_clusters_stub.list_azure_node_pools request, options do |result, operation|
1773
+ result = ::Gapic::Rest::PagedEnumerable.new @azure_clusters_stub, :list_azure_node_pools, "azure_node_pools", request, result, options
1774
+ yield result, operation if block_given?
1775
+ return result
1776
+ end
1777
+ rescue ::Gapic::Rest::Error => e
1778
+ raise ::Google::Cloud::Error.from_error(e)
1779
+ end
1780
+
1781
+ ##
1782
+ # Deletes a specific
1783
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resource.
1784
+ #
1785
+ # If successful, the response contains a newly created
1786
+ # {::Google::Longrunning::Operation Operation} resource that can be
1787
+ # described to track the status of the operation.
1788
+ #
1789
+ # @overload delete_azure_node_pool(request, options = nil)
1790
+ # Pass arguments to `delete_azure_node_pool` via a request object, either of type
1791
+ # {::Google::Cloud::GkeMultiCloud::V1::DeleteAzureNodePoolRequest} or an equivalent Hash.
1792
+ #
1793
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::DeleteAzureNodePoolRequest, ::Hash]
1794
+ # A request object representing the call parameters. Required. To specify no
1795
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1796
+ # @param options [::Gapic::CallOptions, ::Hash]
1797
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1798
+ #
1799
+ # @overload delete_azure_node_pool(name: nil, validate_only: nil, allow_missing: nil, etag: nil)
1800
+ # Pass arguments to `delete_azure_node_pool` via keyword arguments. Note that at
1801
+ # least one keyword argument is required. To specify no parameters, or to keep all
1802
+ # the default parameter values, pass an empty Hash as a request object (see above).
1803
+ #
1804
+ # @param name [::String]
1805
+ # Required. The resource name the
1806
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} to delete.
1807
+ #
1808
+ # `AzureNodePool` names are formatted as
1809
+ # `projects/<project-id>/locations/<region>/azureClusters/<cluster-id>/azureNodePools/<node-pool-id>`.
1810
+ #
1811
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1812
+ # for more details on Google Cloud resource names.
1813
+ # @param validate_only [::Boolean]
1814
+ # If set, only validate the request, but do not actually delete the node
1815
+ # pool.
1816
+ # @param allow_missing [::Boolean]
1817
+ # If set to true, and the
1818
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool} resource is
1819
+ # not found, the request will succeed but no action will be taken on the
1820
+ # server and a completed {::Google::Longrunning::Operation Operation} will be
1821
+ # returned.
1822
+ #
1823
+ # Useful for idempotent deletion.
1824
+ # @param etag [::String]
1825
+ # The current ETag of the
1826
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureNodePool AzureNodePool}.
1827
+ #
1828
+ # Allows clients to perform deletions through optimistic concurrency control.
1829
+ #
1830
+ # If the provided ETag does not match the current etag of the node pool,
1831
+ # the request will fail and an ABORTED error will be returned.
1832
+ # @yield [result, operation] Access the result along with the TransportOperation object
1833
+ # @yieldparam result [::Gapic::Operation]
1834
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1835
+ #
1836
+ # @return [::Gapic::Operation]
1837
+ #
1838
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1839
+ #
1840
+ # @example Basic example
1841
+ # require "google/cloud/gke_multi_cloud/v1"
1842
+ #
1843
+ # # Create a client object. The client can be reused for multiple calls.
1844
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1845
+ #
1846
+ # # Create a request. To set request fields, pass in keyword arguments.
1847
+ # request = Google::Cloud::GkeMultiCloud::V1::DeleteAzureNodePoolRequest.new
1848
+ #
1849
+ # # Call the delete_azure_node_pool method.
1850
+ # result = client.delete_azure_node_pool request
1851
+ #
1852
+ # # The returned object is of type Gapic::Operation. You can use it to
1853
+ # # check the status of an operation, cancel it, or wait for results.
1854
+ # # Here is how to wait for a response.
1855
+ # result.wait_until_done! timeout: 60
1856
+ # if result.response?
1857
+ # p result.response
1858
+ # else
1859
+ # puts "No response received."
1860
+ # end
1861
+ #
1862
+ def delete_azure_node_pool request, options = nil
1863
+ raise ::ArgumentError, "request must be provided" if request.nil?
1864
+
1865
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::DeleteAzureNodePoolRequest
1866
+
1867
+ # Converts hash and nil to an options object
1868
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1869
+
1870
+ # Customize the options with defaults
1871
+ call_metadata = @config.rpcs.delete_azure_node_pool.metadata.to_h
1872
+
1873
+ # Set x-goog-api-client and x-goog-user-project headers
1874
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1875
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1876
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1877
+ transports_version_send: [:rest]
1878
+
1879
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1880
+
1881
+ options.apply_defaults timeout: @config.rpcs.delete_azure_node_pool.timeout,
1882
+ metadata: call_metadata,
1883
+ retry_policy: @config.rpcs.delete_azure_node_pool.retry_policy
1884
+
1885
+ options.apply_defaults timeout: @config.timeout,
1886
+ metadata: @config.metadata,
1887
+ retry_policy: @config.retry_policy
1888
+
1889
+ @azure_clusters_stub.delete_azure_node_pool request, options do |result, operation|
1890
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1891
+ yield result, operation if block_given?
1892
+ return result
1893
+ end
1894
+ rescue ::Gapic::Rest::Error => e
1895
+ raise ::Google::Cloud::Error.from_error(e)
1896
+ end
1897
+
1898
+ ##
1899
+ # Gets the OIDC discovery document for the cluster.
1900
+ # See the
1901
+ # [OpenID Connect Discovery 1.0
1902
+ # specification](https://openid.net/specs/openid-connect-discovery-1_0.html)
1903
+ # for details.
1904
+ #
1905
+ # @overload get_azure_open_id_config(request, options = nil)
1906
+ # Pass arguments to `get_azure_open_id_config` via a request object, either of type
1907
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureOpenIdConfigRequest} or an equivalent Hash.
1908
+ #
1909
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureOpenIdConfigRequest, ::Hash]
1910
+ # A request object representing the call parameters. Required. To specify no
1911
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1912
+ # @param options [::Gapic::CallOptions, ::Hash]
1913
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1914
+ #
1915
+ # @overload get_azure_open_id_config(azure_cluster: nil)
1916
+ # Pass arguments to `get_azure_open_id_config` via keyword arguments. Note that at
1917
+ # least one keyword argument is required. To specify no parameters, or to keep all
1918
+ # the default parameter values, pass an empty Hash as a request object (see above).
1919
+ #
1920
+ # @param azure_cluster [::String]
1921
+ # Required. The AzureCluster, which owns the OIDC discovery document.
1922
+ # Format:
1923
+ # projects/<project-id>/locations/<region>/azureClusters/<cluster-id>
1924
+ # @yield [result, operation] Access the result along with the TransportOperation object
1925
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureOpenIdConfig]
1926
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1927
+ #
1928
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureOpenIdConfig]
1929
+ #
1930
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1931
+ #
1932
+ # @example Basic example
1933
+ # require "google/cloud/gke_multi_cloud/v1"
1934
+ #
1935
+ # # Create a client object. The client can be reused for multiple calls.
1936
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
1937
+ #
1938
+ # # Create a request. To set request fields, pass in keyword arguments.
1939
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureOpenIdConfigRequest.new
1940
+ #
1941
+ # # Call the get_azure_open_id_config method.
1942
+ # result = client.get_azure_open_id_config request
1943
+ #
1944
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureOpenIdConfig.
1945
+ # p result
1946
+ #
1947
+ def get_azure_open_id_config request, options = nil
1948
+ raise ::ArgumentError, "request must be provided" if request.nil?
1949
+
1950
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureOpenIdConfigRequest
1951
+
1952
+ # Converts hash and nil to an options object
1953
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1954
+
1955
+ # Customize the options with defaults
1956
+ call_metadata = @config.rpcs.get_azure_open_id_config.metadata.to_h
1957
+
1958
+ # Set x-goog-api-client and x-goog-user-project headers
1959
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1960
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1961
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
1962
+ transports_version_send: [:rest]
1963
+
1964
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1965
+
1966
+ options.apply_defaults timeout: @config.rpcs.get_azure_open_id_config.timeout,
1967
+ metadata: call_metadata,
1968
+ retry_policy: @config.rpcs.get_azure_open_id_config.retry_policy
1969
+
1970
+ options.apply_defaults timeout: @config.timeout,
1971
+ metadata: @config.metadata,
1972
+ retry_policy: @config.retry_policy
1973
+
1974
+ @azure_clusters_stub.get_azure_open_id_config request, options do |result, operation|
1975
+ yield result, operation if block_given?
1976
+ return result
1977
+ end
1978
+ rescue ::Gapic::Rest::Error => e
1979
+ raise ::Google::Cloud::Error.from_error(e)
1980
+ end
1981
+
1982
+ ##
1983
+ # Gets the public component of the cluster signing keys in
1984
+ # JSON Web Key format.
1985
+ #
1986
+ # @overload get_azure_json_web_keys(request, options = nil)
1987
+ # Pass arguments to `get_azure_json_web_keys` via a request object, either of type
1988
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureJsonWebKeysRequest} or an equivalent Hash.
1989
+ #
1990
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureJsonWebKeysRequest, ::Hash]
1991
+ # A request object representing the call parameters. Required. To specify no
1992
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1993
+ # @param options [::Gapic::CallOptions, ::Hash]
1994
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1995
+ #
1996
+ # @overload get_azure_json_web_keys(azure_cluster: nil)
1997
+ # Pass arguments to `get_azure_json_web_keys` via keyword arguments. Note that at
1998
+ # least one keyword argument is required. To specify no parameters, or to keep all
1999
+ # the default parameter values, pass an empty Hash as a request object (see above).
2000
+ #
2001
+ # @param azure_cluster [::String]
2002
+ # Required. The AzureCluster, which owns the JsonWebKeys.
2003
+ # Format:
2004
+ # projects/<project-id>/locations/<region>/azureClusters/<cluster-id>
2005
+ # @yield [result, operation] Access the result along with the TransportOperation object
2006
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureJsonWebKeys]
2007
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2008
+ #
2009
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureJsonWebKeys]
2010
+ #
2011
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2012
+ #
2013
+ # @example Basic example
2014
+ # require "google/cloud/gke_multi_cloud/v1"
2015
+ #
2016
+ # # Create a client object. The client can be reused for multiple calls.
2017
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
2018
+ #
2019
+ # # Create a request. To set request fields, pass in keyword arguments.
2020
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureJsonWebKeysRequest.new
2021
+ #
2022
+ # # Call the get_azure_json_web_keys method.
2023
+ # result = client.get_azure_json_web_keys request
2024
+ #
2025
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureJsonWebKeys.
2026
+ # p result
2027
+ #
2028
+ def get_azure_json_web_keys request, options = nil
2029
+ raise ::ArgumentError, "request must be provided" if request.nil?
2030
+
2031
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureJsonWebKeysRequest
2032
+
2033
+ # Converts hash and nil to an options object
2034
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2035
+
2036
+ # Customize the options with defaults
2037
+ call_metadata = @config.rpcs.get_azure_json_web_keys.metadata.to_h
2038
+
2039
+ # Set x-goog-api-client and x-goog-user-project headers
2040
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2041
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2042
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
2043
+ transports_version_send: [:rest]
2044
+
2045
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2046
+
2047
+ options.apply_defaults timeout: @config.rpcs.get_azure_json_web_keys.timeout,
2048
+ metadata: call_metadata,
2049
+ retry_policy: @config.rpcs.get_azure_json_web_keys.retry_policy
2050
+
2051
+ options.apply_defaults timeout: @config.timeout,
2052
+ metadata: @config.metadata,
2053
+ retry_policy: @config.retry_policy
2054
+
2055
+ @azure_clusters_stub.get_azure_json_web_keys request, options do |result, operation|
2056
+ yield result, operation if block_given?
2057
+ return result
2058
+ end
2059
+ rescue ::Gapic::Rest::Error => e
2060
+ raise ::Google::Cloud::Error.from_error(e)
2061
+ end
2062
+
2063
+ ##
2064
+ # Returns information, such as supported Azure regions and Kubernetes
2065
+ # versions, on a given Google Cloud location.
2066
+ #
2067
+ # @overload get_azure_server_config(request, options = nil)
2068
+ # Pass arguments to `get_azure_server_config` via a request object, either of type
2069
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAzureServerConfigRequest} or an equivalent Hash.
2070
+ #
2071
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAzureServerConfigRequest, ::Hash]
2072
+ # A request object representing the call parameters. Required. To specify no
2073
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2074
+ # @param options [::Gapic::CallOptions, ::Hash]
2075
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2076
+ #
2077
+ # @overload get_azure_server_config(name: nil)
2078
+ # Pass arguments to `get_azure_server_config` via keyword arguments. Note that at
2079
+ # least one keyword argument is required. To specify no parameters, or to keep all
2080
+ # the default parameter values, pass an empty Hash as a request object (see above).
2081
+ #
2082
+ # @param name [::String]
2083
+ # Required. The name of the
2084
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureServerConfig AzureServerConfig}
2085
+ # resource to describe.
2086
+ #
2087
+ # `AzureServerConfig` names are formatted as
2088
+ # `projects/<project-id>/locations/<region>/azureServerConfig`.
2089
+ #
2090
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
2091
+ # for more details on Google Cloud resource names.
2092
+ # @yield [result, operation] Access the result along with the TransportOperation object
2093
+ # @yieldparam result [::Google::Cloud::GkeMultiCloud::V1::AzureServerConfig]
2094
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2095
+ #
2096
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AzureServerConfig]
2097
+ #
2098
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2099
+ #
2100
+ # @example Basic example
2101
+ # require "google/cloud/gke_multi_cloud/v1"
2102
+ #
2103
+ # # Create a client object. The client can be reused for multiple calls.
2104
+ # client = Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new
2105
+ #
2106
+ # # Create a request. To set request fields, pass in keyword arguments.
2107
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAzureServerConfigRequest.new
2108
+ #
2109
+ # # Call the get_azure_server_config method.
2110
+ # result = client.get_azure_server_config request
2111
+ #
2112
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AzureServerConfig.
2113
+ # p result
2114
+ #
2115
+ def get_azure_server_config request, options = nil
2116
+ raise ::ArgumentError, "request must be provided" if request.nil?
2117
+
2118
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAzureServerConfigRequest
2119
+
2120
+ # Converts hash and nil to an options object
2121
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2122
+
2123
+ # Customize the options with defaults
2124
+ call_metadata = @config.rpcs.get_azure_server_config.metadata.to_h
2125
+
2126
+ # Set x-goog-api-client and x-goog-user-project headers
2127
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2128
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2129
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION,
2130
+ transports_version_send: [:rest]
2131
+
2132
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2133
+
2134
+ options.apply_defaults timeout: @config.rpcs.get_azure_server_config.timeout,
2135
+ metadata: call_metadata,
2136
+ retry_policy: @config.rpcs.get_azure_server_config.retry_policy
2137
+
2138
+ options.apply_defaults timeout: @config.timeout,
2139
+ metadata: @config.metadata,
2140
+ retry_policy: @config.retry_policy
2141
+
2142
+ @azure_clusters_stub.get_azure_server_config request, options do |result, operation|
2143
+ yield result, operation if block_given?
2144
+ return result
2145
+ end
2146
+ rescue ::Gapic::Rest::Error => e
2147
+ raise ::Google::Cloud::Error.from_error(e)
2148
+ end
2149
+
2150
+ ##
2151
+ # Configuration class for the AzureClusters REST API.
2152
+ #
2153
+ # This class represents the configuration for AzureClusters REST,
2154
+ # providing control over timeouts, retry behavior, logging, transport
2155
+ # parameters, and other low-level controls. Certain parameters can also be
2156
+ # applied individually to specific RPCs. See
2157
+ # {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client::Configuration::Rpcs}
2158
+ # for a list of RPCs that can be configured independently.
2159
+ #
2160
+ # Configuration can be applied globally to all clients, or to a single client
2161
+ # on construction.
2162
+ #
2163
+ # @example
2164
+ #
2165
+ # # Modify the global config, setting the timeout for
2166
+ # # create_azure_client to 20 seconds,
2167
+ # # and all remaining timeouts to 10 seconds.
2168
+ # ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.configure do |config|
2169
+ # config.timeout = 10.0
2170
+ # config.rpcs.create_azure_client.timeout = 20.0
2171
+ # end
2172
+ #
2173
+ # # Apply the above configuration only to a new client.
2174
+ # client = ::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Rest::Client.new do |config|
2175
+ # config.timeout = 10.0
2176
+ # config.rpcs.create_azure_client.timeout = 20.0
2177
+ # end
2178
+ #
2179
+ # @!attribute [rw] endpoint
2180
+ # A custom service endpoint, as a hostname or hostname:port. The default is
2181
+ # nil, indicating to use the default endpoint in the current universe domain.
2182
+ # @return [::String,nil]
2183
+ # @!attribute [rw] credentials
2184
+ # Credentials to send with calls. You may provide any of the following types:
2185
+ # * (`String`) The path to a service account key file in JSON format
2186
+ # * (`Hash`) A service account key as a Hash
2187
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
2188
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
2189
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
2190
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
2191
+ # * (`nil`) indicating no credentials
2192
+ # @return [::Object]
2193
+ # @!attribute [rw] scope
2194
+ # The OAuth scopes
2195
+ # @return [::Array<::String>]
2196
+ # @!attribute [rw] lib_name
2197
+ # The library name as recorded in instrumentation and logging
2198
+ # @return [::String]
2199
+ # @!attribute [rw] lib_version
2200
+ # The library version as recorded in instrumentation and logging
2201
+ # @return [::String]
2202
+ # @!attribute [rw] timeout
2203
+ # The call timeout in seconds.
2204
+ # @return [::Numeric]
2205
+ # @!attribute [rw] metadata
2206
+ # Additional headers to be sent with the call.
2207
+ # @return [::Hash{::Symbol=>::String}]
2208
+ # @!attribute [rw] retry_policy
2209
+ # The retry policy. The value is a hash with the following keys:
2210
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2211
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2212
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2213
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2214
+ # trigger a retry.
2215
+ # @return [::Hash]
2216
+ # @!attribute [rw] quota_project
2217
+ # A separate project against which to charge quota.
2218
+ # @return [::String]
2219
+ # @!attribute [rw] universe_domain
2220
+ # The universe domain within which to make requests. This determines the
2221
+ # default endpoint URL. The default value of nil uses the environment
2222
+ # universe (usually the default "googleapis.com" universe).
2223
+ # @return [::String,nil]
2224
+ #
2225
+ class Configuration
2226
+ extend ::Gapic::Config
2227
+
2228
+ # @private
2229
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
2230
+ DEFAULT_ENDPOINT = "gkemulticloud.googleapis.com"
2231
+
2232
+ config_attr :endpoint, nil, ::String, nil
2233
+ config_attr :credentials, nil do |value|
2234
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2235
+ allowed.any? { |klass| klass === value }
2236
+ end
2237
+ config_attr :scope, nil, ::String, ::Array, nil
2238
+ config_attr :lib_name, nil, ::String, nil
2239
+ config_attr :lib_version, nil, ::String, nil
2240
+ config_attr :timeout, nil, ::Numeric, nil
2241
+ config_attr :metadata, nil, ::Hash, nil
2242
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
2243
+ config_attr :quota_project, nil, ::String, nil
2244
+ config_attr :universe_domain, nil, ::String, nil
2245
+
2246
+ # @private
2247
+ def initialize parent_config = nil
2248
+ @parent_config = parent_config unless parent_config.nil?
2249
+
2250
+ yield self if block_given?
2251
+ end
2252
+
2253
+ ##
2254
+ # Configurations for individual RPCs
2255
+ # @return [Rpcs]
2256
+ #
2257
+ def rpcs
2258
+ @rpcs ||= begin
2259
+ parent_rpcs = nil
2260
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
2261
+ Rpcs.new parent_rpcs
2262
+ end
2263
+ end
2264
+
2265
+ ##
2266
+ # Configuration RPC class for the AzureClusters API.
2267
+ #
2268
+ # Includes fields providing the configuration for each RPC in this service.
2269
+ # Each configuration object is of type `Gapic::Config::Method` and includes
2270
+ # the following configuration fields:
2271
+ #
2272
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
2273
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
2274
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
2275
+ # include the following keys:
2276
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2277
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2278
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2279
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2280
+ # trigger a retry.
2281
+ #
2282
+ class Rpcs
2283
+ ##
2284
+ # RPC-specific configuration for `create_azure_client`
2285
+ # @return [::Gapic::Config::Method]
2286
+ #
2287
+ attr_reader :create_azure_client
2288
+ ##
2289
+ # RPC-specific configuration for `get_azure_client`
2290
+ # @return [::Gapic::Config::Method]
2291
+ #
2292
+ attr_reader :get_azure_client
2293
+ ##
2294
+ # RPC-specific configuration for `list_azure_clients`
2295
+ # @return [::Gapic::Config::Method]
2296
+ #
2297
+ attr_reader :list_azure_clients
2298
+ ##
2299
+ # RPC-specific configuration for `delete_azure_client`
2300
+ # @return [::Gapic::Config::Method]
2301
+ #
2302
+ attr_reader :delete_azure_client
2303
+ ##
2304
+ # RPC-specific configuration for `create_azure_cluster`
2305
+ # @return [::Gapic::Config::Method]
2306
+ #
2307
+ attr_reader :create_azure_cluster
2308
+ ##
2309
+ # RPC-specific configuration for `update_azure_cluster`
2310
+ # @return [::Gapic::Config::Method]
2311
+ #
2312
+ attr_reader :update_azure_cluster
2313
+ ##
2314
+ # RPC-specific configuration for `get_azure_cluster`
2315
+ # @return [::Gapic::Config::Method]
2316
+ #
2317
+ attr_reader :get_azure_cluster
2318
+ ##
2319
+ # RPC-specific configuration for `list_azure_clusters`
2320
+ # @return [::Gapic::Config::Method]
2321
+ #
2322
+ attr_reader :list_azure_clusters
2323
+ ##
2324
+ # RPC-specific configuration for `delete_azure_cluster`
2325
+ # @return [::Gapic::Config::Method]
2326
+ #
2327
+ attr_reader :delete_azure_cluster
2328
+ ##
2329
+ # RPC-specific configuration for `generate_azure_cluster_agent_token`
2330
+ # @return [::Gapic::Config::Method]
2331
+ #
2332
+ attr_reader :generate_azure_cluster_agent_token
2333
+ ##
2334
+ # RPC-specific configuration for `generate_azure_access_token`
2335
+ # @return [::Gapic::Config::Method]
2336
+ #
2337
+ attr_reader :generate_azure_access_token
2338
+ ##
2339
+ # RPC-specific configuration for `create_azure_node_pool`
2340
+ # @return [::Gapic::Config::Method]
2341
+ #
2342
+ attr_reader :create_azure_node_pool
2343
+ ##
2344
+ # RPC-specific configuration for `update_azure_node_pool`
2345
+ # @return [::Gapic::Config::Method]
2346
+ #
2347
+ attr_reader :update_azure_node_pool
2348
+ ##
2349
+ # RPC-specific configuration for `get_azure_node_pool`
2350
+ # @return [::Gapic::Config::Method]
2351
+ #
2352
+ attr_reader :get_azure_node_pool
2353
+ ##
2354
+ # RPC-specific configuration for `list_azure_node_pools`
2355
+ # @return [::Gapic::Config::Method]
2356
+ #
2357
+ attr_reader :list_azure_node_pools
2358
+ ##
2359
+ # RPC-specific configuration for `delete_azure_node_pool`
2360
+ # @return [::Gapic::Config::Method]
2361
+ #
2362
+ attr_reader :delete_azure_node_pool
2363
+ ##
2364
+ # RPC-specific configuration for `get_azure_open_id_config`
2365
+ # @return [::Gapic::Config::Method]
2366
+ #
2367
+ attr_reader :get_azure_open_id_config
2368
+ ##
2369
+ # RPC-specific configuration for `get_azure_json_web_keys`
2370
+ # @return [::Gapic::Config::Method]
2371
+ #
2372
+ attr_reader :get_azure_json_web_keys
2373
+ ##
2374
+ # RPC-specific configuration for `get_azure_server_config`
2375
+ # @return [::Gapic::Config::Method]
2376
+ #
2377
+ attr_reader :get_azure_server_config
2378
+
2379
+ # @private
2380
+ def initialize parent_rpcs = nil
2381
+ create_azure_client_config = parent_rpcs.create_azure_client if parent_rpcs.respond_to? :create_azure_client
2382
+ @create_azure_client = ::Gapic::Config::Method.new create_azure_client_config
2383
+ get_azure_client_config = parent_rpcs.get_azure_client if parent_rpcs.respond_to? :get_azure_client
2384
+ @get_azure_client = ::Gapic::Config::Method.new get_azure_client_config
2385
+ list_azure_clients_config = parent_rpcs.list_azure_clients if parent_rpcs.respond_to? :list_azure_clients
2386
+ @list_azure_clients = ::Gapic::Config::Method.new list_azure_clients_config
2387
+ delete_azure_client_config = parent_rpcs.delete_azure_client if parent_rpcs.respond_to? :delete_azure_client
2388
+ @delete_azure_client = ::Gapic::Config::Method.new delete_azure_client_config
2389
+ create_azure_cluster_config = parent_rpcs.create_azure_cluster if parent_rpcs.respond_to? :create_azure_cluster
2390
+ @create_azure_cluster = ::Gapic::Config::Method.new create_azure_cluster_config
2391
+ update_azure_cluster_config = parent_rpcs.update_azure_cluster if parent_rpcs.respond_to? :update_azure_cluster
2392
+ @update_azure_cluster = ::Gapic::Config::Method.new update_azure_cluster_config
2393
+ get_azure_cluster_config = parent_rpcs.get_azure_cluster if parent_rpcs.respond_to? :get_azure_cluster
2394
+ @get_azure_cluster = ::Gapic::Config::Method.new get_azure_cluster_config
2395
+ list_azure_clusters_config = parent_rpcs.list_azure_clusters if parent_rpcs.respond_to? :list_azure_clusters
2396
+ @list_azure_clusters = ::Gapic::Config::Method.new list_azure_clusters_config
2397
+ delete_azure_cluster_config = parent_rpcs.delete_azure_cluster if parent_rpcs.respond_to? :delete_azure_cluster
2398
+ @delete_azure_cluster = ::Gapic::Config::Method.new delete_azure_cluster_config
2399
+ generate_azure_cluster_agent_token_config = parent_rpcs.generate_azure_cluster_agent_token if parent_rpcs.respond_to? :generate_azure_cluster_agent_token
2400
+ @generate_azure_cluster_agent_token = ::Gapic::Config::Method.new generate_azure_cluster_agent_token_config
2401
+ generate_azure_access_token_config = parent_rpcs.generate_azure_access_token if parent_rpcs.respond_to? :generate_azure_access_token
2402
+ @generate_azure_access_token = ::Gapic::Config::Method.new generate_azure_access_token_config
2403
+ create_azure_node_pool_config = parent_rpcs.create_azure_node_pool if parent_rpcs.respond_to? :create_azure_node_pool
2404
+ @create_azure_node_pool = ::Gapic::Config::Method.new create_azure_node_pool_config
2405
+ update_azure_node_pool_config = parent_rpcs.update_azure_node_pool if parent_rpcs.respond_to? :update_azure_node_pool
2406
+ @update_azure_node_pool = ::Gapic::Config::Method.new update_azure_node_pool_config
2407
+ get_azure_node_pool_config = parent_rpcs.get_azure_node_pool if parent_rpcs.respond_to? :get_azure_node_pool
2408
+ @get_azure_node_pool = ::Gapic::Config::Method.new get_azure_node_pool_config
2409
+ list_azure_node_pools_config = parent_rpcs.list_azure_node_pools if parent_rpcs.respond_to? :list_azure_node_pools
2410
+ @list_azure_node_pools = ::Gapic::Config::Method.new list_azure_node_pools_config
2411
+ delete_azure_node_pool_config = parent_rpcs.delete_azure_node_pool if parent_rpcs.respond_to? :delete_azure_node_pool
2412
+ @delete_azure_node_pool = ::Gapic::Config::Method.new delete_azure_node_pool_config
2413
+ get_azure_open_id_config_config = parent_rpcs.get_azure_open_id_config if parent_rpcs.respond_to? :get_azure_open_id_config
2414
+ @get_azure_open_id_config = ::Gapic::Config::Method.new get_azure_open_id_config_config
2415
+ get_azure_json_web_keys_config = parent_rpcs.get_azure_json_web_keys if parent_rpcs.respond_to? :get_azure_json_web_keys
2416
+ @get_azure_json_web_keys = ::Gapic::Config::Method.new get_azure_json_web_keys_config
2417
+ get_azure_server_config_config = parent_rpcs.get_azure_server_config if parent_rpcs.respond_to? :get_azure_server_config
2418
+ @get_azure_server_config = ::Gapic::Config::Method.new get_azure_server_config_config
2419
+
2420
+ yield self if block_given?
2421
+ end
2422
+ end
2423
+ end
2424
+ end
2425
+ end
2426
+ end
2427
+ end
2428
+ end
2429
+ end
2430
+ end