google-cloud-alloy_db-v1beta 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/client.rb +3304 -0
  6. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/credentials.rb +47 -0
  7. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/operations.rb +768 -0
  8. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/paths.rb +149 -0
  9. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/client.rb +2586 -0
  10. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/operations.rb +792 -0
  11. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/service_stub.rb +1537 -0
  12. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest.rb +54 -0
  13. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin.rb +56 -0
  14. data/lib/google/cloud/alloy_db/v1beta/bindings_override.rb +102 -0
  15. data/lib/google/cloud/alloy_db/v1beta/rest.rb +38 -0
  16. data/lib/google/cloud/alloy_db/v1beta/version.rb +8 -3
  17. data/lib/google/cloud/alloy_db/v1beta.rb +45 -0
  18. data/lib/google/cloud/alloydb/v1beta/resources_pb.rb +338 -0
  19. data/lib/google/cloud/alloydb/v1beta/service_pb.rb +279 -0
  20. data/lib/google/cloud/alloydb/v1beta/service_services_pb.rb +115 -0
  21. data/lib/google-cloud-alloy_db-v1beta.rb +21 -0
  22. data/proto_docs/README.md +4 -0
  23. data/proto_docs/google/api/client.rb +324 -0
  24. data/proto_docs/google/api/field_behavior.rb +71 -0
  25. data/proto_docs/google/api/launch_stage.rb +71 -0
  26. data/proto_docs/google/api/resource.rb +222 -0
  27. data/proto_docs/google/cloud/alloydb/v1beta/resources.rb +1068 -0
  28. data/proto_docs/google/cloud/alloydb/v1beta/service.rb +998 -0
  29. data/proto_docs/google/longrunning/operations.rb +164 -0
  30. data/proto_docs/google/protobuf/any.rb +141 -0
  31. data/proto_docs/google/protobuf/duration.rb +98 -0
  32. data/proto_docs/google/protobuf/empty.rb +34 -0
  33. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  34. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  35. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  36. data/proto_docs/google/rpc/status.rb +48 -0
  37. data/proto_docs/google/type/dayofweek.rb +49 -0
  38. data/proto_docs/google/type/expr.rb +75 -0
  39. data/proto_docs/google/type/timeofday.rb +45 -0
  40. metadata +250 -12
