google-cloud-retail-v2 0.12.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/retail/v2/catalog_service/client.rb +18 -6
  4. data/lib/google/cloud/retail/v2/catalog_service/rest/client.rb +1220 -0
  5. data/lib/google/cloud/retail/v2/catalog_service/rest/service_stub.rb +704 -0
  6. data/lib/google/cloud/retail/v2/catalog_service/rest.rb +52 -0
  7. data/lib/google/cloud/retail/v2/catalog_service.rb +6 -0
  8. data/lib/google/cloud/retail/v2/completion_service/client.rb +18 -4
  9. data/lib/google/cloud/retail/v2/completion_service/operations.rb +12 -14
  10. data/lib/google/cloud/retail/v2/completion_service/rest/client.rb +533 -0
  11. data/lib/google/cloud/retail/v2/completion_service/rest/operations.rb +828 -0
  12. data/lib/google/cloud/retail/v2/completion_service/rest/service_stub.rb +167 -0
  13. data/lib/google/cloud/retail/v2/completion_service/rest.rb +56 -0
  14. data/lib/google/cloud/retail/v2/completion_service.rb +6 -0
  15. data/lib/google/cloud/retail/v2/control_service/client.rb +18 -6
  16. data/lib/google/cloud/retail/v2/control_service/rest/client.rb +680 -0
  17. data/lib/google/cloud/retail/v2/control_service/rest/service_stub.rb +345 -0
  18. data/lib/google/cloud/retail/v2/control_service/rest.rb +52 -0
  19. data/lib/google/cloud/retail/v2/control_service.rb +6 -0
  20. data/lib/google/cloud/retail/v2/prediction_service/client.rb +14 -0
  21. data/lib/google/cloud/retail/v2/prediction_service/rest/client.rb +486 -0
  22. data/lib/google/cloud/retail/v2/prediction_service/rest/service_stub.rb +116 -0
  23. data/lib/google/cloud/retail/v2/prediction_service/rest.rb +52 -0
  24. data/lib/google/cloud/retail/v2/prediction_service.rb +6 -0
  25. data/lib/google/cloud/retail/v2/product_service/client.rb +42 -30
  26. data/lib/google/cloud/retail/v2/product_service/operations.rb +12 -14
  27. data/lib/google/cloud/retail/v2/product_service/rest/client.rb +1649 -0
  28. data/lib/google/cloud/retail/v2/product_service/rest/operations.rb +828 -0
  29. data/lib/google/cloud/retail/v2/product_service/rest/service_stub.rb +705 -0
  30. data/lib/google/cloud/retail/v2/product_service/rest.rb +54 -0
  31. data/lib/google/cloud/retail/v2/product_service.rb +6 -0
  32. data/lib/google/cloud/retail/v2/rest.rb +44 -0
  33. data/lib/google/cloud/retail/v2/search_service/client.rb +18 -6
  34. data/lib/google/cloud/retail/v2/search_service/rest/client.rb +598 -0
  35. data/lib/google/cloud/retail/v2/search_service/rest/service_stub.rb +116 -0
  36. data/lib/google/cloud/retail/v2/search_service/rest.rb +55 -0
  37. data/lib/google/cloud/retail/v2/search_service.rb +6 -0
  38. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +18 -6
  39. data/lib/google/cloud/retail/v2/serving_config_service/rest/client.rb +825 -0
  40. data/lib/google/cloud/retail/v2/serving_config_service/rest/service_stub.rb +465 -0
  41. data/lib/google/cloud/retail/v2/serving_config_service/rest.rb +52 -0
  42. data/lib/google/cloud/retail/v2/serving_config_service.rb +6 -0
  43. data/lib/google/cloud/retail/v2/user_event_service/client.rb +26 -12
  44. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +12 -14
  45. data/lib/google/cloud/retail/v2/user_event_service/rest/client.rb +755 -0
  46. data/lib/google/cloud/retail/v2/user_event_service/rest/operations.rb +828 -0
  47. data/lib/google/cloud/retail/v2/user_event_service/rest/service_stub.rb +347 -0
  48. data/lib/google/cloud/retail/v2/user_event_service/rest.rb +53 -0
  49. data/lib/google/cloud/retail/v2/user_event_service.rb +6 -0
  50. data/lib/google/cloud/retail/v2/version.rb +1 -1
  51. data/lib/google/cloud/retail/v2.rb +5 -0
  52. metadata +58 -8
