google-cloud-ai_platform-v1 0.58.0 → 0.59.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/ai_platform/v1/dataset_service/operations.rb +3 -10
  3. data/lib/google/cloud/ai_platform/v1/dataset_service/rest/operations.rb +73 -10
  4. data/lib/google/cloud/ai_platform/v1/deployment_resource_pool_service/operations.rb +3 -10
  5. data/lib/google/cloud/ai_platform/v1/deployment_resource_pool_service/rest/operations.rb +73 -10
  6. data/lib/google/cloud/ai_platform/v1/endpoint_service/client.rb +103 -0
  7. data/lib/google/cloud/ai_platform/v1/endpoint_service/operations.rb +3 -10
  8. data/lib/google/cloud/ai_platform/v1/endpoint_service/rest/client.rb +96 -0
  9. data/lib/google/cloud/ai_platform/v1/endpoint_service/rest/operations.rb +73 -10
  10. data/lib/google/cloud/ai_platform/v1/endpoint_service/rest/service_stub.rb +60 -0
  11. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/operations.rb +3 -10
  12. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/rest/operations.rb +73 -10
  13. data/lib/google/cloud/ai_platform/v1/feature_registry_service/operations.rb +3 -10
  14. data/lib/google/cloud/ai_platform/v1/feature_registry_service/rest/operations.rb +73 -10
  15. data/lib/google/cloud/ai_platform/v1/featurestore_service/operations.rb +3 -10
  16. data/lib/google/cloud/ai_platform/v1/featurestore_service/rest/operations.rb +73 -10
  17. data/lib/google/cloud/ai_platform/v1/gen_ai_tuning_service/operations.rb +3 -10
  18. data/lib/google/cloud/ai_platform/v1/gen_ai_tuning_service/rest/operations.rb +73 -10
  19. data/lib/google/cloud/ai_platform/v1/index_endpoint_service/operations.rb +3 -10
  20. data/lib/google/cloud/ai_platform/v1/index_endpoint_service/rest/operations.rb +73 -10
  21. data/lib/google/cloud/ai_platform/v1/index_service/operations.rb +3 -10
  22. data/lib/google/cloud/ai_platform/v1/index_service/rest/operations.rb +73 -10
  23. data/lib/google/cloud/ai_platform/v1/job_service/operations.rb +3 -10
  24. data/lib/google/cloud/ai_platform/v1/job_service/rest/operations.rb +73 -10
  25. data/lib/google/cloud/ai_platform/v1/llm_utility_service/paths.rb +19 -0
  26. data/lib/google/cloud/ai_platform/v1/metadata_service/operations.rb +3 -10
  27. data/lib/google/cloud/ai_platform/v1/metadata_service/rest/operations.rb +73 -10
  28. data/lib/google/cloud/ai_platform/v1/migration_service/operations.rb +3 -10
  29. data/lib/google/cloud/ai_platform/v1/migration_service/rest/operations.rb +73 -10
  30. data/lib/google/cloud/ai_platform/v1/model_service/operations.rb +3 -10
  31. data/lib/google/cloud/ai_platform/v1/model_service/rest/operations.rb +73 -10
  32. data/lib/google/cloud/ai_platform/v1/notebook_service/operations.rb +3 -10
  33. data/lib/google/cloud/ai_platform/v1/notebook_service/rest/operations.rb +73 -10
  34. data/lib/google/cloud/ai_platform/v1/persistent_resource_service/operations.rb +3 -10
  35. data/lib/google/cloud/ai_platform/v1/persistent_resource_service/rest/operations.rb +73 -10
  36. data/lib/google/cloud/ai_platform/v1/pipeline_service/operations.rb +3 -10
  37. data/lib/google/cloud/ai_platform/v1/pipeline_service/rest/operations.rb +73 -10
  38. data/lib/google/cloud/ai_platform/v1/prediction_service/paths.rb +19 -0
  39. data/lib/google/cloud/ai_platform/v1/rest.rb +2 -0
  40. data/lib/google/cloud/ai_platform/v1/schedule_service/operations.rb +3 -10
  41. data/lib/google/cloud/ai_platform/v1/schedule_service/paths.rb +38 -0
  42. data/lib/google/cloud/ai_platform/v1/schedule_service/rest/operations.rb +73 -10
  43. data/lib/google/cloud/ai_platform/v1/specialist_pool_service/operations.rb +3 -10
  44. data/lib/google/cloud/ai_platform/v1/specialist_pool_service/rest/operations.rb +73 -10
  45. data/lib/google/cloud/ai_platform/v1/tensorboard_service/operations.rb +3 -10
  46. data/lib/google/cloud/ai_platform/v1/tensorboard_service/rest/operations.rb +73 -10
  47. data/lib/google/cloud/ai_platform/v1/version.rb +1 -1
  48. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/client.rb +1405 -0
  49. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/credentials.rb +47 -0
  50. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/operations.rb +810 -0
  51. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/paths.rb +173 -0
  52. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/rest/client.rb +1318 -0
  53. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/rest/operations.rb +4244 -0
  54. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/rest/service_stub.rb +663 -0
  55. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service/rest.rb +54 -0
  56. data/lib/google/cloud/ai_platform/v1/vertex_rag_data_service.rb +56 -0
  57. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/client.rb +672 -0
  58. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/credentials.rb +47 -0
  59. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/paths.rb +69 -0
  60. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/rest/client.rb +634 -0
  61. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/rest/service_stub.rb +249 -0
  62. data/lib/google/cloud/ai_platform/v1/vertex_rag_service/rest.rb +53 -0
  63. data/lib/google/cloud/ai_platform/v1/vertex_rag_service.rb +55 -0
  64. data/lib/google/cloud/ai_platform/v1/vizier_service/operations.rb +3 -10
  65. data/lib/google/cloud/ai_platform/v1/vizier_service/rest/operations.rb +73 -10
  66. data/lib/google/cloud/ai_platform/v1.rb +2 -0
  67. data/lib/google/cloud/aiplatform/v1/api_auth_pb.rb +46 -0
  68. data/lib/google/cloud/aiplatform/v1/endpoint_pb.rb +5 -1
  69. data/lib/google/cloud/aiplatform/v1/endpoint_service_pb.rb +3 -1
  70. data/lib/google/cloud/aiplatform/v1/endpoint_service_services_pb.rb +2 -0
  71. data/lib/google/cloud/aiplatform/v1/io_pb.rb +16 -1
  72. data/lib/google/cloud/aiplatform/v1/machine_resources_pb.rb +1 -1
  73. data/lib/google/cloud/aiplatform/v1/notebook_execution_job_pb.rb +6 -1
  74. data/lib/google/cloud/aiplatform/v1/tool_pb.rb +5 -1
  75. data/lib/google/cloud/aiplatform/v1/vertex_rag_data_pb.rb +67 -0
  76. data/lib/google/cloud/aiplatform/v1/vertex_rag_data_service_pb.rb +71 -0
  77. data/lib/google/cloud/aiplatform/v1/vertex_rag_data_service_services_pb.rb +63 -0
  78. data/lib/google/cloud/aiplatform/v1/vertex_rag_service_pb.rb +65 -0
  79. data/lib/google/cloud/aiplatform/v1/vertex_rag_service_services_pb.rb +52 -0
  80. data/proto_docs/google/cloud/aiplatform/v1/api_auth.rb +45 -0
  81. data/proto_docs/google/cloud/aiplatform/v1/endpoint.rb +30 -0
  82. data/proto_docs/google/cloud/aiplatform/v1/endpoint_service.rb +22 -0
  83. data/proto_docs/google/cloud/aiplatform/v1/io.rb +158 -0
  84. data/proto_docs/google/cloud/aiplatform/v1/machine_resources.rb +8 -0
  85. data/proto_docs/google/cloud/aiplatform/v1/notebook_execution_job.rb +18 -0
  86. data/proto_docs/google/cloud/aiplatform/v1/tool.rb +72 -0
  87. data/proto_docs/google/cloud/aiplatform/v1/vertex_rag_data.rb +334 -0
  88. data/proto_docs/google/cloud/aiplatform/v1/vertex_rag_data_service.rb +293 -0
  89. data/proto_docs/google/cloud/aiplatform/v1/vertex_rag_service.rb +279 -0
  90. data/proto_docs/google/longrunning/operations.rb +19 -14
  91. metadata +28 -2