@@ -0,0 +1,3304 @@
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/alloydb/v1beta/service_pb"
21
+ require "google/cloud/location"
22
+ require "google/iam/v1"
23
+
24
+ module Google
25
+ module Cloud
26
+ module AlloyDB
27
+ module V1beta
28
+ module AlloyDBAdmin
29
+ ##
30
+ # Client for the AlloyDBAdmin service.
31
+ #
32
+ # Service describing handlers for resources
33
+ #
34
+ class Client
35
+ include Paths
36
+
37
+ # @private
38
+ attr_reader :alloy_db_admin_stub
39
+
40
+ ##
41
+ # Configure the AlloyDBAdmin Client class.
42
+ #
43
+ # See {::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client::Configuration}
44
+ # for a description of the configuration fields.
45
+ #
46
+ # @example
47
+ #
48
+ # # Modify the configuration for all AlloyDBAdmin clients
49
+ # ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.configure do |config|
50
+ # config.timeout = 10.0
51
+ # end
52
+ #
53
+ # @yield [config] Configure the Client client.
54
+ # @yieldparam config [Client::Configuration]
55
+ #
56
+ # @return [Client::Configuration]
57
+ #
58
+ def self.configure
59
+ @configure ||= begin
60
+ namespace = ["Google", "Cloud", "AlloyDB", "V1beta"]
61
+ parent_config = while namespace.any?
62
+ parent_name = namespace.join "::"
63
+ parent_const = const_get parent_name
64
+ break parent_const.configure if parent_const.respond_to? :configure
65
+ namespace.pop
66
+ end
67
+ default_config = Client::Configuration.new parent_config
68
+
69
+ default_config.timeout = 60.0
70
+
71
+ default_config.rpcs.list_clusters.timeout = 60.0
72
+ default_config.rpcs.list_clusters.retry_policy = {
73
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
74
+ }
75
+
76
+ default_config.rpcs.get_cluster.timeout = 60.0
77
+ default_config.rpcs.get_cluster.retry_policy = {
78
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
79
+ }
80
+
81
+ default_config.rpcs.list_instances.timeout = 60.0
82
+ default_config.rpcs.list_instances.retry_policy = {
83
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
84
+ }
85
+
86
+ default_config.rpcs.get_instance.timeout = 60.0
87
+ default_config.rpcs.get_instance.retry_policy = {
88
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
89
+ }
90
+
91
+ default_config.rpcs.list_backups.timeout = 60.0
92
+ default_config.rpcs.list_backups.retry_policy = {
93
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
94
+ }
95
+
96
+ default_config.rpcs.get_backup.timeout = 60.0
97
+ default_config.rpcs.get_backup.retry_policy = {
98
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
99
+ }
100
+
101
+ default_config.rpcs.list_supported_database_flags.timeout = 60.0
102
+ default_config.rpcs.list_supported_database_flags.retry_policy = {
103
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
104
+ }
105
+
106
+ default_config.rpcs.generate_client_certificate.timeout = 60.0
107
+ default_config.rpcs.generate_client_certificate.retry_policy = {
108
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
109
+ }
110
+
111
+ default_config.rpcs.get_connection_info.timeout = 60.0
112
+ default_config.rpcs.get_connection_info.retry_policy = {
113
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
114
+ }
115
+
116
+ default_config
117
+ end
118
+ yield @configure if block_given?
119
+ @configure
120
+ end
121
+
122
+ ##
123
+ # Configure the AlloyDBAdmin Client instance.
124
+ #
125
+ # The configuration is set to the derived mode, meaning that values can be changed,
126
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
127
+ # should be made on {Client.configure}.
128
+ #
129
+ # See {::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client::Configuration}
130
+ # for a description of the configuration fields.
131
+ #
132
+ # @yield [config] Configure the Client client.
133
+ # @yieldparam config [Client::Configuration]
134
+ #
135
+ # @return [Client::Configuration]
136
+ #
137
+ def configure
138
+ yield @config if block_given?
139
+ @config
140
+ end
141
+
142
+ ##
143
+ # Create a new AlloyDBAdmin client object.
144
+ #
145
+ # @example
146
+ #
147
+ # # Create a client using the default configuration
148
+ # client = ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
149
+ #
150
+ # # Create a client using a custom configuration
151
+ # client = ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new do |config|
152
+ # config.timeout = 10.0
153
+ # end
154
+ #
155
+ # @yield [config] Configure the AlloyDBAdmin client.
156
+ # @yieldparam config [Client::Configuration]
157
+ #
158
+ def initialize
159
+ # These require statements are intentionally placed here to initialize
160
+ # the gRPC module only when it's required.
161
+ # See https://github.com/googleapis/toolkit/issues/446
162
+ require "gapic/grpc"
163
+ require "google/cloud/alloydb/v1beta/service_services_pb"
164
+
165
+ # Create the configuration object
166
+ @config = Configuration.new Client.configure
167
+
168
+ # Yield the configuration if needed
169
+ yield @config if block_given?
170
+
171
+ # Create credentials
172
+ credentials = @config.credentials
173
+ # Use self-signed JWT if the endpoint is unchanged from default,
174
+ # but only if the default endpoint does not have a region prefix.
175
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
176
+ !@config.endpoint.split(".").first.include?("-")
177
+ credentials ||= Credentials.default scope: @config.scope,
178
+ enable_self_signed_jwt: enable_self_signed_jwt
179
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
180
+ credentials = Credentials.new credentials, scope: @config.scope
181
+ end
182
+ @quota_project_id = @config.quota_project
183
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
184
+
185
+ @operations_client = Operations.new do |config|
186
+ config.credentials = credentials
187
+ config.quota_project = @quota_project_id
188
+ config.endpoint = @config.endpoint
189
+ end
190
+
191
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
192
+ config.credentials = credentials
193
+ config.quota_project = @quota_project_id
194
+ config.endpoint = @config.endpoint
195
+ end
196
+
197
+ @iam_policy_client = Google::Iam::V1::IAMPolicy::Client.new do |config|
198
+ config.credentials = credentials
199
+ config.quota_project = @quota_project_id
200
+ config.endpoint = @config.endpoint
201
+ end
202
+
203
+ @alloy_db_admin_stub = ::Gapic::ServiceStub.new(
204
+ ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Stub,
205
+ credentials: credentials,
206
+ endpoint: @config.endpoint,
207
+ channel_args: @config.channel_args,
208
+ interceptors: @config.interceptors
209
+ )
210
+ end
211
+
212
+ ##
213
+ # Get the associated client for long-running operations.
214
+ #
215
+ # @return [::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Operations]
216
+ #
217
+ attr_reader :operations_client
218
+
219
+ ##
220
+ # Get the associated client for mix-in of the Locations.
221
+ #
222
+ # @return [Google::Cloud::Location::Locations::Client]
223
+ #
224
+ attr_reader :location_client
225
+
226
+ ##
227
+ # Get the associated client for mix-in of the IAMPolicy.
228
+ #
229
+ # @return [Google::Iam::V1::IAMPolicy::Client]
230
+ #
231
+ attr_reader :iam_policy_client
232
+
233
+ # Service calls
234
+
235
+ ##
236
+ # Lists Clusters in a given project and location.
237
+ #
238
+ # @overload list_clusters(request, options = nil)
239
+ # Pass arguments to `list_clusters` via a request object, either of type
240
+ # {::Google::Cloud::AlloyDB::V1beta::ListClustersRequest} or an equivalent Hash.
241
+ #
242
+ # @param request [::Google::Cloud::AlloyDB::V1beta::ListClustersRequest, ::Hash]
243
+ # A request object representing the call parameters. Required. To specify no
244
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
245
+ # @param options [::Gapic::CallOptions, ::Hash]
246
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
247
+ #
248
+ # @overload list_clusters(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
249
+ # Pass arguments to `list_clusters` via keyword arguments. Note that at
250
+ # least one keyword argument is required. To specify no parameters, or to keep all
251
+ # the default parameter values, pass an empty Hash as a request object (see above).
252
+ #
253
+ # @param parent [::String]
254
+ # Required. The name of the parent resource. For the required format, see the
255
+ # comment on the Cluster.name field. Additionally, you can perform an
256
+ # aggregated list operation by specifying a value with the following format:
257
+ # * projects/\\{project}/locations/-
258
+ # @param page_size [::Integer]
259
+ # Optional. Requested page size. Server may return fewer items than
260
+ # requested. If unspecified, server will pick an appropriate default.
261
+ # @param page_token [::String]
262
+ # A token identifying a page of results the server should return.
263
+ # @param filter [::String]
264
+ # Optional. Filtering results
265
+ # @param order_by [::String]
266
+ # Optional. Hint for how to order the results
267
+ #
268
+ # @yield [response, operation] Access the result along with the RPC operation
269
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Cluster>]
270
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
271
+ #
272
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Cluster>]
273
+ #
274
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
275
+ #
276
+ # @example Basic example
277
+ # require "google/cloud/alloy_db/v1beta"
278
+ #
279
+ # # Create a client object. The client can be reused for multiple calls.
280
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
281
+ #
282
+ # # Create a request. To set request fields, pass in keyword arguments.
283
+ # request = Google::Cloud::AlloyDB::V1beta::ListClustersRequest.new
284
+ #
285
+ # # Call the list_clusters method.
286
+ # result = client.list_clusters request
287
+ #
288
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
289
+ # # over elements, and API calls will be issued to fetch pages as needed.
290
+ # result.each do |item|
291
+ # # Each element is of type ::Google::Cloud::AlloyDB::V1beta::Cluster.
292
+ # p item
293
+ # end
294
+ #
295
+ def list_clusters request, options = nil
296
+ raise ::ArgumentError, "request must be provided" if request.nil?
297
+
298
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::ListClustersRequest
299
+
300
+ # Converts hash and nil to an options object
301
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
302
+
303
+ # Customize the options with defaults
304
+ metadata = @config.rpcs.list_clusters.metadata.to_h
305
+
306
+ # Set x-goog-api-client and x-goog-user-project headers
307
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
308
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
309
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
310
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
311
+
312
+ header_params = {}
313
+ if request.parent
314
+ header_params["parent"] = request.parent
315
+ end
316
+
317
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
318
+ metadata[:"x-goog-request-params"] ||= request_params_header
319
+
320
+ options.apply_defaults timeout: @config.rpcs.list_clusters.timeout,
321
+ metadata: metadata,
322
+ retry_policy: @config.rpcs.list_clusters.retry_policy
323
+
324
+ options.apply_defaults timeout: @config.timeout,
325
+ metadata: @config.metadata,
326
+ retry_policy: @config.retry_policy
327
+
328
+ @alloy_db_admin_stub.call_rpc :list_clusters, request, options: options do |response, operation|
329
+ response = ::Gapic::PagedEnumerable.new @alloy_db_admin_stub, :list_clusters, request, response, operation, options
330
+ yield response, operation if block_given?
331
+ return response
332
+ end
333
+ rescue ::GRPC::BadStatus => e
334
+ raise ::Google::Cloud::Error.from_error(e)
335
+ end
336
+
337
+ ##
338
+ # Gets details of a single Cluster.
339
+ #
340
+ # @overload get_cluster(request, options = nil)
341
+ # Pass arguments to `get_cluster` via a request object, either of type
342
+ # {::Google::Cloud::AlloyDB::V1beta::GetClusterRequest} or an equivalent Hash.
343
+ #
344
+ # @param request [::Google::Cloud::AlloyDB::V1beta::GetClusterRequest, ::Hash]
345
+ # A request object representing the call parameters. Required. To specify no
346
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
347
+ # @param options [::Gapic::CallOptions, ::Hash]
348
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
349
+ #
350
+ # @overload get_cluster(name: nil)
351
+ # Pass arguments to `get_cluster` via keyword arguments. Note that at
352
+ # least one keyword argument is required. To specify no parameters, or to keep all
353
+ # the default parameter values, pass an empty Hash as a request object (see above).
354
+ #
355
+ # @param name [::String]
356
+ # Required. The name of the resource. For the required format, see the
357
+ # comment on the Cluster.name field.
358
+ #
359
+ # @yield [response, operation] Access the result along with the RPC operation
360
+ # @yieldparam response [::Google::Cloud::AlloyDB::V1beta::Cluster]
361
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
362
+ #
363
+ # @return [::Google::Cloud::AlloyDB::V1beta::Cluster]
364
+ #
365
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
366
+ #
367
+ # @example Basic example
368
+ # require "google/cloud/alloy_db/v1beta"
369
+ #
370
+ # # Create a client object. The client can be reused for multiple calls.
371
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
372
+ #
373
+ # # Create a request. To set request fields, pass in keyword arguments.
374
+ # request = Google::Cloud::AlloyDB::V1beta::GetClusterRequest.new
375
+ #
376
+ # # Call the get_cluster method.
377
+ # result = client.get_cluster request
378
+ #
379
+ # # The returned object is of type Google::Cloud::AlloyDB::V1beta::Cluster.
380
+ # p result
381
+ #
382
+ def get_cluster request, options = nil
383
+ raise ::ArgumentError, "request must be provided" if request.nil?
384
+
385
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::GetClusterRequest
386
+
387
+ # Converts hash and nil to an options object
388
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
389
+
390
+ # Customize the options with defaults
391
+ metadata = @config.rpcs.get_cluster.metadata.to_h
392
+
393
+ # Set x-goog-api-client and x-goog-user-project headers
394
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
395
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
396
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
397
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
398
+
399
+ header_params = {}
400
+ if request.name
401
+ header_params["name"] = request.name
402
+ end
403
+
404
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
405
+ metadata[:"x-goog-request-params"] ||= request_params_header
406
+
407
+ options.apply_defaults timeout: @config.rpcs.get_cluster.timeout,
408
+ metadata: metadata,
409
+ retry_policy: @config.rpcs.get_cluster.retry_policy
410
+
411
+ options.apply_defaults timeout: @config.timeout,
412
+ metadata: @config.metadata,
413
+ retry_policy: @config.retry_policy
414
+
415
+ @alloy_db_admin_stub.call_rpc :get_cluster, request, options: options do |response, operation|
416
+ yield response, operation if block_given?
417
+ return response
418
+ end
419
+ rescue ::GRPC::BadStatus => e
420
+ raise ::Google::Cloud::Error.from_error(e)
421
+ end
422
+
423
+ ##
424
+ # Creates a new Cluster in a given project and location.
425
+ #
426
+ # @overload create_cluster(request, options = nil)
427
+ # Pass arguments to `create_cluster` via a request object, either of type
428
+ # {::Google::Cloud::AlloyDB::V1beta::CreateClusterRequest} or an equivalent Hash.
429
+ #
430
+ # @param request [::Google::Cloud::AlloyDB::V1beta::CreateClusterRequest, ::Hash]
431
+ # A request object representing the call parameters. Required. To specify no
432
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
433
+ # @param options [::Gapic::CallOptions, ::Hash]
434
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
435
+ #
436
+ # @overload create_cluster(parent: nil, cluster_id: nil, cluster: nil, request_id: nil, validate_only: nil)
437
+ # Pass arguments to `create_cluster` via keyword arguments. Note that at
438
+ # least one keyword argument is required. To specify no parameters, or to keep all
439
+ # the default parameter values, pass an empty Hash as a request object (see above).
440
+ #
441
+ # @param parent [::String]
442
+ # Required. The name of the parent resource. For the required format, see the
443
+ # comment on the Cluster.name field.
444
+ # @param cluster_id [::String]
445
+ # Required. ID of the requesting object.
446
+ # @param cluster [::Google::Cloud::AlloyDB::V1beta::Cluster, ::Hash]
447
+ # Required. The resource being created
448
+ # @param request_id [::String]
449
+ # Optional. An optional request ID to identify requests. Specify a unique
450
+ # request ID so that if you must retry your request, the server will know to
451
+ # ignore the request if it has already been completed. The server will
452
+ # guarantee that for at least 60 minutes since the first request.
453
+ #
454
+ # For example, consider a situation where you make an initial request and
455
+ # the request times out. If you make the request again with the same request
456
+ # ID, the server can check if original operation with the same request ID
457
+ # was received, and if so, will ignore the second request. This prevents
458
+ # clients from accidentally creating duplicate commitments.
459
+ #
460
+ # The request ID must be a valid UUID with the exception that zero UUID is
461
+ # not supported (00000000-0000-0000-0000-000000000000).
462
+ # @param validate_only [::Boolean]
463
+ # Optional. If set, performs request validation (e.g. permission checks and
464
+ # any other type of validation), but do not actually execute the create
465
+ # request.
466
+ #
467
+ # @yield [response, operation] Access the result along with the RPC operation
468
+ # @yieldparam response [::Gapic::Operation]
469
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
470
+ #
471
+ # @return [::Gapic::Operation]
472
+ #
473
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
474
+ #
475
+ # @example Basic example
476
+ # require "google/cloud/alloy_db/v1beta"
477
+ #
478
+ # # Create a client object. The client can be reused for multiple calls.
479
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
480
+ #
481
+ # # Create a request. To set request fields, pass in keyword arguments.
482
+ # request = Google::Cloud::AlloyDB::V1beta::CreateClusterRequest.new
483
+ #
484
+ # # Call the create_cluster method.
485
+ # result = client.create_cluster request
486
+ #
487
+ # # The returned object is of type Gapic::Operation. You can use it to
488
+ # # check the status of an operation, cancel it, or wait for results.
489
+ # # Here is how to wait for a response.
490
+ # result.wait_until_done! timeout: 60
491
+ # if result.response?
492
+ # p result.response
493
+ # else
494
+ # puts "No response received."
495
+ # end
496
+ #
497
+ def create_cluster request, options = nil
498
+ raise ::ArgumentError, "request must be provided" if request.nil?
499
+
500
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::CreateClusterRequest
501
+
502
+ # Converts hash and nil to an options object
503
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
504
+
505
+ # Customize the options with defaults
506
+ metadata = @config.rpcs.create_cluster.metadata.to_h
507
+
508
+ # Set x-goog-api-client and x-goog-user-project headers
509
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
510
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
511
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
512
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
513
+
514
+ header_params = {}
515
+ if request.parent
516
+ header_params["parent"] = request.parent
517
+ end
518
+
519
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
520
+ metadata[:"x-goog-request-params"] ||= request_params_header
521
+
522
+ options.apply_defaults timeout: @config.rpcs.create_cluster.timeout,
523
+ metadata: metadata,
524
+ retry_policy: @config.rpcs.create_cluster.retry_policy
525
+
526
+ options.apply_defaults timeout: @config.timeout,
527
+ metadata: @config.metadata,
528
+ retry_policy: @config.retry_policy
529
+
530
+ @alloy_db_admin_stub.call_rpc :create_cluster, request, options: options do |response, operation|
531
+ response = ::Gapic::Operation.new response, @operations_client, options: options
532
+ yield response, operation if block_given?
533
+ return response
534
+ end
535
+ rescue ::GRPC::BadStatus => e
536
+ raise ::Google::Cloud::Error.from_error(e)
537
+ end
538
+
539
+ ##
540
+ # Updates the parameters of a single Cluster.
541
+ #
542
+ # @overload update_cluster(request, options = nil)
543
+ # Pass arguments to `update_cluster` via a request object, either of type
544
+ # {::Google::Cloud::AlloyDB::V1beta::UpdateClusterRequest} or an equivalent Hash.
545
+ #
546
+ # @param request [::Google::Cloud::AlloyDB::V1beta::UpdateClusterRequest, ::Hash]
547
+ # A request object representing the call parameters. Required. To specify no
548
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
549
+ # @param options [::Gapic::CallOptions, ::Hash]
550
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
551
+ #
552
+ # @overload update_cluster(update_mask: nil, cluster: nil, request_id: nil, validate_only: nil, allow_missing: nil)
553
+ # Pass arguments to `update_cluster` via keyword arguments. Note that at
554
+ # least one keyword argument is required. To specify no parameters, or to keep all
555
+ # the default parameter values, pass an empty Hash as a request object (see above).
556
+ #
557
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
558
+ # Optional. Field mask is used to specify the fields to be overwritten in the
559
+ # Cluster resource by the update.
560
+ # The fields specified in the update_mask are relative to the resource, not
561
+ # the full request. A field will be overwritten if it is in the mask. If the
562
+ # user does not provide a mask then all fields will be overwritten.
563
+ # @param cluster [::Google::Cloud::AlloyDB::V1beta::Cluster, ::Hash]
564
+ # Required. The resource being updated
565
+ # @param request_id [::String]
566
+ # Optional. An optional request ID to identify requests. Specify a unique
567
+ # request ID so that if you must retry your request, the server will know to
568
+ # ignore the request if it has already been completed. The server will
569
+ # guarantee that for at least 60 minutes since the first request.
570
+ #
571
+ # For example, consider a situation where you make an initial request and
572
+ # the request times out. If you make the request again with the same request
573
+ # ID, the server can check if original operation with the same request ID
574
+ # was received, and if so, will ignore the second request. This prevents
575
+ # clients from accidentally creating duplicate commitments.
576
+ #
577
+ # The request ID must be a valid UUID with the exception that zero UUID is
578
+ # not supported (00000000-0000-0000-0000-000000000000).
579
+ # @param validate_only [::Boolean]
580
+ # Optional. If set, performs request validation (e.g. permission checks and
581
+ # any other type of validation), but do not actually execute the update
582
+ # request.
583
+ # @param allow_missing [::Boolean]
584
+ # Optional. If set to true, update succeeds even if cluster is not found. In
585
+ # that case, a new cluster is created and `update_mask` is ignored.
586
+ #
587
+ # @yield [response, operation] Access the result along with the RPC operation
588
+ # @yieldparam response [::Gapic::Operation]
589
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
590
+ #
591
+ # @return [::Gapic::Operation]
592
+ #
593
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
594
+ #
595
+ # @example Basic example
596
+ # require "google/cloud/alloy_db/v1beta"
597
+ #
598
+ # # Create a client object. The client can be reused for multiple calls.
599
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
600
+ #
601
+ # # Create a request. To set request fields, pass in keyword arguments.
602
+ # request = Google::Cloud::AlloyDB::V1beta::UpdateClusterRequest.new
603
+ #
604
+ # # Call the update_cluster method.
605
+ # result = client.update_cluster request
606
+ #
607
+ # # The returned object is of type Gapic::Operation. You can use it to
608
+ # # check the status of an operation, cancel it, or wait for results.
609
+ # # Here is how to wait for a response.
610
+ # result.wait_until_done! timeout: 60
611
+ # if result.response?
612
+ # p result.response
613
+ # else
614
+ # puts "No response received."
615
+ # end
616
+ #
617
+ def update_cluster request, options = nil
618
+ raise ::ArgumentError, "request must be provided" if request.nil?
619
+
620
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::UpdateClusterRequest
621
+
622
+ # Converts hash and nil to an options object
623
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
624
+
625
+ # Customize the options with defaults
626
+ metadata = @config.rpcs.update_cluster.metadata.to_h
627
+
628
+ # Set x-goog-api-client and x-goog-user-project headers
629
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
630
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
631
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
632
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
633
+
634
+ header_params = {}
635
+ if request.cluster&.name
636
+ header_params["cluster.name"] = request.cluster.name
637
+ end
638
+
639
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
640
+ metadata[:"x-goog-request-params"] ||= request_params_header
641
+
642
+ options.apply_defaults timeout: @config.rpcs.update_cluster.timeout,
643
+ metadata: metadata,
644
+ retry_policy: @config.rpcs.update_cluster.retry_policy
645
+
646
+ options.apply_defaults timeout: @config.timeout,
647
+ metadata: @config.metadata,
648
+ retry_policy: @config.retry_policy
649
+
650
+ @alloy_db_admin_stub.call_rpc :update_cluster, request, options: options do |response, operation|
651
+ response = ::Gapic::Operation.new response, @operations_client, options: options
652
+ yield response, operation if block_given?
653
+ return response
654
+ end
655
+ rescue ::GRPC::BadStatus => e
656
+ raise ::Google::Cloud::Error.from_error(e)
657
+ end
658
+
659
+ ##
660
+ # Deletes a single Cluster.
661
+ #
662
+ # @overload delete_cluster(request, options = nil)
663
+ # Pass arguments to `delete_cluster` via a request object, either of type
664
+ # {::Google::Cloud::AlloyDB::V1beta::DeleteClusterRequest} or an equivalent Hash.
665
+ #
666
+ # @param request [::Google::Cloud::AlloyDB::V1beta::DeleteClusterRequest, ::Hash]
667
+ # A request object representing the call parameters. Required. To specify no
668
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
669
+ # @param options [::Gapic::CallOptions, ::Hash]
670
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
671
+ #
672
+ # @overload delete_cluster(name: nil, request_id: nil, etag: nil, validate_only: nil, force: nil)
673
+ # Pass arguments to `delete_cluster` via keyword arguments. Note that at
674
+ # least one keyword argument is required. To specify no parameters, or to keep all
675
+ # the default parameter values, pass an empty Hash as a request object (see above).
676
+ #
677
+ # @param name [::String]
678
+ # Required. The name of the resource. For the required format, see the
679
+ # comment on the Cluster.name field.
680
+ # @param request_id [::String]
681
+ # Optional. An optional request ID to identify requests. Specify a unique
682
+ # request ID so that if you must retry your request, the server will know to
683
+ # ignore the request if it has already been completed. The server will
684
+ # guarantee that for at least 60 minutes after the first request.
685
+ #
686
+ # For example, consider a situation where you make an initial request and
687
+ # the request times out. If you make the request again with the same request
688
+ # ID, the server can check if original operation with the same request ID
689
+ # was received, and if so, will ignore the second request. This prevents
690
+ # clients from accidentally creating duplicate commitments.
691
+ #
692
+ # The request ID must be a valid UUID with the exception that zero UUID is
693
+ # not supported (00000000-0000-0000-0000-000000000000).
694
+ # @param etag [::String]
695
+ # Optional. The current etag of the Cluster.
696
+ # If an etag is provided and does not match the current etag of the Cluster,
697
+ # deletion will be blocked and an ABORTED error will be returned.
698
+ # @param validate_only [::Boolean]
699
+ # Optional. If set, performs request validation (e.g. permission checks and
700
+ # any other type of validation), but do not actually execute the delete.
701
+ # @param force [::Boolean]
702
+ # Optional. Whether to cascade delete child instances for given cluster.
703
+ #
704
+ # @yield [response, operation] Access the result along with the RPC operation
705
+ # @yieldparam response [::Gapic::Operation]
706
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
707
+ #
708
+ # @return [::Gapic::Operation]
709
+ #
710
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
711
+ #
712
+ # @example Basic example
713
+ # require "google/cloud/alloy_db/v1beta"
714
+ #
715
+ # # Create a client object. The client can be reused for multiple calls.
716
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
717
+ #
718
+ # # Create a request. To set request fields, pass in keyword arguments.
719
+ # request = Google::Cloud::AlloyDB::V1beta::DeleteClusterRequest.new
720
+ #
721
+ # # Call the delete_cluster method.
722
+ # result = client.delete_cluster request
723
+ #
724
+ # # The returned object is of type Gapic::Operation. You can use it to
725
+ # # check the status of an operation, cancel it, or wait for results.
726
+ # # Here is how to wait for a response.
727
+ # result.wait_until_done! timeout: 60
728
+ # if result.response?
729
+ # p result.response
730
+ # else
731
+ # puts "No response received."
732
+ # end
733
+ #
734
+ def delete_cluster request, options = nil
735
+ raise ::ArgumentError, "request must be provided" if request.nil?
736
+
737
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::DeleteClusterRequest
738
+
739
+ # Converts hash and nil to an options object
740
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
741
+
742
+ # Customize the options with defaults
743
+ metadata = @config.rpcs.delete_cluster.metadata.to_h
744
+
745
+ # Set x-goog-api-client and x-goog-user-project headers
746
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
747
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
748
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
749
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
750
+
751
+ header_params = {}
752
+ if request.name
753
+ header_params["name"] = request.name
754
+ end
755
+
756
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
757
+ metadata[:"x-goog-request-params"] ||= request_params_header
758
+
759
+ options.apply_defaults timeout: @config.rpcs.delete_cluster.timeout,
760
+ metadata: metadata,
761
+ retry_policy: @config.rpcs.delete_cluster.retry_policy
762
+
763
+ options.apply_defaults timeout: @config.timeout,
764
+ metadata: @config.metadata,
765
+ retry_policy: @config.retry_policy
766
+
767
+ @alloy_db_admin_stub.call_rpc :delete_cluster, request, options: options do |response, operation|
768
+ response = ::Gapic::Operation.new response, @operations_client, options: options
769
+ yield response, operation if block_given?
770
+ return response
771
+ end
772
+ rescue ::GRPC::BadStatus => e
773
+ raise ::Google::Cloud::Error.from_error(e)
774
+ end
775
+
776
+ ##
777
+ # Promotes a SECONDARY cluster. This turns down replication
778
+ # from the PRIMARY cluster and promotes a secondary cluster
779
+ # into its own standalone cluster.
780
+ # Imperative only.
781
+ #
782
+ # @overload promote_cluster(request, options = nil)
783
+ # Pass arguments to `promote_cluster` via a request object, either of type
784
+ # {::Google::Cloud::AlloyDB::V1beta::PromoteClusterRequest} or an equivalent Hash.
785
+ #
786
+ # @param request [::Google::Cloud::AlloyDB::V1beta::PromoteClusterRequest, ::Hash]
787
+ # A request object representing the call parameters. Required. To specify no
788
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
789
+ # @param options [::Gapic::CallOptions, ::Hash]
790
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
791
+ #
792
+ # @overload promote_cluster(name: nil, request_id: nil, etag: nil, validate_only: nil)
793
+ # Pass arguments to `promote_cluster` via keyword arguments. Note that at
794
+ # least one keyword argument is required. To specify no parameters, or to keep all
795
+ # the default parameter values, pass an empty Hash as a request object (see above).
796
+ #
797
+ # @param name [::String]
798
+ # Required. The name of the resource. For the required format, see the
799
+ # comment on the Cluster.name field
800
+ # @param request_id [::String]
801
+ # Optional. An optional request ID to identify requests. Specify a unique
802
+ # request ID so that if you must retry your request, the server will know to
803
+ # ignore the request if it has already been completed. The server will
804
+ # guarantee that for at least 60 minutes after the first request.
805
+ #
806
+ # For example, consider a situation where you make an initial request and
807
+ # the request times out. If you make the request again with the same request
808
+ # ID, the server can check if original operation with the same request ID
809
+ # was received, and if so, will ignore the second request. This prevents
810
+ # clients from accidentally creating duplicate commitments.
811
+ #
812
+ # The request ID must be a valid UUID with the exception that zero UUID is
813
+ # not supported (00000000-0000-0000-0000-000000000000).
814
+ # @param etag [::String]
815
+ # Optional. The current etag of the Cluster.
816
+ # If an etag is provided and does not match the current etag of the Cluster,
817
+ # deletion will be blocked and an ABORTED error will be returned.
818
+ # @param validate_only [::Boolean]
819
+ # Optional. If set, performs request validation (e.g. permission checks and
820
+ # any other type of validation), but do not actually execute the delete.
821
+ #
822
+ # @yield [response, operation] Access the result along with the RPC operation
823
+ # @yieldparam response [::Gapic::Operation]
824
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
825
+ #
826
+ # @return [::Gapic::Operation]
827
+ #
828
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
829
+ #
830
+ # @example Basic example
831
+ # require "google/cloud/alloy_db/v1beta"
832
+ #
833
+ # # Create a client object. The client can be reused for multiple calls.
834
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
835
+ #
836
+ # # Create a request. To set request fields, pass in keyword arguments.
837
+ # request = Google::Cloud::AlloyDB::V1beta::PromoteClusterRequest.new
838
+ #
839
+ # # Call the promote_cluster method.
840
+ # result = client.promote_cluster request
841
+ #
842
+ # # The returned object is of type Gapic::Operation. You can use it to
843
+ # # check the status of an operation, cancel it, or wait for results.
844
+ # # Here is how to wait for a response.
845
+ # result.wait_until_done! timeout: 60
846
+ # if result.response?
847
+ # p result.response
848
+ # else
849
+ # puts "No response received."
850
+ # end
851
+ #
852
+ def promote_cluster request, options = nil
853
+ raise ::ArgumentError, "request must be provided" if request.nil?
854
+
855
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::PromoteClusterRequest
856
+
857
+ # Converts hash and nil to an options object
858
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
859
+
860
+ # Customize the options with defaults
861
+ metadata = @config.rpcs.promote_cluster.metadata.to_h
862
+
863
+ # Set x-goog-api-client and x-goog-user-project headers
864
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
865
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
866
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
867
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
868
+
869
+ header_params = {}
870
+ if request.name
871
+ header_params["name"] = request.name
872
+ end
873
+
874
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
875
+ metadata[:"x-goog-request-params"] ||= request_params_header
876
+
877
+ options.apply_defaults timeout: @config.rpcs.promote_cluster.timeout,
878
+ metadata: metadata,
879
+ retry_policy: @config.rpcs.promote_cluster.retry_policy
880
+
881
+ options.apply_defaults timeout: @config.timeout,
882
+ metadata: @config.metadata,
883
+ retry_policy: @config.retry_policy
884
+
885
+ @alloy_db_admin_stub.call_rpc :promote_cluster, request, options: options do |response, operation|
886
+ response = ::Gapic::Operation.new response, @operations_client, options: options
887
+ yield response, operation if block_given?
888
+ return response
889
+ end
890
+ rescue ::GRPC::BadStatus => e
891
+ raise ::Google::Cloud::Error.from_error(e)
892
+ end
893
+
894
+ ##
895
+ # Creates a new Cluster in a given project and location, with a volume
896
+ # restored from the provided source, either a backup ID or a point-in-time
897
+ # and a source cluster.
898
+ #
899
+ # @overload restore_cluster(request, options = nil)
900
+ # Pass arguments to `restore_cluster` via a request object, either of type
901
+ # {::Google::Cloud::AlloyDB::V1beta::RestoreClusterRequest} or an equivalent Hash.
902
+ #
903
+ # @param request [::Google::Cloud::AlloyDB::V1beta::RestoreClusterRequest, ::Hash]
904
+ # A request object representing the call parameters. Required. To specify no
905
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
906
+ # @param options [::Gapic::CallOptions, ::Hash]
907
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
908
+ #
909
+ # @overload restore_cluster(backup_source: nil, continuous_backup_source: nil, parent: nil, cluster_id: nil, cluster: nil, request_id: nil, validate_only: nil)
910
+ # Pass arguments to `restore_cluster` via keyword arguments. Note that at
911
+ # least one keyword argument is required. To specify no parameters, or to keep all
912
+ # the default parameter values, pass an empty Hash as a request object (see above).
913
+ #
914
+ # @param backup_source [::Google::Cloud::AlloyDB::V1beta::BackupSource, ::Hash]
915
+ # Backup source.
916
+ # @param continuous_backup_source [::Google::Cloud::AlloyDB::V1beta::ContinuousBackupSource, ::Hash]
917
+ # ContinuousBackup source. Continuous backup needs to be enabled in the
918
+ # source cluster for this operation to succeed.
919
+ # @param parent [::String]
920
+ # Required. The name of the parent resource. For the required format, see the
921
+ # comment on the Cluster.name field.
922
+ # @param cluster_id [::String]
923
+ # Required. ID of the requesting object.
924
+ # @param cluster [::Google::Cloud::AlloyDB::V1beta::Cluster, ::Hash]
925
+ # Required. The resource being created
926
+ # @param request_id [::String]
927
+ # Optional. An optional request ID to identify requests. Specify a unique
928
+ # request ID so that if you must retry your request, the server will know to
929
+ # ignore the request if it has already been completed. The server will
930
+ # guarantee that for at least 60 minutes since the first request.
931
+ #
932
+ # For example, consider a situation where you make an initial request and
933
+ # the request times out. If you make the request again with the same request
934
+ # ID, the server can check if original operation with the same request ID
935
+ # was received, and if so, will ignore the second request. This prevents
936
+ # clients from accidentally creating duplicate commitments.
937
+ #
938
+ # The request ID must be a valid UUID with the exception that zero UUID is
939
+ # not supported (00000000-0000-0000-0000-000000000000).
940
+ # @param validate_only [::Boolean]
941
+ # Optional. If set, performs request validation (e.g. permission checks and
942
+ # any other type of validation), but do not actually execute the import
943
+ # request.
944
+ #
945
+ # @yield [response, operation] Access the result along with the RPC operation
946
+ # @yieldparam response [::Gapic::Operation]
947
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
948
+ #
949
+ # @return [::Gapic::Operation]
950
+ #
951
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
952
+ #
953
+ # @example Basic example
954
+ # require "google/cloud/alloy_db/v1beta"
955
+ #
956
+ # # Create a client object. The client can be reused for multiple calls.
957
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
958
+ #
959
+ # # Create a request. To set request fields, pass in keyword arguments.
960
+ # request = Google::Cloud::AlloyDB::V1beta::RestoreClusterRequest.new
961
+ #
962
+ # # Call the restore_cluster method.
963
+ # result = client.restore_cluster request
964
+ #
965
+ # # The returned object is of type Gapic::Operation. You can use it to
966
+ # # check the status of an operation, cancel it, or wait for results.
967
+ # # Here is how to wait for a response.
968
+ # result.wait_until_done! timeout: 60
969
+ # if result.response?
970
+ # p result.response
971
+ # else
972
+ # puts "No response received."
973
+ # end
974
+ #
975
+ def restore_cluster request, options = nil
976
+ raise ::ArgumentError, "request must be provided" if request.nil?
977
+
978
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::RestoreClusterRequest
979
+
980
+ # Converts hash and nil to an options object
981
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
982
+
983
+ # Customize the options with defaults
984
+ metadata = @config.rpcs.restore_cluster.metadata.to_h
985
+
986
+ # Set x-goog-api-client and x-goog-user-project headers
987
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
988
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
989
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
990
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
991
+
992
+ header_params = {}
993
+ if request.parent
994
+ header_params["parent"] = request.parent
995
+ end
996
+
997
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
998
+ metadata[:"x-goog-request-params"] ||= request_params_header
999
+
1000
+ options.apply_defaults timeout: @config.rpcs.restore_cluster.timeout,
1001
+ metadata: metadata,
1002
+ retry_policy: @config.rpcs.restore_cluster.retry_policy
1003
+
1004
+ options.apply_defaults timeout: @config.timeout,
1005
+ metadata: @config.metadata,
1006
+ retry_policy: @config.retry_policy
1007
+
1008
+ @alloy_db_admin_stub.call_rpc :restore_cluster, request, options: options do |response, operation|
1009
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1010
+ yield response, operation if block_given?
1011
+ return response
1012
+ end
1013
+ rescue ::GRPC::BadStatus => e
1014
+ raise ::Google::Cloud::Error.from_error(e)
1015
+ end
1016
+
1017
+ ##
1018
+ # Creates a cluster of type SECONDARY in the given location using
1019
+ # the primary cluster as the source.
1020
+ #
1021
+ # @overload create_secondary_cluster(request, options = nil)
1022
+ # Pass arguments to `create_secondary_cluster` via a request object, either of type
1023
+ # {::Google::Cloud::AlloyDB::V1beta::CreateSecondaryClusterRequest} or an equivalent Hash.
1024
+ #
1025
+ # @param request [::Google::Cloud::AlloyDB::V1beta::CreateSecondaryClusterRequest, ::Hash]
1026
+ # A request object representing the call parameters. Required. To specify no
1027
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1028
+ # @param options [::Gapic::CallOptions, ::Hash]
1029
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1030
+ #
1031
+ # @overload create_secondary_cluster(parent: nil, cluster_id: nil, cluster: nil, request_id: nil, validate_only: nil)
1032
+ # Pass arguments to `create_secondary_cluster` via keyword arguments. Note that at
1033
+ # least one keyword argument is required. To specify no parameters, or to keep all
1034
+ # the default parameter values, pass an empty Hash as a request object (see above).
1035
+ #
1036
+ # @param parent [::String]
1037
+ # Required. The name of the parent resource (the primary cluster). For the
1038
+ # required format, see the comment on the Cluster.name field.
1039
+ # @param cluster_id [::String]
1040
+ # Required. ID of the requesting object (the secondary cluster).
1041
+ # @param cluster [::Google::Cloud::AlloyDB::V1beta::Cluster, ::Hash]
1042
+ # Required. Configuration of the requesting object (the secondary cluster).
1043
+ # @param request_id [::String]
1044
+ # Optional. An optional request ID to identify requests. Specify a unique
1045
+ # request ID so that if you must retry your request, the server will know to
1046
+ # ignore the request if it has already been completed. The server will
1047
+ # guarantee that for at least 60 minutes since the first request.
1048
+ #
1049
+ # For example, consider a situation where you make an initial request and
1050
+ # the request times out. If you make the request again with the same request
1051
+ # ID, the server can check if original operation with the same request ID
1052
+ # was received, and if so, will ignore the second request. This prevents
1053
+ # clients from accidentally creating duplicate commitments.
1054
+ #
1055
+ # The request ID must be a valid UUID with the exception that zero UUID is
1056
+ # not supported (00000000-0000-0000-0000-000000000000).
1057
+ # @param validate_only [::Boolean]
1058
+ # Optional. If set, performs request validation (e.g. permission checks and
1059
+ # any other type of validation), but do not actually execute the create
1060
+ # request.
1061
+ #
1062
+ # @yield [response, operation] Access the result along with the RPC operation
1063
+ # @yieldparam response [::Gapic::Operation]
1064
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1065
+ #
1066
+ # @return [::Gapic::Operation]
1067
+ #
1068
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1069
+ #
1070
+ # @example Basic example
1071
+ # require "google/cloud/alloy_db/v1beta"
1072
+ #
1073
+ # # Create a client object. The client can be reused for multiple calls.
1074
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1075
+ #
1076
+ # # Create a request. To set request fields, pass in keyword arguments.
1077
+ # request = Google::Cloud::AlloyDB::V1beta::CreateSecondaryClusterRequest.new
1078
+ #
1079
+ # # Call the create_secondary_cluster method.
1080
+ # result = client.create_secondary_cluster request
1081
+ #
1082
+ # # The returned object is of type Gapic::Operation. You can use it to
1083
+ # # check the status of an operation, cancel it, or wait for results.
1084
+ # # Here is how to wait for a response.
1085
+ # result.wait_until_done! timeout: 60
1086
+ # if result.response?
1087
+ # p result.response
1088
+ # else
1089
+ # puts "No response received."
1090
+ # end
1091
+ #
1092
+ def create_secondary_cluster request, options = nil
1093
+ raise ::ArgumentError, "request must be provided" if request.nil?
1094
+
1095
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::CreateSecondaryClusterRequest
1096
+
1097
+ # Converts hash and nil to an options object
1098
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1099
+
1100
+ # Customize the options with defaults
1101
+ metadata = @config.rpcs.create_secondary_cluster.metadata.to_h
1102
+
1103
+ # Set x-goog-api-client and x-goog-user-project headers
1104
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1105
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1106
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1107
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1108
+
1109
+ header_params = {}
1110
+ if request.parent
1111
+ header_params["parent"] = request.parent
1112
+ end
1113
+
1114
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1115
+ metadata[:"x-goog-request-params"] ||= request_params_header
1116
+
1117
+ options.apply_defaults timeout: @config.rpcs.create_secondary_cluster.timeout,
1118
+ metadata: metadata,
1119
+ retry_policy: @config.rpcs.create_secondary_cluster.retry_policy
1120
+
1121
+ options.apply_defaults timeout: @config.timeout,
1122
+ metadata: @config.metadata,
1123
+ retry_policy: @config.retry_policy
1124
+
1125
+ @alloy_db_admin_stub.call_rpc :create_secondary_cluster, request, options: options do |response, operation|
1126
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1127
+ yield response, operation if block_given?
1128
+ return response
1129
+ end
1130
+ rescue ::GRPC::BadStatus => e
1131
+ raise ::Google::Cloud::Error.from_error(e)
1132
+ end
1133
+
1134
+ ##
1135
+ # Lists Instances in a given project and location.
1136
+ #
1137
+ # @overload list_instances(request, options = nil)
1138
+ # Pass arguments to `list_instances` via a request object, either of type
1139
+ # {::Google::Cloud::AlloyDB::V1beta::ListInstancesRequest} or an equivalent Hash.
1140
+ #
1141
+ # @param request [::Google::Cloud::AlloyDB::V1beta::ListInstancesRequest, ::Hash]
1142
+ # A request object representing the call parameters. Required. To specify no
1143
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1144
+ # @param options [::Gapic::CallOptions, ::Hash]
1145
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1146
+ #
1147
+ # @overload list_instances(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
1148
+ # Pass arguments to `list_instances` via keyword arguments. Note that at
1149
+ # least one keyword argument is required. To specify no parameters, or to keep all
1150
+ # the default parameter values, pass an empty Hash as a request object (see above).
1151
+ #
1152
+ # @param parent [::String]
1153
+ # Required. The name of the parent resource. For the required format, see the
1154
+ # comment on the Instance.name field. Additionally, you can perform an
1155
+ # aggregated list operation by specifying a value with one of the following
1156
+ # formats:
1157
+ # * projects/\\{project}/locations/-/clusters/-
1158
+ # * projects/\\{project}/locations/\\{region}/clusters/-
1159
+ # @param page_size [::Integer]
1160
+ # Optional. Requested page size. Server may return fewer items than
1161
+ # requested. If unspecified, server will pick an appropriate default.
1162
+ # @param page_token [::String]
1163
+ # A token identifying a page of results the server should return.
1164
+ # @param filter [::String]
1165
+ # Optional. Filtering results
1166
+ # @param order_by [::String]
1167
+ # Optional. Hint for how to order the results
1168
+ #
1169
+ # @yield [response, operation] Access the result along with the RPC operation
1170
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Instance>]
1171
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1172
+ #
1173
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Instance>]
1174
+ #
1175
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1176
+ #
1177
+ # @example Basic example
1178
+ # require "google/cloud/alloy_db/v1beta"
1179
+ #
1180
+ # # Create a client object. The client can be reused for multiple calls.
1181
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1182
+ #
1183
+ # # Create a request. To set request fields, pass in keyword arguments.
1184
+ # request = Google::Cloud::AlloyDB::V1beta::ListInstancesRequest.new
1185
+ #
1186
+ # # Call the list_instances method.
1187
+ # result = client.list_instances request
1188
+ #
1189
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1190
+ # # over elements, and API calls will be issued to fetch pages as needed.
1191
+ # result.each do |item|
1192
+ # # Each element is of type ::Google::Cloud::AlloyDB::V1beta::Instance.
1193
+ # p item
1194
+ # end
1195
+ #
1196
+ def list_instances request, options = nil
1197
+ raise ::ArgumentError, "request must be provided" if request.nil?
1198
+
1199
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::ListInstancesRequest
1200
+
1201
+ # Converts hash and nil to an options object
1202
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1203
+
1204
+ # Customize the options with defaults
1205
+ metadata = @config.rpcs.list_instances.metadata.to_h
1206
+
1207
+ # Set x-goog-api-client and x-goog-user-project headers
1208
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1209
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1210
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1211
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1212
+
1213
+ header_params = {}
1214
+ if request.parent
1215
+ header_params["parent"] = request.parent
1216
+ end
1217
+
1218
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1219
+ metadata[:"x-goog-request-params"] ||= request_params_header
1220
+
1221
+ options.apply_defaults timeout: @config.rpcs.list_instances.timeout,
1222
+ metadata: metadata,
1223
+ retry_policy: @config.rpcs.list_instances.retry_policy
1224
+
1225
+ options.apply_defaults timeout: @config.timeout,
1226
+ metadata: @config.metadata,
1227
+ retry_policy: @config.retry_policy
1228
+
1229
+ @alloy_db_admin_stub.call_rpc :list_instances, request, options: options do |response, operation|
1230
+ response = ::Gapic::PagedEnumerable.new @alloy_db_admin_stub, :list_instances, request, response, operation, options
1231
+ yield response, operation if block_given?
1232
+ return response
1233
+ end
1234
+ rescue ::GRPC::BadStatus => e
1235
+ raise ::Google::Cloud::Error.from_error(e)
1236
+ end
1237
+
1238
+ ##
1239
+ # Gets details of a single Instance.
1240
+ #
1241
+ # @overload get_instance(request, options = nil)
1242
+ # Pass arguments to `get_instance` via a request object, either of type
1243
+ # {::Google::Cloud::AlloyDB::V1beta::GetInstanceRequest} or an equivalent Hash.
1244
+ #
1245
+ # @param request [::Google::Cloud::AlloyDB::V1beta::GetInstanceRequest, ::Hash]
1246
+ # A request object representing the call parameters. Required. To specify no
1247
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1248
+ # @param options [::Gapic::CallOptions, ::Hash]
1249
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1250
+ #
1251
+ # @overload get_instance(name: nil, view: nil)
1252
+ # Pass arguments to `get_instance` via keyword arguments. Note that at
1253
+ # least one keyword argument is required. To specify no parameters, or to keep all
1254
+ # the default parameter values, pass an empty Hash as a request object (see above).
1255
+ #
1256
+ # @param name [::String]
1257
+ # Required. The name of the resource. For the required format, see the
1258
+ # comment on the Instance.name field.
1259
+ # @param view [::Google::Cloud::AlloyDB::V1beta::InstanceView]
1260
+ # The view of the instance to return.
1261
+ #
1262
+ # @yield [response, operation] Access the result along with the RPC operation
1263
+ # @yieldparam response [::Google::Cloud::AlloyDB::V1beta::Instance]
1264
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1265
+ #
1266
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance]
1267
+ #
1268
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1269
+ #
1270
+ # @example Basic example
1271
+ # require "google/cloud/alloy_db/v1beta"
1272
+ #
1273
+ # # Create a client object. The client can be reused for multiple calls.
1274
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1275
+ #
1276
+ # # Create a request. To set request fields, pass in keyword arguments.
1277
+ # request = Google::Cloud::AlloyDB::V1beta::GetInstanceRequest.new
1278
+ #
1279
+ # # Call the get_instance method.
1280
+ # result = client.get_instance request
1281
+ #
1282
+ # # The returned object is of type Google::Cloud::AlloyDB::V1beta::Instance.
1283
+ # p result
1284
+ #
1285
+ def get_instance request, options = nil
1286
+ raise ::ArgumentError, "request must be provided" if request.nil?
1287
+
1288
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::GetInstanceRequest
1289
+
1290
+ # Converts hash and nil to an options object
1291
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1292
+
1293
+ # Customize the options with defaults
1294
+ metadata = @config.rpcs.get_instance.metadata.to_h
1295
+
1296
+ # Set x-goog-api-client and x-goog-user-project headers
1297
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1298
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1299
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1300
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1301
+
1302
+ header_params = {}
1303
+ if request.name
1304
+ header_params["name"] = request.name
1305
+ end
1306
+
1307
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1308
+ metadata[:"x-goog-request-params"] ||= request_params_header
1309
+
1310
+ options.apply_defaults timeout: @config.rpcs.get_instance.timeout,
1311
+ metadata: metadata,
1312
+ retry_policy: @config.rpcs.get_instance.retry_policy
1313
+
1314
+ options.apply_defaults timeout: @config.timeout,
1315
+ metadata: @config.metadata,
1316
+ retry_policy: @config.retry_policy
1317
+
1318
+ @alloy_db_admin_stub.call_rpc :get_instance, request, options: options do |response, operation|
1319
+ yield response, operation if block_given?
1320
+ return response
1321
+ end
1322
+ rescue ::GRPC::BadStatus => e
1323
+ raise ::Google::Cloud::Error.from_error(e)
1324
+ end
1325
+
1326
+ ##
1327
+ # Creates a new Instance in a given project and location.
1328
+ #
1329
+ # @overload create_instance(request, options = nil)
1330
+ # Pass arguments to `create_instance` via a request object, either of type
1331
+ # {::Google::Cloud::AlloyDB::V1beta::CreateInstanceRequest} or an equivalent Hash.
1332
+ #
1333
+ # @param request [::Google::Cloud::AlloyDB::V1beta::CreateInstanceRequest, ::Hash]
1334
+ # A request object representing the call parameters. Required. To specify no
1335
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1336
+ # @param options [::Gapic::CallOptions, ::Hash]
1337
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1338
+ #
1339
+ # @overload create_instance(parent: nil, instance_id: nil, instance: nil, request_id: nil, validate_only: nil)
1340
+ # Pass arguments to `create_instance` via keyword arguments. Note that at
1341
+ # least one keyword argument is required. To specify no parameters, or to keep all
1342
+ # the default parameter values, pass an empty Hash as a request object (see above).
1343
+ #
1344
+ # @param parent [::String]
1345
+ # Required. The name of the parent resource. For the required format, see the
1346
+ # comment on the Instance.name field.
1347
+ # @param instance_id [::String]
1348
+ # Required. ID of the requesting object.
1349
+ # @param instance [::Google::Cloud::AlloyDB::V1beta::Instance, ::Hash]
1350
+ # Required. The resource being created
1351
+ # @param request_id [::String]
1352
+ # Optional. An optional request ID to identify requests. Specify a unique
1353
+ # request ID so that if you must retry your request, the server will know to
1354
+ # ignore the request if it has already been completed. The server will
1355
+ # guarantee that for at least 60 minutes since the first request.
1356
+ #
1357
+ # For example, consider a situation where you make an initial request and
1358
+ # the request times out. If you make the request again with the same request
1359
+ # ID, the server can check if original operation with the same request ID
1360
+ # was received, and if so, will ignore the second request. This prevents
1361
+ # clients from accidentally creating duplicate commitments.
1362
+ #
1363
+ # The request ID must be a valid UUID with the exception that zero UUID is
1364
+ # not supported (00000000-0000-0000-0000-000000000000).
1365
+ # @param validate_only [::Boolean]
1366
+ # Optional. If set, performs request validation (e.g. permission checks and
1367
+ # any other type of validation), but do not actually execute the create
1368
+ # request.
1369
+ #
1370
+ # @yield [response, operation] Access the result along with the RPC operation
1371
+ # @yieldparam response [::Gapic::Operation]
1372
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1373
+ #
1374
+ # @return [::Gapic::Operation]
1375
+ #
1376
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1377
+ #
1378
+ # @example Basic example
1379
+ # require "google/cloud/alloy_db/v1beta"
1380
+ #
1381
+ # # Create a client object. The client can be reused for multiple calls.
1382
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1383
+ #
1384
+ # # Create a request. To set request fields, pass in keyword arguments.
1385
+ # request = Google::Cloud::AlloyDB::V1beta::CreateInstanceRequest.new
1386
+ #
1387
+ # # Call the create_instance method.
1388
+ # result = client.create_instance request
1389
+ #
1390
+ # # The returned object is of type Gapic::Operation. You can use it to
1391
+ # # check the status of an operation, cancel it, or wait for results.
1392
+ # # Here is how to wait for a response.
1393
+ # result.wait_until_done! timeout: 60
1394
+ # if result.response?
1395
+ # p result.response
1396
+ # else
1397
+ # puts "No response received."
1398
+ # end
1399
+ #
1400
+ def create_instance request, options = nil
1401
+ raise ::ArgumentError, "request must be provided" if request.nil?
1402
+
1403
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::CreateInstanceRequest
1404
+
1405
+ # Converts hash and nil to an options object
1406
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1407
+
1408
+ # Customize the options with defaults
1409
+ metadata = @config.rpcs.create_instance.metadata.to_h
1410
+
1411
+ # Set x-goog-api-client and x-goog-user-project headers
1412
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1413
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1414
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1415
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1416
+
1417
+ header_params = {}
1418
+ if request.parent
1419
+ header_params["parent"] = request.parent
1420
+ end
1421
+
1422
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1423
+ metadata[:"x-goog-request-params"] ||= request_params_header
1424
+
1425
+ options.apply_defaults timeout: @config.rpcs.create_instance.timeout,
1426
+ metadata: metadata,
1427
+ retry_policy: @config.rpcs.create_instance.retry_policy
1428
+
1429
+ options.apply_defaults timeout: @config.timeout,
1430
+ metadata: @config.metadata,
1431
+ retry_policy: @config.retry_policy
1432
+
1433
+ @alloy_db_admin_stub.call_rpc :create_instance, request, options: options do |response, operation|
1434
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1435
+ yield response, operation if block_given?
1436
+ return response
1437
+ end
1438
+ rescue ::GRPC::BadStatus => e
1439
+ raise ::Google::Cloud::Error.from_error(e)
1440
+ end
1441
+
1442
+ ##
1443
+ # Creates a new SECONDARY Instance in a given project and location.
1444
+ #
1445
+ # @overload create_secondary_instance(request, options = nil)
1446
+ # Pass arguments to `create_secondary_instance` via a request object, either of type
1447
+ # {::Google::Cloud::AlloyDB::V1beta::CreateSecondaryInstanceRequest} or an equivalent Hash.
1448
+ #
1449
+ # @param request [::Google::Cloud::AlloyDB::V1beta::CreateSecondaryInstanceRequest, ::Hash]
1450
+ # A request object representing the call parameters. Required. To specify no
1451
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1452
+ # @param options [::Gapic::CallOptions, ::Hash]
1453
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1454
+ #
1455
+ # @overload create_secondary_instance(parent: nil, instance_id: nil, instance: nil, request_id: nil, validate_only: nil)
1456
+ # Pass arguments to `create_secondary_instance` via keyword arguments. Note that at
1457
+ # least one keyword argument is required. To specify no parameters, or to keep all
1458
+ # the default parameter values, pass an empty Hash as a request object (see above).
1459
+ #
1460
+ # @param parent [::String]
1461
+ # Required. The name of the parent resource. For the required format, see the
1462
+ # comment on the Instance.name field.
1463
+ # @param instance_id [::String]
1464
+ # Required. ID of the requesting object.
1465
+ # @param instance [::Google::Cloud::AlloyDB::V1beta::Instance, ::Hash]
1466
+ # Required. The resource being created
1467
+ # @param request_id [::String]
1468
+ # Optional. An optional request ID to identify requests. Specify a unique
1469
+ # request ID so that if you must retry your request, the server will know to
1470
+ # ignore the request if it has already been completed. The server will
1471
+ # guarantee that for at least 60 minutes since the first request.
1472
+ #
1473
+ # For example, consider a situation where you make an initial request and
1474
+ # the request times out. If you make the request again with the same request
1475
+ # ID, the server can check if original operation with the same request ID
1476
+ # was received, and if so, will ignore the second request. This prevents
1477
+ # clients from accidentally creating duplicate commitments.
1478
+ #
1479
+ # The request ID must be a valid UUID with the exception that zero UUID is
1480
+ # not supported (00000000-0000-0000-0000-000000000000).
1481
+ # @param validate_only [::Boolean]
1482
+ # Optional. If set, performs request validation (e.g. permission checks and
1483
+ # any other type of validation), but do not actually execute the create
1484
+ # request.
1485
+ #
1486
+ # @yield [response, operation] Access the result along with the RPC operation
1487
+ # @yieldparam response [::Gapic::Operation]
1488
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1489
+ #
1490
+ # @return [::Gapic::Operation]
1491
+ #
1492
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1493
+ #
1494
+ # @example Basic example
1495
+ # require "google/cloud/alloy_db/v1beta"
1496
+ #
1497
+ # # Create a client object. The client can be reused for multiple calls.
1498
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1499
+ #
1500
+ # # Create a request. To set request fields, pass in keyword arguments.
1501
+ # request = Google::Cloud::AlloyDB::V1beta::CreateSecondaryInstanceRequest.new
1502
+ #
1503
+ # # Call the create_secondary_instance method.
1504
+ # result = client.create_secondary_instance request
1505
+ #
1506
+ # # The returned object is of type Gapic::Operation. You can use it to
1507
+ # # check the status of an operation, cancel it, or wait for results.
1508
+ # # Here is how to wait for a response.
1509
+ # result.wait_until_done! timeout: 60
1510
+ # if result.response?
1511
+ # p result.response
1512
+ # else
1513
+ # puts "No response received."
1514
+ # end
1515
+ #
1516
+ def create_secondary_instance request, options = nil
1517
+ raise ::ArgumentError, "request must be provided" if request.nil?
1518
+
1519
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::CreateSecondaryInstanceRequest
1520
+
1521
+ # Converts hash and nil to an options object
1522
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1523
+
1524
+ # Customize the options with defaults
1525
+ metadata = @config.rpcs.create_secondary_instance.metadata.to_h
1526
+
1527
+ # Set x-goog-api-client and x-goog-user-project headers
1528
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1529
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1530
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1531
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1532
+
1533
+ header_params = {}
1534
+ if request.parent
1535
+ header_params["parent"] = request.parent
1536
+ end
1537
+
1538
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1539
+ metadata[:"x-goog-request-params"] ||= request_params_header
1540
+
1541
+ options.apply_defaults timeout: @config.rpcs.create_secondary_instance.timeout,
1542
+ metadata: metadata,
1543
+ retry_policy: @config.rpcs.create_secondary_instance.retry_policy
1544
+
1545
+ options.apply_defaults timeout: @config.timeout,
1546
+ metadata: @config.metadata,
1547
+ retry_policy: @config.retry_policy
1548
+
1549
+ @alloy_db_admin_stub.call_rpc :create_secondary_instance, request, options: options do |response, operation|
1550
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1551
+ yield response, operation if block_given?
1552
+ return response
1553
+ end
1554
+ rescue ::GRPC::BadStatus => e
1555
+ raise ::Google::Cloud::Error.from_error(e)
1556
+ end
1557
+
1558
+ ##
1559
+ # Creates new instances under the given project, location and cluster.
1560
+ # There can be only one primary instance in a cluster. If the primary
1561
+ # instance exists in the cluster as well as this request, then API will
1562
+ # throw an error.
1563
+ # The primary instance should exist before any read pool instance is
1564
+ # created. If the primary instance is a part of the request payload, then
1565
+ # the API will take care of creating instances in the correct order.
1566
+ # This method is here to support Google-internal use cases, and is not meant
1567
+ # for external customers to consume. Please do not start relying on it; its
1568
+ # behavior is subject to change without notice.
1569
+ #
1570
+ # @overload batch_create_instances(request, options = nil)
1571
+ # Pass arguments to `batch_create_instances` via a request object, either of type
1572
+ # {::Google::Cloud::AlloyDB::V1beta::BatchCreateInstancesRequest} or an equivalent Hash.
1573
+ #
1574
+ # @param request [::Google::Cloud::AlloyDB::V1beta::BatchCreateInstancesRequest, ::Hash]
1575
+ # A request object representing the call parameters. Required. To specify no
1576
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1577
+ # @param options [::Gapic::CallOptions, ::Hash]
1578
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1579
+ #
1580
+ # @overload batch_create_instances(parent: nil, requests: nil, request_id: nil)
1581
+ # Pass arguments to `batch_create_instances` via keyword arguments. Note that at
1582
+ # least one keyword argument is required. To specify no parameters, or to keep all
1583
+ # the default parameter values, pass an empty Hash as a request object (see above).
1584
+ #
1585
+ # @param parent [::String]
1586
+ # Required. The name of the parent resource.
1587
+ # @param requests [::Google::Cloud::AlloyDB::V1beta::CreateInstanceRequests, ::Hash]
1588
+ # Required. Resources being created.
1589
+ # @param request_id [::String]
1590
+ # Optional. An optional request ID to identify requests. Specify a unique
1591
+ # request ID so that if you must retry your request, the server will know to
1592
+ # ignore the request if it has already been completed. The server will
1593
+ # guarantee that for at least 60 minutes since the first request.
1594
+ #
1595
+ # For example, consider a situation where you make an initial request and
1596
+ # the request times out. If you make the request again with the same request
1597
+ # ID, the server can check if original operation with the same request ID
1598
+ # was received, and if so, will ignore the second request. This prevents
1599
+ # clients from accidentally creating duplicate commitments.
1600
+ #
1601
+ # The request ID must be a valid UUID with the exception that zero UUID is
1602
+ # not supported (00000000-0000-0000-0000-000000000000).
1603
+ #
1604
+ # @yield [response, operation] Access the result along with the RPC operation
1605
+ # @yieldparam response [::Gapic::Operation]
1606
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1607
+ #
1608
+ # @return [::Gapic::Operation]
1609
+ #
1610
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1611
+ #
1612
+ # @example Basic example
1613
+ # require "google/cloud/alloy_db/v1beta"
1614
+ #
1615
+ # # Create a client object. The client can be reused for multiple calls.
1616
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1617
+ #
1618
+ # # Create a request. To set request fields, pass in keyword arguments.
1619
+ # request = Google::Cloud::AlloyDB::V1beta::BatchCreateInstancesRequest.new
1620
+ #
1621
+ # # Call the batch_create_instances method.
1622
+ # result = client.batch_create_instances request
1623
+ #
1624
+ # # The returned object is of type Gapic::Operation. You can use it to
1625
+ # # check the status of an operation, cancel it, or wait for results.
1626
+ # # Here is how to wait for a response.
1627
+ # result.wait_until_done! timeout: 60
1628
+ # if result.response?
1629
+ # p result.response
1630
+ # else
1631
+ # puts "No response received."
1632
+ # end
1633
+ #
1634
+ def batch_create_instances request, options = nil
1635
+ raise ::ArgumentError, "request must be provided" if request.nil?
1636
+
1637
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::BatchCreateInstancesRequest
1638
+
1639
+ # Converts hash and nil to an options object
1640
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1641
+
1642
+ # Customize the options with defaults
1643
+ metadata = @config.rpcs.batch_create_instances.metadata.to_h
1644
+
1645
+ # Set x-goog-api-client and x-goog-user-project headers
1646
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1647
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1648
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1649
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1650
+
1651
+ header_params = {}
1652
+ if request.parent
1653
+ header_params["parent"] = request.parent
1654
+ end
1655
+
1656
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1657
+ metadata[:"x-goog-request-params"] ||= request_params_header
1658
+
1659
+ options.apply_defaults timeout: @config.rpcs.batch_create_instances.timeout,
1660
+ metadata: metadata,
1661
+ retry_policy: @config.rpcs.batch_create_instances.retry_policy
1662
+
1663
+ options.apply_defaults timeout: @config.timeout,
1664
+ metadata: @config.metadata,
1665
+ retry_policy: @config.retry_policy
1666
+
1667
+ @alloy_db_admin_stub.call_rpc :batch_create_instances, request, options: options do |response, operation|
1668
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1669
+ yield response, operation if block_given?
1670
+ return response
1671
+ end
1672
+ rescue ::GRPC::BadStatus => e
1673
+ raise ::Google::Cloud::Error.from_error(e)
1674
+ end
1675
+
1676
+ ##
1677
+ # Updates the parameters of a single Instance.
1678
+ #
1679
+ # @overload update_instance(request, options = nil)
1680
+ # Pass arguments to `update_instance` via a request object, either of type
1681
+ # {::Google::Cloud::AlloyDB::V1beta::UpdateInstanceRequest} or an equivalent Hash.
1682
+ #
1683
+ # @param request [::Google::Cloud::AlloyDB::V1beta::UpdateInstanceRequest, ::Hash]
1684
+ # A request object representing the call parameters. Required. To specify no
1685
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1686
+ # @param options [::Gapic::CallOptions, ::Hash]
1687
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1688
+ #
1689
+ # @overload update_instance(update_mask: nil, instance: nil, request_id: nil, validate_only: nil, allow_missing: nil)
1690
+ # Pass arguments to `update_instance` via keyword arguments. Note that at
1691
+ # least one keyword argument is required. To specify no parameters, or to keep all
1692
+ # the default parameter values, pass an empty Hash as a request object (see above).
1693
+ #
1694
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1695
+ # Optional. Field mask is used to specify the fields to be overwritten in the
1696
+ # Instance resource by the update.
1697
+ # The fields specified in the update_mask are relative to the resource, not
1698
+ # the full request. A field will be overwritten if it is in the mask. If the
1699
+ # user does not provide a mask then all fields will be overwritten.
1700
+ # @param instance [::Google::Cloud::AlloyDB::V1beta::Instance, ::Hash]
1701
+ # Required. The resource being updated
1702
+ # @param request_id [::String]
1703
+ # Optional. An optional request ID to identify requests. Specify a unique
1704
+ # request ID so that if you must retry your request, the server will know to
1705
+ # ignore the request if it has already been completed. The server will
1706
+ # guarantee that for at least 60 minutes since the first request.
1707
+ #
1708
+ # For example, consider a situation where you make an initial request and
1709
+ # the request times out. If you make the request again with the same request
1710
+ # ID, the server can check if original operation with the same request ID
1711
+ # was received, and if so, will ignore the second request. This prevents
1712
+ # clients from accidentally creating duplicate commitments.
1713
+ #
1714
+ # The request ID must be a valid UUID with the exception that zero UUID is
1715
+ # not supported (00000000-0000-0000-0000-000000000000).
1716
+ # @param validate_only [::Boolean]
1717
+ # Optional. If set, performs request validation (e.g. permission checks and
1718
+ # any other type of validation), but do not actually execute the update
1719
+ # request.
1720
+ # @param allow_missing [::Boolean]
1721
+ # Optional. If set to true, update succeeds even if instance is not found. In
1722
+ # that case, a new instance is created and `update_mask` is ignored.
1723
+ #
1724
+ # @yield [response, operation] Access the result along with the RPC operation
1725
+ # @yieldparam response [::Gapic::Operation]
1726
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1727
+ #
1728
+ # @return [::Gapic::Operation]
1729
+ #
1730
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1731
+ #
1732
+ # @example Basic example
1733
+ # require "google/cloud/alloy_db/v1beta"
1734
+ #
1735
+ # # Create a client object. The client can be reused for multiple calls.
1736
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1737
+ #
1738
+ # # Create a request. To set request fields, pass in keyword arguments.
1739
+ # request = Google::Cloud::AlloyDB::V1beta::UpdateInstanceRequest.new
1740
+ #
1741
+ # # Call the update_instance method.
1742
+ # result = client.update_instance request
1743
+ #
1744
+ # # The returned object is of type Gapic::Operation. You can use it to
1745
+ # # check the status of an operation, cancel it, or wait for results.
1746
+ # # Here is how to wait for a response.
1747
+ # result.wait_until_done! timeout: 60
1748
+ # if result.response?
1749
+ # p result.response
1750
+ # else
1751
+ # puts "No response received."
1752
+ # end
1753
+ #
1754
+ def update_instance request, options = nil
1755
+ raise ::ArgumentError, "request must be provided" if request.nil?
1756
+
1757
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::UpdateInstanceRequest
1758
+
1759
+ # Converts hash and nil to an options object
1760
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1761
+
1762
+ # Customize the options with defaults
1763
+ metadata = @config.rpcs.update_instance.metadata.to_h
1764
+
1765
+ # Set x-goog-api-client and x-goog-user-project headers
1766
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1767
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1768
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1769
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1770
+
1771
+ header_params = {}
1772
+ if request.instance&.name
1773
+ header_params["instance.name"] = request.instance.name
1774
+ end
1775
+
1776
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1777
+ metadata[:"x-goog-request-params"] ||= request_params_header
1778
+
1779
+ options.apply_defaults timeout: @config.rpcs.update_instance.timeout,
1780
+ metadata: metadata,
1781
+ retry_policy: @config.rpcs.update_instance.retry_policy
1782
+
1783
+ options.apply_defaults timeout: @config.timeout,
1784
+ metadata: @config.metadata,
1785
+ retry_policy: @config.retry_policy
1786
+
1787
+ @alloy_db_admin_stub.call_rpc :update_instance, request, options: options do |response, operation|
1788
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1789
+ yield response, operation if block_given?
1790
+ return response
1791
+ end
1792
+ rescue ::GRPC::BadStatus => e
1793
+ raise ::Google::Cloud::Error.from_error(e)
1794
+ end
1795
+
1796
+ ##
1797
+ # Deletes a single Instance.
1798
+ #
1799
+ # @overload delete_instance(request, options = nil)
1800
+ # Pass arguments to `delete_instance` via a request object, either of type
1801
+ # {::Google::Cloud::AlloyDB::V1beta::DeleteInstanceRequest} or an equivalent Hash.
1802
+ #
1803
+ # @param request [::Google::Cloud::AlloyDB::V1beta::DeleteInstanceRequest, ::Hash]
1804
+ # A request object representing the call parameters. Required. To specify no
1805
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1806
+ # @param options [::Gapic::CallOptions, ::Hash]
1807
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1808
+ #
1809
+ # @overload delete_instance(name: nil, request_id: nil, etag: nil, validate_only: nil)
1810
+ # Pass arguments to `delete_instance` via keyword arguments. Note that at
1811
+ # least one keyword argument is required. To specify no parameters, or to keep all
1812
+ # the default parameter values, pass an empty Hash as a request object (see above).
1813
+ #
1814
+ # @param name [::String]
1815
+ # Required. The name of the resource. For the required format, see the
1816
+ # comment on the Instance.name field.
1817
+ # @param request_id [::String]
1818
+ # Optional. An optional request ID to identify requests. Specify a unique
1819
+ # request ID so that if you must retry your request, the server will know to
1820
+ # ignore the request if it has already been completed. The server will
1821
+ # guarantee that for at least 60 minutes after the first request.
1822
+ #
1823
+ # For example, consider a situation where you make an initial request and
1824
+ # the request times out. If you make the request again with the same request
1825
+ # ID, the server can check if original operation with the same request ID
1826
+ # was received, and if so, will ignore the second request. This prevents
1827
+ # clients from accidentally creating duplicate commitments.
1828
+ #
1829
+ # The request ID must be a valid UUID with the exception that zero UUID is
1830
+ # not supported (00000000-0000-0000-0000-000000000000).
1831
+ # @param etag [::String]
1832
+ # Optional. The current etag of the Instance.
1833
+ # If an etag is provided and does not match the current etag of the Instance,
1834
+ # deletion will be blocked and an ABORTED error will be returned.
1835
+ # @param validate_only [::Boolean]
1836
+ # Optional. If set, performs request validation (e.g. permission checks and
1837
+ # any other type of validation), but do not actually execute the delete.
1838
+ #
1839
+ # @yield [response, operation] Access the result along with the RPC operation
1840
+ # @yieldparam response [::Gapic::Operation]
1841
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1842
+ #
1843
+ # @return [::Gapic::Operation]
1844
+ #
1845
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1846
+ #
1847
+ # @example Basic example
1848
+ # require "google/cloud/alloy_db/v1beta"
1849
+ #
1850
+ # # Create a client object. The client can be reused for multiple calls.
1851
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1852
+ #
1853
+ # # Create a request. To set request fields, pass in keyword arguments.
1854
+ # request = Google::Cloud::AlloyDB::V1beta::DeleteInstanceRequest.new
1855
+ #
1856
+ # # Call the delete_instance method.
1857
+ # result = client.delete_instance request
1858
+ #
1859
+ # # The returned object is of type Gapic::Operation. You can use it to
1860
+ # # check the status of an operation, cancel it, or wait for results.
1861
+ # # Here is how to wait for a response.
1862
+ # result.wait_until_done! timeout: 60
1863
+ # if result.response?
1864
+ # p result.response
1865
+ # else
1866
+ # puts "No response received."
1867
+ # end
1868
+ #
1869
+ def delete_instance request, options = nil
1870
+ raise ::ArgumentError, "request must be provided" if request.nil?
1871
+
1872
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::DeleteInstanceRequest
1873
+
1874
+ # Converts hash and nil to an options object
1875
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1876
+
1877
+ # Customize the options with defaults
1878
+ metadata = @config.rpcs.delete_instance.metadata.to_h
1879
+
1880
+ # Set x-goog-api-client and x-goog-user-project headers
1881
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1882
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1883
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1884
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1885
+
1886
+ header_params = {}
1887
+ if request.name
1888
+ header_params["name"] = request.name
1889
+ end
1890
+
1891
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1892
+ metadata[:"x-goog-request-params"] ||= request_params_header
1893
+
1894
+ options.apply_defaults timeout: @config.rpcs.delete_instance.timeout,
1895
+ metadata: metadata,
1896
+ retry_policy: @config.rpcs.delete_instance.retry_policy
1897
+
1898
+ options.apply_defaults timeout: @config.timeout,
1899
+ metadata: @config.metadata,
1900
+ retry_policy: @config.retry_policy
1901
+
1902
+ @alloy_db_admin_stub.call_rpc :delete_instance, request, options: options do |response, operation|
1903
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1904
+ yield response, operation if block_given?
1905
+ return response
1906
+ end
1907
+ rescue ::GRPC::BadStatus => e
1908
+ raise ::Google::Cloud::Error.from_error(e)
1909
+ end
1910
+
1911
+ ##
1912
+ # Forces a Failover for a highly available instance.
1913
+ # Failover promotes the HA standby instance as the new primary.
1914
+ # Imperative only.
1915
+ #
1916
+ # @overload failover_instance(request, options = nil)
1917
+ # Pass arguments to `failover_instance` via a request object, either of type
1918
+ # {::Google::Cloud::AlloyDB::V1beta::FailoverInstanceRequest} or an equivalent Hash.
1919
+ #
1920
+ # @param request [::Google::Cloud::AlloyDB::V1beta::FailoverInstanceRequest, ::Hash]
1921
+ # A request object representing the call parameters. Required. To specify no
1922
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1923
+ # @param options [::Gapic::CallOptions, ::Hash]
1924
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1925
+ #
1926
+ # @overload failover_instance(name: nil, request_id: nil, validate_only: nil)
1927
+ # Pass arguments to `failover_instance` via keyword arguments. Note that at
1928
+ # least one keyword argument is required. To specify no parameters, or to keep all
1929
+ # the default parameter values, pass an empty Hash as a request object (see above).
1930
+ #
1931
+ # @param name [::String]
1932
+ # Required. The name of the resource. For the required format, see the
1933
+ # comment on the Instance.name field.
1934
+ # @param request_id [::String]
1935
+ # Optional. An optional request ID to identify requests. Specify a unique
1936
+ # request ID so that if you must retry your request, the server will know to
1937
+ # ignore the request if it has already been completed. The server will
1938
+ # guarantee that for at least 60 minutes after the first request.
1939
+ #
1940
+ # For example, consider a situation where you make an initial request and
1941
+ # the request times out. If you make the request again with the same request
1942
+ # ID, the server can check if original operation with the same request ID
1943
+ # was received, and if so, will ignore the second request. This prevents
1944
+ # clients from accidentally creating duplicate commitments.
1945
+ #
1946
+ # The request ID must be a valid UUID with the exception that zero UUID is
1947
+ # not supported (00000000-0000-0000-0000-000000000000).
1948
+ # @param validate_only [::Boolean]
1949
+ # Optional. If set, performs request validation (e.g. permission checks and
1950
+ # any other type of validation), but do not actually execute the failover.
1951
+ #
1952
+ # @yield [response, operation] Access the result along with the RPC operation
1953
+ # @yieldparam response [::Gapic::Operation]
1954
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1955
+ #
1956
+ # @return [::Gapic::Operation]
1957
+ #
1958
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1959
+ #
1960
+ # @example Basic example
1961
+ # require "google/cloud/alloy_db/v1beta"
1962
+ #
1963
+ # # Create a client object. The client can be reused for multiple calls.
1964
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
1965
+ #
1966
+ # # Create a request. To set request fields, pass in keyword arguments.
1967
+ # request = Google::Cloud::AlloyDB::V1beta::FailoverInstanceRequest.new
1968
+ #
1969
+ # # Call the failover_instance method.
1970
+ # result = client.failover_instance request
1971
+ #
1972
+ # # The returned object is of type Gapic::Operation. You can use it to
1973
+ # # check the status of an operation, cancel it, or wait for results.
1974
+ # # Here is how to wait for a response.
1975
+ # result.wait_until_done! timeout: 60
1976
+ # if result.response?
1977
+ # p result.response
1978
+ # else
1979
+ # puts "No response received."
1980
+ # end
1981
+ #
1982
+ def failover_instance request, options = nil
1983
+ raise ::ArgumentError, "request must be provided" if request.nil?
1984
+
1985
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::FailoverInstanceRequest
1986
+
1987
+ # Converts hash and nil to an options object
1988
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1989
+
1990
+ # Customize the options with defaults
1991
+ metadata = @config.rpcs.failover_instance.metadata.to_h
1992
+
1993
+ # Set x-goog-api-client and x-goog-user-project headers
1994
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1995
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1996
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
1997
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1998
+
1999
+ header_params = {}
2000
+ if request.name
2001
+ header_params["name"] = request.name
2002
+ end
2003
+
2004
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2005
+ metadata[:"x-goog-request-params"] ||= request_params_header
2006
+
2007
+ options.apply_defaults timeout: @config.rpcs.failover_instance.timeout,
2008
+ metadata: metadata,
2009
+ retry_policy: @config.rpcs.failover_instance.retry_policy
2010
+
2011
+ options.apply_defaults timeout: @config.timeout,
2012
+ metadata: @config.metadata,
2013
+ retry_policy: @config.retry_policy
2014
+
2015
+ @alloy_db_admin_stub.call_rpc :failover_instance, request, options: options do |response, operation|
2016
+ response = ::Gapic::Operation.new response, @operations_client, options: options
2017
+ yield response, operation if block_given?
2018
+ return response
2019
+ end
2020
+ rescue ::GRPC::BadStatus => e
2021
+ raise ::Google::Cloud::Error.from_error(e)
2022
+ end
2023
+
2024
+ ##
2025
+ # Restart an Instance in a cluster.
2026
+ # Imperative only.
2027
+ #
2028
+ # @overload restart_instance(request, options = nil)
2029
+ # Pass arguments to `restart_instance` via a request object, either of type
2030
+ # {::Google::Cloud::AlloyDB::V1beta::RestartInstanceRequest} or an equivalent Hash.
2031
+ #
2032
+ # @param request [::Google::Cloud::AlloyDB::V1beta::RestartInstanceRequest, ::Hash]
2033
+ # A request object representing the call parameters. Required. To specify no
2034
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2035
+ # @param options [::Gapic::CallOptions, ::Hash]
2036
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2037
+ #
2038
+ # @overload restart_instance(name: nil, request_id: nil, validate_only: nil)
2039
+ # Pass arguments to `restart_instance` via keyword arguments. Note that at
2040
+ # least one keyword argument is required. To specify no parameters, or to keep all
2041
+ # the default parameter values, pass an empty Hash as a request object (see above).
2042
+ #
2043
+ # @param name [::String]
2044
+ # Required. The name of the resource. For the required format, see the
2045
+ # comment on the Instance.name field.
2046
+ # @param request_id [::String]
2047
+ # Optional. An optional request ID to identify requests. Specify a unique
2048
+ # request ID so that if you must retry your request, the server will know to
2049
+ # ignore the request if it has already been completed. The server will
2050
+ # guarantee that for at least 60 minutes after the first request.
2051
+ #
2052
+ # For example, consider a situation where you make an initial request and
2053
+ # the request times out. If you make the request again with the same request
2054
+ # ID, the server can check if original operation with the same request ID
2055
+ # was received, and if so, will ignore the second request. This prevents
2056
+ # clients from accidentally creating duplicate commitments.
2057
+ #
2058
+ # The request ID must be a valid UUID with the exception that zero UUID is
2059
+ # not supported (00000000-0000-0000-0000-000000000000).
2060
+ # @param validate_only [::Boolean]
2061
+ # Optional. If set, performs request validation (e.g. permission checks and
2062
+ # any other type of validation), but do not actually execute the restart.
2063
+ #
2064
+ # @yield [response, operation] Access the result along with the RPC operation
2065
+ # @yieldparam response [::Gapic::Operation]
2066
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2067
+ #
2068
+ # @return [::Gapic::Operation]
2069
+ #
2070
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2071
+ #
2072
+ # @example Basic example
2073
+ # require "google/cloud/alloy_db/v1beta"
2074
+ #
2075
+ # # Create a client object. The client can be reused for multiple calls.
2076
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2077
+ #
2078
+ # # Create a request. To set request fields, pass in keyword arguments.
2079
+ # request = Google::Cloud::AlloyDB::V1beta::RestartInstanceRequest.new
2080
+ #
2081
+ # # Call the restart_instance method.
2082
+ # result = client.restart_instance request
2083
+ #
2084
+ # # The returned object is of type Gapic::Operation. You can use it to
2085
+ # # check the status of an operation, cancel it, or wait for results.
2086
+ # # Here is how to wait for a response.
2087
+ # result.wait_until_done! timeout: 60
2088
+ # if result.response?
2089
+ # p result.response
2090
+ # else
2091
+ # puts "No response received."
2092
+ # end
2093
+ #
2094
+ def restart_instance request, options = nil
2095
+ raise ::ArgumentError, "request must be provided" if request.nil?
2096
+
2097
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::RestartInstanceRequest
2098
+
2099
+ # Converts hash and nil to an options object
2100
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2101
+
2102
+ # Customize the options with defaults
2103
+ metadata = @config.rpcs.restart_instance.metadata.to_h
2104
+
2105
+ # Set x-goog-api-client and x-goog-user-project headers
2106
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2107
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2108
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2109
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2110
+
2111
+ header_params = {}
2112
+ if request.name
2113
+ header_params["name"] = request.name
2114
+ end
2115
+
2116
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2117
+ metadata[:"x-goog-request-params"] ||= request_params_header
2118
+
2119
+ options.apply_defaults timeout: @config.rpcs.restart_instance.timeout,
2120
+ metadata: metadata,
2121
+ retry_policy: @config.rpcs.restart_instance.retry_policy
2122
+
2123
+ options.apply_defaults timeout: @config.timeout,
2124
+ metadata: @config.metadata,
2125
+ retry_policy: @config.retry_policy
2126
+
2127
+ @alloy_db_admin_stub.call_rpc :restart_instance, request, options: options do |response, operation|
2128
+ response = ::Gapic::Operation.new response, @operations_client, options: options
2129
+ yield response, operation if block_given?
2130
+ return response
2131
+ end
2132
+ rescue ::GRPC::BadStatus => e
2133
+ raise ::Google::Cloud::Error.from_error(e)
2134
+ end
2135
+
2136
+ ##
2137
+ # Lists Backups in a given project and location.
2138
+ #
2139
+ # @overload list_backups(request, options = nil)
2140
+ # Pass arguments to `list_backups` via a request object, either of type
2141
+ # {::Google::Cloud::AlloyDB::V1beta::ListBackupsRequest} or an equivalent Hash.
2142
+ #
2143
+ # @param request [::Google::Cloud::AlloyDB::V1beta::ListBackupsRequest, ::Hash]
2144
+ # A request object representing the call parameters. Required. To specify no
2145
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2146
+ # @param options [::Gapic::CallOptions, ::Hash]
2147
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2148
+ #
2149
+ # @overload list_backups(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
2150
+ # Pass arguments to `list_backups` via keyword arguments. Note that at
2151
+ # least one keyword argument is required. To specify no parameters, or to keep all
2152
+ # the default parameter values, pass an empty Hash as a request object (see above).
2153
+ #
2154
+ # @param parent [::String]
2155
+ # Required. Parent value for ListBackupsRequest
2156
+ # @param page_size [::Integer]
2157
+ # Requested page size. Server may return fewer items than requested.
2158
+ # If unspecified, server will pick an appropriate default.
2159
+ # @param page_token [::String]
2160
+ # A token identifying a page of results the server should return.
2161
+ # @param filter [::String]
2162
+ # Filtering results
2163
+ # @param order_by [::String]
2164
+ # Hint for how to order the results
2165
+ #
2166
+ # @yield [response, operation] Access the result along with the RPC operation
2167
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Backup>]
2168
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2169
+ #
2170
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::Backup>]
2171
+ #
2172
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2173
+ #
2174
+ # @example Basic example
2175
+ # require "google/cloud/alloy_db/v1beta"
2176
+ #
2177
+ # # Create a client object. The client can be reused for multiple calls.
2178
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2179
+ #
2180
+ # # Create a request. To set request fields, pass in keyword arguments.
2181
+ # request = Google::Cloud::AlloyDB::V1beta::ListBackupsRequest.new
2182
+ #
2183
+ # # Call the list_backups method.
2184
+ # result = client.list_backups request
2185
+ #
2186
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
2187
+ # # over elements, and API calls will be issued to fetch pages as needed.
2188
+ # result.each do |item|
2189
+ # # Each element is of type ::Google::Cloud::AlloyDB::V1beta::Backup.
2190
+ # p item
2191
+ # end
2192
+ #
2193
+ def list_backups request, options = nil
2194
+ raise ::ArgumentError, "request must be provided" if request.nil?
2195
+
2196
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::ListBackupsRequest
2197
+
2198
+ # Converts hash and nil to an options object
2199
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2200
+
2201
+ # Customize the options with defaults
2202
+ metadata = @config.rpcs.list_backups.metadata.to_h
2203
+
2204
+ # Set x-goog-api-client and x-goog-user-project headers
2205
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2206
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2207
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2208
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2209
+
2210
+ header_params = {}
2211
+ if request.parent
2212
+ header_params["parent"] = request.parent
2213
+ end
2214
+
2215
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2216
+ metadata[:"x-goog-request-params"] ||= request_params_header
2217
+
2218
+ options.apply_defaults timeout: @config.rpcs.list_backups.timeout,
2219
+ metadata: metadata,
2220
+ retry_policy: @config.rpcs.list_backups.retry_policy
2221
+
2222
+ options.apply_defaults timeout: @config.timeout,
2223
+ metadata: @config.metadata,
2224
+ retry_policy: @config.retry_policy
2225
+
2226
+ @alloy_db_admin_stub.call_rpc :list_backups, request, options: options do |response, operation|
2227
+ response = ::Gapic::PagedEnumerable.new @alloy_db_admin_stub, :list_backups, request, response, operation, options
2228
+ yield response, operation if block_given?
2229
+ return response
2230
+ end
2231
+ rescue ::GRPC::BadStatus => e
2232
+ raise ::Google::Cloud::Error.from_error(e)
2233
+ end
2234
+
2235
+ ##
2236
+ # Gets details of a single Backup.
2237
+ #
2238
+ # @overload get_backup(request, options = nil)
2239
+ # Pass arguments to `get_backup` via a request object, either of type
2240
+ # {::Google::Cloud::AlloyDB::V1beta::GetBackupRequest} or an equivalent Hash.
2241
+ #
2242
+ # @param request [::Google::Cloud::AlloyDB::V1beta::GetBackupRequest, ::Hash]
2243
+ # A request object representing the call parameters. Required. To specify no
2244
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2245
+ # @param options [::Gapic::CallOptions, ::Hash]
2246
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2247
+ #
2248
+ # @overload get_backup(name: nil)
2249
+ # Pass arguments to `get_backup` via keyword arguments. Note that at
2250
+ # least one keyword argument is required. To specify no parameters, or to keep all
2251
+ # the default parameter values, pass an empty Hash as a request object (see above).
2252
+ #
2253
+ # @param name [::String]
2254
+ # Required. Name of the resource
2255
+ #
2256
+ # @yield [response, operation] Access the result along with the RPC operation
2257
+ # @yieldparam response [::Google::Cloud::AlloyDB::V1beta::Backup]
2258
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2259
+ #
2260
+ # @return [::Google::Cloud::AlloyDB::V1beta::Backup]
2261
+ #
2262
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2263
+ #
2264
+ # @example Basic example
2265
+ # require "google/cloud/alloy_db/v1beta"
2266
+ #
2267
+ # # Create a client object. The client can be reused for multiple calls.
2268
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2269
+ #
2270
+ # # Create a request. To set request fields, pass in keyword arguments.
2271
+ # request = Google::Cloud::AlloyDB::V1beta::GetBackupRequest.new
2272
+ #
2273
+ # # Call the get_backup method.
2274
+ # result = client.get_backup request
2275
+ #
2276
+ # # The returned object is of type Google::Cloud::AlloyDB::V1beta::Backup.
2277
+ # p result
2278
+ #
2279
+ def get_backup request, options = nil
2280
+ raise ::ArgumentError, "request must be provided" if request.nil?
2281
+
2282
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::GetBackupRequest
2283
+
2284
+ # Converts hash and nil to an options object
2285
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2286
+
2287
+ # Customize the options with defaults
2288
+ metadata = @config.rpcs.get_backup.metadata.to_h
2289
+
2290
+ # Set x-goog-api-client and x-goog-user-project headers
2291
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2292
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2293
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2294
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2295
+
2296
+ header_params = {}
2297
+ if request.name
2298
+ header_params["name"] = request.name
2299
+ end
2300
+
2301
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2302
+ metadata[:"x-goog-request-params"] ||= request_params_header
2303
+
2304
+ options.apply_defaults timeout: @config.rpcs.get_backup.timeout,
2305
+ metadata: metadata,
2306
+ retry_policy: @config.rpcs.get_backup.retry_policy
2307
+
2308
+ options.apply_defaults timeout: @config.timeout,
2309
+ metadata: @config.metadata,
2310
+ retry_policy: @config.retry_policy
2311
+
2312
+ @alloy_db_admin_stub.call_rpc :get_backup, request, options: options do |response, operation|
2313
+ yield response, operation if block_given?
2314
+ return response
2315
+ end
2316
+ rescue ::GRPC::BadStatus => e
2317
+ raise ::Google::Cloud::Error.from_error(e)
2318
+ end
2319
+
2320
+ ##
2321
+ # Creates a new Backup in a given project and location.
2322
+ #
2323
+ # @overload create_backup(request, options = nil)
2324
+ # Pass arguments to `create_backup` via a request object, either of type
2325
+ # {::Google::Cloud::AlloyDB::V1beta::CreateBackupRequest} or an equivalent Hash.
2326
+ #
2327
+ # @param request [::Google::Cloud::AlloyDB::V1beta::CreateBackupRequest, ::Hash]
2328
+ # A request object representing the call parameters. Required. To specify no
2329
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2330
+ # @param options [::Gapic::CallOptions, ::Hash]
2331
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2332
+ #
2333
+ # @overload create_backup(parent: nil, backup_id: nil, backup: nil, request_id: nil, validate_only: nil)
2334
+ # Pass arguments to `create_backup` via keyword arguments. Note that at
2335
+ # least one keyword argument is required. To specify no parameters, or to keep all
2336
+ # the default parameter values, pass an empty Hash as a request object (see above).
2337
+ #
2338
+ # @param parent [::String]
2339
+ # Required. Value for parent.
2340
+ # @param backup_id [::String]
2341
+ # Required. ID of the requesting object.
2342
+ # @param backup [::Google::Cloud::AlloyDB::V1beta::Backup, ::Hash]
2343
+ # Required. The resource being created
2344
+ # @param request_id [::String]
2345
+ # Optional. An optional request ID to identify requests. Specify a unique
2346
+ # request ID so that if you must retry your request, the server will know to
2347
+ # ignore the request if it has already been completed. The server will
2348
+ # guarantee that for at least 60 minutes since the first request.
2349
+ #
2350
+ # For example, consider a situation where you make an initial request and
2351
+ # the request times out. If you make the request again with the same request
2352
+ # ID, the server can check if original operation with the same request ID
2353
+ # was received, and if so, will ignore the second request. This prevents
2354
+ # clients from accidentally creating duplicate commitments.
2355
+ #
2356
+ # The request ID must be a valid UUID with the exception that zero UUID is
2357
+ # not supported (00000000-0000-0000-0000-000000000000).
2358
+ # @param validate_only [::Boolean]
2359
+ # Optional. If set, the backend validates the request, but doesn't actually
2360
+ # execute it.
2361
+ #
2362
+ # @yield [response, operation] Access the result along with the RPC operation
2363
+ # @yieldparam response [::Gapic::Operation]
2364
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2365
+ #
2366
+ # @return [::Gapic::Operation]
2367
+ #
2368
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2369
+ #
2370
+ # @example Basic example
2371
+ # require "google/cloud/alloy_db/v1beta"
2372
+ #
2373
+ # # Create a client object. The client can be reused for multiple calls.
2374
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2375
+ #
2376
+ # # Create a request. To set request fields, pass in keyword arguments.
2377
+ # request = Google::Cloud::AlloyDB::V1beta::CreateBackupRequest.new
2378
+ #
2379
+ # # Call the create_backup method.
2380
+ # result = client.create_backup request
2381
+ #
2382
+ # # The returned object is of type Gapic::Operation. You can use it to
2383
+ # # check the status of an operation, cancel it, or wait for results.
2384
+ # # Here is how to wait for a response.
2385
+ # result.wait_until_done! timeout: 60
2386
+ # if result.response?
2387
+ # p result.response
2388
+ # else
2389
+ # puts "No response received."
2390
+ # end
2391
+ #
2392
+ def create_backup request, options = nil
2393
+ raise ::ArgumentError, "request must be provided" if request.nil?
2394
+
2395
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::CreateBackupRequest
2396
+
2397
+ # Converts hash and nil to an options object
2398
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2399
+
2400
+ # Customize the options with defaults
2401
+ metadata = @config.rpcs.create_backup.metadata.to_h
2402
+
2403
+ # Set x-goog-api-client and x-goog-user-project headers
2404
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2405
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2406
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2407
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2408
+
2409
+ header_params = {}
2410
+ if request.parent
2411
+ header_params["parent"] = request.parent
2412
+ end
2413
+
2414
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2415
+ metadata[:"x-goog-request-params"] ||= request_params_header
2416
+
2417
+ options.apply_defaults timeout: @config.rpcs.create_backup.timeout,
2418
+ metadata: metadata,
2419
+ retry_policy: @config.rpcs.create_backup.retry_policy
2420
+
2421
+ options.apply_defaults timeout: @config.timeout,
2422
+ metadata: @config.metadata,
2423
+ retry_policy: @config.retry_policy
2424
+
2425
+ @alloy_db_admin_stub.call_rpc :create_backup, request, options: options do |response, operation|
2426
+ response = ::Gapic::Operation.new response, @operations_client, options: options
2427
+ yield response, operation if block_given?
2428
+ return response
2429
+ end
2430
+ rescue ::GRPC::BadStatus => e
2431
+ raise ::Google::Cloud::Error.from_error(e)
2432
+ end
2433
+
2434
+ ##
2435
+ # Updates the parameters of a single Backup.
2436
+ #
2437
+ # @overload update_backup(request, options = nil)
2438
+ # Pass arguments to `update_backup` via a request object, either of type
2439
+ # {::Google::Cloud::AlloyDB::V1beta::UpdateBackupRequest} or an equivalent Hash.
2440
+ #
2441
+ # @param request [::Google::Cloud::AlloyDB::V1beta::UpdateBackupRequest, ::Hash]
2442
+ # A request object representing the call parameters. Required. To specify no
2443
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2444
+ # @param options [::Gapic::CallOptions, ::Hash]
2445
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2446
+ #
2447
+ # @overload update_backup(update_mask: nil, backup: nil, request_id: nil, validate_only: nil, allow_missing: nil)
2448
+ # Pass arguments to `update_backup` via keyword arguments. Note that at
2449
+ # least one keyword argument is required. To specify no parameters, or to keep all
2450
+ # the default parameter values, pass an empty Hash as a request object (see above).
2451
+ #
2452
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2453
+ # Optional. Field mask is used to specify the fields to be overwritten in the
2454
+ # Backup resource by the update.
2455
+ # The fields specified in the update_mask are relative to the resource, not
2456
+ # the full request. A field will be overwritten if it is in the mask. If the
2457
+ # user does not provide a mask then all fields will be overwritten.
2458
+ # @param backup [::Google::Cloud::AlloyDB::V1beta::Backup, ::Hash]
2459
+ # Required. The resource being updated
2460
+ # @param request_id [::String]
2461
+ # Optional. An optional request ID to identify requests. Specify a unique
2462
+ # request ID so that if you must retry your request, the server will know to
2463
+ # ignore the request if it has already been completed. The server will
2464
+ # guarantee that for at least 60 minutes since the first request.
2465
+ #
2466
+ # For example, consider a situation where you make an initial request and
2467
+ # the request times out. If you make the request again with the same request
2468
+ # ID, the server can check if original operation with the same request ID
2469
+ # was received, and if so, will ignore the second request. This prevents
2470
+ # clients from accidentally creating duplicate commitments.
2471
+ #
2472
+ # The request ID must be a valid UUID with the exception that zero UUID is
2473
+ # not supported (00000000-0000-0000-0000-000000000000).
2474
+ # @param validate_only [::Boolean]
2475
+ # Optional. If set, the backend validates the request, but doesn't actually
2476
+ # execute it.
2477
+ # @param allow_missing [::Boolean]
2478
+ # Optional. If set to true, update succeeds even if instance is not found. In
2479
+ # that case, a new backup is created and `update_mask` is ignored.
2480
+ #
2481
+ # @yield [response, operation] Access the result along with the RPC operation
2482
+ # @yieldparam response [::Gapic::Operation]
2483
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2484
+ #
2485
+ # @return [::Gapic::Operation]
2486
+ #
2487
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2488
+ #
2489
+ # @example Basic example
2490
+ # require "google/cloud/alloy_db/v1beta"
2491
+ #
2492
+ # # Create a client object. The client can be reused for multiple calls.
2493
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2494
+ #
2495
+ # # Create a request. To set request fields, pass in keyword arguments.
2496
+ # request = Google::Cloud::AlloyDB::V1beta::UpdateBackupRequest.new
2497
+ #
2498
+ # # Call the update_backup method.
2499
+ # result = client.update_backup request
2500
+ #
2501
+ # # The returned object is of type Gapic::Operation. You can use it to
2502
+ # # check the status of an operation, cancel it, or wait for results.
2503
+ # # Here is how to wait for a response.
2504
+ # result.wait_until_done! timeout: 60
2505
+ # if result.response?
2506
+ # p result.response
2507
+ # else
2508
+ # puts "No response received."
2509
+ # end
2510
+ #
2511
+ def update_backup request, options = nil
2512
+ raise ::ArgumentError, "request must be provided" if request.nil?
2513
+
2514
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::UpdateBackupRequest
2515
+
2516
+ # Converts hash and nil to an options object
2517
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2518
+
2519
+ # Customize the options with defaults
2520
+ metadata = @config.rpcs.update_backup.metadata.to_h
2521
+
2522
+ # Set x-goog-api-client and x-goog-user-project headers
2523
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2524
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2525
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2526
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2527
+
2528
+ header_params = {}
2529
+ if request.backup&.name
2530
+ header_params["backup.name"] = request.backup.name
2531
+ end
2532
+
2533
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2534
+ metadata[:"x-goog-request-params"] ||= request_params_header
2535
+
2536
+ options.apply_defaults timeout: @config.rpcs.update_backup.timeout,
2537
+ metadata: metadata,
2538
+ retry_policy: @config.rpcs.update_backup.retry_policy
2539
+
2540
+ options.apply_defaults timeout: @config.timeout,
2541
+ metadata: @config.metadata,
2542
+ retry_policy: @config.retry_policy
2543
+
2544
+ @alloy_db_admin_stub.call_rpc :update_backup, request, options: options do |response, operation|
2545
+ response = ::Gapic::Operation.new response, @operations_client, options: options
2546
+ yield response, operation if block_given?
2547
+ return response
2548
+ end
2549
+ rescue ::GRPC::BadStatus => e
2550
+ raise ::Google::Cloud::Error.from_error(e)
2551
+ end
2552
+
2553
+ ##
2554
+ # Deletes a single Backup.
2555
+ #
2556
+ # @overload delete_backup(request, options = nil)
2557
+ # Pass arguments to `delete_backup` via a request object, either of type
2558
+ # {::Google::Cloud::AlloyDB::V1beta::DeleteBackupRequest} or an equivalent Hash.
2559
+ #
2560
+ # @param request [::Google::Cloud::AlloyDB::V1beta::DeleteBackupRequest, ::Hash]
2561
+ # A request object representing the call parameters. Required. To specify no
2562
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2563
+ # @param options [::Gapic::CallOptions, ::Hash]
2564
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2565
+ #
2566
+ # @overload delete_backup(name: nil, request_id: nil, validate_only: nil, etag: nil)
2567
+ # Pass arguments to `delete_backup` via keyword arguments. Note that at
2568
+ # least one keyword argument is required. To specify no parameters, or to keep all
2569
+ # the default parameter values, pass an empty Hash as a request object (see above).
2570
+ #
2571
+ # @param name [::String]
2572
+ # Required. Name of the resource. For the required format, see the comment on
2573
+ # the Backup.name field.
2574
+ # @param request_id [::String]
2575
+ # Optional. An optional request ID to identify requests. Specify a unique
2576
+ # request ID so that if you must retry your request, the server will know to
2577
+ # ignore the request if it has already been completed. The server will
2578
+ # guarantee that for at least 60 minutes after the first request.
2579
+ #
2580
+ # For example, consider a situation where you make an initial request and
2581
+ # the request times out. If you make the request again with the same request
2582
+ # ID, the server can check if original operation with the same request ID
2583
+ # was received, and if so, will ignore the second request. This prevents
2584
+ # clients from accidentally creating duplicate commitments.
2585
+ #
2586
+ # The request ID must be a valid UUID with the exception that zero UUID is
2587
+ # not supported (00000000-0000-0000-0000-000000000000).
2588
+ # @param validate_only [::Boolean]
2589
+ # Optional. If set, the backend validates the request, but doesn't actually
2590
+ # execute it.
2591
+ # @param etag [::String]
2592
+ # Optional. The current etag of the Backup.
2593
+ # If an etag is provided and does not match the current etag of the Backup,
2594
+ # deletion will be blocked and an ABORTED error will be returned.
2595
+ #
2596
+ # @yield [response, operation] Access the result along with the RPC operation
2597
+ # @yieldparam response [::Gapic::Operation]
2598
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2599
+ #
2600
+ # @return [::Gapic::Operation]
2601
+ #
2602
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2603
+ #
2604
+ # @example Basic example
2605
+ # require "google/cloud/alloy_db/v1beta"
2606
+ #
2607
+ # # Create a client object. The client can be reused for multiple calls.
2608
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2609
+ #
2610
+ # # Create a request. To set request fields, pass in keyword arguments.
2611
+ # request = Google::Cloud::AlloyDB::V1beta::DeleteBackupRequest.new
2612
+ #
2613
+ # # Call the delete_backup method.
2614
+ # result = client.delete_backup request
2615
+ #
2616
+ # # The returned object is of type Gapic::Operation. You can use it to
2617
+ # # check the status of an operation, cancel it, or wait for results.
2618
+ # # Here is how to wait for a response.
2619
+ # result.wait_until_done! timeout: 60
2620
+ # if result.response?
2621
+ # p result.response
2622
+ # else
2623
+ # puts "No response received."
2624
+ # end
2625
+ #
2626
+ def delete_backup request, options = nil
2627
+ raise ::ArgumentError, "request must be provided" if request.nil?
2628
+
2629
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::DeleteBackupRequest
2630
+
2631
+ # Converts hash and nil to an options object
2632
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2633
+
2634
+ # Customize the options with defaults
2635
+ metadata = @config.rpcs.delete_backup.metadata.to_h
2636
+
2637
+ # Set x-goog-api-client and x-goog-user-project headers
2638
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2639
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2640
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2641
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2642
+
2643
+ header_params = {}
2644
+ if request.name
2645
+ header_params["name"] = request.name
2646
+ end
2647
+
2648
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2649
+ metadata[:"x-goog-request-params"] ||= request_params_header
2650
+
2651
+ options.apply_defaults timeout: @config.rpcs.delete_backup.timeout,
2652
+ metadata: metadata,
2653
+ retry_policy: @config.rpcs.delete_backup.retry_policy
2654
+
2655
+ options.apply_defaults timeout: @config.timeout,
2656
+ metadata: @config.metadata,
2657
+ retry_policy: @config.retry_policy
2658
+
2659
+ @alloy_db_admin_stub.call_rpc :delete_backup, request, options: options do |response, operation|
2660
+ response = ::Gapic::Operation.new response, @operations_client, options: options
2661
+ yield response, operation if block_given?
2662
+ return response
2663
+ end
2664
+ rescue ::GRPC::BadStatus => e
2665
+ raise ::Google::Cloud::Error.from_error(e)
2666
+ end
2667
+
2668
+ ##
2669
+ # Lists SupportedDatabaseFlags for a given project and location.
2670
+ #
2671
+ # @overload list_supported_database_flags(request, options = nil)
2672
+ # Pass arguments to `list_supported_database_flags` via a request object, either of type
2673
+ # {::Google::Cloud::AlloyDB::V1beta::ListSupportedDatabaseFlagsRequest} or an equivalent Hash.
2674
+ #
2675
+ # @param request [::Google::Cloud::AlloyDB::V1beta::ListSupportedDatabaseFlagsRequest, ::Hash]
2676
+ # A request object representing the call parameters. Required. To specify no
2677
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2678
+ # @param options [::Gapic::CallOptions, ::Hash]
2679
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2680
+ #
2681
+ # @overload list_supported_database_flags(parent: nil, page_size: nil, page_token: nil)
2682
+ # Pass arguments to `list_supported_database_flags` via keyword arguments. Note that at
2683
+ # least one keyword argument is required. To specify no parameters, or to keep all
2684
+ # the default parameter values, pass an empty Hash as a request object (see above).
2685
+ #
2686
+ # @param parent [::String]
2687
+ # Required. The name of the parent resource. The required format is:
2688
+ # * projects/\\{project}/locations/\\{location}
2689
+ #
2690
+ # Regardless of the parent specified here, as long it is contains a valid
2691
+ # project and location, the service will return a static list of supported
2692
+ # flags resources. Note that we do not yet support region-specific
2693
+ # flags.
2694
+ # @param page_size [::Integer]
2695
+ # Requested page size. Server may return fewer items than requested.
2696
+ # If unspecified, server will pick an appropriate default.
2697
+ # @param page_token [::String]
2698
+ # A token identifying a page of results the server should return.
2699
+ #
2700
+ # @yield [response, operation] Access the result along with the RPC operation
2701
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag>]
2702
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2703
+ #
2704
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag>]
2705
+ #
2706
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2707
+ #
2708
+ # @example Basic example
2709
+ # require "google/cloud/alloy_db/v1beta"
2710
+ #
2711
+ # # Create a client object. The client can be reused for multiple calls.
2712
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2713
+ #
2714
+ # # Create a request. To set request fields, pass in keyword arguments.
2715
+ # request = Google::Cloud::AlloyDB::V1beta::ListSupportedDatabaseFlagsRequest.new
2716
+ #
2717
+ # # Call the list_supported_database_flags method.
2718
+ # result = client.list_supported_database_flags request
2719
+ #
2720
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
2721
+ # # over elements, and API calls will be issued to fetch pages as needed.
2722
+ # result.each do |item|
2723
+ # # Each element is of type ::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag.
2724
+ # p item
2725
+ # end
2726
+ #
2727
+ def list_supported_database_flags request, options = nil
2728
+ raise ::ArgumentError, "request must be provided" if request.nil?
2729
+
2730
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::ListSupportedDatabaseFlagsRequest
2731
+
2732
+ # Converts hash and nil to an options object
2733
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2734
+
2735
+ # Customize the options with defaults
2736
+ metadata = @config.rpcs.list_supported_database_flags.metadata.to_h
2737
+
2738
+ # Set x-goog-api-client and x-goog-user-project headers
2739
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2740
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2741
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2742
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2743
+
2744
+ header_params = {}
2745
+ if request.parent
2746
+ header_params["parent"] = request.parent
2747
+ end
2748
+
2749
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2750
+ metadata[:"x-goog-request-params"] ||= request_params_header
2751
+
2752
+ options.apply_defaults timeout: @config.rpcs.list_supported_database_flags.timeout,
2753
+ metadata: metadata,
2754
+ retry_policy: @config.rpcs.list_supported_database_flags.retry_policy
2755
+
2756
+ options.apply_defaults timeout: @config.timeout,
2757
+ metadata: @config.metadata,
2758
+ retry_policy: @config.retry_policy
2759
+
2760
+ @alloy_db_admin_stub.call_rpc :list_supported_database_flags, request, options: options do |response, operation|
2761
+ response = ::Gapic::PagedEnumerable.new @alloy_db_admin_stub, :list_supported_database_flags, request, response, operation, options
2762
+ yield response, operation if block_given?
2763
+ return response
2764
+ end
2765
+ rescue ::GRPC::BadStatus => e
2766
+ raise ::Google::Cloud::Error.from_error(e)
2767
+ end
2768
+
2769
+ ##
2770
+ # Generate a client certificate signed by a Cluster CA.
2771
+ # The sole purpose of this endpoint is to support the Auth Proxy client and
2772
+ # the endpoint's behavior is subject to change without notice, so do not rely
2773
+ # on its behavior remaining constant. Future changes will not break the Auth
2774
+ # Proxy client.
2775
+ #
2776
+ # @overload generate_client_certificate(request, options = nil)
2777
+ # Pass arguments to `generate_client_certificate` via a request object, either of type
2778
+ # {::Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateRequest} or an equivalent Hash.
2779
+ #
2780
+ # @param request [::Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateRequest, ::Hash]
2781
+ # A request object representing the call parameters. Required. To specify no
2782
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2783
+ # @param options [::Gapic::CallOptions, ::Hash]
2784
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2785
+ #
2786
+ # @overload generate_client_certificate(parent: nil, request_id: nil, pem_csr: nil, cert_duration: nil)
2787
+ # Pass arguments to `generate_client_certificate` via keyword arguments. Note that at
2788
+ # least one keyword argument is required. To specify no parameters, or to keep all
2789
+ # the default parameter values, pass an empty Hash as a request object (see above).
2790
+ #
2791
+ # @param parent [::String]
2792
+ # Required. The name of the parent resource. The required format is:
2793
+ # * projects/\\{project}/locations/\\{location}/clusters/\\{cluster}
2794
+ # @param request_id [::String]
2795
+ # Optional. An optional request ID to identify requests. Specify a unique
2796
+ # request ID so that if you must retry your request, the server will know to
2797
+ # ignore the request if it has already been completed. The server will
2798
+ # guarantee that for at least 60 minutes after the first request.
2799
+ #
2800
+ # For example, consider a situation where you make an initial request and
2801
+ # the request times out. If you make the request again with the same request
2802
+ # ID, the server can check if original operation with the same request ID
2803
+ # was received, and if so, will ignore the second request. This prevents
2804
+ # clients from accidentally creating duplicate commitments.
2805
+ #
2806
+ # The request ID must be a valid UUID with the exception that zero UUID is
2807
+ # not supported (00000000-0000-0000-0000-000000000000).
2808
+ # @param pem_csr [::String]
2809
+ # Optional. A pem-encoded X.509 certificate signing request (CSR).
2810
+ # @param cert_duration [::Google::Protobuf::Duration, ::Hash]
2811
+ # Optional. An optional hint to the endpoint to generate the client
2812
+ # certificate with the requested duration. The duration can be from 1 hour to
2813
+ # 24 hours. The endpoint may or may not honor the hint. If the hint is left
2814
+ # unspecified or is not honored, then the endpoint will pick an appropriate
2815
+ # default duration.
2816
+ #
2817
+ # @yield [response, operation] Access the result along with the RPC operation
2818
+ # @yieldparam response [::Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateResponse]
2819
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2820
+ #
2821
+ # @return [::Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateResponse]
2822
+ #
2823
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2824
+ #
2825
+ # @example Basic example
2826
+ # require "google/cloud/alloy_db/v1beta"
2827
+ #
2828
+ # # Create a client object. The client can be reused for multiple calls.
2829
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2830
+ #
2831
+ # # Create a request. To set request fields, pass in keyword arguments.
2832
+ # request = Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateRequest.new
2833
+ #
2834
+ # # Call the generate_client_certificate method.
2835
+ # result = client.generate_client_certificate request
2836
+ #
2837
+ # # The returned object is of type Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateResponse.
2838
+ # p result
2839
+ #
2840
+ def generate_client_certificate request, options = nil
2841
+ raise ::ArgumentError, "request must be provided" if request.nil?
2842
+
2843
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::GenerateClientCertificateRequest
2844
+
2845
+ # Converts hash and nil to an options object
2846
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2847
+
2848
+ # Customize the options with defaults
2849
+ metadata = @config.rpcs.generate_client_certificate.metadata.to_h
2850
+
2851
+ # Set x-goog-api-client and x-goog-user-project headers
2852
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2853
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2854
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2855
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2856
+
2857
+ header_params = {}
2858
+ if request.parent
2859
+ header_params["parent"] = request.parent
2860
+ end
2861
+
2862
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2863
+ metadata[:"x-goog-request-params"] ||= request_params_header
2864
+
2865
+ options.apply_defaults timeout: @config.rpcs.generate_client_certificate.timeout,
2866
+ metadata: metadata,
2867
+ retry_policy: @config.rpcs.generate_client_certificate.retry_policy
2868
+
2869
+ options.apply_defaults timeout: @config.timeout,
2870
+ metadata: @config.metadata,
2871
+ retry_policy: @config.retry_policy
2872
+
2873
+ @alloy_db_admin_stub.call_rpc :generate_client_certificate, request, options: options do |response, operation|
2874
+ yield response, operation if block_given?
2875
+ return response
2876
+ end
2877
+ rescue ::GRPC::BadStatus => e
2878
+ raise ::Google::Cloud::Error.from_error(e)
2879
+ end
2880
+
2881
+ ##
2882
+ # Get instance metadata used for a connection.
2883
+ #
2884
+ # @overload get_connection_info(request, options = nil)
2885
+ # Pass arguments to `get_connection_info` via a request object, either of type
2886
+ # {::Google::Cloud::AlloyDB::V1beta::GetConnectionInfoRequest} or an equivalent Hash.
2887
+ #
2888
+ # @param request [::Google::Cloud::AlloyDB::V1beta::GetConnectionInfoRequest, ::Hash]
2889
+ # A request object representing the call parameters. Required. To specify no
2890
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2891
+ # @param options [::Gapic::CallOptions, ::Hash]
2892
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2893
+ #
2894
+ # @overload get_connection_info(parent: nil, request_id: nil)
2895
+ # Pass arguments to `get_connection_info` via keyword arguments. Note that at
2896
+ # least one keyword argument is required. To specify no parameters, or to keep all
2897
+ # the default parameter values, pass an empty Hash as a request object (see above).
2898
+ #
2899
+ # @param parent [::String]
2900
+ # Required. The name of the parent resource. The required format is:
2901
+ # projects/\\{project}/locations/\\{location}/clusters/\\{cluster}/instances/\\{instance}
2902
+ # @param request_id [::String]
2903
+ # Optional. An optional request ID to identify requests. Specify a unique
2904
+ # request ID so that if you must retry your request, the server will know to
2905
+ # ignore the request if it has already been completed. The server will
2906
+ # guarantee that for at least 60 minutes after the first request.
2907
+ #
2908
+ # For example, consider a situation where you make an initial request and
2909
+ # the request times out. If you make the request again with the same request
2910
+ # ID, the server can check if original operation with the same request ID
2911
+ # was received, and if so, will ignore the second request. This prevents
2912
+ # clients from accidentally creating duplicate commitments.
2913
+ #
2914
+ # The request ID must be a valid UUID with the exception that zero UUID is
2915
+ # not supported (00000000-0000-0000-0000-000000000000).
2916
+ #
2917
+ # @yield [response, operation] Access the result along with the RPC operation
2918
+ # @yieldparam response [::Google::Cloud::AlloyDB::V1beta::ConnectionInfo]
2919
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2920
+ #
2921
+ # @return [::Google::Cloud::AlloyDB::V1beta::ConnectionInfo]
2922
+ #
2923
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2924
+ #
2925
+ # @example Basic example
2926
+ # require "google/cloud/alloy_db/v1beta"
2927
+ #
2928
+ # # Create a client object. The client can be reused for multiple calls.
2929
+ # client = Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new
2930
+ #
2931
+ # # Create a request. To set request fields, pass in keyword arguments.
2932
+ # request = Google::Cloud::AlloyDB::V1beta::GetConnectionInfoRequest.new
2933
+ #
2934
+ # # Call the get_connection_info method.
2935
+ # result = client.get_connection_info request
2936
+ #
2937
+ # # The returned object is of type Google::Cloud::AlloyDB::V1beta::ConnectionInfo.
2938
+ # p result
2939
+ #
2940
+ def get_connection_info request, options = nil
2941
+ raise ::ArgumentError, "request must be provided" if request.nil?
2942
+
2943
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AlloyDB::V1beta::GetConnectionInfoRequest
2944
+
2945
+ # Converts hash and nil to an options object
2946
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2947
+
2948
+ # Customize the options with defaults
2949
+ metadata = @config.rpcs.get_connection_info.metadata.to_h
2950
+
2951
+ # Set x-goog-api-client and x-goog-user-project headers
2952
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2953
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2954
+ gapic_version: ::Google::Cloud::AlloyDB::V1beta::VERSION
2955
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2956
+
2957
+ header_params = {}
2958
+ if request.parent
2959
+ header_params["parent"] = request.parent
2960
+ end
2961
+
2962
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2963
+ metadata[:"x-goog-request-params"] ||= request_params_header
2964
+
2965
+ options.apply_defaults timeout: @config.rpcs.get_connection_info.timeout,
2966
+ metadata: metadata,
2967
+ retry_policy: @config.rpcs.get_connection_info.retry_policy
2968
+
2969
+ options.apply_defaults timeout: @config.timeout,
2970
+ metadata: @config.metadata,
2971
+ retry_policy: @config.retry_policy
2972
+
2973
+ @alloy_db_admin_stub.call_rpc :get_connection_info, request, options: options do |response, operation|
2974
+ yield response, operation if block_given?
2975
+ return response
2976
+ end
2977
+ rescue ::GRPC::BadStatus => e
2978
+ raise ::Google::Cloud::Error.from_error(e)
2979
+ end
2980
+
2981
+ ##
2982
+ # Configuration class for the AlloyDBAdmin API.
2983
+ #
2984
+ # This class represents the configuration for AlloyDBAdmin,
2985
+ # providing control over timeouts, retry behavior, logging, transport
2986
+ # parameters, and other low-level controls. Certain parameters can also be
2987
+ # applied individually to specific RPCs. See
2988
+ # {::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client::Configuration::Rpcs}
2989
+ # for a list of RPCs that can be configured independently.
2990
+ #
2991
+ # Configuration can be applied globally to all clients, or to a single client
2992
+ # on construction.
2993
+ #
2994
+ # @example
2995
+ #
2996
+ # # Modify the global config, setting the timeout for
2997
+ # # list_clusters to 20 seconds,
2998
+ # # and all remaining timeouts to 10 seconds.
2999
+ # ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.configure do |config|
3000
+ # config.timeout = 10.0
3001
+ # config.rpcs.list_clusters.timeout = 20.0
3002
+ # end
3003
+ #
3004
+ # # Apply the above configuration only to a new client.
3005
+ # client = ::Google::Cloud::AlloyDB::V1beta::AlloyDBAdmin::Client.new do |config|
3006
+ # config.timeout = 10.0
3007
+ # config.rpcs.list_clusters.timeout = 20.0
3008
+ # end
3009
+ #
3010
+ # @!attribute [rw] endpoint
3011
+ # The hostname or hostname:port of the service endpoint.
3012
+ # Defaults to `"alloydb.googleapis.com"`.
3013
+ # @return [::String]
3014
+ # @!attribute [rw] credentials
3015
+ # Credentials to send with calls. You may provide any of the following types:
3016
+ # * (`String`) The path to a service account key file in JSON format
3017
+ # * (`Hash`) A service account key as a Hash
3018
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
3019
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
3020
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
3021
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
3022
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
3023
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
3024
+ # * (`nil`) indicating no credentials
3025
+ # @return [::Object]
3026
+ # @!attribute [rw] scope
3027
+ # The OAuth scopes
3028
+ # @return [::Array<::String>]
3029
+ # @!attribute [rw] lib_name
3030
+ # The library name as recorded in instrumentation and logging
3031
+ # @return [::String]
3032
+ # @!attribute [rw] lib_version
3033
+ # The library version as recorded in instrumentation and logging
3034
+ # @return [::String]
3035
+ # @!attribute [rw] channel_args
3036
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
3037
+ # `GRPC::Core::Channel` object is provided as the credential.
3038
+ # @return [::Hash]
3039
+ # @!attribute [rw] interceptors
3040
+ # An array of interceptors that are run before calls are executed.
3041
+ # @return [::Array<::GRPC::ClientInterceptor>]
3042
+ # @!attribute [rw] timeout
3043
+ # The call timeout in seconds.
3044
+ # @return [::Numeric]
3045
+ # @!attribute [rw] metadata
3046
+ # Additional gRPC headers to be sent with the call.
3047
+ # @return [::Hash{::Symbol=>::String}]
3048
+ # @!attribute [rw] retry_policy
3049
+ # The retry policy. The value is a hash with the following keys:
3050
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3051
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3052
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3053
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3054
+ # trigger a retry.
3055
+ # @return [::Hash]
3056
+ # @!attribute [rw] quota_project
3057
+ # A separate project against which to charge quota.
3058
+ # @return [::String]
3059
+ #
3060
+ class Configuration
3061
+ extend ::Gapic::Config
3062
+
3063
+ config_attr :endpoint, "alloydb.googleapis.com", ::String
3064
+ config_attr :credentials, nil do |value|
3065
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3066
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
3067
+ allowed.any? { |klass| klass === value }
3068
+ end
3069
+ config_attr :scope, nil, ::String, ::Array, nil
3070
+ config_attr :lib_name, nil, ::String, nil
3071
+ config_attr :lib_version, nil, ::String, nil
3072
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
3073
+ config_attr :interceptors, nil, ::Array, nil
3074
+ config_attr :timeout, nil, ::Numeric, nil
3075
+ config_attr :metadata, nil, ::Hash, nil
3076
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
3077
+ config_attr :quota_project, nil, ::String, nil
3078
+
3079
+ # @private
3080
+ def initialize parent_config = nil
3081
+ @parent_config = parent_config unless parent_config.nil?
3082
+
3083
+ yield self if block_given?
3084
+ end
3085
+
3086
+ ##
3087
+ # Configurations for individual RPCs
3088
+ # @return [Rpcs]
3089
+ #
3090
+ def rpcs
3091
+ @rpcs ||= begin
3092
+ parent_rpcs = nil
3093
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
3094
+ Rpcs.new parent_rpcs
3095
+ end
3096
+ end
3097
+
3098
+ ##
3099
+ # Configuration RPC class for the AlloyDBAdmin API.
3100
+ #
3101
+ # Includes fields providing the configuration for each RPC in this service.
3102
+ # Each configuration object is of type `Gapic::Config::Method` and includes
3103
+ # the following configuration fields:
3104
+ #
3105
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
3106
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
3107
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
3108
+ # include the following keys:
3109
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3110
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3111
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3112
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3113
+ # trigger a retry.
3114
+ #
3115
+ class Rpcs
3116
+ ##
3117
+ # RPC-specific configuration for `list_clusters`
3118
+ # @return [::Gapic::Config::Method]
3119
+ #
3120
+ attr_reader :list_clusters
3121
+ ##
3122
+ # RPC-specific configuration for `get_cluster`
3123
+ # @return [::Gapic::Config::Method]
3124
+ #
3125
+ attr_reader :get_cluster
3126
+ ##
3127
+ # RPC-specific configuration for `create_cluster`
3128
+ # @return [::Gapic::Config::Method]
3129
+ #
3130
+ attr_reader :create_cluster
3131
+ ##
3132
+ # RPC-specific configuration for `update_cluster`
3133
+ # @return [::Gapic::Config::Method]
3134
+ #
3135
+ attr_reader :update_cluster
3136
+ ##
3137
+ # RPC-specific configuration for `delete_cluster`
3138
+ # @return [::Gapic::Config::Method]
3139
+ #
3140
+ attr_reader :delete_cluster
3141
+ ##
3142
+ # RPC-specific configuration for `promote_cluster`
3143
+ # @return [::Gapic::Config::Method]
3144
+ #
3145
+ attr_reader :promote_cluster
3146
+ ##
3147
+ # RPC-specific configuration for `restore_cluster`
3148
+ # @return [::Gapic::Config::Method]
3149
+ #
3150
+ attr_reader :restore_cluster
3151
+ ##
3152
+ # RPC-specific configuration for `create_secondary_cluster`
3153
+ # @return [::Gapic::Config::Method]
3154
+ #
3155
+ attr_reader :create_secondary_cluster
3156
+ ##
3157
+ # RPC-specific configuration for `list_instances`
3158
+ # @return [::Gapic::Config::Method]
3159
+ #
3160
+ attr_reader :list_instances
3161
+ ##
3162
+ # RPC-specific configuration for `get_instance`
3163
+ # @return [::Gapic::Config::Method]
3164
+ #
3165
+ attr_reader :get_instance
3166
+ ##
3167
+ # RPC-specific configuration for `create_instance`
3168
+ # @return [::Gapic::Config::Method]
3169
+ #
3170
+ attr_reader :create_instance
3171
+ ##
3172
+ # RPC-specific configuration for `create_secondary_instance`
3173
+ # @return [::Gapic::Config::Method]
3174
+ #
3175
+ attr_reader :create_secondary_instance
3176
+ ##
3177
+ # RPC-specific configuration for `batch_create_instances`
3178
+ # @return [::Gapic::Config::Method]
3179
+ #
3180
+ attr_reader :batch_create_instances
3181
+ ##
3182
+ # RPC-specific configuration for `update_instance`
3183
+ # @return [::Gapic::Config::Method]
3184
+ #
3185
+ attr_reader :update_instance
3186
+ ##
3187
+ # RPC-specific configuration for `delete_instance`
3188
+ # @return [::Gapic::Config::Method]
3189
+ #
3190
+ attr_reader :delete_instance
3191
+ ##
3192
+ # RPC-specific configuration for `failover_instance`
3193
+ # @return [::Gapic::Config::Method]
3194
+ #
3195
+ attr_reader :failover_instance
3196
+ ##
3197
+ # RPC-specific configuration for `restart_instance`
3198
+ # @return [::Gapic::Config::Method]
3199
+ #
3200
+ attr_reader :restart_instance
3201
+ ##
3202
+ # RPC-specific configuration for `list_backups`
3203
+ # @return [::Gapic::Config::Method]
3204
+ #
3205
+ attr_reader :list_backups
3206
+ ##
3207
+ # RPC-specific configuration for `get_backup`
3208
+ # @return [::Gapic::Config::Method]
3209
+ #
3210
+ attr_reader :get_backup
3211
+ ##
3212
+ # RPC-specific configuration for `create_backup`
3213
+ # @return [::Gapic::Config::Method]
3214
+ #
3215
+ attr_reader :create_backup
3216
+ ##
3217
+ # RPC-specific configuration for `update_backup`
3218
+ # @return [::Gapic::Config::Method]
3219
+ #
3220
+ attr_reader :update_backup
3221
+ ##
3222
+ # RPC-specific configuration for `delete_backup`
3223
+ # @return [::Gapic::Config::Method]
3224
+ #
3225
+ attr_reader :delete_backup
3226
+ ##
3227
+ # RPC-specific configuration for `list_supported_database_flags`
3228
+ # @return [::Gapic::Config::Method]
3229
+ #
3230
+ attr_reader :list_supported_database_flags
3231
+ ##
3232
+ # RPC-specific configuration for `generate_client_certificate`
3233
+ # @return [::Gapic::Config::Method]
3234
+ #
3235
+ attr_reader :generate_client_certificate
3236
+ ##
3237
+ # RPC-specific configuration for `get_connection_info`
3238
+ # @return [::Gapic::Config::Method]
3239
+ #
3240
+ attr_reader :get_connection_info
3241
+
3242
+ # @private
3243
+ def initialize parent_rpcs = nil
3244
+ list_clusters_config = parent_rpcs.list_clusters if parent_rpcs.respond_to? :list_clusters
3245
+ @list_clusters = ::Gapic::Config::Method.new list_clusters_config
3246
+ get_cluster_config = parent_rpcs.get_cluster if parent_rpcs.respond_to? :get_cluster
3247
+ @get_cluster = ::Gapic::Config::Method.new get_cluster_config
3248
+ create_cluster_config = parent_rpcs.create_cluster if parent_rpcs.respond_to? :create_cluster
3249
+ @create_cluster = ::Gapic::Config::Method.new create_cluster_config
3250
+ update_cluster_config = parent_rpcs.update_cluster if parent_rpcs.respond_to? :update_cluster
3251
+ @update_cluster = ::Gapic::Config::Method.new update_cluster_config
3252
+ delete_cluster_config = parent_rpcs.delete_cluster if parent_rpcs.respond_to? :delete_cluster
3253
+ @delete_cluster = ::Gapic::Config::Method.new delete_cluster_config
3254
+ promote_cluster_config = parent_rpcs.promote_cluster if parent_rpcs.respond_to? :promote_cluster
3255
+ @promote_cluster = ::Gapic::Config::Method.new promote_cluster_config
3256
+ restore_cluster_config = parent_rpcs.restore_cluster if parent_rpcs.respond_to? :restore_cluster
3257
+ @restore_cluster = ::Gapic::Config::Method.new restore_cluster_config
3258
+ create_secondary_cluster_config = parent_rpcs.create_secondary_cluster if parent_rpcs.respond_to? :create_secondary_cluster
3259
+ @create_secondary_cluster = ::Gapic::Config::Method.new create_secondary_cluster_config
3260
+ list_instances_config = parent_rpcs.list_instances if parent_rpcs.respond_to? :list_instances
3261
+ @list_instances = ::Gapic::Config::Method.new list_instances_config
3262
+ get_instance_config = parent_rpcs.get_instance if parent_rpcs.respond_to? :get_instance
3263
+ @get_instance = ::Gapic::Config::Method.new get_instance_config
3264
+ create_instance_config = parent_rpcs.create_instance if parent_rpcs.respond_to? :create_instance
3265
+ @create_instance = ::Gapic::Config::Method.new create_instance_config
3266
+ create_secondary_instance_config = parent_rpcs.create_secondary_instance if parent_rpcs.respond_to? :create_secondary_instance
3267
+ @create_secondary_instance = ::Gapic::Config::Method.new create_secondary_instance_config
3268
+ batch_create_instances_config = parent_rpcs.batch_create_instances if parent_rpcs.respond_to? :batch_create_instances
3269
+ @batch_create_instances = ::Gapic::Config::Method.new batch_create_instances_config
3270
+ update_instance_config = parent_rpcs.update_instance if parent_rpcs.respond_to? :update_instance
3271
+ @update_instance = ::Gapic::Config::Method.new update_instance_config
3272
+ delete_instance_config = parent_rpcs.delete_instance if parent_rpcs.respond_to? :delete_instance
3273
+ @delete_instance = ::Gapic::Config::Method.new delete_instance_config
3274
+ failover_instance_config = parent_rpcs.failover_instance if parent_rpcs.respond_to? :failover_instance
3275
+ @failover_instance = ::Gapic::Config::Method.new failover_instance_config
3276
+ restart_instance_config = parent_rpcs.restart_instance if parent_rpcs.respond_to? :restart_instance
3277
+ @restart_instance = ::Gapic::Config::Method.new restart_instance_config
3278
+ list_backups_config = parent_rpcs.list_backups if parent_rpcs.respond_to? :list_backups
3279
+ @list_backups = ::Gapic::Config::Method.new list_backups_config
3280
+ get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
3281
+ @get_backup = ::Gapic::Config::Method.new get_backup_config
3282
+ create_backup_config = parent_rpcs.create_backup if parent_rpcs.respond_to? :create_backup
3283
+ @create_backup = ::Gapic::Config::Method.new create_backup_config
3284
+ update_backup_config = parent_rpcs.update_backup if parent_rpcs.respond_to? :update_backup
3285
+ @update_backup = ::Gapic::Config::Method.new update_backup_config
3286
+ delete_backup_config = parent_rpcs.delete_backup if parent_rpcs.respond_to? :delete_backup
3287
+ @delete_backup = ::Gapic::Config::Method.new delete_backup_config
3288
+ list_supported_database_flags_config = parent_rpcs.list_supported_database_flags if parent_rpcs.respond_to? :list_supported_database_flags
3289
+ @list_supported_database_flags = ::Gapic::Config::Method.new list_supported_database_flags_config
3290
+ generate_client_certificate_config = parent_rpcs.generate_client_certificate if parent_rpcs.respond_to? :generate_client_certificate
3291
+ @generate_client_certificate = ::Gapic::Config::Method.new generate_client_certificate_config
3292
+ get_connection_info_config = parent_rpcs.get_connection_info if parent_rpcs.respond_to? :get_connection_info
3293
+ @get_connection_info = ::Gapic::Config::Method.new get_connection_info_config
3294
+
3295
+ yield self if block_given?
3296
+ end
3297
+ end
3298
+ end
3299
+ end
3300
+ end
3301
+ end
3302
+ end
3303
+ end
3304
+ end