google-cloud-gke_multi_cloud-v1 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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