@@ -0,0 +1,4244 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 "gapic/operation"
20
+
21
+ module Google
22
+ module Cloud
23
+ module AIPlatform
24
+ module V1
25
+ module VertexRagDataService
26
+ module Rest
27
+ # Service that implements Longrunning Operations API.
28
+ class Operations
29
+ # @private
30
+ API_VERSION = ""
31
+
32
+ # @private
33
+ DEFAULT_ENDPOINT_TEMPLATE = "aiplatform.$UNIVERSE_DOMAIN$"
34
+
35
+ # @private
36
+ attr_reader :operations_stub
37
+
38
+ ##
39
+ # Configuration for the VertexRagDataService Operations API.
40
+ #
41
+ # @yield [config] Configure the Operations client.
42
+ # @yieldparam config [Operations::Configuration]
43
+ #
44
+ # @return [Operations::Configuration]
45
+ #
46
+ def self.configure
47
+ @configure ||= Operations::Configuration.new
48
+ yield @configure if block_given?
49
+ @configure
50
+ end
51
+
52
+ ##
53
+ # Configure the VertexRagDataService Operations instance.
54
+ #
55
+ # The configuration is set to the derived mode, meaning that values can be changed,
56
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
57
+ # should be made on {Operations.configure}.
58
+ #
59
+ # @yield [config] Configure the Operations client.
60
+ # @yieldparam config [Operations::Configuration]
61
+ #
62
+ # @return [Operations::Configuration]
63
+ #
64
+ def configure
65
+ yield @config if block_given?
66
+ @config
67
+ end
68
+
69
+ ##
70
+ # The effective universe domain
71
+ #
72
+ # @return [String]
73
+ #
74
+ def universe_domain
75
+ @operations_stub.universe_domain
76
+ end
77
+
78
+ ##
79
+ # Create a new Operations client object.
80
+ #
81
+ # @yield [config] Configure the Client client.
82
+ # @yieldparam config [Operations::Configuration]
83
+ #
84
+ def initialize
85
+ # Create the configuration object
86
+ @config = Configuration.new Operations.configure
87
+
88
+ # Yield the configuration if needed
89
+ yield @config if block_given?
90
+
91
+ # Create credentials
92
+ credentials = @config.credentials
93
+ credentials ||= Credentials.default scope: @config.scope
94
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
95
+ credentials = Credentials.new credentials, scope: @config.scope
96
+ end
97
+
98
+ @quota_project_id = @config.quota_project
99
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
100
+
101
+ @operations_stub = OperationsServiceStub.new(
102
+ endpoint: @config.endpoint,
103
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
104
+ universe_domain: @config.universe_domain,
105
+ credentials: credentials
106
+ )
107
+
108
+ # Used by an LRO wrapper for some methods of this service
109
+ @operations_client = self
110
+ end
111
+
112
+ # Service calls
113
+
114
+ ##
115
+ # Lists operations that match the specified filter in the request. If the
116
+ # server doesn't support this method, it returns `UNIMPLEMENTED`.
117
+ #
118
+ # @overload list_operations(request, options = nil)
119
+ # Pass arguments to `list_operations` via a request object, either of type
120
+ # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
121
+ #
122
+ # @param request [::Google::Longrunning::ListOperationsRequest, ::Hash]
123
+ # A request object representing the call parameters. Required. To specify no
124
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
125
+ # @param options [::Gapic::CallOptions, ::Hash]
126
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
127
+ #
128
+ # @overload list_operations(name: nil, filter: nil, page_size: nil, page_token: nil)
129
+ # Pass arguments to `list_operations` via keyword arguments. Note that at
130
+ # least one keyword argument is required. To specify no parameters, or to keep all
131
+ # the default parameter values, pass an empty Hash as a request object (see above).
132
+ #
133
+ # @param name [::String]
134
+ # The name of the operation's parent resource.
135
+ # @param filter [::String]
136
+ # The standard list filter.
137
+ # @param page_size [::Integer]
138
+ # The standard list page size.
139
+ # @param page_token [::String]
140
+ # The standard list page token.
141
+ # @yield [result, operation] Access the result along with the TransportOperation object
142
+ # @yieldparam result [::Gapic::Operation]
143
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
144
+ #
145
+ # @return [::Gapic::Operation]
146
+ #
147
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
148
+ #
149
+ # @example Basic example
150
+ # require "google/longrunning"
151
+ #
152
+ # # Create a client object. The client can be reused for multiple calls.
153
+ # client = Google::Longrunning::Operations::Rest::Client.new
154
+ #
155
+ # # Create a request. To set request fields, pass in keyword arguments.
156
+ # request = Google::Longrunning::ListOperationsRequest.new
157
+ #
158
+ # # Call the list_operations method.
159
+ # result = client.list_operations request
160
+ #
161
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
162
+ # # over elements, and API calls will be issued to fetch pages as needed.
163
+ # result.each do |item|
164
+ # # Each element is of type ::Google::Longrunning::Operation.
165
+ # p item
166
+ # end
167
+ #
168
+ def list_operations request, options = nil
169
+ raise ::ArgumentError, "request must be provided" if request.nil?
170
+
171
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::ListOperationsRequest
172
+
173
+ # Converts hash and nil to an options object
174
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
175
+
176
+ # Customize the options with defaults
177
+ call_metadata = @config.rpcs.list_operations.metadata.to_h
178
+
179
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
180
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
181
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
182
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION,
183
+ transports_version_send: [:rest]
184
+
185
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
186
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
187
+
188
+ options.apply_defaults timeout: @config.rpcs.list_operations.timeout,
189
+ metadata: call_metadata,
190
+ retry_policy: @config.rpcs.list_operations.retry_policy
191
+
192
+ options.apply_defaults timeout: @config.timeout,
193
+ metadata: @config.metadata,
194
+ retry_policy: @config.retry_policy
195
+
196
+ @operations_stub.list_operations request, options do |result, operation|
197
+ result = ::Gapic::Rest::PagedEnumerable.new @operations_stub, :list_operations, "operations", request, result, options
198
+ yield result, operation if block_given?
199
+ return result
200
+ end
201
+ rescue ::Gapic::Rest::Error => e
202
+ raise ::Google::Cloud::Error.from_error(e)
203
+ end
204
+
205
+ ##
206
+ # Gets the latest state of a long-running operation. Clients can use this
207
+ # method to poll the operation result at intervals as recommended by the API
208
+ # service.
209
+ #
210
+ # @overload get_operation(request, options = nil)
211
+ # Pass arguments to `get_operation` via a request object, either of type
212
+ # {::Google::Longrunning::GetOperationRequest} or an equivalent Hash.
213
+ #
214
+ # @param request [::Google::Longrunning::GetOperationRequest, ::Hash]
215
+ # A request object representing the call parameters. Required. To specify no
216
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
217
+ # @param options [::Gapic::CallOptions, ::Hash]
218
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
219
+ #
220
+ # @overload get_operation(name: nil)
221
+ # Pass arguments to `get_operation` via keyword arguments. Note that at
222
+ # least one keyword argument is required. To specify no parameters, or to keep all
223
+ # the default parameter values, pass an empty Hash as a request object (see above).
224
+ #
225
+ # @param name [::String]
226
+ # The name of the operation resource.
227
+ # @yield [result, operation] Access the result along with the TransportOperation object
228
+ # @yieldparam result [::Gapic::Operation]
229
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
230
+ #
231
+ # @return [::Gapic::Operation]
232
+ #
233
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
234
+ #
235
+ # @example Basic example
236
+ # require "google/longrunning"
237
+ #
238
+ # # Create a client object. The client can be reused for multiple calls.
239
+ # client = Google::Longrunning::Operations::Rest::Client.new
240
+ #
241
+ # # Create a request. To set request fields, pass in keyword arguments.
242
+ # request = Google::Longrunning::GetOperationRequest.new
243
+ #
244
+ # # Call the get_operation method.
245
+ # result = client.get_operation request
246
+ #
247
+ # # The returned object is of type Gapic::Operation. You can use it to
248
+ # # check the status of an operation, cancel it, or wait for results.
249
+ # # Here is how to wait for a response.
250
+ # result.wait_until_done! timeout: 60
251
+ # if result.response?
252
+ # p result.response
253
+ # else
254
+ # puts "No response received."
255
+ # end
256
+ #
257
+ def get_operation request, options = nil
258
+ raise ::ArgumentError, "request must be provided" if request.nil?
259
+
260
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::GetOperationRequest
261
+
262
+ # Converts hash and nil to an options object
263
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
264
+
265
+ # Customize the options with defaults
266
+ call_metadata = @config.rpcs.get_operation.metadata.to_h
267
+
268
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
269
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
270
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
271
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION,
272
+ transports_version_send: [:rest]
273
+
274
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
275
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
276
+
277
+ options.apply_defaults timeout: @config.rpcs.get_operation.timeout,
278
+ metadata: call_metadata,
279
+ retry_policy: @config.rpcs.get_operation.retry_policy
280
+
281
+ options.apply_defaults timeout: @config.timeout,
282
+ metadata: @config.metadata,
283
+ retry_policy: @config.retry_policy
284
+
285
+ @operations_stub.get_operation request, options do |result, operation|
286
+ result = ::Gapic::Operation.new result, @operations_client, options: options
287
+ yield result, operation if block_given?
288
+ return result
289
+ end
290
+ rescue ::Gapic::Rest::Error => e
291
+ raise ::Google::Cloud::Error.from_error(e)
292
+ end
293
+
294
+ ##
295
+ # Deletes a long-running operation. This method indicates that the client is
296
+ # no longer interested in the operation result. It does not cancel the
297
+ # operation. If the server doesn't support this method, it returns
298
+ # `google.rpc.Code.UNIMPLEMENTED`.
299
+ #
300
+ # @overload delete_operation(request, options = nil)
301
+ # Pass arguments to `delete_operation` via a request object, either of type
302
+ # {::Google::Longrunning::DeleteOperationRequest} or an equivalent Hash.
303
+ #
304
+ # @param request [::Google::Longrunning::DeleteOperationRequest, ::Hash]
305
+ # A request object representing the call parameters. Required. To specify no
306
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
307
+ # @param options [::Gapic::CallOptions, ::Hash]
308
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
309
+ #
310
+ # @overload delete_operation(name: nil)
311
+ # Pass arguments to `delete_operation` via keyword arguments. Note that at
312
+ # least one keyword argument is required. To specify no parameters, or to keep all
313
+ # the default parameter values, pass an empty Hash as a request object (see above).
314
+ #
315
+ # @param name [::String]
316
+ # The name of the operation resource to be deleted.
317
+ # @yield [result, operation] Access the result along with the TransportOperation object
318
+ # @yieldparam result [::Google::Protobuf::Empty]
319
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
320
+ #
321
+ # @return [::Google::Protobuf::Empty]
322
+ #
323
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
324
+ #
325
+ # @example Basic example
326
+ # require "google/longrunning"
327
+ #
328
+ # # Create a client object. The client can be reused for multiple calls.
329
+ # client = Google::Longrunning::Operations::Rest::Client.new
330
+ #
331
+ # # Create a request. To set request fields, pass in keyword arguments.
332
+ # request = Google::Longrunning::DeleteOperationRequest.new
333
+ #
334
+ # # Call the delete_operation method.
335
+ # result = client.delete_operation request
336
+ #
337
+ # # The returned object is of type Google::Protobuf::Empty.
338
+ # p result
339
+ #
340
+ def delete_operation request, options = nil
341
+ raise ::ArgumentError, "request must be provided" if request.nil?
342
+
343
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::DeleteOperationRequest
344
+
345
+ # Converts hash and nil to an options object
346
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
347
+
348
+ # Customize the options with defaults
349
+ call_metadata = @config.rpcs.delete_operation.metadata.to_h
350
+
351
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
352
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
353
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
354
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION,
355
+ transports_version_send: [:rest]
356
+
357
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
358
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
359
+
360
+ options.apply_defaults timeout: @config.rpcs.delete_operation.timeout,
361
+ metadata: call_metadata,
362
+ retry_policy: @config.rpcs.delete_operation.retry_policy
363
+
364
+ options.apply_defaults timeout: @config.timeout,
365
+ metadata: @config.metadata,
366
+ retry_policy: @config.retry_policy
367
+
368
+ @operations_stub.delete_operation request, options do |result, operation|
369
+ yield result, operation if block_given?
370
+ return result
371
+ end
372
+ rescue ::Gapic::Rest::Error => e
373
+ raise ::Google::Cloud::Error.from_error(e)
374
+ end
375
+
376
+ ##
377
+ # Starts asynchronous cancellation on a long-running operation. The server
378
+ # makes a best effort to cancel the operation, but success is not
379
+ # guaranteed. If the server doesn't support this method, it returns
380
+ # `google.rpc.Code.UNIMPLEMENTED`. Clients can use
381
+ # Operations.GetOperation or
382
+ # other methods to check whether the cancellation succeeded or whether the
383
+ # operation completed despite cancellation. On successful cancellation,
384
+ # the operation is not deleted; instead, it becomes an operation with
385
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
386
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
387
+ # `Code.CANCELLED`.
388
+ #
389
+ # @overload cancel_operation(request, options = nil)
390
+ # Pass arguments to `cancel_operation` via a request object, either of type
391
+ # {::Google::Longrunning::CancelOperationRequest} or an equivalent Hash.
392
+ #
393
+ # @param request [::Google::Longrunning::CancelOperationRequest, ::Hash]
394
+ # A request object representing the call parameters. Required. To specify no
395
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
396
+ # @param options [::Gapic::CallOptions, ::Hash]
397
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
398
+ #
399
+ # @overload cancel_operation(name: nil)
400
+ # Pass arguments to `cancel_operation` via keyword arguments. Note that at
401
+ # least one keyword argument is required. To specify no parameters, or to keep all
402
+ # the default parameter values, pass an empty Hash as a request object (see above).
403
+ #
404
+ # @param name [::String]
405
+ # The name of the operation resource to be cancelled.
406
+ # @yield [result, operation] Access the result along with the TransportOperation object
407
+ # @yieldparam result [::Google::Protobuf::Empty]
408
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
409
+ #
410
+ # @return [::Google::Protobuf::Empty]
411
+ #
412
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
413
+ #
414
+ # @example Basic example
415
+ # require "google/longrunning"
416
+ #
417
+ # # Create a client object. The client can be reused for multiple calls.
418
+ # client = Google::Longrunning::Operations::Rest::Client.new
419
+ #
420
+ # # Create a request. To set request fields, pass in keyword arguments.
421
+ # request = Google::Longrunning::CancelOperationRequest.new
422
+ #
423
+ # # Call the cancel_operation method.
424
+ # result = client.cancel_operation request
425
+ #
426
+ # # The returned object is of type Google::Protobuf::Empty.
427
+ # p result
428
+ #
429
+ def cancel_operation request, options = nil
430
+ raise ::ArgumentError, "request must be provided" if request.nil?
431
+
432
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::CancelOperationRequest
433
+
434
+ # Converts hash and nil to an options object
435
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
436
+
437
+ # Customize the options with defaults
438
+ call_metadata = @config.rpcs.cancel_operation.metadata.to_h
439
+
440
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
441
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
442
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
443
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION,
444
+ transports_version_send: [:rest]
445
+
446
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
447
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
448
+
449
+ options.apply_defaults timeout: @config.rpcs.cancel_operation.timeout,
450
+ metadata: call_metadata,
451
+ retry_policy: @config.rpcs.cancel_operation.retry_policy
452
+
453
+ options.apply_defaults timeout: @config.timeout,
454
+ metadata: @config.metadata,
455
+ retry_policy: @config.retry_policy
456
+
457
+ @operations_stub.cancel_operation request, options do |result, operation|
458
+ yield result, operation if block_given?
459
+ return result
460
+ end
461
+ rescue ::Gapic::Rest::Error => e
462
+ raise ::Google::Cloud::Error.from_error(e)
463
+ end
464
+
465
+ ##
466
+ # Waits until the specified long-running operation is done or reaches at most
467
+ # a specified timeout, returning the latest state. If the operation is
468
+ # already done, the latest state is immediately returned. If the timeout
469
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
470
+ # timeout is used. If the server does not support this method, it returns
471
+ # `google.rpc.Code.UNIMPLEMENTED`.
472
+ # Note that this method is on a best-effort basis. It may return the latest
473
+ # state before the specified timeout (including immediately), meaning even an
474
+ # immediate response is no guarantee that the operation is done.
475
+ #
476
+ # @overload wait_operation(request, options = nil)
477
+ # Pass arguments to `wait_operation` via a request object, either of type
478
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
479
+ #
480
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
481
+ # A request object representing the call parameters. Required. To specify no
482
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
483
+ # @param options [::Gapic::CallOptions, ::Hash]
484
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
485
+ #
486
+ # @overload wait_operation(name: nil, timeout: nil)
487
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
488
+ # least one keyword argument is required. To specify no parameters, or to keep all
489
+ # the default parameter values, pass an empty Hash as a request object (see above).
490
+ #
491
+ # @param name [::String]
492
+ # The name of the operation resource to wait on.
493
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
494
+ # The maximum duration to wait before timing out. If left blank, the wait
495
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
496
+ # If RPC context deadline is also specified, the shorter one will be used.
497
+ # @yield [result, operation] Access the result along with the TransportOperation object
498
+ # @yieldparam result [::Gapic::Operation]
499
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
500
+ #
501
+ # @return [::Gapic::Operation]
502
+ #
503
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
504
+ #
505
+ # @example Basic example
506
+ # require "google/longrunning"
507
+ #
508
+ # # Create a client object. The client can be reused for multiple calls.
509
+ # client = Google::Longrunning::Operations::Rest::Client.new
510
+ #
511
+ # # Create a request. To set request fields, pass in keyword arguments.
512
+ # request = Google::Longrunning::WaitOperationRequest.new
513
+ #
514
+ # # Call the wait_operation method.
515
+ # result = client.wait_operation request
516
+ #
517
+ # # The returned object is of type Gapic::Operation. You can use it to
518
+ # # check the status of an operation, cancel it, or wait for results.
519
+ # # Here is how to wait for a response.
520
+ # result.wait_until_done! timeout: 60
521
+ # if result.response?
522
+ # p result.response
523
+ # else
524
+ # puts "No response received."
525
+ # end
526
+ #
527
+ def wait_operation request, options = nil
528
+ raise ::ArgumentError, "request must be provided" if request.nil?
529
+
530
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
531
+
532
+ # Converts hash and nil to an options object
533
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
534
+
535
+ # Customize the options with defaults
536
+ call_metadata = @config.rpcs.wait_operation.metadata.to_h
537
+
538
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
539
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
540
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
541
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION,
542
+ transports_version_send: [:rest]
543
+
544
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
545
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
546
+
547
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
548
+ metadata: call_metadata,
549
+ retry_policy: @config.rpcs.wait_operation.retry_policy
550
+
551
+ options.apply_defaults timeout: @config.timeout,
552
+ metadata: @config.metadata,
553
+ retry_policy: @config.retry_policy
554
+
555
+ @operations_stub.wait_operation request, options do |result, operation|
556
+ result = ::Gapic::Operation.new result, @operations_client, options: options
557
+ yield result, operation if block_given?
558
+ return result
559
+ end
560
+ rescue ::Gapic::Rest::Error => e
561
+ raise ::Google::Cloud::Error.from_error(e)
562
+ end
563
+
564
+ ##
565
+ # Configuration class for the Operations REST API.
566
+ #
567
+ # This class represents the configuration for Operations REST,
568
+ # providing control over timeouts, retry behavior, logging, transport
569
+ # parameters, and other low-level controls. Certain parameters can also be
570
+ # applied individually to specific RPCs. See
571
+ # {::Google::Longrunning::Operations::Rest::Client::Configuration::Rpcs}
572
+ # for a list of RPCs that can be configured independently.
573
+ #
574
+ # Configuration can be applied globally to all clients, or to a single client
575
+ # on construction.
576
+ #
577
+ # @example
578
+ #
579
+ # # Modify the global config, setting the timeout for
580
+ # # list_operations to 20 seconds,
581
+ # # and all remaining timeouts to 10 seconds.
582
+ # ::Google::Longrunning::Operations::Rest::Client.configure do |config|
583
+ # config.timeout = 10.0
584
+ # config.rpcs.list_operations.timeout = 20.0
585
+ # end
586
+ #
587
+ # # Apply the above configuration only to a new client.
588
+ # client = ::Google::Longrunning::Operations::Rest::Client.new do |config|
589
+ # config.timeout = 10.0
590
+ # config.rpcs.list_operations.timeout = 20.0
591
+ # end
592
+ #
593
+ # @!attribute [rw] endpoint
594
+ # A custom service endpoint, as a hostname or hostname:port. The default is
595
+ # nil, indicating to use the default endpoint in the current universe domain.
596
+ # @return [::String,nil]
597
+ # @!attribute [rw] credentials
598
+ # Credentials to send with calls. You may provide any of the following types:
599
+ # * (`String`) The path to a service account key file in JSON format
600
+ # * (`Hash`) A service account key as a Hash
601
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
602
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
603
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
604
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
605
+ # * (`nil`) indicating no credentials
606
+ # @return [::Object]
607
+ # @!attribute [rw] scope
608
+ # The OAuth scopes
609
+ # @return [::Array<::String>]
610
+ # @!attribute [rw] lib_name
611
+ # The library name as recorded in instrumentation and logging
612
+ # @return [::String]
613
+ # @!attribute [rw] lib_version
614
+ # The library version as recorded in instrumentation and logging
615
+ # @return [::String]
616
+ # @!attribute [rw] timeout
617
+ # The call timeout in seconds.
618
+ # @return [::Numeric]
619
+ # @!attribute [rw] metadata
620
+ # Additional headers to be sent with the call.
621
+ # @return [::Hash{::Symbol=>::String}]
622
+ # @!attribute [rw] retry_policy
623
+ # The retry policy. The value is a hash with the following keys:
624
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
625
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
626
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
627
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
628
+ # trigger a retry.
629
+ # @return [::Hash]
630
+ # @!attribute [rw] quota_project
631
+ # A separate project against which to charge quota.
632
+ # @return [::String]
633
+ # @!attribute [rw] universe_domain
634
+ # The universe domain within which to make requests. This determines the
635
+ # default endpoint URL. The default value of nil uses the environment
636
+ # universe (usually the default "googleapis.com" universe).
637
+ # @return [::String,nil]
638
+ #
639
+ class Configuration
640
+ extend ::Gapic::Config
641
+
642
+ # @private
643
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
644
+ DEFAULT_ENDPOINT = "aiplatform.googleapis.com"
645
+
646
+ config_attr :endpoint, nil, ::String, nil
647
+ config_attr :credentials, nil do |value|
648
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
649
+ allowed.any? { |klass| klass === value }
650
+ end
651
+ config_attr :scope, nil, ::String, ::Array, nil
652
+ config_attr :lib_name, nil, ::String, nil
653
+ config_attr :lib_version, nil, ::String, nil
654
+ config_attr :timeout, nil, ::Numeric, nil
655
+ config_attr :metadata, nil, ::Hash, nil
656
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
657
+ config_attr :quota_project, nil, ::String, nil
658
+ config_attr :universe_domain, nil, ::String, nil
659
+
660
+ # @private
661
+ def initialize parent_config = nil
662
+ @parent_config = parent_config unless parent_config.nil?
663
+
664
+ yield self if block_given?
665
+ end
666
+
667
+ ##
668
+ # Configurations for individual RPCs
669
+ # @return [Rpcs]
670
+ #
671
+ def rpcs
672
+ @rpcs ||= begin
673
+ parent_rpcs = nil
674
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
675
+ Rpcs.new parent_rpcs
676
+ end
677
+ end
678
+
679
+ ##
680
+ # Configuration RPC class for the Operations API.
681
+ #
682
+ # Includes fields providing the configuration for each RPC in this service.
683
+ # Each configuration object is of type `Gapic::Config::Method` and includes
684
+ # the following configuration fields:
685
+ #
686
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
687
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
688
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
689
+ # include the following keys:
690
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
691
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
692
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
693
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
694
+ # trigger a retry.
695
+ #
696
+ class Rpcs
697
+ ##
698
+ # RPC-specific configuration for `list_operations`
699
+ # @return [::Gapic::Config::Method]
700
+ #
701
+ attr_reader :list_operations
702
+ ##
703
+ # RPC-specific configuration for `get_operation`
704
+ # @return [::Gapic::Config::Method]
705
+ #
706
+ attr_reader :get_operation
707
+ ##
708
+ # RPC-specific configuration for `delete_operation`
709
+ # @return [::Gapic::Config::Method]
710
+ #
711
+ attr_reader :delete_operation
712
+ ##
713
+ # RPC-specific configuration for `cancel_operation`
714
+ # @return [::Gapic::Config::Method]
715
+ #
716
+ attr_reader :cancel_operation
717
+ ##
718
+ # RPC-specific configuration for `wait_operation`
719
+ # @return [::Gapic::Config::Method]
720
+ #
721
+ attr_reader :wait_operation
722
+
723
+ # @private
724
+ def initialize parent_rpcs = nil
725
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
726
+ @list_operations = ::Gapic::Config::Method.new list_operations_config
727
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
728
+ @get_operation = ::Gapic::Config::Method.new get_operation_config
729
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
730
+ @delete_operation = ::Gapic::Config::Method.new delete_operation_config
731
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
732
+ @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
733
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
734
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
735
+
736
+ yield self if block_given?
737
+ end
738
+ end
739
+ end
740
+ end
741
+
742
+ ##
743
+ # @private
744
+ # REST service stub for the Longrunning Operations API.
745
+ # Service stub contains baseline method implementations
746
+ # including transcoding, making the REST call, and deserialing the response.
747
+ class OperationsServiceStub
748
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
749
+ # These require statements are intentionally placed here to initialize
750
+ # the REST modules only when it's required.
751
+ require "gapic/rest"
752
+
753
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
754
+ endpoint_template: endpoint_template,
755
+ universe_domain: universe_domain,
756
+ credentials: credentials
757
+ end
758
+
759
+ ##
760
+ # Baseline implementation for the list_operations REST call
761
+ #
762
+ # @param request_pb [::Google::Longrunning::ListOperationsRequest]
763
+ # A request object representing the call parameters. Required.
764
+ # @param options [::Gapic::CallOptions]
765
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
766
+ #
767
+ # @yield [result, operation] Access the result along with the TransportOperation object
768
+ # @yieldparam result [::Google::Longrunning::ListOperationsResponse]
769
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
770
+ #
771
+ # @return [::Google::Longrunning::ListOperationsResponse]
772
+ # A result object deserialized from the server's reply
773
+ def list_operations request_pb, options = nil
774
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
775
+
776
+ verb, uri, query_string_params, body = OperationsServiceStub.transcode_list_operations_request request_pb
777
+ query_string_params = if query_string_params.any?
778
+ query_string_params.to_h { |p| p.split "=", 2 }
779
+ else
780
+ {}
781
+ end
782
+
783
+ response = @client_stub.make_http_request(
784
+ verb,
785
+ uri: uri,
786
+ body: body || "",
787
+ params: query_string_params,
788
+ options: options
789
+ )
790
+ operation = ::Gapic::Rest::TransportOperation.new response
791
+ result = ::Google::Longrunning::ListOperationsResponse.decode_json response.body, ignore_unknown_fields: true
792
+
793
+ yield result, operation if block_given?
794
+ result
795
+ end
796
+
797
+ ##
798
+ # Baseline implementation for the get_operation REST call
799
+ #
800
+ # @param request_pb [::Google::Longrunning::GetOperationRequest]
801
+ # A request object representing the call parameters. Required.
802
+ # @param options [::Gapic::CallOptions]
803
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
804
+ #
805
+ # @yield [result, operation] Access the result along with the TransportOperation object
806
+ # @yieldparam result [::Google::Longrunning::Operation]
807
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
808
+ #
809
+ # @return [::Google::Longrunning::Operation]
810
+ # A result object deserialized from the server's reply
811
+ def get_operation request_pb, options = nil
812
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
813
+
814
+ verb, uri, query_string_params, body = OperationsServiceStub.transcode_get_operation_request request_pb
815
+ query_string_params = if query_string_params.any?
816
+ query_string_params.to_h { |p| p.split "=", 2 }
817
+ else
818
+ {}
819
+ end
820
+
821
+ response = @client_stub.make_http_request(
822
+ verb,
823
+ uri: uri,
824
+ body: body || "",
825
+ params: query_string_params,
826
+ options: options
827
+ )
828
+ operation = ::Gapic::Rest::TransportOperation.new response
829
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
830
+
831
+ yield result, operation if block_given?
832
+ result
833
+ end
834
+
835
+ ##
836
+ # Baseline implementation for the delete_operation REST call
837
+ #
838
+ # @param request_pb [::Google::Longrunning::DeleteOperationRequest]
839
+ # A request object representing the call parameters. Required.
840
+ # @param options [::Gapic::CallOptions]
841
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
842
+ #
843
+ # @yield [result, operation] Access the result along with the TransportOperation object
844
+ # @yieldparam result [::Google::Protobuf::Empty]
845
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
846
+ #
847
+ # @return [::Google::Protobuf::Empty]
848
+ # A result object deserialized from the server's reply
849
+ def delete_operation request_pb, options = nil
850
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
851
+
852
+ verb, uri, query_string_params, body = OperationsServiceStub.transcode_delete_operation_request request_pb
853
+ query_string_params = if query_string_params.any?
854
+ query_string_params.to_h { |p| p.split "=", 2 }
855
+ else
856
+ {}
857
+ end
858
+
859
+ response = @client_stub.make_http_request(
860
+ verb,
861
+ uri: uri,
862
+ body: body || "",
863
+ params: query_string_params,
864
+ options: options
865
+ )
866
+ operation = ::Gapic::Rest::TransportOperation.new response
867
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
868
+
869
+ yield result, operation if block_given?
870
+ result
871
+ end
872
+
873
+ ##
874
+ # Baseline implementation for the cancel_operation REST call
875
+ #
876
+ # @param request_pb [::Google::Longrunning::CancelOperationRequest]
877
+ # A request object representing the call parameters. Required.
878
+ # @param options [::Gapic::CallOptions]
879
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
880
+ #
881
+ # @yield [result, operation] Access the result along with the TransportOperation object
882
+ # @yieldparam result [::Google::Protobuf::Empty]
883
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
884
+ #
885
+ # @return [::Google::Protobuf::Empty]
886
+ # A result object deserialized from the server's reply
887
+ def cancel_operation request_pb, options = nil
888
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
889
+
890
+ verb, uri, query_string_params, body = OperationsServiceStub.transcode_cancel_operation_request request_pb
891
+ query_string_params = if query_string_params.any?
892
+ query_string_params.to_h { |p| p.split "=", 2 }
893
+ else
894
+ {}
895
+ end
896
+
897
+ response = @client_stub.make_http_request(
898
+ verb,
899
+ uri: uri,
900
+ body: body || "",
901
+ params: query_string_params,
902
+ options: options
903
+ )
904
+ operation = ::Gapic::Rest::TransportOperation.new response
905
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
906
+
907
+ yield result, operation if block_given?
908
+ result
909
+ end
910
+
911
+ ##
912
+ # Baseline implementation for the wait_operation REST call
913
+ #
914
+ # @param request_pb [::Google::Longrunning::WaitOperationRequest]
915
+ # A request object representing the call parameters. Required.
916
+ # @param options [::Gapic::CallOptions]
917
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
918
+ #
919
+ # @yield [result, operation] Access the result along with the TransportOperation object
920
+ # @yieldparam result [::Google::Longrunning::Operation]
921
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
922
+ #
923
+ # @return [::Google::Longrunning::Operation]
924
+ # A result object deserialized from the server's reply
925
+ def wait_operation request_pb, options = nil
926
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
927
+
928
+ verb, uri, query_string_params, body = OperationsServiceStub.transcode_wait_operation_request request_pb
929
+ query_string_params = if query_string_params.any?
930
+ query_string_params.to_h { |p| p.split "=", 2 }
931
+ else
932
+ {}
933
+ end
934
+
935
+ response = @client_stub.make_http_request(
936
+ verb,
937
+ uri: uri,
938
+ body: body || "",
939
+ params: query_string_params,
940
+ options: options
941
+ )
942
+ operation = ::Gapic::Rest::TransportOperation.new response
943
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
944
+
945
+ yield result, operation if block_given?
946
+ result
947
+ end
948
+
949
+ ##
950
+ # @private
951
+ #
952
+ # GRPC transcoding helper method for the list_operations REST call
953
+ #
954
+ # @param request_pb [::Google::Longrunning::ListOperationsRequest]
955
+ # A request object representing the call parameters. Required.
956
+ # @return [Array(String, [String, nil], Hash{String => String})]
957
+ # Uri, Body, Query string parameters
958
+ def self.transcode_list_operations_request request_pb
959
+ transcoder = Gapic::Rest::GrpcTranscoder.new
960
+ .with_bindings(
961
+ uri_method: :get,
962
+ uri_template: "/ui/{name}/operations",
963
+ matches: [
964
+ ["name", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
965
+ ]
966
+ )
967
+ .with_bindings(
968
+ uri_method: :get,
969
+ uri_template: "/ui/{name}/operations",
970
+ matches: [
971
+ ["name", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/?$}, false]
972
+ ]
973
+ )
974
+ .with_bindings(
975
+ uri_method: :get,
976
+ uri_template: "/ui/{name}/operations",
977
+ matches: [
978
+ ["name", %r{^projects/[^/]+/locations/[^/]+/apps/[^/]+/?$}, false]
979
+ ]
980
+ )
981
+ .with_bindings(
982
+ uri_method: :get,
983
+ uri_template: "/ui/{name}/operations",
984
+ matches: [
985
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/?$}, false]
986
+ ]
987
+ )
988
+ .with_bindings(
989
+ uri_method: :get,
990
+ uri_template: "/ui/{name}/operations",
991
+ matches: [
992
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/?$}, false]
993
+ ]
994
+ )
995
+ .with_bindings(
996
+ uri_method: :get,
997
+ uri_template: "/ui/{name}/operations",
998
+ matches: [
999
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/?$}, false]
1000
+ ]
1001
+ )
1002
+ .with_bindings(
1003
+ uri_method: :get,
1004
+ uri_template: "/ui/{name}/operations",
1005
+ matches: [
1006
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/?$}, false]
1007
+ ]
1008
+ )
1009
+ .with_bindings(
1010
+ uri_method: :get,
1011
+ uri_template: "/ui/{name}/operations",
1012
+ matches: [
1013
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/?$}, false]
1014
+ ]
1015
+ )
1016
+ .with_bindings(
1017
+ uri_method: :get,
1018
+ uri_template: "/ui/{name}/operations",
1019
+ matches: [
1020
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/?$}, false]
1021
+ ]
1022
+ )
1023
+ .with_bindings(
1024
+ uri_method: :get,
1025
+ uri_template: "/ui/{name}/operations",
1026
+ matches: [
1027
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/?$}, false]
1028
+ ]
1029
+ )
1030
+ .with_bindings(
1031
+ uri_method: :get,
1032
+ uri_template: "/ui/{name}/operations",
1033
+ matches: [
1034
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/?$}, false]
1035
+ ]
1036
+ )
1037
+ .with_bindings(
1038
+ uri_method: :get,
1039
+ uri_template: "/ui/{name}/operations",
1040
+ matches: [
1041
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/?$}, false]
1042
+ ]
1043
+ )
1044
+ .with_bindings(
1045
+ uri_method: :get,
1046
+ uri_template: "/ui/{name}/operations",
1047
+ matches: [
1048
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensions/[^/]+/?$}, false]
1049
+ ]
1050
+ )
1051
+ .with_bindings(
1052
+ uri_method: :get,
1053
+ uri_template: "/ui/{name}/operations",
1054
+ matches: [
1055
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/?$}, false]
1056
+ ]
1057
+ )
1058
+ .with_bindings(
1059
+ uri_method: :get,
1060
+ uri_template: "/ui/{name}/operations",
1061
+ matches: [
1062
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/?$}, false]
1063
+ ]
1064
+ )
1065
+ .with_bindings(
1066
+ uri_method: :get,
1067
+ uri_template: "/ui/{name}/operations",
1068
+ matches: [
1069
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/?$}, false]
1070
+ ]
1071
+ )
1072
+ .with_bindings(
1073
+ uri_method: :get,
1074
+ uri_template: "/ui/{name}/operations",
1075
+ matches: [
1076
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/?$}, false]
1077
+ ]
1078
+ )
1079
+ .with_bindings(
1080
+ uri_method: :get,
1081
+ uri_template: "/ui/{name}/operations",
1082
+ matches: [
1083
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/?$}, false]
1084
+ ]
1085
+ )
1086
+ .with_bindings(
1087
+ uri_method: :get,
1088
+ uri_template: "/ui/{name}/operations",
1089
+ matches: [
1090
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/?$}, false]
1091
+ ]
1092
+ )
1093
+ .with_bindings(
1094
+ uri_method: :get,
1095
+ uri_template: "/ui/{name}/operations",
1096
+ matches: [
1097
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/?$}, false]
1098
+ ]
1099
+ )
1100
+ .with_bindings(
1101
+ uri_method: :get,
1102
+ uri_template: "/ui/{name}/operations",
1103
+ matches: [
1104
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/?$}, false]
1105
+ ]
1106
+ )
1107
+ .with_bindings(
1108
+ uri_method: :get,
1109
+ uri_template: "/ui/{name}/operations",
1110
+ matches: [
1111
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/?$}, false]
1112
+ ]
1113
+ )
1114
+ .with_bindings(
1115
+ uri_method: :get,
1116
+ uri_template: "/ui/{name}/operations",
1117
+ matches: [
1118
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/?$}, false]
1119
+ ]
1120
+ )
1121
+ .with_bindings(
1122
+ uri_method: :get,
1123
+ uri_template: "/ui/{name}/operations",
1124
+ matches: [
1125
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/?$}, false]
1126
+ ]
1127
+ )
1128
+ .with_bindings(
1129
+ uri_method: :get,
1130
+ uri_template: "/ui/{name}/operations",
1131
+ matches: [
1132
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/?$}, false]
1133
+ ]
1134
+ )
1135
+ .with_bindings(
1136
+ uri_method: :get,
1137
+ uri_template: "/ui/{name}/operations",
1138
+ matches: [
1139
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/?$}, false]
1140
+ ]
1141
+ )
1142
+ .with_bindings(
1143
+ uri_method: :get,
1144
+ uri_template: "/ui/{name}/operations",
1145
+ matches: [
1146
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/?$}, false]
1147
+ ]
1148
+ )
1149
+ .with_bindings(
1150
+ uri_method: :get,
1151
+ uri_template: "/ui/{name}/operations",
1152
+ matches: [
1153
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/?$}, false]
1154
+ ]
1155
+ )
1156
+ .with_bindings(
1157
+ uri_method: :get,
1158
+ uri_template: "/ui/{name}/operations",
1159
+ matches: [
1160
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/?$}, false]
1161
+ ]
1162
+ )
1163
+ .with_bindings(
1164
+ uri_method: :get,
1165
+ uri_template: "/ui/{name}/operations",
1166
+ matches: [
1167
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/?$}, false]
1168
+ ]
1169
+ )
1170
+ .with_bindings(
1171
+ uri_method: :get,
1172
+ uri_template: "/ui/{name}/operations",
1173
+ matches: [
1174
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/?$}, false]
1175
+ ]
1176
+ )
1177
+ .with_bindings(
1178
+ uri_method: :get,
1179
+ uri_template: "/ui/{name}/operations",
1180
+ matches: [
1181
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/?$}, false]
1182
+ ]
1183
+ )
1184
+ .with_bindings(
1185
+ uri_method: :get,
1186
+ uri_template: "/ui/{name}/operations",
1187
+ matches: [
1188
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/?$}, false]
1189
+ ]
1190
+ )
1191
+ .with_bindings(
1192
+ uri_method: :get,
1193
+ uri_template: "/ui/{name}/operations",
1194
+ matches: [
1195
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/?$}, false]
1196
+ ]
1197
+ )
1198
+ .with_bindings(
1199
+ uri_method: :get,
1200
+ uri_template: "/ui/{name}/operations",
1201
+ matches: [
1202
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/?$}, false]
1203
+ ]
1204
+ )
1205
+ .with_bindings(
1206
+ uri_method: :get,
1207
+ uri_template: "/ui/{name}/operations",
1208
+ matches: [
1209
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/?$}, false]
1210
+ ]
1211
+ )
1212
+ .with_bindings(
1213
+ uri_method: :get,
1214
+ uri_template: "/ui/{name}/operations",
1215
+ matches: [
1216
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/?$}, false]
1217
+ ]
1218
+ )
1219
+ .with_bindings(
1220
+ uri_method: :get,
1221
+ uri_template: "/ui/{name}/operations",
1222
+ matches: [
1223
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/?$}, false]
1224
+ ]
1225
+ )
1226
+ .with_bindings(
1227
+ uri_method: :get,
1228
+ uri_template: "/ui/{name}/operations",
1229
+ matches: [
1230
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/?$}, false]
1231
+ ]
1232
+ )
1233
+ .with_bindings(
1234
+ uri_method: :get,
1235
+ uri_template: "/ui/{name}/operations",
1236
+ matches: [
1237
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/?$}, false]
1238
+ ]
1239
+ )
1240
+ .with_bindings(
1241
+ uri_method: :get,
1242
+ uri_template: "/ui/{name}/operations",
1243
+ matches: [
1244
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/?$}, false]
1245
+ ]
1246
+ )
1247
+ .with_bindings(
1248
+ uri_method: :get,
1249
+ uri_template: "/ui/{name}/operations",
1250
+ matches: [
1251
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/?$}, false]
1252
+ ]
1253
+ )
1254
+ .with_bindings(
1255
+ uri_method: :get,
1256
+ uri_template: "/ui/{name}/operations",
1257
+ matches: [
1258
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/?$}, false]
1259
+ ]
1260
+ )
1261
+ .with_bindings(
1262
+ uri_method: :get,
1263
+ uri_template: "/ui/{name}/operations",
1264
+ matches: [
1265
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/?$}, false]
1266
+ ]
1267
+ )
1268
+ .with_bindings(
1269
+ uri_method: :get,
1270
+ uri_template: "/ui/{name}/operations",
1271
+ matches: [
1272
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/?$}, false]
1273
+ ]
1274
+ )
1275
+ .with_bindings(
1276
+ uri_method: :get,
1277
+ uri_template: "/ui/{name}:wait",
1278
+ matches: [
1279
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
1280
+ ]
1281
+ )
1282
+ .with_bindings(
1283
+ uri_method: :get,
1284
+ uri_template: "/ui/{name}:wait",
1285
+ matches: [
1286
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
1287
+ ]
1288
+ )
1289
+ .with_bindings(
1290
+ uri_method: :get,
1291
+ uri_template: "/ui/{name}:wait",
1292
+ matches: [
1293
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
1294
+ ]
1295
+ )
1296
+ .with_bindings(
1297
+ uri_method: :get,
1298
+ uri_template: "/ui/{name}:wait",
1299
+ matches: [
1300
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
1301
+ ]
1302
+ )
1303
+ .with_bindings(
1304
+ uri_method: :get,
1305
+ uri_template: "/v1/{name}/operations",
1306
+ matches: [
1307
+ ["name", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
1308
+ ]
1309
+ )
1310
+ .with_bindings(
1311
+ uri_method: :get,
1312
+ uri_template: "/v1/{name}/operations",
1313
+ matches: [
1314
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/?$}, false]
1315
+ ]
1316
+ )
1317
+ .with_bindings(
1318
+ uri_method: :get,
1319
+ uri_template: "/v1/{name}/operations",
1320
+ matches: [
1321
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/?$}, false]
1322
+ ]
1323
+ )
1324
+ .with_bindings(
1325
+ uri_method: :get,
1326
+ uri_template: "/v1/{name}/operations",
1327
+ matches: [
1328
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/?$}, false]
1329
+ ]
1330
+ )
1331
+ .with_bindings(
1332
+ uri_method: :get,
1333
+ uri_template: "/v1/{name}/operations",
1334
+ matches: [
1335
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/?$}, false]
1336
+ ]
1337
+ )
1338
+ .with_bindings(
1339
+ uri_method: :get,
1340
+ uri_template: "/v1/{name}/operations",
1341
+ matches: [
1342
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/?$}, false]
1343
+ ]
1344
+ )
1345
+ .with_bindings(
1346
+ uri_method: :get,
1347
+ uri_template: "/v1/{name}/operations",
1348
+ matches: [
1349
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/?$}, false]
1350
+ ]
1351
+ )
1352
+ .with_bindings(
1353
+ uri_method: :get,
1354
+ uri_template: "/v1/{name}/operations",
1355
+ matches: [
1356
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/?$}, false]
1357
+ ]
1358
+ )
1359
+ .with_bindings(
1360
+ uri_method: :get,
1361
+ uri_template: "/v1/{name}/operations",
1362
+ matches: [
1363
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/?$}, false]
1364
+ ]
1365
+ )
1366
+ .with_bindings(
1367
+ uri_method: :get,
1368
+ uri_template: "/v1/{name}/operations",
1369
+ matches: [
1370
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/?$}, false]
1371
+ ]
1372
+ )
1373
+ .with_bindings(
1374
+ uri_method: :get,
1375
+ uri_template: "/v1/{name}/operations",
1376
+ matches: [
1377
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/?$}, false]
1378
+ ]
1379
+ )
1380
+ .with_bindings(
1381
+ uri_method: :get,
1382
+ uri_template: "/v1/{name}/operations",
1383
+ matches: [
1384
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/?$}, false]
1385
+ ]
1386
+ )
1387
+ .with_bindings(
1388
+ uri_method: :get,
1389
+ uri_template: "/v1/{name}/operations",
1390
+ matches: [
1391
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/?$}, false]
1392
+ ]
1393
+ )
1394
+ .with_bindings(
1395
+ uri_method: :get,
1396
+ uri_template: "/v1/{name}/operations",
1397
+ matches: [
1398
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/?$}, false]
1399
+ ]
1400
+ )
1401
+ .with_bindings(
1402
+ uri_method: :get,
1403
+ uri_template: "/v1/{name}/operations",
1404
+ matches: [
1405
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/?$}, false]
1406
+ ]
1407
+ )
1408
+ .with_bindings(
1409
+ uri_method: :get,
1410
+ uri_template: "/v1/{name}/operations",
1411
+ matches: [
1412
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/?$}, false]
1413
+ ]
1414
+ )
1415
+ .with_bindings(
1416
+ uri_method: :get,
1417
+ uri_template: "/v1/{name}/operations",
1418
+ matches: [
1419
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/?$}, false]
1420
+ ]
1421
+ )
1422
+ .with_bindings(
1423
+ uri_method: :get,
1424
+ uri_template: "/v1/{name}/operations",
1425
+ matches: [
1426
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/?$}, false]
1427
+ ]
1428
+ )
1429
+ .with_bindings(
1430
+ uri_method: :get,
1431
+ uri_template: "/v1/{name}/operations",
1432
+ matches: [
1433
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/?$}, false]
1434
+ ]
1435
+ )
1436
+ .with_bindings(
1437
+ uri_method: :get,
1438
+ uri_template: "/v1/{name}/operations",
1439
+ matches: [
1440
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/?$}, false]
1441
+ ]
1442
+ )
1443
+ .with_bindings(
1444
+ uri_method: :get,
1445
+ uri_template: "/v1/{name}/operations",
1446
+ matches: [
1447
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/?$}, false]
1448
+ ]
1449
+ )
1450
+ .with_bindings(
1451
+ uri_method: :get,
1452
+ uri_template: "/v1/{name}/operations",
1453
+ matches: [
1454
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/?$}, false]
1455
+ ]
1456
+ )
1457
+ .with_bindings(
1458
+ uri_method: :get,
1459
+ uri_template: "/v1/{name}/operations",
1460
+ matches: [
1461
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/?$}, false]
1462
+ ]
1463
+ )
1464
+ .with_bindings(
1465
+ uri_method: :get,
1466
+ uri_template: "/v1/{name}/operations",
1467
+ matches: [
1468
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/?$}, false]
1469
+ ]
1470
+ )
1471
+ .with_bindings(
1472
+ uri_method: :get,
1473
+ uri_template: "/v1/{name}/operations",
1474
+ matches: [
1475
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/?$}, false]
1476
+ ]
1477
+ )
1478
+ .with_bindings(
1479
+ uri_method: :get,
1480
+ uri_template: "/v1/{name}/operations",
1481
+ matches: [
1482
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/?$}, false]
1483
+ ]
1484
+ )
1485
+ .with_bindings(
1486
+ uri_method: :get,
1487
+ uri_template: "/v1/{name}/operations",
1488
+ matches: [
1489
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/?$}, false]
1490
+ ]
1491
+ )
1492
+ .with_bindings(
1493
+ uri_method: :get,
1494
+ uri_template: "/v1/{name}/operations",
1495
+ matches: [
1496
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/?$}, false]
1497
+ ]
1498
+ )
1499
+ .with_bindings(
1500
+ uri_method: :get,
1501
+ uri_template: "/v1/{name}/operations",
1502
+ matches: [
1503
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/?$}, false]
1504
+ ]
1505
+ )
1506
+ .with_bindings(
1507
+ uri_method: :get,
1508
+ uri_template: "/v1/{name}/operations",
1509
+ matches: [
1510
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/?$}, false]
1511
+ ]
1512
+ )
1513
+ .with_bindings(
1514
+ uri_method: :get,
1515
+ uri_template: "/v1/{name}/operations",
1516
+ matches: [
1517
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/?$}, false]
1518
+ ]
1519
+ )
1520
+ .with_bindings(
1521
+ uri_method: :get,
1522
+ uri_template: "/v1/{name}/operations",
1523
+ matches: [
1524
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/?$}, false]
1525
+ ]
1526
+ )
1527
+ .with_bindings(
1528
+ uri_method: :get,
1529
+ uri_template: "/v1/{name}/operations",
1530
+ matches: [
1531
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/?$}, false]
1532
+ ]
1533
+ )
1534
+ .with_bindings(
1535
+ uri_method: :get,
1536
+ uri_template: "/v1/{name}/operations",
1537
+ matches: [
1538
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/?$}, false]
1539
+ ]
1540
+ )
1541
+ .with_bindings(
1542
+ uri_method: :get,
1543
+ uri_template: "/v1/{name}/operations",
1544
+ matches: [
1545
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/?$}, false]
1546
+ ]
1547
+ )
1548
+ .with_bindings(
1549
+ uri_method: :get,
1550
+ uri_template: "/v1/{name}/operations",
1551
+ matches: [
1552
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/?$}, false]
1553
+ ]
1554
+ )
1555
+ .with_bindings(
1556
+ uri_method: :get,
1557
+ uri_template: "/v1/{name}/operations",
1558
+ matches: [
1559
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/?$}, false]
1560
+ ]
1561
+ )
1562
+ .with_bindings(
1563
+ uri_method: :get,
1564
+ uri_template: "/v1/{name}/operations",
1565
+ matches: [
1566
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/?$}, false]
1567
+ ]
1568
+ )
1569
+ .with_bindings(
1570
+ uri_method: :get,
1571
+ uri_template: "/v1/{name}/operations",
1572
+ matches: [
1573
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/?$}, false]
1574
+ ]
1575
+ )
1576
+ .with_bindings(
1577
+ uri_method: :get,
1578
+ uri_template: "/v1/{name}/operations",
1579
+ matches: [
1580
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/?$}, false]
1581
+ ]
1582
+ )
1583
+ .with_bindings(
1584
+ uri_method: :get,
1585
+ uri_template: "/v1/{name}/operations",
1586
+ matches: [
1587
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/?$}, false]
1588
+ ]
1589
+ )
1590
+ .with_bindings(
1591
+ uri_method: :get,
1592
+ uri_template: "/v1/{name}:wait",
1593
+ matches: [
1594
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
1595
+ ]
1596
+ )
1597
+ .with_bindings(
1598
+ uri_method: :get,
1599
+ uri_template: "/v1/{name}:wait",
1600
+ matches: [
1601
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
1602
+ ]
1603
+ )
1604
+ .with_bindings(
1605
+ uri_method: :get,
1606
+ uri_template: "/v1/{name}:wait",
1607
+ matches: [
1608
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
1609
+ ]
1610
+ )
1611
+ .with_bindings(
1612
+ uri_method: :get,
1613
+ uri_template: "/v1/{name}:wait",
1614
+ matches: [
1615
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
1616
+ ]
1617
+ )
1618
+ transcoder.transcode request_pb
1619
+ end
1620
+
1621
+ ##
1622
+ # @private
1623
+ #
1624
+ # GRPC transcoding helper method for the get_operation REST call
1625
+ #
1626
+ # @param request_pb [::Google::Longrunning::GetOperationRequest]
1627
+ # A request object representing the call parameters. Required.
1628
+ # @return [Array(String, [String, nil], Hash{String => String})]
1629
+ # Uri, Body, Query string parameters
1630
+ def self.transcode_get_operation_request request_pb
1631
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1632
+ .with_bindings(
1633
+ uri_method: :get,
1634
+ uri_template: "/ui/{name}",
1635
+ matches: [
1636
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
1637
+ ]
1638
+ )
1639
+ .with_bindings(
1640
+ uri_method: :get,
1641
+ uri_template: "/ui/{name}",
1642
+ matches: [
1643
+ ["name", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+/?$}, false]
1644
+ ]
1645
+ )
1646
+ .with_bindings(
1647
+ uri_method: :get,
1648
+ uri_template: "/ui/{name}",
1649
+ matches: [
1650
+ ["name", %r{^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+/?$}, false]
1651
+ ]
1652
+ )
1653
+ .with_bindings(
1654
+ uri_method: :get,
1655
+ uri_template: "/ui/{name}",
1656
+ matches: [
1657
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
1658
+ ]
1659
+ )
1660
+ .with_bindings(
1661
+ uri_method: :get,
1662
+ uri_template: "/ui/{name}",
1663
+ matches: [
1664
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
1665
+ ]
1666
+ )
1667
+ .with_bindings(
1668
+ uri_method: :get,
1669
+ uri_template: "/ui/{name}",
1670
+ matches: [
1671
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
1672
+ ]
1673
+ )
1674
+ .with_bindings(
1675
+ uri_method: :get,
1676
+ uri_template: "/ui/{name}",
1677
+ matches: [
1678
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
1679
+ ]
1680
+ )
1681
+ .with_bindings(
1682
+ uri_method: :get,
1683
+ uri_template: "/ui/{name}",
1684
+ matches: [
1685
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
1686
+ ]
1687
+ )
1688
+ .with_bindings(
1689
+ uri_method: :get,
1690
+ uri_template: "/ui/{name}",
1691
+ matches: [
1692
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
1693
+ ]
1694
+ )
1695
+ .with_bindings(
1696
+ uri_method: :get,
1697
+ uri_template: "/ui/{name}",
1698
+ matches: [
1699
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDeploymentJobs/[^/]+/operations/[^/]+/?$}, false]
1700
+ ]
1701
+ )
1702
+ .with_bindings(
1703
+ uri_method: :get,
1704
+ uri_template: "/ui/{name}",
1705
+ matches: [
1706
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+/?$}, false]
1707
+ ]
1708
+ )
1709
+ .with_bindings(
1710
+ uri_method: :get,
1711
+ uri_template: "/ui/{name}",
1712
+ matches: [
1713
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
1714
+ ]
1715
+ )
1716
+ .with_bindings(
1717
+ uri_method: :get,
1718
+ uri_template: "/ui/{name}",
1719
+ matches: [
1720
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+/?$}, false]
1721
+ ]
1722
+ )
1723
+ .with_bindings(
1724
+ uri_method: :get,
1725
+ uri_template: "/ui/{name}",
1726
+ matches: [
1727
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+/?$}, false]
1728
+ ]
1729
+ )
1730
+ .with_bindings(
1731
+ uri_method: :get,
1732
+ uri_template: "/ui/{name}",
1733
+ matches: [
1734
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
1735
+ ]
1736
+ )
1737
+ .with_bindings(
1738
+ uri_method: :get,
1739
+ uri_template: "/ui/{name}",
1740
+ matches: [
1741
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
1742
+ ]
1743
+ )
1744
+ .with_bindings(
1745
+ uri_method: :get,
1746
+ uri_template: "/ui/{name}",
1747
+ matches: [
1748
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
1749
+ ]
1750
+ )
1751
+ .with_bindings(
1752
+ uri_method: :get,
1753
+ uri_template: "/ui/{name}",
1754
+ matches: [
1755
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
1756
+ ]
1757
+ )
1758
+ .with_bindings(
1759
+ uri_method: :get,
1760
+ uri_template: "/ui/{name}",
1761
+ matches: [
1762
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
1763
+ ]
1764
+ )
1765
+ .with_bindings(
1766
+ uri_method: :get,
1767
+ uri_template: "/ui/{name}",
1768
+ matches: [
1769
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
1770
+ ]
1771
+ )
1772
+ .with_bindings(
1773
+ uri_method: :get,
1774
+ uri_template: "/ui/{name}",
1775
+ matches: [
1776
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+/?$}, false]
1777
+ ]
1778
+ )
1779
+ .with_bindings(
1780
+ uri_method: :get,
1781
+ uri_template: "/ui/{name}",
1782
+ matches: [
1783
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
1784
+ ]
1785
+ )
1786
+ .with_bindings(
1787
+ uri_method: :get,
1788
+ uri_template: "/ui/{name}",
1789
+ matches: [
1790
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
1791
+ ]
1792
+ )
1793
+ .with_bindings(
1794
+ uri_method: :get,
1795
+ uri_template: "/ui/{name}",
1796
+ matches: [
1797
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
1798
+ ]
1799
+ )
1800
+ .with_bindings(
1801
+ uri_method: :get,
1802
+ uri_template: "/ui/{name}",
1803
+ matches: [
1804
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
1805
+ ]
1806
+ )
1807
+ .with_bindings(
1808
+ uri_method: :get,
1809
+ uri_template: "/ui/{name}",
1810
+ matches: [
1811
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
1812
+ ]
1813
+ )
1814
+ .with_bindings(
1815
+ uri_method: :get,
1816
+ uri_template: "/ui/{name}",
1817
+ matches: [
1818
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
1819
+ ]
1820
+ )
1821
+ .with_bindings(
1822
+ uri_method: :get,
1823
+ uri_template: "/ui/{name}",
1824
+ matches: [
1825
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
1826
+ ]
1827
+ )
1828
+ .with_bindings(
1829
+ uri_method: :get,
1830
+ uri_template: "/ui/{name}",
1831
+ matches: [
1832
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+/?$}, false]
1833
+ ]
1834
+ )
1835
+ .with_bindings(
1836
+ uri_method: :get,
1837
+ uri_template: "/ui/{name}",
1838
+ matches: [
1839
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
1840
+ ]
1841
+ )
1842
+ .with_bindings(
1843
+ uri_method: :get,
1844
+ uri_template: "/ui/{name}",
1845
+ matches: [
1846
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
1847
+ ]
1848
+ )
1849
+ .with_bindings(
1850
+ uri_method: :get,
1851
+ uri_template: "/ui/{name}",
1852
+ matches: [
1853
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
1854
+ ]
1855
+ )
1856
+ .with_bindings(
1857
+ uri_method: :get,
1858
+ uri_template: "/ui/{name}",
1859
+ matches: [
1860
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
1861
+ ]
1862
+ )
1863
+ .with_bindings(
1864
+ uri_method: :get,
1865
+ uri_template: "/ui/{name}",
1866
+ matches: [
1867
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
1868
+ ]
1869
+ )
1870
+ .with_bindings(
1871
+ uri_method: :get,
1872
+ uri_template: "/ui/{name}",
1873
+ matches: [
1874
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
1875
+ ]
1876
+ )
1877
+ .with_bindings(
1878
+ uri_method: :get,
1879
+ uri_template: "/ui/{name}",
1880
+ matches: [
1881
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
1882
+ ]
1883
+ )
1884
+ .with_bindings(
1885
+ uri_method: :get,
1886
+ uri_template: "/ui/{name}",
1887
+ matches: [
1888
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
1889
+ ]
1890
+ )
1891
+ .with_bindings(
1892
+ uri_method: :get,
1893
+ uri_template: "/ui/{name}",
1894
+ matches: [
1895
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
1896
+ ]
1897
+ )
1898
+ .with_bindings(
1899
+ uri_method: :get,
1900
+ uri_template: "/ui/{name}",
1901
+ matches: [
1902
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
1903
+ ]
1904
+ )
1905
+ .with_bindings(
1906
+ uri_method: :get,
1907
+ uri_template: "/ui/{name}",
1908
+ matches: [
1909
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
1910
+ ]
1911
+ )
1912
+ .with_bindings(
1913
+ uri_method: :get,
1914
+ uri_template: "/ui/{name}",
1915
+ matches: [
1916
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
1917
+ ]
1918
+ )
1919
+ .with_bindings(
1920
+ uri_method: :get,
1921
+ uri_template: "/ui/{name}",
1922
+ matches: [
1923
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
1924
+ ]
1925
+ )
1926
+ .with_bindings(
1927
+ uri_method: :get,
1928
+ uri_template: "/ui/{name}",
1929
+ matches: [
1930
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
1931
+ ]
1932
+ )
1933
+ .with_bindings(
1934
+ uri_method: :get,
1935
+ uri_template: "/ui/{name}",
1936
+ matches: [
1937
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
1938
+ ]
1939
+ )
1940
+ .with_bindings(
1941
+ uri_method: :get,
1942
+ uri_template: "/ui/{name}",
1943
+ matches: [
1944
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
1945
+ ]
1946
+ )
1947
+ .with_bindings(
1948
+ uri_method: :get,
1949
+ uri_template: "/ui/{name}",
1950
+ matches: [
1951
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
1952
+ ]
1953
+ )
1954
+ .with_bindings(
1955
+ uri_method: :get,
1956
+ uri_template: "/ui/{name}",
1957
+ matches: [
1958
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
1959
+ ]
1960
+ )
1961
+ .with_bindings(
1962
+ uri_method: :get,
1963
+ uri_template: "/ui/{name}",
1964
+ matches: [
1965
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
1966
+ ]
1967
+ )
1968
+ .with_bindings(
1969
+ uri_method: :get,
1970
+ uri_template: "/ui/{name}",
1971
+ matches: [
1972
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
1973
+ ]
1974
+ )
1975
+ .with_bindings(
1976
+ uri_method: :get,
1977
+ uri_template: "/ui/{name}",
1978
+ matches: [
1979
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
1980
+ ]
1981
+ )
1982
+ .with_bindings(
1983
+ uri_method: :get,
1984
+ uri_template: "/v1/{name}",
1985
+ matches: [
1986
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
1987
+ ]
1988
+ )
1989
+ .with_bindings(
1990
+ uri_method: :get,
1991
+ uri_template: "/v1/{name}",
1992
+ matches: [
1993
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
1994
+ ]
1995
+ )
1996
+ .with_bindings(
1997
+ uri_method: :get,
1998
+ uri_template: "/v1/{name}",
1999
+ matches: [
2000
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
2001
+ ]
2002
+ )
2003
+ .with_bindings(
2004
+ uri_method: :get,
2005
+ uri_template: "/v1/{name}",
2006
+ matches: [
2007
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
2008
+ ]
2009
+ )
2010
+ .with_bindings(
2011
+ uri_method: :get,
2012
+ uri_template: "/v1/{name}",
2013
+ matches: [
2014
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
2015
+ ]
2016
+ )
2017
+ .with_bindings(
2018
+ uri_method: :get,
2019
+ uri_template: "/v1/{name}",
2020
+ matches: [
2021
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
2022
+ ]
2023
+ )
2024
+ .with_bindings(
2025
+ uri_method: :get,
2026
+ uri_template: "/v1/{name}",
2027
+ matches: [
2028
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
2029
+ ]
2030
+ )
2031
+ .with_bindings(
2032
+ uri_method: :get,
2033
+ uri_template: "/v1/{name}",
2034
+ matches: [
2035
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
2036
+ ]
2037
+ )
2038
+ .with_bindings(
2039
+ uri_method: :get,
2040
+ uri_template: "/v1/{name}",
2041
+ matches: [
2042
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
2043
+ ]
2044
+ )
2045
+ .with_bindings(
2046
+ uri_method: :get,
2047
+ uri_template: "/v1/{name}",
2048
+ matches: [
2049
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
2050
+ ]
2051
+ )
2052
+ .with_bindings(
2053
+ uri_method: :get,
2054
+ uri_template: "/v1/{name}",
2055
+ matches: [
2056
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2057
+ ]
2058
+ )
2059
+ .with_bindings(
2060
+ uri_method: :get,
2061
+ uri_template: "/v1/{name}",
2062
+ matches: [
2063
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
2064
+ ]
2065
+ )
2066
+ .with_bindings(
2067
+ uri_method: :get,
2068
+ uri_template: "/v1/{name}",
2069
+ matches: [
2070
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
2071
+ ]
2072
+ )
2073
+ .with_bindings(
2074
+ uri_method: :get,
2075
+ uri_template: "/v1/{name}",
2076
+ matches: [
2077
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
2078
+ ]
2079
+ )
2080
+ .with_bindings(
2081
+ uri_method: :get,
2082
+ uri_template: "/v1/{name}",
2083
+ matches: [
2084
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+/?$}, false]
2085
+ ]
2086
+ )
2087
+ .with_bindings(
2088
+ uri_method: :get,
2089
+ uri_template: "/v1/{name}",
2090
+ matches: [
2091
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
2092
+ ]
2093
+ )
2094
+ .with_bindings(
2095
+ uri_method: :get,
2096
+ uri_template: "/v1/{name}",
2097
+ matches: [
2098
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
2099
+ ]
2100
+ )
2101
+ .with_bindings(
2102
+ uri_method: :get,
2103
+ uri_template: "/v1/{name}",
2104
+ matches: [
2105
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
2106
+ ]
2107
+ )
2108
+ .with_bindings(
2109
+ uri_method: :get,
2110
+ uri_template: "/v1/{name}",
2111
+ matches: [
2112
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
2113
+ ]
2114
+ )
2115
+ .with_bindings(
2116
+ uri_method: :get,
2117
+ uri_template: "/v1/{name}",
2118
+ matches: [
2119
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
2120
+ ]
2121
+ )
2122
+ .with_bindings(
2123
+ uri_method: :get,
2124
+ uri_template: "/v1/{name}",
2125
+ matches: [
2126
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
2127
+ ]
2128
+ )
2129
+ .with_bindings(
2130
+ uri_method: :get,
2131
+ uri_template: "/v1/{name}",
2132
+ matches: [
2133
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
2134
+ ]
2135
+ )
2136
+ .with_bindings(
2137
+ uri_method: :get,
2138
+ uri_template: "/v1/{name}",
2139
+ matches: [
2140
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
2141
+ ]
2142
+ )
2143
+ .with_bindings(
2144
+ uri_method: :get,
2145
+ uri_template: "/v1/{name}",
2146
+ matches: [
2147
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
2148
+ ]
2149
+ )
2150
+ .with_bindings(
2151
+ uri_method: :get,
2152
+ uri_template: "/v1/{name}",
2153
+ matches: [
2154
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
2155
+ ]
2156
+ )
2157
+ .with_bindings(
2158
+ uri_method: :get,
2159
+ uri_template: "/v1/{name}",
2160
+ matches: [
2161
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
2162
+ ]
2163
+ )
2164
+ .with_bindings(
2165
+ uri_method: :get,
2166
+ uri_template: "/v1/{name}",
2167
+ matches: [
2168
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
2169
+ ]
2170
+ )
2171
+ .with_bindings(
2172
+ uri_method: :get,
2173
+ uri_template: "/v1/{name}",
2174
+ matches: [
2175
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
2176
+ ]
2177
+ )
2178
+ .with_bindings(
2179
+ uri_method: :get,
2180
+ uri_template: "/v1/{name}",
2181
+ matches: [
2182
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+/?$}, false]
2183
+ ]
2184
+ )
2185
+ .with_bindings(
2186
+ uri_method: :get,
2187
+ uri_template: "/v1/{name}",
2188
+ matches: [
2189
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+/?$}, false]
2190
+ ]
2191
+ )
2192
+ .with_bindings(
2193
+ uri_method: :get,
2194
+ uri_template: "/v1/{name}",
2195
+ matches: [
2196
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
2197
+ ]
2198
+ )
2199
+ .with_bindings(
2200
+ uri_method: :get,
2201
+ uri_template: "/v1/{name}",
2202
+ matches: [
2203
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
2204
+ ]
2205
+ )
2206
+ .with_bindings(
2207
+ uri_method: :get,
2208
+ uri_template: "/v1/{name}",
2209
+ matches: [
2210
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
2211
+ ]
2212
+ )
2213
+ .with_bindings(
2214
+ uri_method: :get,
2215
+ uri_template: "/v1/{name}",
2216
+ matches: [
2217
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
2218
+ ]
2219
+ )
2220
+ .with_bindings(
2221
+ uri_method: :get,
2222
+ uri_template: "/v1/{name}",
2223
+ matches: [
2224
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
2225
+ ]
2226
+ )
2227
+ .with_bindings(
2228
+ uri_method: :get,
2229
+ uri_template: "/v1/{name}",
2230
+ matches: [
2231
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
2232
+ ]
2233
+ )
2234
+ .with_bindings(
2235
+ uri_method: :get,
2236
+ uri_template: "/v1/{name}",
2237
+ matches: [
2238
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
2239
+ ]
2240
+ )
2241
+ .with_bindings(
2242
+ uri_method: :get,
2243
+ uri_template: "/v1/{name}",
2244
+ matches: [
2245
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
2246
+ ]
2247
+ )
2248
+ .with_bindings(
2249
+ uri_method: :get,
2250
+ uri_template: "/v1/{name}",
2251
+ matches: [
2252
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
2253
+ ]
2254
+ )
2255
+ .with_bindings(
2256
+ uri_method: :get,
2257
+ uri_template: "/v1/{name}",
2258
+ matches: [
2259
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
2260
+ ]
2261
+ )
2262
+ .with_bindings(
2263
+ uri_method: :get,
2264
+ uri_template: "/v1/{name}",
2265
+ matches: [
2266
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
2267
+ ]
2268
+ )
2269
+ .with_bindings(
2270
+ uri_method: :get,
2271
+ uri_template: "/v1/{name}",
2272
+ matches: [
2273
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
2274
+ ]
2275
+ )
2276
+ .with_bindings(
2277
+ uri_method: :get,
2278
+ uri_template: "/v1/{name}",
2279
+ matches: [
2280
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
2281
+ ]
2282
+ )
2283
+ .with_bindings(
2284
+ uri_method: :get,
2285
+ uri_template: "/v1/{name}",
2286
+ matches: [
2287
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
2288
+ ]
2289
+ )
2290
+ .with_bindings(
2291
+ uri_method: :get,
2292
+ uri_template: "/v1/{name}",
2293
+ matches: [
2294
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2295
+ ]
2296
+ )
2297
+ transcoder.transcode request_pb
2298
+ end
2299
+
2300
+ ##
2301
+ # @private
2302
+ #
2303
+ # GRPC transcoding helper method for the delete_operation REST call
2304
+ #
2305
+ # @param request_pb [::Google::Longrunning::DeleteOperationRequest]
2306
+ # A request object representing the call parameters. Required.
2307
+ # @return [Array(String, [String, nil], Hash{String => String})]
2308
+ # Uri, Body, Query string parameters
2309
+ def self.transcode_delete_operation_request request_pb
2310
+ transcoder = Gapic::Rest::GrpcTranscoder.new
2311
+ .with_bindings(
2312
+ uri_method: :delete,
2313
+ uri_template: "/ui/{name}",
2314
+ matches: [
2315
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
2316
+ ]
2317
+ )
2318
+ .with_bindings(
2319
+ uri_method: :delete,
2320
+ uri_template: "/ui/{name}",
2321
+ matches: [
2322
+ ["name", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+/?$}, false]
2323
+ ]
2324
+ )
2325
+ .with_bindings(
2326
+ uri_method: :delete,
2327
+ uri_template: "/ui/{name}",
2328
+ matches: [
2329
+ ["name", %r{^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+/?$}, false]
2330
+ ]
2331
+ )
2332
+ .with_bindings(
2333
+ uri_method: :delete,
2334
+ uri_template: "/ui/{name}",
2335
+ matches: [
2336
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
2337
+ ]
2338
+ )
2339
+ .with_bindings(
2340
+ uri_method: :delete,
2341
+ uri_template: "/ui/{name}",
2342
+ matches: [
2343
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
2344
+ ]
2345
+ )
2346
+ .with_bindings(
2347
+ uri_method: :delete,
2348
+ uri_template: "/ui/{name}",
2349
+ matches: [
2350
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
2351
+ ]
2352
+ )
2353
+ .with_bindings(
2354
+ uri_method: :delete,
2355
+ uri_template: "/ui/{name}",
2356
+ matches: [
2357
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
2358
+ ]
2359
+ )
2360
+ .with_bindings(
2361
+ uri_method: :delete,
2362
+ uri_template: "/ui/{name}",
2363
+ matches: [
2364
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
2365
+ ]
2366
+ )
2367
+ .with_bindings(
2368
+ uri_method: :delete,
2369
+ uri_template: "/ui/{name}",
2370
+ matches: [
2371
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
2372
+ ]
2373
+ )
2374
+ .with_bindings(
2375
+ uri_method: :delete,
2376
+ uri_template: "/ui/{name}",
2377
+ matches: [
2378
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+/?$}, false]
2379
+ ]
2380
+ )
2381
+ .with_bindings(
2382
+ uri_method: :delete,
2383
+ uri_template: "/ui/{name}",
2384
+ matches: [
2385
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
2386
+ ]
2387
+ )
2388
+ .with_bindings(
2389
+ uri_method: :delete,
2390
+ uri_template: "/ui/{name}/operations",
2391
+ matches: [
2392
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/?$}, false]
2393
+ ]
2394
+ )
2395
+ .with_bindings(
2396
+ uri_method: :delete,
2397
+ uri_template: "/ui/{name}/operations",
2398
+ matches: [
2399
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensions/[^/]+/?$}, false]
2400
+ ]
2401
+ )
2402
+ .with_bindings(
2403
+ uri_method: :delete,
2404
+ uri_template: "/ui/{name}",
2405
+ matches: [
2406
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
2407
+ ]
2408
+ )
2409
+ .with_bindings(
2410
+ uri_method: :delete,
2411
+ uri_template: "/ui/{name}",
2412
+ matches: [
2413
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
2414
+ ]
2415
+ )
2416
+ .with_bindings(
2417
+ uri_method: :delete,
2418
+ uri_template: "/ui/{name}",
2419
+ matches: [
2420
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2421
+ ]
2422
+ )
2423
+ .with_bindings(
2424
+ uri_method: :delete,
2425
+ uri_template: "/ui/{name}",
2426
+ matches: [
2427
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
2428
+ ]
2429
+ )
2430
+ .with_bindings(
2431
+ uri_method: :delete,
2432
+ uri_template: "/ui/{name}",
2433
+ matches: [
2434
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
2435
+ ]
2436
+ )
2437
+ .with_bindings(
2438
+ uri_method: :delete,
2439
+ uri_template: "/ui/{name}",
2440
+ matches: [
2441
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
2442
+ ]
2443
+ )
2444
+ .with_bindings(
2445
+ uri_method: :delete,
2446
+ uri_template: "/ui/{name}",
2447
+ matches: [
2448
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
2449
+ ]
2450
+ )
2451
+ .with_bindings(
2452
+ uri_method: :delete,
2453
+ uri_template: "/ui/{name}",
2454
+ matches: [
2455
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
2456
+ ]
2457
+ )
2458
+ .with_bindings(
2459
+ uri_method: :delete,
2460
+ uri_template: "/ui/{name}",
2461
+ matches: [
2462
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
2463
+ ]
2464
+ )
2465
+ .with_bindings(
2466
+ uri_method: :delete,
2467
+ uri_template: "/ui/{name}",
2468
+ matches: [
2469
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
2470
+ ]
2471
+ )
2472
+ .with_bindings(
2473
+ uri_method: :delete,
2474
+ uri_template: "/ui/{name}",
2475
+ matches: [
2476
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
2477
+ ]
2478
+ )
2479
+ .with_bindings(
2480
+ uri_method: :delete,
2481
+ uri_template: "/ui/{name}",
2482
+ matches: [
2483
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
2484
+ ]
2485
+ )
2486
+ .with_bindings(
2487
+ uri_method: :delete,
2488
+ uri_template: "/ui/{name}",
2489
+ matches: [
2490
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
2491
+ ]
2492
+ )
2493
+ .with_bindings(
2494
+ uri_method: :delete,
2495
+ uri_template: "/ui/{name}",
2496
+ matches: [
2497
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+/?$}, false]
2498
+ ]
2499
+ )
2500
+ .with_bindings(
2501
+ uri_method: :delete,
2502
+ uri_template: "/ui/{name}",
2503
+ matches: [
2504
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
2505
+ ]
2506
+ )
2507
+ .with_bindings(
2508
+ uri_method: :delete,
2509
+ uri_template: "/ui/{name}",
2510
+ matches: [
2511
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
2512
+ ]
2513
+ )
2514
+ .with_bindings(
2515
+ uri_method: :delete,
2516
+ uri_template: "/ui/{name}",
2517
+ matches: [
2518
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
2519
+ ]
2520
+ )
2521
+ .with_bindings(
2522
+ uri_method: :delete,
2523
+ uri_template: "/ui/{name}",
2524
+ matches: [
2525
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
2526
+ ]
2527
+ )
2528
+ .with_bindings(
2529
+ uri_method: :delete,
2530
+ uri_template: "/ui/{name}",
2531
+ matches: [
2532
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
2533
+ ]
2534
+ )
2535
+ .with_bindings(
2536
+ uri_method: :delete,
2537
+ uri_template: "/ui/{name}",
2538
+ matches: [
2539
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
2540
+ ]
2541
+ )
2542
+ .with_bindings(
2543
+ uri_method: :delete,
2544
+ uri_template: "/ui/{name}",
2545
+ matches: [
2546
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
2547
+ ]
2548
+ )
2549
+ .with_bindings(
2550
+ uri_method: :delete,
2551
+ uri_template: "/ui/{name}",
2552
+ matches: [
2553
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
2554
+ ]
2555
+ )
2556
+ .with_bindings(
2557
+ uri_method: :delete,
2558
+ uri_template: "/ui/{name}",
2559
+ matches: [
2560
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
2561
+ ]
2562
+ )
2563
+ .with_bindings(
2564
+ uri_method: :delete,
2565
+ uri_template: "/ui/{name}",
2566
+ matches: [
2567
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
2568
+ ]
2569
+ )
2570
+ .with_bindings(
2571
+ uri_method: :delete,
2572
+ uri_template: "/ui/{name}",
2573
+ matches: [
2574
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
2575
+ ]
2576
+ )
2577
+ .with_bindings(
2578
+ uri_method: :delete,
2579
+ uri_template: "/ui/{name}",
2580
+ matches: [
2581
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
2582
+ ]
2583
+ )
2584
+ .with_bindings(
2585
+ uri_method: :delete,
2586
+ uri_template: "/ui/{name}",
2587
+ matches: [
2588
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
2589
+ ]
2590
+ )
2591
+ .with_bindings(
2592
+ uri_method: :delete,
2593
+ uri_template: "/ui/{name}",
2594
+ matches: [
2595
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
2596
+ ]
2597
+ )
2598
+ .with_bindings(
2599
+ uri_method: :delete,
2600
+ uri_template: "/ui/{name}",
2601
+ matches: [
2602
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
2603
+ ]
2604
+ )
2605
+ .with_bindings(
2606
+ uri_method: :delete,
2607
+ uri_template: "/ui/{name}",
2608
+ matches: [
2609
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
2610
+ ]
2611
+ )
2612
+ .with_bindings(
2613
+ uri_method: :delete,
2614
+ uri_template: "/ui/{name}",
2615
+ matches: [
2616
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
2617
+ ]
2618
+ )
2619
+ .with_bindings(
2620
+ uri_method: :delete,
2621
+ uri_template: "/ui/{name}",
2622
+ matches: [
2623
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
2624
+ ]
2625
+ )
2626
+ .with_bindings(
2627
+ uri_method: :delete,
2628
+ uri_template: "/ui/{name}",
2629
+ matches: [
2630
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
2631
+ ]
2632
+ )
2633
+ .with_bindings(
2634
+ uri_method: :delete,
2635
+ uri_template: "/ui/{name}",
2636
+ matches: [
2637
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2638
+ ]
2639
+ )
2640
+ .with_bindings(
2641
+ uri_method: :delete,
2642
+ uri_template: "/ui/{name}",
2643
+ matches: [
2644
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
2645
+ ]
2646
+ )
2647
+ .with_bindings(
2648
+ uri_method: :delete,
2649
+ uri_template: "/v1/{name}",
2650
+ matches: [
2651
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
2652
+ ]
2653
+ )
2654
+ .with_bindings(
2655
+ uri_method: :delete,
2656
+ uri_template: "/v1/{name}",
2657
+ matches: [
2658
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
2659
+ ]
2660
+ )
2661
+ .with_bindings(
2662
+ uri_method: :delete,
2663
+ uri_template: "/v1/{name}",
2664
+ matches: [
2665
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
2666
+ ]
2667
+ )
2668
+ .with_bindings(
2669
+ uri_method: :delete,
2670
+ uri_template: "/v1/{name}",
2671
+ matches: [
2672
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
2673
+ ]
2674
+ )
2675
+ .with_bindings(
2676
+ uri_method: :delete,
2677
+ uri_template: "/v1/{name}",
2678
+ matches: [
2679
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
2680
+ ]
2681
+ )
2682
+ .with_bindings(
2683
+ uri_method: :delete,
2684
+ uri_template: "/v1/{name}",
2685
+ matches: [
2686
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
2687
+ ]
2688
+ )
2689
+ .with_bindings(
2690
+ uri_method: :delete,
2691
+ uri_template: "/v1/{name}",
2692
+ matches: [
2693
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
2694
+ ]
2695
+ )
2696
+ .with_bindings(
2697
+ uri_method: :delete,
2698
+ uri_template: "/v1/{name}",
2699
+ matches: [
2700
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
2701
+ ]
2702
+ )
2703
+ .with_bindings(
2704
+ uri_method: :delete,
2705
+ uri_template: "/v1/{name}",
2706
+ matches: [
2707
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
2708
+ ]
2709
+ )
2710
+ .with_bindings(
2711
+ uri_method: :delete,
2712
+ uri_template: "/v1/{name}",
2713
+ matches: [
2714
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
2715
+ ]
2716
+ )
2717
+ .with_bindings(
2718
+ uri_method: :delete,
2719
+ uri_template: "/v1/{name}",
2720
+ matches: [
2721
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2722
+ ]
2723
+ )
2724
+ .with_bindings(
2725
+ uri_method: :delete,
2726
+ uri_template: "/v1/{name}",
2727
+ matches: [
2728
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
2729
+ ]
2730
+ )
2731
+ .with_bindings(
2732
+ uri_method: :delete,
2733
+ uri_template: "/v1/{name}",
2734
+ matches: [
2735
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
2736
+ ]
2737
+ )
2738
+ .with_bindings(
2739
+ uri_method: :delete,
2740
+ uri_template: "/v1/{name}",
2741
+ matches: [
2742
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
2743
+ ]
2744
+ )
2745
+ .with_bindings(
2746
+ uri_method: :delete,
2747
+ uri_template: "/v1/{name}",
2748
+ matches: [
2749
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
2750
+ ]
2751
+ )
2752
+ .with_bindings(
2753
+ uri_method: :delete,
2754
+ uri_template: "/v1/{name}",
2755
+ matches: [
2756
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
2757
+ ]
2758
+ )
2759
+ .with_bindings(
2760
+ uri_method: :delete,
2761
+ uri_template: "/v1/{name}",
2762
+ matches: [
2763
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
2764
+ ]
2765
+ )
2766
+ .with_bindings(
2767
+ uri_method: :delete,
2768
+ uri_template: "/v1/{name}",
2769
+ matches: [
2770
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
2771
+ ]
2772
+ )
2773
+ .with_bindings(
2774
+ uri_method: :delete,
2775
+ uri_template: "/v1/{name}",
2776
+ matches: [
2777
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
2778
+ ]
2779
+ )
2780
+ .with_bindings(
2781
+ uri_method: :delete,
2782
+ uri_template: "/v1/{name}",
2783
+ matches: [
2784
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
2785
+ ]
2786
+ )
2787
+ .with_bindings(
2788
+ uri_method: :delete,
2789
+ uri_template: "/v1/{name}",
2790
+ matches: [
2791
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
2792
+ ]
2793
+ )
2794
+ .with_bindings(
2795
+ uri_method: :delete,
2796
+ uri_template: "/v1/{name}",
2797
+ matches: [
2798
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
2799
+ ]
2800
+ )
2801
+ .with_bindings(
2802
+ uri_method: :delete,
2803
+ uri_template: "/v1/{name}",
2804
+ matches: [
2805
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
2806
+ ]
2807
+ )
2808
+ .with_bindings(
2809
+ uri_method: :delete,
2810
+ uri_template: "/v1/{name}",
2811
+ matches: [
2812
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
2813
+ ]
2814
+ )
2815
+ .with_bindings(
2816
+ uri_method: :delete,
2817
+ uri_template: "/v1/{name}",
2818
+ matches: [
2819
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
2820
+ ]
2821
+ )
2822
+ .with_bindings(
2823
+ uri_method: :delete,
2824
+ uri_template: "/v1/{name}",
2825
+ matches: [
2826
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
2827
+ ]
2828
+ )
2829
+ .with_bindings(
2830
+ uri_method: :delete,
2831
+ uri_template: "/v1/{name}",
2832
+ matches: [
2833
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
2834
+ ]
2835
+ )
2836
+ .with_bindings(
2837
+ uri_method: :delete,
2838
+ uri_template: "/v1/{name}",
2839
+ matches: [
2840
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+/?$}, false]
2841
+ ]
2842
+ )
2843
+ .with_bindings(
2844
+ uri_method: :delete,
2845
+ uri_template: "/v1/{name}",
2846
+ matches: [
2847
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+/?$}, false]
2848
+ ]
2849
+ )
2850
+ .with_bindings(
2851
+ uri_method: :delete,
2852
+ uri_template: "/v1/{name}",
2853
+ matches: [
2854
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
2855
+ ]
2856
+ )
2857
+ .with_bindings(
2858
+ uri_method: :delete,
2859
+ uri_template: "/v1/{name}",
2860
+ matches: [
2861
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
2862
+ ]
2863
+ )
2864
+ .with_bindings(
2865
+ uri_method: :delete,
2866
+ uri_template: "/v1/{name}",
2867
+ matches: [
2868
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
2869
+ ]
2870
+ )
2871
+ .with_bindings(
2872
+ uri_method: :delete,
2873
+ uri_template: "/v1/{name}",
2874
+ matches: [
2875
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
2876
+ ]
2877
+ )
2878
+ .with_bindings(
2879
+ uri_method: :delete,
2880
+ uri_template: "/v1/{name}",
2881
+ matches: [
2882
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
2883
+ ]
2884
+ )
2885
+ .with_bindings(
2886
+ uri_method: :delete,
2887
+ uri_template: "/v1/{name}",
2888
+ matches: [
2889
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
2890
+ ]
2891
+ )
2892
+ .with_bindings(
2893
+ uri_method: :delete,
2894
+ uri_template: "/v1/{name}",
2895
+ matches: [
2896
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
2897
+ ]
2898
+ )
2899
+ .with_bindings(
2900
+ uri_method: :delete,
2901
+ uri_template: "/v1/{name}",
2902
+ matches: [
2903
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
2904
+ ]
2905
+ )
2906
+ .with_bindings(
2907
+ uri_method: :delete,
2908
+ uri_template: "/v1/{name}",
2909
+ matches: [
2910
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
2911
+ ]
2912
+ )
2913
+ .with_bindings(
2914
+ uri_method: :delete,
2915
+ uri_template: "/v1/{name}",
2916
+ matches: [
2917
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
2918
+ ]
2919
+ )
2920
+ .with_bindings(
2921
+ uri_method: :delete,
2922
+ uri_template: "/v1/{name}",
2923
+ matches: [
2924
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
2925
+ ]
2926
+ )
2927
+ .with_bindings(
2928
+ uri_method: :delete,
2929
+ uri_template: "/v1/{name}",
2930
+ matches: [
2931
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
2932
+ ]
2933
+ )
2934
+ .with_bindings(
2935
+ uri_method: :delete,
2936
+ uri_template: "/v1/{name}",
2937
+ matches: [
2938
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
2939
+ ]
2940
+ )
2941
+ .with_bindings(
2942
+ uri_method: :delete,
2943
+ uri_template: "/v1/{name}",
2944
+ matches: [
2945
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
2946
+ ]
2947
+ )
2948
+ .with_bindings(
2949
+ uri_method: :delete,
2950
+ uri_template: "/v1/{name}",
2951
+ matches: [
2952
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
2953
+ ]
2954
+ )
2955
+ transcoder.transcode request_pb
2956
+ end
2957
+
2958
+ ##
2959
+ # @private
2960
+ #
2961
+ # GRPC transcoding helper method for the cancel_operation REST call
2962
+ #
2963
+ # @param request_pb [::Google::Longrunning::CancelOperationRequest]
2964
+ # A request object representing the call parameters. Required.
2965
+ # @return [Array(String, [String, nil], Hash{String => String})]
2966
+ # Uri, Body, Query string parameters
2967
+ def self.transcode_cancel_operation_request request_pb
2968
+ transcoder = Gapic::Rest::GrpcTranscoder.new
2969
+ .with_bindings(
2970
+ uri_method: :post,
2971
+ uri_template: "/ui/{name}:cancel",
2972
+ matches: [
2973
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
2974
+ ]
2975
+ )
2976
+ .with_bindings(
2977
+ uri_method: :post,
2978
+ uri_template: "/ui/{name}:cancel",
2979
+ matches: [
2980
+ ["name", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+/?$}, false]
2981
+ ]
2982
+ )
2983
+ .with_bindings(
2984
+ uri_method: :post,
2985
+ uri_template: "/ui/{name}:cancel",
2986
+ matches: [
2987
+ ["name", %r{^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+/?$}, false]
2988
+ ]
2989
+ )
2990
+ .with_bindings(
2991
+ uri_method: :post,
2992
+ uri_template: "/ui/{name}:cancel",
2993
+ matches: [
2994
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
2995
+ ]
2996
+ )
2997
+ .with_bindings(
2998
+ uri_method: :post,
2999
+ uri_template: "/ui/{name}:cancel",
3000
+ matches: [
3001
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
3002
+ ]
3003
+ )
3004
+ .with_bindings(
3005
+ uri_method: :post,
3006
+ uri_template: "/ui/{name}:cancel",
3007
+ matches: [
3008
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
3009
+ ]
3010
+ )
3011
+ .with_bindings(
3012
+ uri_method: :post,
3013
+ uri_template: "/ui/{name}:cancel",
3014
+ matches: [
3015
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
3016
+ ]
3017
+ )
3018
+ .with_bindings(
3019
+ uri_method: :post,
3020
+ uri_template: "/ui/{name}:cancel",
3021
+ matches: [
3022
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
3023
+ ]
3024
+ )
3025
+ .with_bindings(
3026
+ uri_method: :post,
3027
+ uri_template: "/ui/{name}:cancel",
3028
+ matches: [
3029
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
3030
+ ]
3031
+ )
3032
+ .with_bindings(
3033
+ uri_method: :post,
3034
+ uri_template: "/ui/{name}:cancel",
3035
+ matches: [
3036
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+/?$}, false]
3037
+ ]
3038
+ )
3039
+ .with_bindings(
3040
+ uri_method: :post,
3041
+ uri_template: "/ui/{name}:cancel",
3042
+ matches: [
3043
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
3044
+ ]
3045
+ )
3046
+ .with_bindings(
3047
+ uri_method: :post,
3048
+ uri_template: "/ui/{name}:cancel",
3049
+ matches: [
3050
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+/?$}, false]
3051
+ ]
3052
+ )
3053
+ .with_bindings(
3054
+ uri_method: :post,
3055
+ uri_template: "/ui/{name}:cancel",
3056
+ matches: [
3057
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+/?$}, false]
3058
+ ]
3059
+ )
3060
+ .with_bindings(
3061
+ uri_method: :post,
3062
+ uri_template: "/ui/{name}:cancel",
3063
+ matches: [
3064
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
3065
+ ]
3066
+ )
3067
+ .with_bindings(
3068
+ uri_method: :post,
3069
+ uri_template: "/ui/{name}:cancel",
3070
+ matches: [
3071
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
3072
+ ]
3073
+ )
3074
+ .with_bindings(
3075
+ uri_method: :post,
3076
+ uri_template: "/ui/{name}:cancel",
3077
+ matches: [
3078
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
3079
+ ]
3080
+ )
3081
+ .with_bindings(
3082
+ uri_method: :post,
3083
+ uri_template: "/ui/{name}:cancel",
3084
+ matches: [
3085
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
3086
+ ]
3087
+ )
3088
+ .with_bindings(
3089
+ uri_method: :post,
3090
+ uri_template: "/ui/{name}:cancel",
3091
+ matches: [
3092
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
3093
+ ]
3094
+ )
3095
+ .with_bindings(
3096
+ uri_method: :post,
3097
+ uri_template: "/ui/{name}:cancel",
3098
+ matches: [
3099
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
3100
+ ]
3101
+ )
3102
+ .with_bindings(
3103
+ uri_method: :post,
3104
+ uri_template: "/ui/{name}:cancel",
3105
+ matches: [
3106
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+/?$}, false]
3107
+ ]
3108
+ )
3109
+ .with_bindings(
3110
+ uri_method: :post,
3111
+ uri_template: "/ui/{name}:cancel",
3112
+ matches: [
3113
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
3114
+ ]
3115
+ )
3116
+ .with_bindings(
3117
+ uri_method: :post,
3118
+ uri_template: "/ui/{name}:cancel",
3119
+ matches: [
3120
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
3121
+ ]
3122
+ )
3123
+ .with_bindings(
3124
+ uri_method: :post,
3125
+ uri_template: "/ui/{name}:cancel",
3126
+ matches: [
3127
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
3128
+ ]
3129
+ )
3130
+ .with_bindings(
3131
+ uri_method: :post,
3132
+ uri_template: "/ui/{name}:cancel",
3133
+ matches: [
3134
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
3135
+ ]
3136
+ )
3137
+ .with_bindings(
3138
+ uri_method: :post,
3139
+ uri_template: "/ui/{name}:cancel",
3140
+ matches: [
3141
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
3142
+ ]
3143
+ )
3144
+ .with_bindings(
3145
+ uri_method: :post,
3146
+ uri_template: "/ui/{name}:cancel",
3147
+ matches: [
3148
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
3149
+ ]
3150
+ )
3151
+ .with_bindings(
3152
+ uri_method: :post,
3153
+ uri_template: "/ui/{name}:cancel",
3154
+ matches: [
3155
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
3156
+ ]
3157
+ )
3158
+ .with_bindings(
3159
+ uri_method: :post,
3160
+ uri_template: "/ui/{name}:cancel",
3161
+ matches: [
3162
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+/?$}, false]
3163
+ ]
3164
+ )
3165
+ .with_bindings(
3166
+ uri_method: :post,
3167
+ uri_template: "/ui/{name}:cancel",
3168
+ matches: [
3169
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
3170
+ ]
3171
+ )
3172
+ .with_bindings(
3173
+ uri_method: :post,
3174
+ uri_template: "/ui/{name}:cancel",
3175
+ matches: [
3176
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
3177
+ ]
3178
+ )
3179
+ .with_bindings(
3180
+ uri_method: :post,
3181
+ uri_template: "/ui/{name}:cancel",
3182
+ matches: [
3183
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
3184
+ ]
3185
+ )
3186
+ .with_bindings(
3187
+ uri_method: :post,
3188
+ uri_template: "/ui/{name}:cancel",
3189
+ matches: [
3190
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
3191
+ ]
3192
+ )
3193
+ .with_bindings(
3194
+ uri_method: :post,
3195
+ uri_template: "/ui/{name}:cancel",
3196
+ matches: [
3197
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
3198
+ ]
3199
+ )
3200
+ .with_bindings(
3201
+ uri_method: :post,
3202
+ uri_template: "/ui/{name}:cancel",
3203
+ matches: [
3204
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
3205
+ ]
3206
+ )
3207
+ .with_bindings(
3208
+ uri_method: :post,
3209
+ uri_template: "/ui/{name}:cancel",
3210
+ matches: [
3211
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
3212
+ ]
3213
+ )
3214
+ .with_bindings(
3215
+ uri_method: :post,
3216
+ uri_template: "/ui/{name}:cancel",
3217
+ matches: [
3218
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
3219
+ ]
3220
+ )
3221
+ .with_bindings(
3222
+ uri_method: :post,
3223
+ uri_template: "/ui/{name}:cancel",
3224
+ matches: [
3225
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
3226
+ ]
3227
+ )
3228
+ .with_bindings(
3229
+ uri_method: :post,
3230
+ uri_template: "/ui/{name}:cancel",
3231
+ matches: [
3232
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
3233
+ ]
3234
+ )
3235
+ .with_bindings(
3236
+ uri_method: :post,
3237
+ uri_template: "/ui/{name}:cancel",
3238
+ matches: [
3239
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
3240
+ ]
3241
+ )
3242
+ .with_bindings(
3243
+ uri_method: :post,
3244
+ uri_template: "/ui/{name}:cancel",
3245
+ matches: [
3246
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
3247
+ ]
3248
+ )
3249
+ .with_bindings(
3250
+ uri_method: :post,
3251
+ uri_template: "/ui/{name}:cancel",
3252
+ matches: [
3253
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
3254
+ ]
3255
+ )
3256
+ .with_bindings(
3257
+ uri_method: :post,
3258
+ uri_template: "/ui/{name}:cancel",
3259
+ matches: [
3260
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
3261
+ ]
3262
+ )
3263
+ .with_bindings(
3264
+ uri_method: :post,
3265
+ uri_template: "/ui/{name}:cancel",
3266
+ matches: [
3267
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
3268
+ ]
3269
+ )
3270
+ .with_bindings(
3271
+ uri_method: :post,
3272
+ uri_template: "/ui/{name}:cancel",
3273
+ matches: [
3274
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
3275
+ ]
3276
+ )
3277
+ .with_bindings(
3278
+ uri_method: :post,
3279
+ uri_template: "/ui/{name}:cancel",
3280
+ matches: [
3281
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
3282
+ ]
3283
+ )
3284
+ .with_bindings(
3285
+ uri_method: :post,
3286
+ uri_template: "/v1/{name}:cancel",
3287
+ matches: [
3288
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
3289
+ ]
3290
+ )
3291
+ .with_bindings(
3292
+ uri_method: :post,
3293
+ uri_template: "/v1/{name}:cancel",
3294
+ matches: [
3295
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
3296
+ ]
3297
+ )
3298
+ .with_bindings(
3299
+ uri_method: :post,
3300
+ uri_template: "/v1/{name}:cancel",
3301
+ matches: [
3302
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
3303
+ ]
3304
+ )
3305
+ .with_bindings(
3306
+ uri_method: :post,
3307
+ uri_template: "/v1/{name}:cancel",
3308
+ matches: [
3309
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
3310
+ ]
3311
+ )
3312
+ .with_bindings(
3313
+ uri_method: :post,
3314
+ uri_template: "/v1/{name}:cancel",
3315
+ matches: [
3316
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
3317
+ ]
3318
+ )
3319
+ .with_bindings(
3320
+ uri_method: :post,
3321
+ uri_template: "/v1/{name}:cancel",
3322
+ matches: [
3323
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
3324
+ ]
3325
+ )
3326
+ .with_bindings(
3327
+ uri_method: :post,
3328
+ uri_template: "/v1/{name}:cancel",
3329
+ matches: [
3330
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
3331
+ ]
3332
+ )
3333
+ .with_bindings(
3334
+ uri_method: :post,
3335
+ uri_template: "/v1/{name}:cancel",
3336
+ matches: [
3337
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
3338
+ ]
3339
+ )
3340
+ .with_bindings(
3341
+ uri_method: :post,
3342
+ uri_template: "/v1/{name}:cancel",
3343
+ matches: [
3344
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
3345
+ ]
3346
+ )
3347
+ .with_bindings(
3348
+ uri_method: :post,
3349
+ uri_template: "/v1/{name}:cancel",
3350
+ matches: [
3351
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
3352
+ ]
3353
+ )
3354
+ .with_bindings(
3355
+ uri_method: :post,
3356
+ uri_template: "/v1/{name}:cancel",
3357
+ matches: [
3358
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
3359
+ ]
3360
+ )
3361
+ .with_bindings(
3362
+ uri_method: :post,
3363
+ uri_template: "/v1/{name}:cancel",
3364
+ matches: [
3365
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
3366
+ ]
3367
+ )
3368
+ .with_bindings(
3369
+ uri_method: :post,
3370
+ uri_template: "/v1/{name}:cancel",
3371
+ matches: [
3372
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
3373
+ ]
3374
+ )
3375
+ .with_bindings(
3376
+ uri_method: :post,
3377
+ uri_template: "/v1/{name}:cancel",
3378
+ matches: [
3379
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
3380
+ ]
3381
+ )
3382
+ .with_bindings(
3383
+ uri_method: :post,
3384
+ uri_template: "/v1/{name}:cancel",
3385
+ matches: [
3386
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+/?$}, false]
3387
+ ]
3388
+ )
3389
+ .with_bindings(
3390
+ uri_method: :post,
3391
+ uri_template: "/v1/{name}:cancel",
3392
+ matches: [
3393
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
3394
+ ]
3395
+ )
3396
+ .with_bindings(
3397
+ uri_method: :post,
3398
+ uri_template: "/v1/{name}:cancel",
3399
+ matches: [
3400
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
3401
+ ]
3402
+ )
3403
+ .with_bindings(
3404
+ uri_method: :post,
3405
+ uri_template: "/v1/{name}:cancel",
3406
+ matches: [
3407
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
3408
+ ]
3409
+ )
3410
+ .with_bindings(
3411
+ uri_method: :post,
3412
+ uri_template: "/v1/{name}:cancel",
3413
+ matches: [
3414
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
3415
+ ]
3416
+ )
3417
+ .with_bindings(
3418
+ uri_method: :post,
3419
+ uri_template: "/v1/{name}:cancel",
3420
+ matches: [
3421
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
3422
+ ]
3423
+ )
3424
+ .with_bindings(
3425
+ uri_method: :post,
3426
+ uri_template: "/v1/{name}:cancel",
3427
+ matches: [
3428
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
3429
+ ]
3430
+ )
3431
+ .with_bindings(
3432
+ uri_method: :post,
3433
+ uri_template: "/v1/{name}:cancel",
3434
+ matches: [
3435
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
3436
+ ]
3437
+ )
3438
+ .with_bindings(
3439
+ uri_method: :post,
3440
+ uri_template: "/v1/{name}:cancel",
3441
+ matches: [
3442
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
3443
+ ]
3444
+ )
3445
+ .with_bindings(
3446
+ uri_method: :post,
3447
+ uri_template: "/v1/{name}:cancel",
3448
+ matches: [
3449
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
3450
+ ]
3451
+ )
3452
+ .with_bindings(
3453
+ uri_method: :post,
3454
+ uri_template: "/v1/{name}:cancel",
3455
+ matches: [
3456
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
3457
+ ]
3458
+ )
3459
+ .with_bindings(
3460
+ uri_method: :post,
3461
+ uri_template: "/v1/{name}:cancel",
3462
+ matches: [
3463
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
3464
+ ]
3465
+ )
3466
+ .with_bindings(
3467
+ uri_method: :post,
3468
+ uri_template: "/v1/{name}:cancel",
3469
+ matches: [
3470
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
3471
+ ]
3472
+ )
3473
+ .with_bindings(
3474
+ uri_method: :post,
3475
+ uri_template: "/v1/{name}:cancel",
3476
+ matches: [
3477
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
3478
+ ]
3479
+ )
3480
+ .with_bindings(
3481
+ uri_method: :post,
3482
+ uri_template: "/v1/{name}:cancel",
3483
+ matches: [
3484
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
3485
+ ]
3486
+ )
3487
+ .with_bindings(
3488
+ uri_method: :post,
3489
+ uri_template: "/v1/{name}:cancel",
3490
+ matches: [
3491
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+/?$}, false]
3492
+ ]
3493
+ )
3494
+ .with_bindings(
3495
+ uri_method: :post,
3496
+ uri_template: "/v1/{name}:cancel",
3497
+ matches: [
3498
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+/?$}, false]
3499
+ ]
3500
+ )
3501
+ .with_bindings(
3502
+ uri_method: :post,
3503
+ uri_template: "/v1/{name}:cancel",
3504
+ matches: [
3505
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
3506
+ ]
3507
+ )
3508
+ .with_bindings(
3509
+ uri_method: :post,
3510
+ uri_template: "/v1/{name}:cancel",
3511
+ matches: [
3512
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
3513
+ ]
3514
+ )
3515
+ .with_bindings(
3516
+ uri_method: :post,
3517
+ uri_template: "/v1/{name}:cancel",
3518
+ matches: [
3519
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
3520
+ ]
3521
+ )
3522
+ .with_bindings(
3523
+ uri_method: :post,
3524
+ uri_template: "/v1/{name}:cancel",
3525
+ matches: [
3526
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
3527
+ ]
3528
+ )
3529
+ .with_bindings(
3530
+ uri_method: :post,
3531
+ uri_template: "/v1/{name}:cancel",
3532
+ matches: [
3533
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
3534
+ ]
3535
+ )
3536
+ .with_bindings(
3537
+ uri_method: :post,
3538
+ uri_template: "/v1/{name}:cancel",
3539
+ matches: [
3540
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
3541
+ ]
3542
+ )
3543
+ .with_bindings(
3544
+ uri_method: :post,
3545
+ uri_template: "/v1/{name}:cancel",
3546
+ matches: [
3547
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
3548
+ ]
3549
+ )
3550
+ .with_bindings(
3551
+ uri_method: :post,
3552
+ uri_template: "/v1/{name}:cancel",
3553
+ matches: [
3554
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
3555
+ ]
3556
+ )
3557
+ .with_bindings(
3558
+ uri_method: :post,
3559
+ uri_template: "/v1/{name}:cancel",
3560
+ matches: [
3561
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
3562
+ ]
3563
+ )
3564
+ .with_bindings(
3565
+ uri_method: :post,
3566
+ uri_template: "/v1/{name}:cancel",
3567
+ matches: [
3568
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
3569
+ ]
3570
+ )
3571
+ transcoder.transcode request_pb
3572
+ end
3573
+
3574
+ ##
3575
+ # @private
3576
+ #
3577
+ # GRPC transcoding helper method for the wait_operation REST call
3578
+ #
3579
+ # @param request_pb [::Google::Longrunning::WaitOperationRequest]
3580
+ # A request object representing the call parameters. Required.
3581
+ # @return [Array(String, [String, nil], Hash{String => String})]
3582
+ # Uri, Body, Query string parameters
3583
+ def self.transcode_wait_operation_request request_pb
3584
+ transcoder = Gapic::Rest::GrpcTranscoder.new
3585
+ .with_bindings(
3586
+ uri_method: :post,
3587
+ uri_template: "/ui/{name}:wait",
3588
+ matches: [
3589
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
3590
+ ]
3591
+ )
3592
+ .with_bindings(
3593
+ uri_method: :post,
3594
+ uri_template: "/ui/{name}:wait",
3595
+ matches: [
3596
+ ["name", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/operations/[^/]+/?$}, false]
3597
+ ]
3598
+ )
3599
+ .with_bindings(
3600
+ uri_method: :post,
3601
+ uri_template: "/ui/{name}:wait",
3602
+ matches: [
3603
+ ["name", %r{^projects/[^/]+/locations/[^/]+/apps/[^/]+/operations/[^/]+/?$}, false]
3604
+ ]
3605
+ )
3606
+ .with_bindings(
3607
+ uri_method: :post,
3608
+ uri_template: "/ui/{name}:wait",
3609
+ matches: [
3610
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
3611
+ ]
3612
+ )
3613
+ .with_bindings(
3614
+ uri_method: :post,
3615
+ uri_template: "/ui/{name}:wait",
3616
+ matches: [
3617
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
3618
+ ]
3619
+ )
3620
+ .with_bindings(
3621
+ uri_method: :post,
3622
+ uri_template: "/ui/{name}:wait",
3623
+ matches: [
3624
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
3625
+ ]
3626
+ )
3627
+ .with_bindings(
3628
+ uri_method: :post,
3629
+ uri_template: "/ui/{name}:wait",
3630
+ matches: [
3631
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
3632
+ ]
3633
+ )
3634
+ .with_bindings(
3635
+ uri_method: :post,
3636
+ uri_template: "/ui/{name}:wait",
3637
+ matches: [
3638
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
3639
+ ]
3640
+ )
3641
+ .with_bindings(
3642
+ uri_method: :post,
3643
+ uri_template: "/ui/{name}:wait",
3644
+ matches: [
3645
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
3646
+ ]
3647
+ )
3648
+ .with_bindings(
3649
+ uri_method: :post,
3650
+ uri_template: "/ui/{name}:wait",
3651
+ matches: [
3652
+ ["name", %r{^projects/[^/]+/locations/[^/]+/edgeDevices/[^/]+/operations/[^/]+/?$}, false]
3653
+ ]
3654
+ )
3655
+ .with_bindings(
3656
+ uri_method: :post,
3657
+ uri_template: "/ui/{name}:wait",
3658
+ matches: [
3659
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
3660
+ ]
3661
+ )
3662
+ .with_bindings(
3663
+ uri_method: :post,
3664
+ uri_template: "/ui/{name}:wait",
3665
+ matches: [
3666
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensionControllers/[^/]+/operations/[^/]+/?$}, false]
3667
+ ]
3668
+ )
3669
+ .with_bindings(
3670
+ uri_method: :post,
3671
+ uri_template: "/ui/{name}:wait",
3672
+ matches: [
3673
+ ["name", %r{^projects/[^/]+/locations/[^/]+/extensions/[^/]+/operations/[^/]+/?$}, false]
3674
+ ]
3675
+ )
3676
+ .with_bindings(
3677
+ uri_method: :post,
3678
+ uri_template: "/ui/{name}:wait",
3679
+ matches: [
3680
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
3681
+ ]
3682
+ )
3683
+ .with_bindings(
3684
+ uri_method: :post,
3685
+ uri_template: "/ui/{name}:wait",
3686
+ matches: [
3687
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
3688
+ ]
3689
+ )
3690
+ .with_bindings(
3691
+ uri_method: :post,
3692
+ uri_template: "/ui/{name}:wait",
3693
+ matches: [
3694
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
3695
+ ]
3696
+ )
3697
+ .with_bindings(
3698
+ uri_method: :post,
3699
+ uri_template: "/ui/{name}:wait",
3700
+ matches: [
3701
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
3702
+ ]
3703
+ )
3704
+ .with_bindings(
3705
+ uri_method: :post,
3706
+ uri_template: "/ui/{name}:wait",
3707
+ matches: [
3708
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
3709
+ ]
3710
+ )
3711
+ .with_bindings(
3712
+ uri_method: :post,
3713
+ uri_template: "/ui/{name}:wait",
3714
+ matches: [
3715
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
3716
+ ]
3717
+ )
3718
+ .with_bindings(
3719
+ uri_method: :post,
3720
+ uri_template: "/ui/{name}:wait",
3721
+ matches: [
3722
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+/?$}, false]
3723
+ ]
3724
+ )
3725
+ .with_bindings(
3726
+ uri_method: :post,
3727
+ uri_template: "/ui/{name}:wait",
3728
+ matches: [
3729
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
3730
+ ]
3731
+ )
3732
+ .with_bindings(
3733
+ uri_method: :post,
3734
+ uri_template: "/ui/{name}:wait",
3735
+ matches: [
3736
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
3737
+ ]
3738
+ )
3739
+ .with_bindings(
3740
+ uri_method: :post,
3741
+ uri_template: "/ui/{name}:wait",
3742
+ matches: [
3743
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
3744
+ ]
3745
+ )
3746
+ .with_bindings(
3747
+ uri_method: :post,
3748
+ uri_template: "/ui/{name}:wait",
3749
+ matches: [
3750
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
3751
+ ]
3752
+ )
3753
+ .with_bindings(
3754
+ uri_method: :post,
3755
+ uri_template: "/ui/{name}:wait",
3756
+ matches: [
3757
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
3758
+ ]
3759
+ )
3760
+ .with_bindings(
3761
+ uri_method: :post,
3762
+ uri_template: "/ui/{name}:wait",
3763
+ matches: [
3764
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
3765
+ ]
3766
+ )
3767
+ .with_bindings(
3768
+ uri_method: :post,
3769
+ uri_template: "/ui/{name}:wait",
3770
+ matches: [
3771
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
3772
+ ]
3773
+ )
3774
+ .with_bindings(
3775
+ uri_method: :post,
3776
+ uri_template: "/ui/{name}:wait",
3777
+ matches: [
3778
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelMonitors/[^/]+/operations/[^/]+/?$}, false]
3779
+ ]
3780
+ )
3781
+ .with_bindings(
3782
+ uri_method: :post,
3783
+ uri_template: "/ui/{name}:wait",
3784
+ matches: [
3785
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
3786
+ ]
3787
+ )
3788
+ .with_bindings(
3789
+ uri_method: :post,
3790
+ uri_template: "/ui/{name}:wait",
3791
+ matches: [
3792
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
3793
+ ]
3794
+ )
3795
+ .with_bindings(
3796
+ uri_method: :post,
3797
+ uri_template: "/ui/{name}:wait",
3798
+ matches: [
3799
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
3800
+ ]
3801
+ )
3802
+ .with_bindings(
3803
+ uri_method: :post,
3804
+ uri_template: "/ui/{name}:wait",
3805
+ matches: [
3806
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
3807
+ ]
3808
+ )
3809
+ .with_bindings(
3810
+ uri_method: :post,
3811
+ uri_template: "/ui/{name}:wait",
3812
+ matches: [
3813
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
3814
+ ]
3815
+ )
3816
+ .with_bindings(
3817
+ uri_method: :post,
3818
+ uri_template: "/ui/{name}:wait",
3819
+ matches: [
3820
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
3821
+ ]
3822
+ )
3823
+ .with_bindings(
3824
+ uri_method: :post,
3825
+ uri_template: "/ui/{name}:wait",
3826
+ matches: [
3827
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
3828
+ ]
3829
+ )
3830
+ .with_bindings(
3831
+ uri_method: :post,
3832
+ uri_template: "/ui/{name}:wait",
3833
+ matches: [
3834
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
3835
+ ]
3836
+ )
3837
+ .with_bindings(
3838
+ uri_method: :post,
3839
+ uri_template: "/ui/{name}:wait",
3840
+ matches: [
3841
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
3842
+ ]
3843
+ )
3844
+ .with_bindings(
3845
+ uri_method: :post,
3846
+ uri_template: "/ui/{name}:wait",
3847
+ matches: [
3848
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
3849
+ ]
3850
+ )
3851
+ .with_bindings(
3852
+ uri_method: :post,
3853
+ uri_template: "/ui/{name}:wait",
3854
+ matches: [
3855
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
3856
+ ]
3857
+ )
3858
+ .with_bindings(
3859
+ uri_method: :post,
3860
+ uri_template: "/ui/{name}:wait",
3861
+ matches: [
3862
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
3863
+ ]
3864
+ )
3865
+ .with_bindings(
3866
+ uri_method: :post,
3867
+ uri_template: "/ui/{name}:wait",
3868
+ matches: [
3869
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
3870
+ ]
3871
+ )
3872
+ .with_bindings(
3873
+ uri_method: :post,
3874
+ uri_template: "/ui/{name}:wait",
3875
+ matches: [
3876
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
3877
+ ]
3878
+ )
3879
+ .with_bindings(
3880
+ uri_method: :post,
3881
+ uri_template: "/ui/{name}:wait",
3882
+ matches: [
3883
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
3884
+ ]
3885
+ )
3886
+ .with_bindings(
3887
+ uri_method: :post,
3888
+ uri_template: "/ui/{name}:wait",
3889
+ matches: [
3890
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
3891
+ ]
3892
+ )
3893
+ .with_bindings(
3894
+ uri_method: :post,
3895
+ uri_template: "/ui/{name}:wait",
3896
+ matches: [
3897
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
3898
+ ]
3899
+ )
3900
+ .with_bindings(
3901
+ uri_method: :post,
3902
+ uri_template: "/ui/{name}:wait",
3903
+ matches: [
3904
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
3905
+ ]
3906
+ )
3907
+ .with_bindings(
3908
+ uri_method: :post,
3909
+ uri_template: "/ui/{name}:wait",
3910
+ matches: [
3911
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
3912
+ ]
3913
+ )
3914
+ .with_bindings(
3915
+ uri_method: :post,
3916
+ uri_template: "/ui/{name}:wait",
3917
+ matches: [
3918
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
3919
+ ]
3920
+ )
3921
+ .with_bindings(
3922
+ uri_method: :post,
3923
+ uri_template: "/ui/{name}:wait",
3924
+ matches: [
3925
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
3926
+ ]
3927
+ )
3928
+ .with_bindings(
3929
+ uri_method: :post,
3930
+ uri_template: "/v1/{name}:wait",
3931
+ matches: [
3932
+ ["name", %r{^projects/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false]
3933
+ ]
3934
+ )
3935
+ .with_bindings(
3936
+ uri_method: :post,
3937
+ uri_template: "/v1/{name}:wait",
3938
+ matches: [
3939
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+/?$}, false]
3940
+ ]
3941
+ )
3942
+ .with_bindings(
3943
+ uri_method: :post,
3944
+ uri_template: "/v1/{name}:wait",
3945
+ matches: [
3946
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+/?$}, false]
3947
+ ]
3948
+ )
3949
+ .with_bindings(
3950
+ uri_method: :post,
3951
+ uri_template: "/v1/{name}:wait",
3952
+ matches: [
3953
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+/?$}, false]
3954
+ ]
3955
+ )
3956
+ .with_bindings(
3957
+ uri_method: :post,
3958
+ uri_template: "/v1/{name}:wait",
3959
+ matches: [
3960
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+/?$}, false]
3961
+ ]
3962
+ )
3963
+ .with_bindings(
3964
+ uri_method: :post,
3965
+ uri_template: "/v1/{name}:wait",
3966
+ matches: [
3967
+ ["name", %r{^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+/?$}, false]
3968
+ ]
3969
+ )
3970
+ .with_bindings(
3971
+ uri_method: :post,
3972
+ uri_template: "/v1/{name}:wait",
3973
+ matches: [
3974
+ ["name", %r{^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+/?$}, false]
3975
+ ]
3976
+ )
3977
+ .with_bindings(
3978
+ uri_method: :post,
3979
+ uri_template: "/v1/{name}:wait",
3980
+ matches: [
3981
+ ["name", %r{^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+/?$}, false]
3982
+ ]
3983
+ )
3984
+ .with_bindings(
3985
+ uri_method: :post,
3986
+ uri_template: "/v1/{name}:wait",
3987
+ matches: [
3988
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+/?$}, false]
3989
+ ]
3990
+ )
3991
+ .with_bindings(
3992
+ uri_method: :post,
3993
+ uri_template: "/v1/{name}:wait",
3994
+ matches: [
3995
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+/?$}, false]
3996
+ ]
3997
+ )
3998
+ .with_bindings(
3999
+ uri_method: :post,
4000
+ uri_template: "/v1/{name}:wait",
4001
+ matches: [
4002
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
4003
+ ]
4004
+ )
4005
+ .with_bindings(
4006
+ uri_method: :post,
4007
+ uri_template: "/v1/{name}:wait",
4008
+ matches: [
4009
+ ["name", %r{^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+/?$}, false]
4010
+ ]
4011
+ )
4012
+ .with_bindings(
4013
+ uri_method: :post,
4014
+ uri_template: "/v1/{name}:wait",
4015
+ matches: [
4016
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+/?$}, false]
4017
+ ]
4018
+ )
4019
+ .with_bindings(
4020
+ uri_method: :post,
4021
+ uri_template: "/v1/{name}:wait",
4022
+ matches: [
4023
+ ["name", %r{^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+/?$}, false]
4024
+ ]
4025
+ )
4026
+ .with_bindings(
4027
+ uri_method: :post,
4028
+ uri_template: "/v1/{name}:wait",
4029
+ matches: [
4030
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+/?$}, false]
4031
+ ]
4032
+ )
4033
+ .with_bindings(
4034
+ uri_method: :post,
4035
+ uri_template: "/v1/{name}:wait",
4036
+ matches: [
4037
+ ["name", %r{^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+/?$}, false]
4038
+ ]
4039
+ )
4040
+ .with_bindings(
4041
+ uri_method: :post,
4042
+ uri_template: "/v1/{name}:wait",
4043
+ matches: [
4044
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+/?$}, false]
4045
+ ]
4046
+ )
4047
+ .with_bindings(
4048
+ uri_method: :post,
4049
+ uri_template: "/v1/{name}:wait",
4050
+ matches: [
4051
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+/?$}, false]
4052
+ ]
4053
+ )
4054
+ .with_bindings(
4055
+ uri_method: :post,
4056
+ uri_template: "/v1/{name}:wait",
4057
+ matches: [
4058
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+/?$}, false]
4059
+ ]
4060
+ )
4061
+ .with_bindings(
4062
+ uri_method: :post,
4063
+ uri_template: "/v1/{name}:wait",
4064
+ matches: [
4065
+ ["name", %r{^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+/?$}, false]
4066
+ ]
4067
+ )
4068
+ .with_bindings(
4069
+ uri_method: :post,
4070
+ uri_template: "/v1/{name}:wait",
4071
+ matches: [
4072
+ ["name", %r{^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+/?$}, false]
4073
+ ]
4074
+ )
4075
+ .with_bindings(
4076
+ uri_method: :post,
4077
+ uri_template: "/v1/{name}:wait",
4078
+ matches: [
4079
+ ["name", %r{^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+/?$}, false]
4080
+ ]
4081
+ )
4082
+ .with_bindings(
4083
+ uri_method: :post,
4084
+ uri_template: "/v1/{name}:wait",
4085
+ matches: [
4086
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+/?$}, false]
4087
+ ]
4088
+ )
4089
+ .with_bindings(
4090
+ uri_method: :post,
4091
+ uri_template: "/v1/{name}:wait",
4092
+ matches: [
4093
+ ["name", %r{^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+/?$}, false]
4094
+ ]
4095
+ )
4096
+ .with_bindings(
4097
+ uri_method: :post,
4098
+ uri_template: "/v1/{name}:wait",
4099
+ matches: [
4100
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+/?$}, false]
4101
+ ]
4102
+ )
4103
+ .with_bindings(
4104
+ uri_method: :post,
4105
+ uri_template: "/v1/{name}:wait",
4106
+ matches: [
4107
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+/?$}, false]
4108
+ ]
4109
+ )
4110
+ .with_bindings(
4111
+ uri_method: :post,
4112
+ uri_template: "/v1/{name}:wait",
4113
+ matches: [
4114
+ ["name", %r{^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+/?$}, false]
4115
+ ]
4116
+ )
4117
+ .with_bindings(
4118
+ uri_method: :post,
4119
+ uri_template: "/v1/{name}:wait",
4120
+ matches: [
4121
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+/?$}, false]
4122
+ ]
4123
+ )
4124
+ .with_bindings(
4125
+ uri_method: :post,
4126
+ uri_template: "/v1/{name}:wait",
4127
+ matches: [
4128
+ ["name", %r{^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+/?$}, false]
4129
+ ]
4130
+ )
4131
+ .with_bindings(
4132
+ uri_method: :post,
4133
+ uri_template: "/v1/{name}:wait",
4134
+ matches: [
4135
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+/?$}, false]
4136
+ ]
4137
+ )
4138
+ .with_bindings(
4139
+ uri_method: :post,
4140
+ uri_template: "/v1/{name}:wait",
4141
+ matches: [
4142
+ ["name", %r{^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+/?$}, false]
4143
+ ]
4144
+ )
4145
+ .with_bindings(
4146
+ uri_method: :post,
4147
+ uri_template: "/v1/{name}:wait",
4148
+ matches: [
4149
+ ["name", %r{^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+/?$}, false]
4150
+ ]
4151
+ )
4152
+ .with_bindings(
4153
+ uri_method: :post,
4154
+ uri_template: "/v1/{name}:wait",
4155
+ matches: [
4156
+ ["name", %r{^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+/?$}, false]
4157
+ ]
4158
+ )
4159
+ .with_bindings(
4160
+ uri_method: :post,
4161
+ uri_template: "/v1/{name}:wait",
4162
+ matches: [
4163
+ ["name", %r{^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+/?$}, false]
4164
+ ]
4165
+ )
4166
+ .with_bindings(
4167
+ uri_method: :post,
4168
+ uri_template: "/v1/{name}:wait",
4169
+ matches: [
4170
+ ["name", %r{^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+/?$}, false]
4171
+ ]
4172
+ )
4173
+ .with_bindings(
4174
+ uri_method: :post,
4175
+ uri_template: "/v1/{name}:wait",
4176
+ matches: [
4177
+ ["name", %r{^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+/?$}, false]
4178
+ ]
4179
+ )
4180
+ .with_bindings(
4181
+ uri_method: :post,
4182
+ uri_template: "/v1/{name}:wait",
4183
+ matches: [
4184
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+/?$}, false]
4185
+ ]
4186
+ )
4187
+ .with_bindings(
4188
+ uri_method: :post,
4189
+ uri_template: "/v1/{name}:wait",
4190
+ matches: [
4191
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+/?$}, false]
4192
+ ]
4193
+ )
4194
+ .with_bindings(
4195
+ uri_method: :post,
4196
+ uri_template: "/v1/{name}:wait",
4197
+ matches: [
4198
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+/?$}, false]
4199
+ ]
4200
+ )
4201
+ .with_bindings(
4202
+ uri_method: :post,
4203
+ uri_template: "/v1/{name}:wait",
4204
+ matches: [
4205
+ ["name", %r{^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+/?$}, false]
4206
+ ]
4207
+ )
4208
+ .with_bindings(
4209
+ uri_method: :post,
4210
+ uri_template: "/v1/{name}:wait",
4211
+ matches: [
4212
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+/?$}, false]
4213
+ ]
4214
+ )
4215
+ .with_bindings(
4216
+ uri_method: :post,
4217
+ uri_template: "/v1/{name}:wait",
4218
+ matches: [
4219
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+/?$}, false]
4220
+ ]
4221
+ )
4222
+ .with_bindings(
4223
+ uri_method: :post,
4224
+ uri_template: "/v1/{name}:wait",
4225
+ matches: [
4226
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+/?$}, false]
4227
+ ]
4228
+ )
4229
+ .with_bindings(
4230
+ uri_method: :post,
4231
+ uri_template: "/v1/{name}:wait",
4232
+ matches: [
4233
+ ["name", %r{^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+/?$}, false]
4234
+ ]
4235
+ )
4236
+ transcoder.transcode request_pb
4237
+ end
4238
+ end
4239
+ end
4240
+ end
4241
+ end
4242
+ end
4243
+ end
4244
+ end