google-cloud-bigtable-admin-v2 0.2.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -63,6 +63,27 @@ module Google
63
63
  "projects/#{project}/instances/#{instance}/clusters/#{cluster}"
64
64
  end
65
65
 
66
+ ##
67
+ # Create a fully-qualified CryptoKey resource string.
68
+ #
69
+ # The resource will be in the following format:
70
+ #
71
+ # `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`
72
+ #
73
+ # @param project [String]
74
+ # @param location [String]
75
+ # @param key_ring [String]
76
+ # @param crypto_key [String]
77
+ #
78
+ # @return [::String]
79
+ def crypto_key_path project:, location:, key_ring:, crypto_key:
80
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
81
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
82
+ raise ::ArgumentError, "key_ring cannot contain /" if key_ring.to_s.include? "/"
83
+
84
+ "projects/#{project}/locations/#{location}/keyRings/#{key_ring}/cryptoKeys/#{crypto_key}"
85
+ end
86
+
66
87
  ##
67
88
  # Create a fully-qualified Instance resource string.
68
89
  #
@@ -65,29 +65,27 @@ module Google
65
65
  parent_config = while namespace.any?
66
66
  parent_name = namespace.join "::"
67
67
  parent_const = const_get parent_name
68
- break parent_const.configure if parent_const&.respond_to? :configure
68
+ break parent_const.configure if parent_const.respond_to? :configure
69
69
  namespace.pop
70
70
  end
71
71
  default_config = Client::Configuration.new parent_config
72
72
 
73
73
  default_config.rpcs.create_table.timeout = 300.0
74
74
 
75
- default_config.rpcs.create_table_from_snapshot.timeout = 60.0
76
-
77
75
  default_config.rpcs.list_tables.timeout = 60.0
78
76
  default_config.rpcs.list_tables.retry_policy = {
79
77
  initial_delay: 1.0,
80
- max_delay: 60.0,
81
- multiplier: 2,
82
- retry_codes: [14, 4]
78
+ max_delay: 60.0,
79
+ multiplier: 2,
80
+ retry_codes: [14, 4]
83
81
  }
84
82
 
85
83
  default_config.rpcs.get_table.timeout = 60.0
86
84
  default_config.rpcs.get_table.retry_policy = {
87
85
  initial_delay: 1.0,
88
- max_delay: 60.0,
89
- multiplier: 2,
90
- retry_codes: [14, 4]
86
+ max_delay: 60.0,
87
+ multiplier: 2,
88
+ retry_codes: [14, 4]
91
89
  }
92
90
 
93
91
  default_config.rpcs.delete_table.timeout = 60.0
@@ -99,45 +97,67 @@ module Google
99
97
  default_config.rpcs.generate_consistency_token.timeout = 60.0
100
98
  default_config.rpcs.generate_consistency_token.retry_policy = {
101
99
  initial_delay: 1.0,
102
- max_delay: 60.0,
103
- multiplier: 2,
104
- retry_codes: [14, 4]
100
+ max_delay: 60.0,
101
+ multiplier: 2,
102
+ retry_codes: [14, 4]
105
103
  }
106
104
 
107
105
  default_config.rpcs.check_consistency.timeout = 60.0
108
106
  default_config.rpcs.check_consistency.retry_policy = {
109
107
  initial_delay: 1.0,
110
- max_delay: 60.0,
111
- multiplier: 2,
112
- retry_codes: [14, 4]
108
+ max_delay: 60.0,
109
+ multiplier: 2,
110
+ retry_codes: [14, 4]
113
111
  }
114
112
 
115
- default_config.rpcs.snapshot_table.timeout = 60.0
116
-
117
113
  default_config.rpcs.get_snapshot.timeout = 60.0
118
114
  default_config.rpcs.get_snapshot.retry_policy = {
119
115
  initial_delay: 1.0,
120
- max_delay: 60.0,
121
- multiplier: 2,
122
- retry_codes: [14, 4]
116
+ max_delay: 60.0,
117
+ multiplier: 2,
118
+ retry_codes: [14, 4]
123
119
  }
124
120
 
125
121
  default_config.rpcs.list_snapshots.timeout = 60.0
126
122
  default_config.rpcs.list_snapshots.retry_policy = {
127
123
  initial_delay: 1.0,
128
- max_delay: 60.0,
129
- multiplier: 2,
130
- retry_codes: [14, 4]
124
+ max_delay: 60.0,
125
+ multiplier: 2,
126
+ retry_codes: [14, 4]
131
127
  }
132
128
 
133
129
  default_config.rpcs.delete_snapshot.timeout = 60.0
134
130
 