@@ -0,0 +1,825 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/retail/v2/serving_config_service_pb"
21
+ require "google/cloud/retail/v2/serving_config_service/rest/service_stub"
22
+ require "google/cloud/location/rest"
23
+
24
+ module Google
25
+ module Cloud
26
+ module Retail
27
+ module V2
28
+ module ServingConfigService
29
+ module Rest
30
+ ##
31
+ # REST client for the ServingConfigService service.
32
+ #
33
+ # Service for modifying ServingConfig.
34
+ #
35
+ class Client
36
+ include Paths
37
+
38
+ # @private
39
+ attr_reader :serving_config_service_stub
40
+
41
+ ##
42
+ # Configure the ServingConfigService Client class.
43
+ #
44
+ # See {::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client::Configuration}
45
+ # for a description of the configuration fields.
46
+ #
47
+ # @example
48
+ #
49
+ # # Modify the configuration for all ServingConfigService clients
50
+ # ::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client.configure do |config|
51
+ # config.timeout = 10.0
52
+ # end
53
+ #
54
+ # @yield [config] Configure the Client client.
55
+ # @yieldparam config [Client::Configuration]
56
+ #
57
+ # @return [Client::Configuration]
58
+ #
59
+ def self.configure
60
+ @configure ||= begin
61
+ namespace = ["Google", "Cloud", "Retail", "V2"]
62
+ parent_config = while namespace.any?
63
+ parent_name = namespace.join "::"
64
+ parent_const = const_get parent_name
65
+ break parent_const.configure if parent_const.respond_to? :configure
66
+ namespace.pop
67
+ end
68
+ default_config = Client::Configuration.new parent_config
69
+
70
+ default_config
71
+ end
72
+ yield @configure if block_given?
73
+ @configure
74
+ end
75
+
76
+ ##
77
+ # Configure the ServingConfigService Client instance.
78
+ #
79
+ # The configuration is set to the derived mode, meaning that values can be changed,
80
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
81
+ # should be made on {Client.configure}.
82
+ #
83
+ # See {::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client::Configuration}
84
+ # for a description of the configuration fields.
85
+ #
86
+ # @yield [config] Configure the Client client.
87
+ # @yieldparam config [Client::Configuration]
88
+ #
89
+ # @return [Client::Configuration]
90
+ #
91
+ def configure
92
+ yield @config if block_given?
93
+ @config
94
+ end
95
+
96
+ ##
97
+ # Create a new ServingConfigService REST client object.
98
+ #
99
+ # @example
100
+ #
101
+ # # Create a client using the default configuration
102
+ # client = ::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client.new
103
+ #
104
+ # # Create a client using a custom configuration
105
+ # client = ::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client.new do |config|
106
+ # config.timeout = 10.0
107
+ # end
108
+ #
109
+ # @yield [config] Configure the ServingConfigService client.
110
+ # @yieldparam config [Client::Configuration]
111
+ #
112
+ def initialize
113
+ # Create the configuration object
114
+ @config = Configuration.new Client.configure
115
+
116
+ # Yield the configuration if needed
117
+ yield @config if block_given?
118
+
119
+ # Create credentials
120
+ credentials = @config.credentials
121
+ # Use self-signed JWT if the endpoint is unchanged from default,
122
+ # but only if the default endpoint does not have a region prefix.
123
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
124
+ !@config.endpoint.split(".").first.include?("-")
125
+ credentials ||= Credentials.default scope: @config.scope,
126
+ enable_self_signed_jwt: enable_self_signed_jwt
127
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
128
+ credentials = Credentials.new credentials, scope: @config.scope
129
+ end
130
+
131
+ @quota_project_id = @config.quota_project
132
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
133
+
134
+ @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
135
+ config.credentials = credentials
136
+ config.quota_project = @quota_project_id
137
+ config.endpoint = @config.endpoint
138
+ end
139
+
140
+ @serving_config_service_stub = ::Google::Cloud::Retail::V2::ServingConfigService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
141
+ end
142
+
143
+ ##
144
+ # Get the associated client for mix-in of the Locations.
145
+ #
146
+ # @return [Google::Cloud::Location::Locations::Rest::Client]
147
+ #
148
+ attr_reader :location_client
149
+
150
+ # Service calls
151
+
152
+ ##
153
+ # Creates a ServingConfig.
154
+ #
155
+ # A maximum of 100 {::Google::Cloud::Retail::V2::ServingConfig ServingConfig}s are
156
+ # allowed in a {::Google::Cloud::Retail::V2::Catalog Catalog}, otherwise a
157
+ # FAILED_PRECONDITION error is returned.
158
+ #
159
+ # @overload create_serving_config(request, options = nil)
160
+ # Pass arguments to `create_serving_config` via a request object, either of type
161
+ # {::Google::Cloud::Retail::V2::CreateServingConfigRequest} or an equivalent Hash.
162
+ #
163
+ # @param request [::Google::Cloud::Retail::V2::CreateServingConfigRequest, ::Hash]
164
+ # A request object representing the call parameters. Required. To specify no
165
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
166
+ # @param options [::Gapic::CallOptions, ::Hash]
167
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
168
+ #
169
+ # @overload create_serving_config(parent: nil, serving_config: nil, serving_config_id: nil)
170
+ # Pass arguments to `create_serving_config` via keyword arguments. Note that at
171
+ # least one keyword argument is required. To specify no parameters, or to keep all
172
+ # the default parameter values, pass an empty Hash as a request object (see above).
173
+ #
174
+ # @param parent [::String]
175
+ # Required. Full resource name of parent. Format:
176
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
177
+ # @param serving_config [::Google::Cloud::Retail::V2::ServingConfig, ::Hash]
178
+ # Required. The ServingConfig to create.
179
+ # @param serving_config_id [::String]
180
+ # Required. The ID to use for the ServingConfig, which will become the final
181
+ # component of the ServingConfig's resource name.
182
+ #
183
+ # This value should be 4-63 characters, and valid characters
184
+ # are /[a-z][0-9]-_/.
185
+ # @yield [result, operation] Access the result along with the TransportOperation object
186
+ # @yieldparam result [::Google::Cloud::Retail::V2::ServingConfig]
187
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
188
+ #
189
+ # @return [::Google::Cloud::Retail::V2::ServingConfig]
190
+ #
191
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
192
+ def create_serving_config request, options = nil
193
+ raise ::ArgumentError, "request must be provided" if request.nil?
194
+
195
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::CreateServingConfigRequest
196
+
197
+ # Converts hash and nil to an options object
198
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
199
+
200
+ # Customize the options with defaults
201
+ call_metadata = @config.rpcs.create_serving_config.metadata.to_h
202
+
203
+ # Set x-goog-api-client and x-goog-user-project headers
204
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
205
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
206
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
207
+ transports_version_send: [:rest]
208
+
209
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
210
+
211
+ options.apply_defaults timeout: @config.rpcs.create_serving_config.timeout,
212
+ metadata: call_metadata,
213
+ retry_policy: @config.rpcs.create_serving_config.retry_policy
214
+
215
+ options.apply_defaults timeout: @config.timeout,
216
+ metadata: @config.metadata,
217
+ retry_policy: @config.retry_policy
218
+
219
+ @serving_config_service_stub.create_serving_config request, options do |result, operation|
220
+ yield result, operation if block_given?
221
+ return result
222
+ end
223
+ rescue ::Gapic::Rest::Error => e
224
+ raise ::Google::Cloud::Error.from_error(e)
225
+ end
226
+
227
+ ##
228
+ # Deletes a ServingConfig.
229
+ #
230
+ # Returns a NotFound error if the ServingConfig does not exist.
231
+ #
232
+ # @overload delete_serving_config(request, options = nil)
233
+ # Pass arguments to `delete_serving_config` via a request object, either of type
234
+ # {::Google::Cloud::Retail::V2::DeleteServingConfigRequest} or an equivalent Hash.
235
+ #
236
+ # @param request [::Google::Cloud::Retail::V2::DeleteServingConfigRequest, ::Hash]
237
+ # A request object representing the call parameters. Required. To specify no
238
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
239
+ # @param options [::Gapic::CallOptions, ::Hash]
240
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
241
+ #
242
+ # @overload delete_serving_config(name: nil)
243
+ # Pass arguments to `delete_serving_config` via keyword arguments. Note that at
244
+ # least one keyword argument is required. To specify no parameters, or to keep all
245
+ # the default parameter values, pass an empty Hash as a request object (see above).
246
+ #
247
+ # @param name [::String]
248
+ # Required. The resource name of the ServingConfig to delete. Format:
249
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
250
+ # @yield [result, operation] Access the result along with the TransportOperation object
251
+ # @yieldparam result [::Google::Protobuf::Empty]
252
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
253
+ #
254
+ # @return [::Google::Protobuf::Empty]
255
+ #
256
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
257
+ def delete_serving_config request, options = nil
258
+ raise ::ArgumentError, "request must be provided" if request.nil?
259
+
260
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::DeleteServingConfigRequest
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.delete_serving_config.metadata.to_h
267
+
268
+ # Set x-goog-api-client and x-goog-user-project 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::Retail::V2::VERSION,
272
+ transports_version_send: [:rest]
273
+
274
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
275
+
276
+ options.apply_defaults timeout: @config.rpcs.delete_serving_config.timeout,
277
+ metadata: call_metadata,
278
+ retry_policy: @config.rpcs.delete_serving_config.retry_policy
279
+
280
+ options.apply_defaults timeout: @config.timeout,
281
+ metadata: @config.metadata,
282
+ retry_policy: @config.retry_policy
283
+
284
+ @serving_config_service_stub.delete_serving_config request, options do |result, operation|
285
+ yield result, operation if block_given?
286
+ return result
287
+ end
288
+ rescue ::Gapic::Rest::Error => e
289
+ raise ::Google::Cloud::Error.from_error(e)
290
+ end
291
+
292
+ ##
293
+ # Updates a ServingConfig.
294
+ #
295
+ # @overload update_serving_config(request, options = nil)
296
+ # Pass arguments to `update_serving_config` via a request object, either of type
297
+ # {::Google::Cloud::Retail::V2::UpdateServingConfigRequest} or an equivalent Hash.
298
+ #
299
+ # @param request [::Google::Cloud::Retail::V2::UpdateServingConfigRequest, ::Hash]
300
+ # A request object representing the call parameters. Required. To specify no
301
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
302
+ # @param options [::Gapic::CallOptions, ::Hash]
303
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
304
+ #
305
+ # @overload update_serving_config(serving_config: nil, update_mask: nil)
306
+ # Pass arguments to `update_serving_config` via keyword arguments. Note that at
307
+ # least one keyword argument is required. To specify no parameters, or to keep all
308
+ # the default parameter values, pass an empty Hash as a request object (see above).
309
+ #
310
+ # @param serving_config [::Google::Cloud::Retail::V2::ServingConfig, ::Hash]
311
+ # Required. The ServingConfig to update.
312
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
313
+ # Indicates which fields in the provided
314
+ # {::Google::Cloud::Retail::V2::ServingConfig ServingConfig} to update. The
315
+ # following are NOT supported:
316
+ #
317
+ # * {::Google::Cloud::Retail::V2::ServingConfig#name ServingConfig.name}
318
+ #
319
+ # If not set, all supported fields are updated.
320
+ # @yield [result, operation] Access the result along with the TransportOperation object
321
+ # @yieldparam result [::Google::Cloud::Retail::V2::ServingConfig]
322
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
323
+ #
324
+ # @return [::Google::Cloud::Retail::V2::ServingConfig]
325
+ #
326
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
327
+ def update_serving_config request, options = nil
328
+ raise ::ArgumentError, "request must be provided" if request.nil?
329
+
330
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::UpdateServingConfigRequest
331
+
332
+ # Converts hash and nil to an options object
333
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
334
+
335
+ # Customize the options with defaults
336
+ call_metadata = @config.rpcs.update_serving_config.metadata.to_h
337
+
338
+ # Set x-goog-api-client and x-goog-user-project headers
339
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
340
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
341
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
342
+ transports_version_send: [:rest]
343
+
344
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
345
+
346
+ options.apply_defaults timeout: @config.rpcs.update_serving_config.timeout,
347
+ metadata: call_metadata,
348
+ retry_policy: @config.rpcs.update_serving_config.retry_policy
349
+
350
+ options.apply_defaults timeout: @config.timeout,
351
+ metadata: @config.metadata,
352
+ retry_policy: @config.retry_policy
353
+
354
+ @serving_config_service_stub.update_serving_config request, options do |result, operation|
355
+ yield result, operation if block_given?
356
+ return result
357
+ end
358
+ rescue ::Gapic::Rest::Error => e
359
+ raise ::Google::Cloud::Error.from_error(e)
360
+ end
361
+
362
+ ##
363
+ # Gets a ServingConfig.
364
+ #
365
+ # Returns a NotFound error if the ServingConfig does not exist.
366
+ #
367
+ # @overload get_serving_config(request, options = nil)
368
+ # Pass arguments to `get_serving_config` via a request object, either of type
369
+ # {::Google::Cloud::Retail::V2::GetServingConfigRequest} or an equivalent Hash.
370
+ #
371
+ # @param request [::Google::Cloud::Retail::V2::GetServingConfigRequest, ::Hash]
372
+ # A request object representing the call parameters. Required. To specify no
373
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
374
+ # @param options [::Gapic::CallOptions, ::Hash]
375
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
376
+ #
377
+ # @overload get_serving_config(name: nil)
378
+ # Pass arguments to `get_serving_config` via keyword arguments. Note that at
379
+ # least one keyword argument is required. To specify no parameters, or to keep all
380
+ # the default parameter values, pass an empty Hash as a request object (see above).
381
+ #
382
+ # @param name [::String]
383
+ # Required. The resource name of the ServingConfig to get. Format:
384
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
385
+ # @yield [result, operation] Access the result along with the TransportOperation object
386
+ # @yieldparam result [::Google::Cloud::Retail::V2::ServingConfig]
387
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
388
+ #
389
+ # @return [::Google::Cloud::Retail::V2::ServingConfig]
390
+ #
391
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
392
+ def get_serving_config request, options = nil
393
+ raise ::ArgumentError, "request must be provided" if request.nil?
394
+
395
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::GetServingConfigRequest
396
+
397
+ # Converts hash and nil to an options object
398
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
399
+
400
+ # Customize the options with defaults
401
+ call_metadata = @config.rpcs.get_serving_config.metadata.to_h
402
+
403
+ # Set x-goog-api-client and x-goog-user-project headers
404
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
405
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
406
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
407
+ transports_version_send: [:rest]
408
+
409
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
410
+
411
+ options.apply_defaults timeout: @config.rpcs.get_serving_config.timeout,
412
+ metadata: call_metadata,
413
+ retry_policy: @config.rpcs.get_serving_config.retry_policy
414
+
415
+ options.apply_defaults timeout: @config.timeout,
416
+ metadata: @config.metadata,
417
+ retry_policy: @config.retry_policy
418
+
419
+ @serving_config_service_stub.get_serving_config request, options do |result, operation|
420
+ yield result, operation if block_given?
421
+ return result
422
+ end
423
+ rescue ::Gapic::Rest::Error => e
424
+ raise ::Google::Cloud::Error.from_error(e)
425
+ end
426
+
427
+ ##
428
+ # Lists all ServingConfigs linked to this catalog.
429
+ #
430
+ # @overload list_serving_configs(request, options = nil)
431
+ # Pass arguments to `list_serving_configs` via a request object, either of type
432
+ # {::Google::Cloud::Retail::V2::ListServingConfigsRequest} or an equivalent Hash.
433
+ #
434
+ # @param request [::Google::Cloud::Retail::V2::ListServingConfigsRequest, ::Hash]
435
+ # A request object representing the call parameters. Required. To specify no
436
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
437
+ # @param options [::Gapic::CallOptions, ::Hash]
438
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
439
+ #
440
+ # @overload list_serving_configs(parent: nil, page_size: nil, page_token: nil)
441
+ # Pass arguments to `list_serving_configs` via keyword arguments. Note that at
442
+ # least one keyword argument is required. To specify no parameters, or to keep all
443
+ # the default parameter values, pass an empty Hash as a request object (see above).
444
+ #
445
+ # @param parent [::String]
446
+ # Required. The catalog resource name. Format:
447
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
448
+ # @param page_size [::Integer]
449
+ # Optional. Maximum number of results to return. If unspecified, defaults
450
+ # to 100. If a value greater than 100 is provided, at most 100 results are
451
+ # returned.
452
+ # @param page_token [::String]
453
+ # Optional. A page token, received from a previous `ListServingConfigs` call.
454
+ # Provide this to retrieve the subsequent page.
455
+ # @yield [result, operation] Access the result along with the TransportOperation object
456
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Retail::V2::ServingConfig>]
457
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
458
+ #
459
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Retail::V2::ServingConfig>]
460
+ #
461
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
462
+ def list_serving_configs request, options = nil
463
+ raise ::ArgumentError, "request must be provided" if request.nil?
464
+
465
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::ListServingConfigsRequest
466
+
467
+ # Converts hash and nil to an options object
468
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
469
+
470
+ # Customize the options with defaults
471
+ call_metadata = @config.rpcs.list_serving_configs.metadata.to_h
472
+
473
+ # Set x-goog-api-client and x-goog-user-project headers
474
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
475
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
476
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
477
+ transports_version_send: [:rest]
478
+
479
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
480
+
481
+ options.apply_defaults timeout: @config.rpcs.list_serving_configs.timeout,
482
+ metadata: call_metadata,
483
+ retry_policy: @config.rpcs.list_serving_configs.retry_policy
484
+
485
+ options.apply_defaults timeout: @config.timeout,
486
+ metadata: @config.metadata,
487
+ retry_policy: @config.retry_policy
488
+
489
+ @serving_config_service_stub.list_serving_configs request, options do |result, operation|
490
+ result = ::Gapic::Rest::PagedEnumerable.new @serving_config_service_stub, :list_serving_configs, "serving_configs", request, result, options
491
+ yield result, operation if block_given?
492
+ return result
493
+ end
494
+ rescue ::Gapic::Rest::Error => e
495
+ raise ::Google::Cloud::Error.from_error(e)
496
+ end
497
+
498
+ ##
499
+ # Enables a Control on the specified ServingConfig.
500
+ # The control is added in the last position of the list of controls
501
+ # it belongs to (e.g. if it's a facet spec control it will be applied
502
+ # in the last position of servingConfig.facetSpecIds)
503
+ # Returns a ALREADY_EXISTS error if the control has already been applied.
504
+ # Returns a FAILED_PRECONDITION error if the addition could exceed maximum
505
+ # number of control allowed for that type of control.
506
+ #
507
+ # @overload add_control(request, options = nil)
508
+ # Pass arguments to `add_control` via a request object, either of type
509
+ # {::Google::Cloud::Retail::V2::AddControlRequest} or an equivalent Hash.
510
+ #
511
+ # @param request [::Google::Cloud::Retail::V2::AddControlRequest, ::Hash]
512
+ # A request object representing the call parameters. Required. To specify no
513
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
514
+ # @param options [::Gapic::CallOptions, ::Hash]
515
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
516
+ #
517
+ # @overload add_control(serving_config: nil, control_id: nil)
518
+ # Pass arguments to `add_control` via keyword arguments. Note that at
519
+ # least one keyword argument is required. To specify no parameters, or to keep all
520
+ # the default parameter values, pass an empty Hash as a request object (see above).
521
+ #
522
+ # @param serving_config [::String]
523
+ # Required. The source ServingConfig resource name . Format:
524
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
525
+ # @param control_id [::String]
526
+ # Required. The id of the control to apply. Assumed to be in the same catalog
527
+ # as the serving config - if id is not found a NOT_FOUND error is returned.
528
+ # @yield [result, operation] Access the result along with the TransportOperation object
529
+ # @yieldparam result [::Google::Cloud::Retail::V2::ServingConfig]
530
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
531
+ #
532
+ # @return [::Google::Cloud::Retail::V2::ServingConfig]
533
+ #
534
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
535
+ def add_control request, options = nil
536
+ raise ::ArgumentError, "request must be provided" if request.nil?
537
+
538
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::AddControlRequest
539
+
540
+ # Converts hash and nil to an options object
541
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
542
+
543
+ # Customize the options with defaults
544
+ call_metadata = @config.rpcs.add_control.metadata.to_h
545
+
546
+ # Set x-goog-api-client and x-goog-user-project headers
547
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
548
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
549
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
550
+ transports_version_send: [:rest]
551
+
552
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
553
+
554
+ options.apply_defaults timeout: @config.rpcs.add_control.timeout,
555
+ metadata: call_metadata,
556
+ retry_policy: @config.rpcs.add_control.retry_policy
557
+
558
+ options.apply_defaults timeout: @config.timeout,
559
+ metadata: @config.metadata,
560
+ retry_policy: @config.retry_policy
561
+
562
+ @serving_config_service_stub.add_control request, options do |result, operation|
563
+ yield result, operation if block_given?
564
+ return result
565
+ end
566
+ rescue ::Gapic::Rest::Error => e
567
+ raise ::Google::Cloud::Error.from_error(e)
568
+ end
569
+
570
+ ##
571
+ # Disables a Control on the specified ServingConfig.
572
+ # The control is removed from the ServingConfig.
573
+ # Returns a NOT_FOUND error if the Control is not enabled for the
574
+ # ServingConfig.
575
+ #
576
+ # @overload remove_control(request, options = nil)
577
+ # Pass arguments to `remove_control` via a request object, either of type
578
+ # {::Google::Cloud::Retail::V2::RemoveControlRequest} or an equivalent Hash.
579
+ #
580
+ # @param request [::Google::Cloud::Retail::V2::RemoveControlRequest, ::Hash]
581
+ # A request object representing the call parameters. Required. To specify no
582
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
583
+ # @param options [::Gapic::CallOptions, ::Hash]
584
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
585
+ #
586
+ # @overload remove_control(serving_config: nil, control_id: nil)
587
+ # Pass arguments to `remove_control` via keyword arguments. Note that at
588
+ # least one keyword argument is required. To specify no parameters, or to keep all
589
+ # the default parameter values, pass an empty Hash as a request object (see above).
590
+ #
591
+ # @param serving_config [::String]
592
+ # Required. The source ServingConfig resource name . Format:
593
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
594
+ # @param control_id [::String]
595
+ # Required. The id of the control to apply. Assumed to be in the same catalog
596
+ # as the serving config.
597
+ # @yield [result, operation] Access the result along with the TransportOperation object
598
+ # @yieldparam result [::Google::Cloud::Retail::V2::ServingConfig]
599
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
600
+ #
601
+ # @return [::Google::Cloud::Retail::V2::ServingConfig]
602
+ #
603
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
604
+ def remove_control request, options = nil
605
+ raise ::ArgumentError, "request must be provided" if request.nil?
606
+
607
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::RemoveControlRequest
608
+
609
+ # Converts hash and nil to an options object
610
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
611
+
612
+ # Customize the options with defaults
613
+ call_metadata = @config.rpcs.remove_control.metadata.to_h
614
+
615
+ # Set x-goog-api-client and x-goog-user-project headers
616
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
617
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
618
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
619
+ transports_version_send: [:rest]
620
+
621
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
622
+
623
+ options.apply_defaults timeout: @config.rpcs.remove_control.timeout,
624
+ metadata: call_metadata,
625
+ retry_policy: @config.rpcs.remove_control.retry_policy
626
+
627
+ options.apply_defaults timeout: @config.timeout,
628
+ metadata: @config.metadata,
629
+ retry_policy: @config.retry_policy
630
+
631
+ @serving_config_service_stub.remove_control request, options do |result, operation|
632
+ yield result, operation if block_given?
633
+ return result
634
+ end
635
+ rescue ::Gapic::Rest::Error => e
636
+ raise ::Google::Cloud::Error.from_error(e)
637
+ end
638
+
639
+ ##
640
+ # Configuration class for the ServingConfigService REST API.
641
+ #
642
+ # This class represents the configuration for ServingConfigService REST,
643
+ # providing control over timeouts, retry behavior, logging, transport
644
+ # parameters, and other low-level controls. Certain parameters can also be
645
+ # applied individually to specific RPCs. See
646
+ # {::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client::Configuration::Rpcs}
647
+ # for a list of RPCs that can be configured independently.
648
+ #
649
+ # Configuration can be applied globally to all clients, or to a single client
650
+ # on construction.
651
+ #
652
+ # @example
653
+ #
654
+ # # Modify the global config, setting the timeout for
655
+ # # create_serving_config to 20 seconds,
656
+ # # and all remaining timeouts to 10 seconds.
657
+ # ::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client.configure do |config|
658
+ # config.timeout = 10.0
659
+ # config.rpcs.create_serving_config.timeout = 20.0
660
+ # end
661
+ #
662
+ # # Apply the above configuration only to a new client.
663
+ # client = ::Google::Cloud::Retail::V2::ServingConfigService::Rest::Client.new do |config|
664
+ # config.timeout = 10.0
665
+ # config.rpcs.create_serving_config.timeout = 20.0
666
+ # end
667
+ #
668
+ # @!attribute [rw] endpoint
669
+ # The hostname or hostname:port of the service endpoint.
670
+ # Defaults to `"retail.googleapis.com"`.
671
+ # @return [::String]
672
+ # @!attribute [rw] credentials
673
+ # Credentials to send with calls. You may provide any of the following types:
674
+ # * (`String`) The path to a service account key file in JSON format
675
+ # * (`Hash`) A service account key as a Hash
676
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
677
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
678
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
679
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
680
+ # * (`nil`) indicating no credentials
681
+ # @return [::Object]
682
+ # @!attribute [rw] scope
683
+ # The OAuth scopes
684
+ # @return [::Array<::String>]
685
+ # @!attribute [rw] lib_name
686
+ # The library name as recorded in instrumentation and logging
687
+ # @return [::String]
688
+ # @!attribute [rw] lib_version
689
+ # The library version as recorded in instrumentation and logging
690
+ # @return [::String]
691
+ # @!attribute [rw] timeout
692
+ # The call timeout in seconds.
693
+ # @return [::Numeric]
694
+ # @!attribute [rw] metadata
695
+ # Additional headers to be sent with the call.
696
+ # @return [::Hash{::Symbol=>::String}]
697
+ # @!attribute [rw] retry_policy
698
+ # The retry policy. The value is a hash with the following keys:
699
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
700
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
701
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
702
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
703
+ # trigger a retry.
704
+ # @return [::Hash]
705
+ # @!attribute [rw] quota_project
706
+ # A separate project against which to charge quota.
707
+ # @return [::String]
708
+ #
709
+ class Configuration
710
+ extend ::Gapic::Config
711
+
712
+ config_attr :endpoint, "retail.googleapis.com", ::String
713
+ config_attr :credentials, nil do |value|
714
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
715
+ allowed.any? { |klass| klass === value }
716
+ end
717
+ config_attr :scope, nil, ::String, ::Array, nil
718
+ config_attr :lib_name, nil, ::String, nil
719
+ config_attr :lib_version, nil, ::String, nil
720
+ config_attr :timeout, nil, ::Numeric, nil
721
+ config_attr :metadata, nil, ::Hash, nil
722
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
723
+ config_attr :quota_project, nil, ::String, nil
724
+
725
+ # @private
726
+ def initialize parent_config = nil
727
+ @parent_config = parent_config unless parent_config.nil?
728
+
729
+ yield self if block_given?
730
+ end
731
+
732
+ ##
733
+ # Configurations for individual RPCs
734
+ # @return [Rpcs]
735
+ #
736
+ def rpcs
737
+ @rpcs ||= begin
738
+ parent_rpcs = nil
739
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
740
+ Rpcs.new parent_rpcs
741
+ end
742
+ end
743
+
744
+ ##
745
+ # Configuration RPC class for the ServingConfigService API.
746
+ #
747
+ # Includes fields providing the configuration for each RPC in this service.
748
+ # Each configuration object is of type `Gapic::Config::Method` and includes
749
+ # the following configuration fields:
750
+ #
751
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
752
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
753
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
754
+ # include the following keys:
755
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
756
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
757
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
758
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
759
+ # trigger a retry.
760
+ #
761
+ class Rpcs
762
+ ##
763
+ # RPC-specific configuration for `create_serving_config`
764
+ # @return [::Gapic::Config::Method]
765
+ #
766
+ attr_reader :create_serving_config
767
+ ##
768
+ # RPC-specific configuration for `delete_serving_config`
769
+ # @return [::Gapic::Config::Method]
770
+ #
771
+ attr_reader :delete_serving_config
772
+ ##
773
+ # RPC-specific configuration for `update_serving_config`
774
+ # @return [::Gapic::Config::Method]
775
+ #
776
+ attr_reader :update_serving_config
777
+ ##
778
+ # RPC-specific configuration for `get_serving_config`
779
+ # @return [::Gapic::Config::Method]
780
+ #
781
+ attr_reader :get_serving_config
782
+ ##
783
+ # RPC-specific configuration for `list_serving_configs`
784
+ # @return [::Gapic::Config::Method]
785
+ #
786
+ attr_reader :list_serving_configs
787
+ ##
788
+ # RPC-specific configuration for `add_control`
789
+ # @return [::Gapic::Config::Method]
790
+ #
791
+ attr_reader :add_control
792
+ ##
793
+ # RPC-specific configuration for `remove_control`
794
+ # @return [::Gapic::Config::Method]
795
+ #
796
+ attr_reader :remove_control
797
+
798
+ # @private
799
+ def initialize parent_rpcs = nil
800
+ create_serving_config_config = parent_rpcs.create_serving_config if parent_rpcs.respond_to? :create_serving_config
801
+ @create_serving_config = ::Gapic::Config::Method.new create_serving_config_config
802
+ delete_serving_config_config = parent_rpcs.delete_serving_config if parent_rpcs.respond_to? :delete_serving_config
803
+ @delete_serving_config = ::Gapic::Config::Method.new delete_serving_config_config
804
+ update_serving_config_config = parent_rpcs.update_serving_config if parent_rpcs.respond_to? :update_serving_config
805
+ @update_serving_config = ::Gapic::Config::Method.new update_serving_config_config
806
+ get_serving_config_config = parent_rpcs.get_serving_config if parent_rpcs.respond_to? :get_serving_config
807
+ @get_serving_config = ::Gapic::Config::Method.new get_serving_config_config
808
+ list_serving_configs_config = parent_rpcs.list_serving_configs if parent_rpcs.respond_to? :list_serving_configs
809
+ @list_serving_configs = ::Gapic::Config::Method.new list_serving_configs_config
810
+ add_control_config = parent_rpcs.add_control if parent_rpcs.respond_to? :add_control
811
+ @add_control = ::Gapic::Config::Method.new add_control_config
812
+ remove_control_config = parent_rpcs.remove_control if parent_rpcs.respond_to? :remove_control
813
+ @remove_control = ::Gapic::Config::Method.new remove_control_config
814
+
815
+ yield self if block_given?
816
+ end
817
+ end
818
+ end
819
+ end
820
+ end
821
+ end
822
+ end
823
+ end
824
+ end
825
+ end