google-cloud-filestore-v1 0.1.3 → 0.3.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.
@@ -0,0 +1,1183 @@
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/filestore/v1/cloud_filestore_service_pb"
21
+ require "google/cloud/filestore/v1/cloud_filestore_manager/rest/service_stub"
22
+
23
+ module Google
24
+ module Cloud
25
+ module Filestore
26
+ module V1
27
+ module CloudFilestoreManager
28
+ module Rest
29
+ ##
30
+ # REST client for the CloudFilestoreManager service.
31
+ #
32
+ # Configures and manages Cloud Filestore resources.
33
+ #
34
+ # Cloud Filestore Manager v1.
35
+ #
36
+ # The `file.googleapis.com` service implements the Cloud Filestore API and
37
+ # defines the following resource model for managing instances:
38
+ # * The service works with a collection of cloud projects, named: `/projects/*`
39
+ # * Each project has a collection of available locations, named: `/locations/*`
40
+ # * Each location has a collection of instances and backups, named:
41
+ # `/instances/*` and `/backups/*` respectively.
42
+ # * As such, Cloud Filestore instances are resources of the form:
43
+ # `/projects/{project_number}/locations/{location_id}/instances/{instance_id}`
44
+ # and backups are resources of the form:
45
+ # `/projects/{project_number}/locations/{location_id}/backup/{backup_id}`
46
+ #
47
+ # Note that location_id must be a GCP `zone` for instances and but to a GCP
48
+ # `region` for backups; for example:
49
+ # * `projects/12345/locations/us-central1-c/instances/my-filestore`
50
+ # * `projects/12345/locations/us-central1/backups/my-backup`
51
+ #
52
+ class Client
53
+ include Paths
54
+
55
+ # @private
56
+ attr_reader :cloud_filestore_manager_stub
57
+
58
+ ##
59
+ # Configure the CloudFilestoreManager Client class.
60
+ #
61
+ # See {::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client::Configuration}
62
+ # for a description of the configuration fields.
63
+ #
64
+ # @example
65
+ #
66
+ # # Modify the configuration for all CloudFilestoreManager clients
67
+ # ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client.configure do |config|
68
+ # config.timeout = 10.0
69
+ # end
70
+ #
71
+ # @yield [config] Configure the Client client.
72
+ # @yieldparam config [Client::Configuration]
73
+ #
74
+ # @return [Client::Configuration]
75
+ #
76
+ def self.configure
77
+ @configure ||= begin
78
+ namespace = ["Google", "Cloud", "Filestore", "V1"]
79
+ parent_config = while namespace.any?
80
+ parent_name = namespace.join "::"
81
+ parent_const = const_get parent_name
82
+ break parent_const.configure if parent_const.respond_to? :configure
83
+ namespace.pop
84
+ end
85
+ default_config = Client::Configuration.new parent_config
86
+
87
+ default_config.rpcs.list_instances.timeout = 60.0
88
+ default_config.rpcs.list_instances.retry_policy = {
89
+ initial_delay: 0.25, max_delay: 32.0, multiplier: 1.3, retry_codes: [14]
90
+ }
91
+
92
+ default_config.rpcs.get_instance.timeout = 60.0
93
+ default_config.rpcs.get_instance.retry_policy = {
94
+ initial_delay: 0.25, max_delay: 32.0, multiplier: 1.3, retry_codes: [14]
95
+ }
96
+
97
+ default_config.rpcs.create_instance.timeout = 60_000.0
98
+
99
+ default_config.rpcs.update_instance.timeout = 14_400.0
100
+
101
+ default_config.rpcs.restore_instance.timeout = 60_000.0
102
+
103
+ default_config.rpcs.delete_instance.timeout = 600.0
104
+
105
+ default_config.rpcs.list_backups.timeout = 60.0
106
+ default_config.rpcs.list_backups.retry_policy = {
107
+ initial_delay: 0.25, max_delay: 32.0, multiplier: 1.3, retry_codes: [14]
108
+ }
109
+
110
+ default_config.rpcs.get_backup.timeout = 60.0
111
+ default_config.rpcs.get_backup.retry_policy = {
112
+ initial_delay: 0.25, max_delay: 32.0, multiplier: 1.3, retry_codes: [14]
113
+ }
114
+
115
+ default_config.rpcs.create_backup.timeout = 60_000.0
116
+
117
+ default_config.rpcs.delete_backup.timeout = 600.0
118
+
119
+ default_config.rpcs.update_backup.timeout = 600.0
120
+
121
+ default_config
122
+ end
123
+ yield @configure if block_given?
124
+ @configure
125
+ end
126
+
127
+ ##
128
+ # Configure the CloudFilestoreManager Client instance.
129
+ #
130
+ # The configuration is set to the derived mode, meaning that values can be changed,
131
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
132
+ # should be made on {Client.configure}.
133
+ #
134
+ # See {::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client::Configuration}
135
+ # for a description of the configuration fields.
136
+ #
137
+ # @yield [config] Configure the Client client.
138
+ # @yieldparam config [Client::Configuration]
139
+ #
140
+ # @return [Client::Configuration]
141
+ #
142
+ def configure
143
+ yield @config if block_given?
144
+ @config
145
+ end
146
+
147
+ ##
148
+ # Create a new CloudFilestoreManager REST client object.
149
+ #
150
+ # @example
151
+ #
152
+ # # Create a client using the default configuration
153
+ # client = ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client.new
154
+ #
155
+ # # Create a client using a custom configuration
156
+ # client = ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client.new do |config|
157
+ # config.timeout = 10.0
158
+ # end
159
+ #
160
+ # @yield [config] Configure the CloudFilestoreManager client.
161
+ # @yieldparam config [Client::Configuration]
162
+ #
163
+ def initialize
164
+ # Create the configuration object
165
+ @config = Configuration.new Client.configure
166
+
167
+ # Yield the configuration if needed
168
+ yield @config if block_given?
169
+
170
+ # Create credentials
171
+ credentials = @config.credentials
172
+ # Use self-signed JWT if the endpoint is unchanged from default,
173
+ # but only if the default endpoint does not have a region prefix.
174
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
175
+ !@config.endpoint.split(".").first.include?("-")
176
+ credentials ||= Credentials.default scope: @config.scope,
177
+ enable_self_signed_jwt: enable_self_signed_jwt
178
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
179
+ credentials = Credentials.new credentials, scope: @config.scope
180
+ end
181
+
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 = ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Operations.new do |config|
186
+ config.credentials = credentials
187
+ config.quota_project = @quota_project_id
188
+ config.endpoint = @config.endpoint
189
+ end
190
+
191
+ @cloud_filestore_manager_stub = ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
192
+ end
193
+
194
+ ##
195
+ # Get the associated client for long-running operations.
196
+ #
197
+ # @return [::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Operations]
198
+ #
199
+ attr_reader :operations_client
200
+
201
+ # Service calls
202
+
203
+ ##
204
+ # Lists all instances in a project for either a specified location
205
+ # or for all locations.
206
+ #
207
+ # @overload list_instances(request, options = nil)
208
+ # Pass arguments to `list_instances` via a request object, either of type
209
+ # {::Google::Cloud::Filestore::V1::ListInstancesRequest} or an equivalent Hash.
210
+ #
211
+ # @param request [::Google::Cloud::Filestore::V1::ListInstancesRequest, ::Hash]
212
+ # A request object representing the call parameters. Required. To specify no
213
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
214
+ # @param options [::Gapic::CallOptions, ::Hash]
215
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
216
+ #
217
+ # @overload list_instances(parent: nil, page_size: nil, page_token: nil, order_by: nil, filter: nil)
218
+ # Pass arguments to `list_instances` via keyword arguments. Note that at
219
+ # least one keyword argument is required. To specify no parameters, or to keep all
220
+ # the default parameter values, pass an empty Hash as a request object (see above).
221
+ #
222
+ # @param parent [::String]
223
+ # Required. The project and location for which to retrieve instance
224
+ # information, in the format `projects/{project_id}/locations/{location}`. In
225
+ # Cloud Filestore, locations map to GCP zones, for example **us-west1-b**. To
226
+ # retrieve instance information for all locations, use "-" for the
227
+ # `{location}` value.
228
+ # @param page_size [::Integer]
229
+ # The maximum number of items to return.
230
+ # @param page_token [::String]
231
+ # The next_page_token value to use if there are additional
232
+ # results to retrieve for this list request.
233
+ # @param order_by [::String]
234
+ # Sort results. Supported values are "name", "name desc" or "" (unsorted).
235
+ # @param filter [::String]
236
+ # List filter.
237
+ # @yield [result, operation] Access the result along with the TransportOperation object
238
+ # @yieldparam result [::Google::Cloud::Filestore::V1::ListInstancesResponse]
239
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
240
+ #
241
+ # @return [::Google::Cloud::Filestore::V1::ListInstancesResponse]
242
+ #
243
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
244
+ def list_instances request, options = nil
245
+ raise ::ArgumentError, "request must be provided" if request.nil?
246
+
247
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::ListInstancesRequest
248
+
249
+ # Converts hash and nil to an options object
250
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
251
+
252
+ # Customize the options with defaults
253
+ call_metadata = @config.rpcs.list_instances.metadata.to_h
254
+
255
+ # Set x-goog-api-client and x-goog-user-project headers
256
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
257
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
258
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
259
+ transports_version_send: [:rest]
260
+
261
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
262
+
263
+ options.apply_defaults timeout: @config.rpcs.list_instances.timeout,
264
+ metadata: call_metadata,
265
+ retry_policy: @config.rpcs.list_instances.retry_policy
266
+
267
+ options.apply_defaults timeout: @config.timeout,
268
+ metadata: @config.metadata,
269
+ retry_policy: @config.retry_policy
270
+
271
+ @cloud_filestore_manager_stub.list_instances request, options do |result, operation|
272
+ yield result, operation if block_given?
273
+ return result
274
+ end
275
+ rescue ::Gapic::Rest::Error => e
276
+ raise ::Google::Cloud::Error.from_error(e)
277
+ end
278
+
279
+ ##
280
+ # Gets the details of a specific instance.
281
+ #
282
+ # @overload get_instance(request, options = nil)
283
+ # Pass arguments to `get_instance` via a request object, either of type
284
+ # {::Google::Cloud::Filestore::V1::GetInstanceRequest} or an equivalent Hash.
285
+ #
286
+ # @param request [::Google::Cloud::Filestore::V1::GetInstanceRequest, ::Hash]
287
+ # A request object representing the call parameters. Required. To specify no
288
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
289
+ # @param options [::Gapic::CallOptions, ::Hash]
290
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
291
+ #
292
+ # @overload get_instance(name: nil)
293
+ # Pass arguments to `get_instance` via keyword arguments. Note that at
294
+ # least one keyword argument is required. To specify no parameters, or to keep all
295
+ # the default parameter values, pass an empty Hash as a request object (see above).
296
+ #
297
+ # @param name [::String]
298
+ # Required. The instance resource name, in the format
299
+ # `projects/{project_id}/locations/{location}/instances/{instance_id}`.
300
+ # @yield [result, operation] Access the result along with the TransportOperation object
301
+ # @yieldparam result [::Google::Cloud::Filestore::V1::Instance]
302
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
303
+ #
304
+ # @return [::Google::Cloud::Filestore::V1::Instance]
305
+ #
306
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
307
+ def get_instance request, options = nil
308
+ raise ::ArgumentError, "request must be provided" if request.nil?
309
+
310
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::GetInstanceRequest
311
+
312
+ # Converts hash and nil to an options object
313
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
314
+
315
+ # Customize the options with defaults
316
+ call_metadata = @config.rpcs.get_instance.metadata.to_h
317
+
318
+ # Set x-goog-api-client and x-goog-user-project headers
319
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
320
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
321
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
322
+ transports_version_send: [:rest]
323
+
324
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
325
+
326
+ options.apply_defaults timeout: @config.rpcs.get_instance.timeout,
327
+ metadata: call_metadata,
328
+ retry_policy: @config.rpcs.get_instance.retry_policy
329
+
330
+ options.apply_defaults timeout: @config.timeout,
331
+ metadata: @config.metadata,
332
+ retry_policy: @config.retry_policy
333
+
334
+ @cloud_filestore_manager_stub.get_instance request, options do |result, operation|
335
+ yield result, operation if block_given?
336
+ return result
337
+ end
338
+ rescue ::Gapic::Rest::Error => e
339
+ raise ::Google::Cloud::Error.from_error(e)
340
+ end
341
+
342
+ ##
343
+ # Creates an instance.
344
+ # When creating from a backup, the capacity of the new instance needs to be
345
+ # equal to or larger than the capacity of the backup (and also equal to or
346
+ # larger than the minimum capacity of the tier).
347
+ #
348
+ # @overload create_instance(request, options = nil)
349
+ # Pass arguments to `create_instance` via a request object, either of type
350
+ # {::Google::Cloud::Filestore::V1::CreateInstanceRequest} or an equivalent Hash.
351
+ #
352
+ # @param request [::Google::Cloud::Filestore::V1::CreateInstanceRequest, ::Hash]
353
+ # A request object representing the call parameters. Required. To specify no
354
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
355
+ # @param options [::Gapic::CallOptions, ::Hash]
356
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
357
+ #
358
+ # @overload create_instance(parent: nil, instance_id: nil, instance: nil)
359
+ # Pass arguments to `create_instance` via keyword arguments. Note that at
360
+ # least one keyword argument is required. To specify no parameters, or to keep all
361
+ # the default parameter values, pass an empty Hash as a request object (see above).
362
+ #
363
+ # @param parent [::String]
364
+ # Required. The instance's project and location, in the format
365
+ # `projects/{project_id}/locations/{location}`. In Cloud Filestore,
366
+ # locations map to GCP zones, for example **us-west1-b**.
367
+ # @param instance_id [::String]
368
+ # Required. The name of the instance to create.
369
+ # The name must be unique for the specified project and location.
370
+ # @param instance [::Google::Cloud::Filestore::V1::Instance, ::Hash]
371
+ # Required. An {::Google::Cloud::Filestore::V1::Instance instance resource}
372
+ # @yield [result, operation] Access the result along with the TransportOperation object
373
+ # @yieldparam result [::Gapic::Operation]
374
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
375
+ #
376
+ # @return [::Gapic::Operation]
377
+ #
378
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
379
+ def create_instance request, options = nil
380
+ raise ::ArgumentError, "request must be provided" if request.nil?
381
+
382
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::CreateInstanceRequest
383
+
384
+ # Converts hash and nil to an options object
385
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
386
+
387
+ # Customize the options with defaults
388
+ call_metadata = @config.rpcs.create_instance.metadata.to_h
389
+
390
+ # Set x-goog-api-client and x-goog-user-project headers
391
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
392
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
393
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
394
+ transports_version_send: [:rest]
395
+
396
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
397
+
398
+ options.apply_defaults timeout: @config.rpcs.create_instance.timeout,
399
+ metadata: call_metadata,
400
+ retry_policy: @config.rpcs.create_instance.retry_policy
401
+
402
+ options.apply_defaults timeout: @config.timeout,
403
+ metadata: @config.metadata,
404
+ retry_policy: @config.retry_policy
405
+
406
+ @cloud_filestore_manager_stub.create_instance request, options do |result, operation|
407
+ result = ::Gapic::Operation.new result, @operations_client, options: options
408
+ yield result, operation if block_given?
409
+ return result
410
+ end
411
+ rescue ::Gapic::Rest::Error => e
412
+ raise ::Google::Cloud::Error.from_error(e)
413
+ end
414
+
415
+ ##
416
+ # Updates the settings of a specific instance.
417
+ #
418
+ # @overload update_instance(request, options = nil)
419
+ # Pass arguments to `update_instance` via a request object, either of type
420
+ # {::Google::Cloud::Filestore::V1::UpdateInstanceRequest} or an equivalent Hash.
421
+ #
422
+ # @param request [::Google::Cloud::Filestore::V1::UpdateInstanceRequest, ::Hash]
423
+ # A request object representing the call parameters. Required. To specify no
424
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
425
+ # @param options [::Gapic::CallOptions, ::Hash]
426
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
427
+ #
428
+ # @overload update_instance(update_mask: nil, instance: nil)
429
+ # Pass arguments to `update_instance` via keyword arguments. Note that at
430
+ # least one keyword argument is required. To specify no parameters, or to keep all
431
+ # the default parameter values, pass an empty Hash as a request object (see above).
432
+ #
433
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
434
+ # Mask of fields to update. At least one path must be supplied in this
435
+ # field. The elements of the repeated paths field may only include these
436
+ # fields:
437
+ #
438
+ # * "description"
439
+ # * "file_shares"
440
+ # * "labels"
441
+ # @param instance [::Google::Cloud::Filestore::V1::Instance, ::Hash]
442
+ # Only fields specified in update_mask are updated.
443
+ # @yield [result, operation] Access the result along with the TransportOperation object
444
+ # @yieldparam result [::Gapic::Operation]
445
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
446
+ #
447
+ # @return [::Gapic::Operation]
448
+ #
449
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
450
+ def update_instance request, options = nil
451
+ raise ::ArgumentError, "request must be provided" if request.nil?
452
+
453
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::UpdateInstanceRequest
454
+
455
+ # Converts hash and nil to an options object
456
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
457
+
458
+ # Customize the options with defaults
459
+ call_metadata = @config.rpcs.update_instance.metadata.to_h
460
+
461
+ # Set x-goog-api-client and x-goog-user-project headers
462
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
463
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
464
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
465
+ transports_version_send: [:rest]
466
+
467
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
468
+
469
+ options.apply_defaults timeout: @config.rpcs.update_instance.timeout,
470
+ metadata: call_metadata,
471
+ retry_policy: @config.rpcs.update_instance.retry_policy
472
+
473
+ options.apply_defaults timeout: @config.timeout,
474
+ metadata: @config.metadata,
475
+ retry_policy: @config.retry_policy
476
+
477
+ @cloud_filestore_manager_stub.update_instance request, options do |result, operation|
478
+ result = ::Gapic::Operation.new result, @operations_client, options: options
479
+ yield result, operation if block_given?
480
+ return result
481
+ end
482
+ rescue ::Gapic::Rest::Error => e
483
+ raise ::Google::Cloud::Error.from_error(e)
484
+ end
485
+
486
+ ##
487
+ # Restores an existing instance's file share from a backup.
488
+ #
489
+ # The capacity of the instance needs to be equal to or larger than the
490
+ # capacity of the backup (and also equal to or larger than the minimum
491
+ # capacity of the tier).
492
+ #
493
+ # @overload restore_instance(request, options = nil)
494
+ # Pass arguments to `restore_instance` via a request object, either of type
495
+ # {::Google::Cloud::Filestore::V1::RestoreInstanceRequest} or an equivalent Hash.
496
+ #
497
+ # @param request [::Google::Cloud::Filestore::V1::RestoreInstanceRequest, ::Hash]
498
+ # A request object representing the call parameters. Required. To specify no
499
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
500
+ # @param options [::Gapic::CallOptions, ::Hash]
501
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
502
+ #
503
+ # @overload restore_instance(name: nil, file_share: nil, source_backup: nil)
504
+ # Pass arguments to `restore_instance` via keyword arguments. Note that at
505
+ # least one keyword argument is required. To specify no parameters, or to keep all
506
+ # the default parameter values, pass an empty Hash as a request object (see above).
507
+ #
508
+ # @param name [::String]
509
+ # Required. The resource name of the instance, in the format
510
+ # `projects/{project_number}/locations/{location_id}/instances/{instance_id}`.
511
+ # @param file_share [::String]
512
+ # Required. Name of the file share in the Cloud Filestore instance that the
513
+ # backup is being restored to.
514
+ # @param source_backup [::String]
515
+ # The resource name of the backup, in the format
516
+ # `projects/{project_number}/locations/{location_id}/backups/{backup_id}`.
517
+ # @yield [result, operation] Access the result along with the TransportOperation object
518
+ # @yieldparam result [::Gapic::Operation]
519
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
520
+ #
521
+ # @return [::Gapic::Operation]
522
+ #
523
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
524
+ def restore_instance request, options = nil
525
+ raise ::ArgumentError, "request must be provided" if request.nil?
526
+
527
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::RestoreInstanceRequest
528
+
529
+ # Converts hash and nil to an options object
530
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
531
+
532
+ # Customize the options with defaults
533
+ call_metadata = @config.rpcs.restore_instance.metadata.to_h
534
+
535
+ # Set x-goog-api-client and x-goog-user-project headers
536
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
537
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
538
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
539
+ transports_version_send: [:rest]
540
+
541
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
542
+
543
+ options.apply_defaults timeout: @config.rpcs.restore_instance.timeout,
544
+ metadata: call_metadata,
545
+ retry_policy: @config.rpcs.restore_instance.retry_policy
546
+
547
+ options.apply_defaults timeout: @config.timeout,
548
+ metadata: @config.metadata,
549
+ retry_policy: @config.retry_policy
550
+
551
+ @cloud_filestore_manager_stub.restore_instance request, options do |result, operation|
552
+ result = ::Gapic::Operation.new result, @operations_client, options: options
553
+ yield result, operation if block_given?
554
+ return result
555
+ end
556
+ rescue ::Gapic::Rest::Error => e
557
+ raise ::Google::Cloud::Error.from_error(e)
558
+ end
559
+
560
+ ##
561
+ # Deletes an instance.
562
+ #
563
+ # @overload delete_instance(request, options = nil)
564
+ # Pass arguments to `delete_instance` via a request object, either of type
565
+ # {::Google::Cloud::Filestore::V1::DeleteInstanceRequest} or an equivalent Hash.
566
+ #
567
+ # @param request [::Google::Cloud::Filestore::V1::DeleteInstanceRequest, ::Hash]
568
+ # A request object representing the call parameters. Required. To specify no
569
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
570
+ # @param options [::Gapic::CallOptions, ::Hash]
571
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
572
+ #
573
+ # @overload delete_instance(name: nil)
574
+ # Pass arguments to `delete_instance` via keyword arguments. Note that at
575
+ # least one keyword argument is required. To specify no parameters, or to keep all
576
+ # the default parameter values, pass an empty Hash as a request object (see above).
577
+ #
578
+ # @param name [::String]
579
+ # Required. The instance resource name, in the format
580
+ # `projects/{project_id}/locations/{location}/instances/{instance_id}`
581
+ # @yield [result, operation] Access the result along with the TransportOperation object
582
+ # @yieldparam result [::Gapic::Operation]
583
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
584
+ #
585
+ # @return [::Gapic::Operation]
586
+ #
587
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
588
+ def delete_instance request, options = nil
589
+ raise ::ArgumentError, "request must be provided" if request.nil?
590
+
591
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::DeleteInstanceRequest
592
+
593
+ # Converts hash and nil to an options object
594
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
595
+
596
+ # Customize the options with defaults
597
+ call_metadata = @config.rpcs.delete_instance.metadata.to_h
598
+
599
+ # Set x-goog-api-client and x-goog-user-project headers
600
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
601
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
602
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
603
+ transports_version_send: [:rest]
604
+
605
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
606
+
607
+ options.apply_defaults timeout: @config.rpcs.delete_instance.timeout,
608
+ metadata: call_metadata,
609
+ retry_policy: @config.rpcs.delete_instance.retry_policy
610
+
611
+ options.apply_defaults timeout: @config.timeout,
612
+ metadata: @config.metadata,
613
+ retry_policy: @config.retry_policy
614
+
615
+ @cloud_filestore_manager_stub.delete_instance request, options do |result, operation|
616
+ result = ::Gapic::Operation.new result, @operations_client, options: options
617
+ yield result, operation if block_given?
618
+ return result
619
+ end
620
+ rescue ::Gapic::Rest::Error => e
621
+ raise ::Google::Cloud::Error.from_error(e)
622
+ end
623
+
624
+ ##
625
+ # Lists all backups in a project for either a specified location or for all
626
+ # locations.
627
+ #
628
+ # @overload list_backups(request, options = nil)
629
+ # Pass arguments to `list_backups` via a request object, either of type
630
+ # {::Google::Cloud::Filestore::V1::ListBackupsRequest} or an equivalent Hash.
631
+ #
632
+ # @param request [::Google::Cloud::Filestore::V1::ListBackupsRequest, ::Hash]
633
+ # A request object representing the call parameters. Required. To specify no
634
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
635
+ # @param options [::Gapic::CallOptions, ::Hash]
636
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
637
+ #
638
+ # @overload list_backups(parent: nil, page_size: nil, page_token: nil, order_by: nil, filter: nil)
639
+ # Pass arguments to `list_backups` via keyword arguments. Note that at
640
+ # least one keyword argument is required. To specify no parameters, or to keep all
641
+ # the default parameter values, pass an empty Hash as a request object (see above).
642
+ #
643
+ # @param parent [::String]
644
+ # Required. The project and location for which to retrieve backup
645
+ # information, in the format
646
+ # `projects/{project_number}/locations/{location}`. In Cloud Filestore,
647
+ # backup locations map to GCP regions, for example **us-west1**. To retrieve
648
+ # backup information for all locations, use "-" for the
649
+ # `{location}` value.
650
+ # @param page_size [::Integer]
651
+ # The maximum number of items to return.
652
+ # @param page_token [::String]
653
+ # The next_page_token value to use if there are additional
654
+ # results to retrieve for this list request.
655
+ # @param order_by [::String]
656
+ # Sort results. Supported values are "name", "name desc" or "" (unsorted).
657
+ # @param filter [::String]
658
+ # List filter.
659
+ # @yield [result, operation] Access the result along with the TransportOperation object
660
+ # @yieldparam result [::Google::Cloud::Filestore::V1::ListBackupsResponse]
661
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
662
+ #
663
+ # @return [::Google::Cloud::Filestore::V1::ListBackupsResponse]
664
+ #
665
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
666
+ def list_backups request, options = nil
667
+ raise ::ArgumentError, "request must be provided" if request.nil?
668
+
669
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::ListBackupsRequest
670
+
671
+ # Converts hash and nil to an options object
672
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
673
+
674
+ # Customize the options with defaults
675
+ call_metadata = @config.rpcs.list_backups.metadata.to_h
676
+
677
+ # Set x-goog-api-client and x-goog-user-project headers
678
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
679
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
680
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
681
+ transports_version_send: [:rest]
682
+
683
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
684
+
685
+ options.apply_defaults timeout: @config.rpcs.list_backups.timeout,
686
+ metadata: call_metadata,
687
+ retry_policy: @config.rpcs.list_backups.retry_policy
688
+
689
+ options.apply_defaults timeout: @config.timeout,
690
+ metadata: @config.metadata,
691
+ retry_policy: @config.retry_policy
692
+
693
+ @cloud_filestore_manager_stub.list_backups request, options do |result, operation|
694
+ yield result, operation if block_given?
695
+ return result
696
+ end
697
+ rescue ::Gapic::Rest::Error => e
698
+ raise ::Google::Cloud::Error.from_error(e)
699
+ end
700
+
701
+ ##
702
+ # Gets the details of a specific backup.
703
+ #
704
+ # @overload get_backup(request, options = nil)
705
+ # Pass arguments to `get_backup` via a request object, either of type
706
+ # {::Google::Cloud::Filestore::V1::GetBackupRequest} or an equivalent Hash.
707
+ #
708
+ # @param request [::Google::Cloud::Filestore::V1::GetBackupRequest, ::Hash]
709
+ # A request object representing the call parameters. Required. To specify no
710
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
711
+ # @param options [::Gapic::CallOptions, ::Hash]
712
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
713
+ #
714
+ # @overload get_backup(name: nil)
715
+ # Pass arguments to `get_backup` via keyword arguments. Note that at
716
+ # least one keyword argument is required. To specify no parameters, or to keep all
717
+ # the default parameter values, pass an empty Hash as a request object (see above).
718
+ #
719
+ # @param name [::String]
720
+ # Required. The backup resource name, in the format
721
+ # `projects/{project_number}/locations/{location}/backups/{backup_id}`.
722
+ # @yield [result, operation] Access the result along with the TransportOperation object
723
+ # @yieldparam result [::Google::Cloud::Filestore::V1::Backup]
724
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
725
+ #
726
+ # @return [::Google::Cloud::Filestore::V1::Backup]
727
+ #
728
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
729
+ def get_backup request, options = nil
730
+ raise ::ArgumentError, "request must be provided" if request.nil?
731
+
732
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::GetBackupRequest
733
+
734
+ # Converts hash and nil to an options object
735
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
736
+
737
+ # Customize the options with defaults
738
+ call_metadata = @config.rpcs.get_backup.metadata.to_h
739
+
740
+ # Set x-goog-api-client and x-goog-user-project headers
741
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
742
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
743
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
744
+ transports_version_send: [:rest]
745
+
746
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
747
+
748
+ options.apply_defaults timeout: @config.rpcs.get_backup.timeout,
749
+ metadata: call_metadata,
750
+ retry_policy: @config.rpcs.get_backup.retry_policy
751
+
752
+ options.apply_defaults timeout: @config.timeout,
753
+ metadata: @config.metadata,
754
+ retry_policy: @config.retry_policy
755
+
756
+ @cloud_filestore_manager_stub.get_backup request, options do |result, operation|
757
+ yield result, operation if block_given?
758
+ return result
759
+ end
760
+ rescue ::Gapic::Rest::Error => e
761
+ raise ::Google::Cloud::Error.from_error(e)
762
+ end
763
+
764
+ ##
765
+ # Creates a backup.
766
+ #
767
+ # @overload create_backup(request, options = nil)
768
+ # Pass arguments to `create_backup` via a request object, either of type
769
+ # {::Google::Cloud::Filestore::V1::CreateBackupRequest} or an equivalent Hash.
770
+ #
771
+ # @param request [::Google::Cloud::Filestore::V1::CreateBackupRequest, ::Hash]
772
+ # A request object representing the call parameters. Required. To specify no
773
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
774
+ # @param options [::Gapic::CallOptions, ::Hash]
775
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
776
+ #
777
+ # @overload create_backup(parent: nil, backup: nil, backup_id: nil)
778
+ # Pass arguments to `create_backup` via keyword arguments. Note that at
779
+ # least one keyword argument is required. To specify no parameters, or to keep all
780
+ # the default parameter values, pass an empty Hash as a request object (see above).
781
+ #
782
+ # @param parent [::String]
783
+ # Required. The backup's project and location, in the format
784
+ # `projects/{project_number}/locations/{location}`. In Cloud Filestore,
785
+ # backup locations map to GCP regions, for example **us-west1**.
786
+ # @param backup [::Google::Cloud::Filestore::V1::Backup, ::Hash]
787
+ # Required. A {::Google::Cloud::Filestore::V1::Backup backup resource}
788
+ # @param backup_id [::String]
789
+ # Required. The ID to use for the backup.
790
+ # The ID must be unique within the specified project and location.
791
+ #
792
+ # This value must start with a lowercase letter followed by up to 62
793
+ # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
794
+ # Values that do not match this pattern will trigger an INVALID_ARGUMENT
795
+ # error.
796
+ # @yield [result, operation] Access the result along with the TransportOperation object
797
+ # @yieldparam result [::Gapic::Operation]
798
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
799
+ #
800
+ # @return [::Gapic::Operation]
801
+ #
802
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
803
+ def create_backup request, options = nil
804
+ raise ::ArgumentError, "request must be provided" if request.nil?
805
+
806
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::CreateBackupRequest
807
+
808
+ # Converts hash and nil to an options object
809
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
810
+
811
+ # Customize the options with defaults
812
+ call_metadata = @config.rpcs.create_backup.metadata.to_h
813
+
814
+ # Set x-goog-api-client and x-goog-user-project headers
815
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
816
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
817
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
818
+ transports_version_send: [:rest]
819
+
820
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
821
+
822
+ options.apply_defaults timeout: @config.rpcs.create_backup.timeout,
823
+ metadata: call_metadata,
824
+ retry_policy: @config.rpcs.create_backup.retry_policy
825
+
826
+ options.apply_defaults timeout: @config.timeout,
827
+ metadata: @config.metadata,
828
+ retry_policy: @config.retry_policy
829
+
830
+ @cloud_filestore_manager_stub.create_backup request, options do |result, operation|
831
+ result = ::Gapic::Operation.new result, @operations_client, options: options
832
+ yield result, operation if block_given?
833
+ return result
834
+ end
835
+ rescue ::Gapic::Rest::Error => e
836
+ raise ::Google::Cloud::Error.from_error(e)
837
+ end
838
+
839
+ ##
840
+ # Deletes a backup.
841
+ #
842
+ # @overload delete_backup(request, options = nil)
843
+ # Pass arguments to `delete_backup` via a request object, either of type
844
+ # {::Google::Cloud::Filestore::V1::DeleteBackupRequest} or an equivalent Hash.
845
+ #
846
+ # @param request [::Google::Cloud::Filestore::V1::DeleteBackupRequest, ::Hash]
847
+ # A request object representing the call parameters. Required. To specify no
848
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
849
+ # @param options [::Gapic::CallOptions, ::Hash]
850
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
851
+ #
852
+ # @overload delete_backup(name: nil)
853
+ # Pass arguments to `delete_backup` via keyword arguments. Note that at
854
+ # least one keyword argument is required. To specify no parameters, or to keep all
855
+ # the default parameter values, pass an empty Hash as a request object (see above).
856
+ #
857
+ # @param name [::String]
858
+ # Required. The backup resource name, in the format
859
+ # `projects/{project_number}/locations/{location}/backups/{backup_id}`
860
+ # @yield [result, operation] Access the result along with the TransportOperation object
861
+ # @yieldparam result [::Gapic::Operation]
862
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
863
+ #
864
+ # @return [::Gapic::Operation]
865
+ #
866
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
867
+ def delete_backup request, options = nil
868
+ raise ::ArgumentError, "request must be provided" if request.nil?
869
+
870
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::DeleteBackupRequest
871
+
872
+ # Converts hash and nil to an options object
873
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
874
+
875
+ # Customize the options with defaults
876
+ call_metadata = @config.rpcs.delete_backup.metadata.to_h
877
+
878
+ # Set x-goog-api-client and x-goog-user-project headers
879
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
880
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
881
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
882
+ transports_version_send: [:rest]
883
+
884
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
885
+
886
+ options.apply_defaults timeout: @config.rpcs.delete_backup.timeout,
887
+ metadata: call_metadata,
888
+ retry_policy: @config.rpcs.delete_backup.retry_policy
889
+
890
+ options.apply_defaults timeout: @config.timeout,
891
+ metadata: @config.metadata,
892
+ retry_policy: @config.retry_policy
893
+
894
+ @cloud_filestore_manager_stub.delete_backup request, options do |result, operation|
895
+ result = ::Gapic::Operation.new result, @operations_client, options: options
896
+ yield result, operation if block_given?
897
+ return result
898
+ end
899
+ rescue ::Gapic::Rest::Error => e
900
+ raise ::Google::Cloud::Error.from_error(e)
901
+ end
902
+
903
+ ##
904
+ # Updates the settings of a specific backup.
905
+ #
906
+ # @overload update_backup(request, options = nil)
907
+ # Pass arguments to `update_backup` via a request object, either of type
908
+ # {::Google::Cloud::Filestore::V1::UpdateBackupRequest} or an equivalent Hash.
909
+ #
910
+ # @param request [::Google::Cloud::Filestore::V1::UpdateBackupRequest, ::Hash]
911
+ # A request object representing the call parameters. Required. To specify no
912
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
913
+ # @param options [::Gapic::CallOptions, ::Hash]
914
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
915
+ #
916
+ # @overload update_backup(backup: nil, update_mask: nil)
917
+ # Pass arguments to `update_backup` via keyword arguments. Note that at
918
+ # least one keyword argument is required. To specify no parameters, or to keep all
919
+ # the default parameter values, pass an empty Hash as a request object (see above).
920
+ #
921
+ # @param backup [::Google::Cloud::Filestore::V1::Backup, ::Hash]
922
+ # Required. A {::Google::Cloud::Filestore::V1::Backup backup resource}
923
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
924
+ # Required. Mask of fields to update. At least one path must be supplied in
925
+ # this field.
926
+ # @yield [result, operation] Access the result along with the TransportOperation object
927
+ # @yieldparam result [::Gapic::Operation]
928
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
929
+ #
930
+ # @return [::Gapic::Operation]
931
+ #
932
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
933
+ def update_backup request, options = nil
934
+ raise ::ArgumentError, "request must be provided" if request.nil?
935
+
936
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Filestore::V1::UpdateBackupRequest
937
+
938
+ # Converts hash and nil to an options object
939
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
940
+
941
+ # Customize the options with defaults
942
+ call_metadata = @config.rpcs.update_backup.metadata.to_h
943
+
944
+ # Set x-goog-api-client and x-goog-user-project headers
945
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
946
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
947
+ gapic_version: ::Google::Cloud::Filestore::V1::VERSION,
948
+ transports_version_send: [:rest]
949
+
950
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
951
+
952
+ options.apply_defaults timeout: @config.rpcs.update_backup.timeout,
953
+ metadata: call_metadata,
954
+ retry_policy: @config.rpcs.update_backup.retry_policy
955
+
956
+ options.apply_defaults timeout: @config.timeout,
957
+ metadata: @config.metadata,
958
+ retry_policy: @config.retry_policy
959
+
960
+ @cloud_filestore_manager_stub.update_backup request, options do |result, operation|
961
+ result = ::Gapic::Operation.new result, @operations_client, options: options
962
+ yield result, operation if block_given?
963
+ return result
964
+ end
965
+ rescue ::Gapic::Rest::Error => e
966
+ raise ::Google::Cloud::Error.from_error(e)
967
+ end
968
+
969
+ ##
970
+ # Configuration class for the CloudFilestoreManager REST API.
971
+ #
972
+ # This class represents the configuration for CloudFilestoreManager REST,
973
+ # providing control over timeouts, retry behavior, logging, transport
974
+ # parameters, and other low-level controls. Certain parameters can also be
975
+ # applied individually to specific RPCs. See
976
+ # {::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client::Configuration::Rpcs}
977
+ # for a list of RPCs that can be configured independently.
978
+ #
979
+ # Configuration can be applied globally to all clients, or to a single client
980
+ # on construction.
981
+ #
982
+ # @example
983
+ #
984
+ # # Modify the global config, setting the timeout for
985
+ # # list_instances to 20 seconds,
986
+ # # and all remaining timeouts to 10 seconds.
987
+ # ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client.configure do |config|
988
+ # config.timeout = 10.0
989
+ # config.rpcs.list_instances.timeout = 20.0
990
+ # end
991
+ #
992
+ # # Apply the above configuration only to a new client.
993
+ # client = ::Google::Cloud::Filestore::V1::CloudFilestoreManager::Rest::Client.new do |config|
994
+ # config.timeout = 10.0
995
+ # config.rpcs.list_instances.timeout = 20.0
996
+ # end
997
+ #
998
+ # @!attribute [rw] endpoint
999
+ # The hostname or hostname:port of the service endpoint.
1000
+ # Defaults to `"file.googleapis.com"`.
1001
+ # @return [::String]
1002
+ # @!attribute [rw] credentials
1003
+ # Credentials to send with calls. You may provide any of the following types:
1004
+ # * (`String`) The path to a service account key file in JSON format
1005
+ # * (`Hash`) A service account key as a Hash
1006
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1007
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
1008
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1009
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
1010
+ # * (`nil`) indicating no credentials
1011
+ # @return [::Object]
1012
+ # @!attribute [rw] scope
1013
+ # The OAuth scopes
1014
+ # @return [::Array<::String>]
1015
+ # @!attribute [rw] lib_name
1016
+ # The library name as recorded in instrumentation and logging
1017
+ # @return [::String]
1018
+ # @!attribute [rw] lib_version
1019
+ # The library version as recorded in instrumentation and logging
1020
+ # @return [::String]
1021
+ # @!attribute [rw] timeout
1022
+ # The call timeout in seconds.
1023
+ # @return [::Numeric]
1024
+ # @!attribute [rw] metadata
1025
+ # Additional headers to be sent with the call.
1026
+ # @return [::Hash{::Symbol=>::String}]
1027
+ # @!attribute [rw] retry_policy
1028
+ # The retry policy. The value is a hash with the following keys:
1029
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1030
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1031
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1032
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1033
+ # trigger a retry.
1034
+ # @return [::Hash]
1035
+ # @!attribute [rw] quota_project
1036
+ # A separate project against which to charge quota.
1037
+ # @return [::String]
1038
+ #
1039
+ class Configuration
1040
+ extend ::Gapic::Config
1041
+
1042
+ config_attr :endpoint, "file.googleapis.com", ::String
1043
+ config_attr :credentials, nil do |value|
1044
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1045
+ allowed.any? { |klass| klass === value }
1046
+ end
1047
+ config_attr :scope, nil, ::String, ::Array, nil
1048
+ config_attr :lib_name, nil, ::String, nil
1049
+ config_attr :lib_version, nil, ::String, nil
1050
+ config_attr :timeout, nil, ::Numeric, nil
1051
+ config_attr :metadata, nil, ::Hash, nil
1052
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1053
+ config_attr :quota_project, nil, ::String, nil
1054
+
1055
+ # @private
1056
+ def initialize parent_config = nil
1057
+ @parent_config = parent_config unless parent_config.nil?
1058
+
1059
+ yield self if block_given?
1060
+ end
1061
+
1062
+ ##
1063
+ # Configurations for individual RPCs
1064
+ # @return [Rpcs]
1065
+ #
1066
+ def rpcs
1067
+ @rpcs ||= begin
1068
+ parent_rpcs = nil
1069
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1070
+ Rpcs.new parent_rpcs
1071
+ end
1072
+ end
1073
+
1074
+ ##
1075
+ # Configuration RPC class for the CloudFilestoreManager API.
1076
+ #
1077
+ # Includes fields providing the configuration for each RPC in this service.
1078
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1079
+ # the following configuration fields:
1080
+ #
1081
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1082
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
1083
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1084
+ # include the following keys:
1085
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1086
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1087
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1088
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1089
+ # trigger a retry.
1090
+ #
1091
+ class Rpcs
1092
+ ##
1093
+ # RPC-specific configuration for `list_instances`
1094
+ # @return [::Gapic::Config::Method]
1095
+ #
1096
+ attr_reader :list_instances
1097
+ ##
1098
+ # RPC-specific configuration for `get_instance`
1099
+ # @return [::Gapic::Config::Method]
1100
+ #
1101
+ attr_reader :get_instance
1102
+ ##
1103
+ # RPC-specific configuration for `create_instance`
1104
+ # @return [::Gapic::Config::Method]
1105
+ #
1106
+ attr_reader :create_instance
1107
+ ##
1108
+ # RPC-specific configuration for `update_instance`
1109
+ # @return [::Gapic::Config::Method]
1110
+ #
1111
+ attr_reader :update_instance
1112
+ ##
1113
+ # RPC-specific configuration for `restore_instance`
1114
+ # @return [::Gapic::Config::Method]
1115
+ #
1116
+ attr_reader :restore_instance
1117
+ ##
1118
+ # RPC-specific configuration for `delete_instance`
1119
+ # @return [::Gapic::Config::Method]
1120
+ #
1121
+ attr_reader :delete_instance
1122
+ ##
1123
+ # RPC-specific configuration for `list_backups`
1124
+ # @return [::Gapic::Config::Method]
1125
+ #
1126
+ attr_reader :list_backups
1127
+ ##
1128
+ # RPC-specific configuration for `get_backup`
1129
+ # @return [::Gapic::Config::Method]
1130
+ #
1131
+ attr_reader :get_backup
1132
+ ##
1133
+ # RPC-specific configuration for `create_backup`
1134
+ # @return [::Gapic::Config::Method]
1135
+ #
1136
+ attr_reader :create_backup
1137
+ ##
1138
+ # RPC-specific configuration for `delete_backup`
1139
+ # @return [::Gapic::Config::Method]
1140
+ #
1141
+ attr_reader :delete_backup
1142
+ ##
1143
+ # RPC-specific configuration for `update_backup`
1144
+ # @return [::Gapic::Config::Method]
1145
+ #
1146
+ attr_reader :update_backup
1147
+
1148
+ # @private
1149
+ def initialize parent_rpcs = nil
1150
+ list_instances_config = parent_rpcs.list_instances if parent_rpcs.respond_to? :list_instances
1151
+ @list_instances = ::Gapic::Config::Method.new list_instances_config
1152
+ get_instance_config = parent_rpcs.get_instance if parent_rpcs.respond_to? :get_instance
1153
+ @get_instance = ::Gapic::Config::Method.new get_instance_config
1154
+ create_instance_config = parent_rpcs.create_instance if parent_rpcs.respond_to? :create_instance
1155
+ @create_instance = ::Gapic::Config::Method.new create_instance_config
1156
+ update_instance_config = parent_rpcs.update_instance if parent_rpcs.respond_to? :update_instance
1157
+ @update_instance = ::Gapic::Config::Method.new update_instance_config
1158
+ restore_instance_config = parent_rpcs.restore_instance if parent_rpcs.respond_to? :restore_instance
1159
+ @restore_instance = ::Gapic::Config::Method.new restore_instance_config
1160
+ delete_instance_config = parent_rpcs.delete_instance if parent_rpcs.respond_to? :delete_instance
1161
+ @delete_instance = ::Gapic::Config::Method.new delete_instance_config
1162
+ list_backups_config = parent_rpcs.list_backups if parent_rpcs.respond_to? :list_backups
1163
+ @list_backups = ::Gapic::Config::Method.new list_backups_config
1164
+ get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
1165
+ @get_backup = ::Gapic::Config::Method.new get_backup_config
1166
+ create_backup_config = parent_rpcs.create_backup if parent_rpcs.respond_to? :create_backup
1167
+ @create_backup = ::Gapic::Config::Method.new create_backup_config
1168
+ delete_backup_config = parent_rpcs.delete_backup if parent_rpcs.respond_to? :delete_backup
1169
+ @delete_backup = ::Gapic::Config::Method.new delete_backup_config
1170
+ update_backup_config = parent_rpcs.update_backup if parent_rpcs.respond_to? :update_backup
1171
+ @update_backup = ::Gapic::Config::Method.new update_backup_config
1172
+
1173
+ yield self if block_given?
1174
+ end
1175
+ end
1176
+ end
1177
+ end
1178
+ end
1179
+ end
1180
+ end
1181
+ end
1182
+ end
1183
+ end