131
+ default_config.rpcs.create_backup.timeout = 60.0
132
+
133
+ default_config.rpcs.get_backup.timeout = 60.0
134
+ default_config.rpcs.get_backup.retry_policy = {
135
+ initial_delay: 1.0,
136
+ max_delay: 60.0,
137
+ multiplier: 2,
138
+ retry_codes: [14, 4]
139
+ }
140
+
141
+ default_config.rpcs.update_backup.timeout = 60.0
142
+
143
+ default_config.rpcs.delete_backup.timeout = 60.0
144
+
145
+ default_config.rpcs.list_backups.timeout = 60.0
146
+ default_config.rpcs.list_backups.retry_policy = {
147
+ initial_delay: 1.0,
148
+ max_delay: 60.0,
149
+ multiplier: 2,
150
+ retry_codes: [14, 4]
151
+ }
152
+
153
+ default_config.rpcs.restore_table.timeout = 60.0
154
+
135
155
  default_config.rpcs.get_iam_policy.timeout = 60.0
136
156
  default_config.rpcs.get_iam_policy.retry_policy = {
137
157
  initial_delay: 1.0,
138
- max_delay: 60.0,
139
- multiplier: 2,
140
- retry_codes: [14, 4]
158
+ max_delay: 60.0,
159
+ multiplier: 2,
160
+ retry_codes: [14, 4]
141
161
  }
142
162
 
143
163
  default_config.rpcs.set_iam_policy.timeout = 60.0
@@ -145,9 +165,9 @@ module Google
145
165
  default_config.rpcs.test_iam_permissions.timeout = 60.0
146
166
  default_config.rpcs.test_iam_permissions.retry_policy = {
147
167
  initial_delay: 1.0,
148
- max_delay: 60.0,
149
- multiplier: 2,
150
- retry_codes: [14, 4]
168
+ max_delay: 60.0,
169
+ multiplier: 2,
170
+ retry_codes: [14, 4]
151
171
  }
152
172
 
153
173
  default_config
@@ -211,7 +231,13 @@ module Google
211
231
 
212
232
  # Create credentials
213
233
  credentials = @config.credentials
214
- credentials ||= Credentials.default scope: @config.scope
234
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
235
+ # but only if the default endpoint does not have a region prefix.
236
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
237
+ @config.endpoint == Client.configure.endpoint &&
238
+ !@config.endpoint.split(".").first.include?("-")
239
+ credentials ||= Credentials.default scope: @config.scope,
240
+ enable_self_signed_jwt: enable_self_signed_jwt
215
241
  if credentials.is_a?(String) || credentials.is_a?(Hash)
216
242
  credentials = Credentials.new credentials, scope: @config.scope
217
243
  end
@@ -1685,7 +1711,7 @@ module Google
1685
1711
 
1686
1712
  ##
1687
1713
  # Create a new table by restoring from a completed backup. The new table
1688
- # must be in the same instance as the instance containing the backup. The
1714
+ # must be in the same project as the instance containing the backup. The
1689
1715
  # returned table {::Google::Longrunning::Operation long-running operation} can
1690
1716
  # be used to track the progress of the operation, and to cancel it. The
1691
1717
  # {::Google::Longrunning::Operation#metadata metadata} field type is
@@ -1710,8 +1736,8 @@ module Google
1710
1736
  #
1711
1737
  # @param parent [::String]
1712
1738
  # Required. The name of the instance in which to create the restored
1713
- # table. This instance must be the parent of the source backup. Values are
1714
- # of the form `projects/<project>/instances/<instance>`.
1739
+ # table. This instance must be in the same project as the source backup.
1740
+ # Values are of the form `projects/<project>/instances/<instance>`.
1715
1741
  # @param table_id [::String]
1716
1742
  # Required. The id of the table to create and restore to. This
1717
1743
  # table must not already exist. The `table_id` appended to
@@ -2076,7 +2102,7 @@ module Google
2076
2102
  config_attr :scope, nil, ::String, ::Array, nil
2077
2103
  config_attr :lib_name, nil, ::String, nil
2078
2104
  config_attr :lib_version, nil, ::String, nil
2079
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
2105
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
2080
2106
  config_attr :interceptors, nil, ::Array, nil
2081
2107
  config_attr :timeout, nil, ::Numeric, nil
2082
2108
  config_attr :metadata, nil, ::Hash, nil
@@ -2097,7 +2123,7 @@ module Google
2097
2123
  def rpcs
2098
2124
  @rpcs ||= begin
2099
2125
  parent_rpcs = nil
2100
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
2126
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
2101
2127
  Rpcs.new parent_rpcs
2102
2128
  end
2103
2129
  end
@@ -2109,7 +2135,7 @@ module Google
2109
2135
  # Each configuration object is of type `Gapic::Config::Method` and includes
2110
2136
  # the following configuration fields:
2111
2137
  #
2112
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
2138
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
2113
2139
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
2114
2140
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
2115
2141
  # include the following keys:
@@ -2233,49 +2259,49 @@ module Google
2233
2259
 
2234
2260
  # @private
2235
2261
  def initialize parent_rpcs = nil
2236
- create_table_config = parent_rpcs&.create_table if parent_rpcs&.respond_to? :create_table
2262
+ create_table_config = parent_rpcs.create_table if parent_rpcs.respond_to? :create_table
2237
2263
  @create_table = ::Gapic::Config::Method.new create_table_config
2238
- create_table_from_snapshot_config = parent_rpcs&.create_table_from_snapshot if parent_rpcs&.respond_to? :create_table_from_snapshot
2264
+ create_table_from_snapshot_config = parent_rpcs.create_table_from_snapshot if parent_rpcs.respond_to? :create_table_from_snapshot
2239
2265
  @create_table_from_snapshot = ::Gapic::Config::Method.new create_table_from_snapshot_config
2240
- list_tables_config = parent_rpcs&.list_tables if parent_rpcs&.respond_to? :list_tables
2266
+ list_tables_config = parent_rpcs.list_tables if parent_rpcs.respond_to? :list_tables
2241
2267
  @list_tables = ::Gapic::Config::Method.new list_tables_config
2242
- get_table_config = parent_rpcs&.get_table if parent_rpcs&.respond_to? :get_table
2268
+ get_table_config = parent_rpcs.get_table if parent_rpcs.respond_to? :get_table
2243
2269
  @get_table = ::Gapic::Config::Method.new get_table_config
2244
- delete_table_config = parent_rpcs&.delete_table if parent_rpcs&.respond_to? :delete_table
2270
+ delete_table_config = parent_rpcs.delete_table if parent_rpcs.respond_to? :delete_table
2245
2271
  @delete_table = ::Gapic::Config::Method.new delete_table_config
2246
- modify_column_families_config = parent_rpcs&.modify_column_families if parent_rpcs&.respond_to? :modify_column_families
2272
+ modify_column_families_config = parent_rpcs.modify_column_families if parent_rpcs.respond_to? :modify_column_families
2247
2273
  @modify_column_families = ::Gapic::Config::Method.new modify_column_families_config
2248
- drop_row_range_config = parent_rpcs&.drop_row_range if parent_rpcs&.respond_to? :drop_row_range
2274
+ drop_row_range_config = parent_rpcs.drop_row_range if parent_rpcs.respond_to? :drop_row_range
2249
2275
  @drop_row_range = ::Gapic::Config::Method.new drop_row_range_config
2250
- generate_consistency_token_config = parent_rpcs&.generate_consistency_token if parent_rpcs&.respond_to? :generate_consistency_token
2276
+ generate_consistency_token_config = parent_rpcs.generate_consistency_token if parent_rpcs.respond_to? :generate_consistency_token
2251
2277
  @generate_consistency_token = ::Gapic::Config::Method.new generate_consistency_token_config
2252
- check_consistency_config = parent_rpcs&.check_consistency if parent_rpcs&.respond_to? :check_consistency
2278
+ check_consistency_config = parent_rpcs.check_consistency if parent_rpcs.respond_to? :check_consistency
2253
2279
  @check_consistency = ::Gapic::Config::Method.new check_consistency_config
2254
- snapshot_table_config = parent_rpcs&.snapshot_table if parent_rpcs&.respond_to? :snapshot_table
2280
+ snapshot_table_config = parent_rpcs.snapshot_table if parent_rpcs.respond_to? :snapshot_table
2255
2281
  @snapshot_table = ::Gapic::Config::Method.new snapshot_table_config
2256
- get_snapshot_config = parent_rpcs&.get_snapshot if parent_rpcs&.respond_to? :get_snapshot
2282
+ get_snapshot_config = parent_rpcs.get_snapshot if parent_rpcs.respond_to? :get_snapshot
2257
2283
  @get_snapshot = ::Gapic::Config::Method.new get_snapshot_config
2258
- list_snapshots_config = parent_rpcs&.list_snapshots if parent_rpcs&.respond_to? :list_snapshots
2284
+ list_snapshots_config = parent_rpcs.list_snapshots if parent_rpcs.respond_to? :list_snapshots
2259
2285
  @list_snapshots = ::Gapic::Config::Method.new list_snapshots_config
2260
- delete_snapshot_config = parent_rpcs&.delete_snapshot if parent_rpcs&.respond_to? :delete_snapshot
2286
+ delete_snapshot_config = parent_rpcs.delete_snapshot if parent_rpcs.respond_to? :delete_snapshot
2261
2287
  @delete_snapshot = ::Gapic::Config::Method.new delete_snapshot_config
2262
- create_backup_config = parent_rpcs&.create_backup if parent_rpcs&.respond_to? :create_backup
2288
+ create_backup_config = parent_rpcs.create_backup if parent_rpcs.respond_to? :create_backup
2263
2289
  @create_backup = ::Gapic::Config::Method.new create_backup_config
2264
- get_backup_config = parent_rpcs&.get_backup if parent_rpcs&.respond_to? :get_backup
2290
+ get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
2265
2291
  @get_backup = ::Gapic::Config::Method.new get_backup_config
2266
- update_backup_config = parent_rpcs&.update_backup if parent_rpcs&.respond_to? :update_backup
2292
+ update_backup_config = parent_rpcs.update_backup if parent_rpcs.respond_to? :update_backup
2267
2293
  @update_backup = ::Gapic::Config::Method.new update_backup_config
2268
- delete_backup_config = parent_rpcs&.delete_backup if parent_rpcs&.respond_to? :delete_backup
2294
+ delete_backup_config = parent_rpcs.delete_backup if parent_rpcs.respond_to? :delete_backup
2269
2295
  @delete_backup = ::Gapic::Config::Method.new delete_backup_config
2270
- list_backups_config = parent_rpcs&.list_backups if parent_rpcs&.respond_to? :list_backups
2296
+ list_backups_config = parent_rpcs.list_backups if parent_rpcs.respond_to? :list_backups
2271
2297
  @list_backups = ::Gapic::Config::Method.new list_backups_config
2272
- restore_table_config = parent_rpcs&.restore_table if parent_rpcs&.respond_to? :restore_table
2298
+ restore_table_config = parent_rpcs.restore_table if parent_rpcs.respond_to? :restore_table
2273
2299
  @restore_table = ::Gapic::Config::Method.new restore_table_config
2274
- get_iam_policy_config = parent_rpcs&.get_iam_policy if parent_rpcs&.respond_to? :get_iam_policy
2300
+ get_iam_policy_config = parent_rpcs.get_iam_policy if parent_rpcs.respond_to? :get_iam_policy
2275
2301
  @get_iam_policy = ::Gapic::Config::Method.new get_iam_policy_config
2276
- set_iam_policy_config = parent_rpcs&.set_iam_policy if parent_rpcs&.respond_to? :set_iam_policy
2302
+ set_iam_policy_config = parent_rpcs.set_iam_policy if parent_rpcs.respond_to? :set_iam_policy
2277
2303
  @set_iam_policy = ::Gapic::Config::Method.new set_iam_policy_config
2278
- test_iam_permissions_config = parent_rpcs&.test_iam_permissions if parent_rpcs&.respond_to? :test_iam_permissions
2304
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
2279
2305
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
2280
2306
 
2281
2307
  yield self if block_given?
@@ -104,8 +104,13 @@ module Google
104
104
  # Lists operations that match the specified filter in the request. If the
105
105
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
106
106
  #
107
- # NOTE: the `name` binding below allows API services to override the binding
108
- # to use different resource name schemes, such as `users/*/operations`.
107
+ # NOTE: the `name` binding allows API services to override the binding
108
+ # to use different resource name schemes, such as `users/*/operations`. To
109
+ # override the binding, API services can add a binding such as
110
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
111
+ # For backwards compatibility, the default name includes the operations
112
+ # collection id, however overriding users must ensure the name binding
113
+ # is the parent resource, without the operations collection id.
109
114
  #
110
115
  # @overload list_operations(request, options = nil)
111
116
  # Pass arguments to `list_operations` via a request object, either of type
@@ -123,7 +128,7 @@ module Google
123
128
  # the default parameter values, pass an empty Hash as a request object (see above).
124
129
  #
125
130
  # @param name [::String]
126
- # The name of the operation collection.
131
+ # The name of the operation's parent resource.
127
132
  # @param filter [::String]
128
133
  # The standard list filter.
129
134
  # @param page_size [::Integer]
@@ -391,6 +396,79 @@ module Google
391
396
  raise ::Google::Cloud::Error.from_error(e)
392
397
  end
393
398
 
399
+ ##
400
+ # Waits for the specified long-running operation until it is done or reaches
401
+ # at most a specified timeout, returning the latest state. If the operation
402
+ # is already done, the latest state is immediately returned. If the timeout
403
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
404
+ # timeout is used. If the server does not support this method, it returns
405
+ # `google.rpc.Code.UNIMPLEMENTED`.
406
+ # Note that this method is on a best-effort basis. It may return the latest
407
+ # state before the specified timeout (including immediately), meaning even an
408
+ # immediate response is no guarantee that the operation is done.
409
+ #
410
+ # @overload wait_operation(request, options = nil)
411
+ # Pass arguments to `wait_operation` via a request object, either of type
412
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
413
+ #
414
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
415
+ # A request object representing the call parameters. Required. To specify no
416
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
417
+ # @param options [::Gapic::CallOptions, ::Hash]
418
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
419
+ #
420
+ # @overload wait_operation(name: nil, timeout: nil)
421
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
422
+ # least one keyword argument is required. To specify no parameters, or to keep all
423
+ # the default parameter values, pass an empty Hash as a request object (see above).
424
+ #
425
+ # @param name [::String]
426
+ # The name of the operation resource to wait on.
427
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
428
+ # The maximum duration to wait before timing out. If left blank, the wait
429
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
430
+ # If RPC context deadline is also specified, the shorter one will be used.
431
+ #
432
+ # @yield [response, operation] Access the result along with the RPC operation
433
+ # @yieldparam response [::Gapic::Operation]
434
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
435
+ #
436
+ # @return [::Gapic::Operation]
437
+ #
438
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
439
+ #
440
+ def wait_operation request, options = nil
441
+ raise ::ArgumentError, "request must be provided" if request.nil?
442
+
443
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
444
+
445
+ # Converts hash and nil to an options object
446
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
447
+
448
+ # Customize the options with defaults
449
+ metadata = @config.rpcs.wait_operation.metadata.to_h
450
+
451
+ # Set x-goog-api-client and x-goog-user-project headers
452
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
453
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
454
+ gapic_version: ::Google::Cloud::Bigtable::Admin::V2::VERSION
455
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
456
+
457
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
458
+ metadata: metadata,
459
+ retry_policy: @config.rpcs.wait_operation.retry_policy
460
+ options.apply_defaults metadata: @config.metadata,
461
+ retry_policy: @config.retry_policy
462
+
463
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
464
+ response = ::Gapic::Operation.new response, @operations_client, options: options
465
+ yield response, operation if block_given?
466
+ return response
467
+ end
468
+ rescue ::GRPC::BadStatus => e
469
+ raise ::Google::Cloud::Error.from_error(e)
470
+ end
471
+
394
472
  ##
395
473
  # Configuration class for the Operations API.
396
474
  #
@@ -483,7 +561,7 @@ module Google
483
561
  config_attr :scope, nil, ::String, ::Array, nil
484
562
  config_attr :lib_name, nil, ::String, nil
485
563
  config_attr :lib_version, nil, ::String, nil
486
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
564
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
487
565
  config_attr :interceptors, nil, ::Array, nil
488
566
  config_attr :timeout, nil, ::Numeric, nil
489
567
  config_attr :metadata, nil, ::Hash, nil
@@ -504,7 +582,7 @@ module Google
504
582
  def rpcs
505
583
  @rpcs ||= begin
506
584
  parent_rpcs = nil
507
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
585
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
508
586
  Rpcs.new parent_rpcs
509
587
  end
510
588
  end
@@ -516,7 +594,7 @@ module Google
516
594
  # Each configuration object is of type `Gapic::Config::Method` and includes
517
595
  # the following configuration fields:
518
596
  #
519
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
597
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
520
598
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
521
599
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
522
600
  # include the following keys:
@@ -547,17 +625,24 @@ module Google
547
625
  # @return [::Gapic::Config::Method]
548
626
  #
549
627
  attr_reader :cancel_operation
628
+ ##
629
+ # RPC-specific configuration for `wait_operation`
630
+ # @return [::Gapic::Config::Method]
631
+ #
632
+ attr_reader :wait_operation
550
633
 
551
634
  # @private
552
635
  def initialize parent_rpcs = nil
553
- list_operations_config = parent_rpcs&.list_operations if parent_rpcs&.respond_to? :list_operations
636
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
554
637
  @list_operations = ::Gapic::Config::Method.new list_operations_config
555
- get_operation_config = parent_rpcs&.get_operation if parent_rpcs&.respond_to? :get_operation
638
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
556
639
  @get_operation = ::Gapic::Config::Method.new get_operation_config
557
- delete_operation_config = parent_rpcs&.delete_operation if parent_rpcs&.respond_to? :delete_operation
640
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
558
641
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
559
- cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
642
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
560
643
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
644
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
645
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
561
646
 
562
647
  yield self if block_given?
563
648
  end