google-cloud-ai_platform-v1 0.33.0 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/client.rb +1796 -0
  3. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/credentials.rb +47 -0
  4. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/operations.rb +787 -0
  5. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service/paths.rb +111 -0
  6. data/lib/google/cloud/ai_platform/v1/feature_online_store_admin_service.rb +51 -0
  7. data/lib/google/cloud/ai_platform/v1/feature_online_store_service/client.rb +431 -0
  8. data/lib/google/cloud/ai_platform/v1/feature_online_store_service/credentials.rb +47 -0
  9. data/lib/google/cloud/ai_platform/v1/feature_online_store_service/paths.rb +54 -0
  10. data/lib/google/cloud/ai_platform/v1/feature_online_store_service.rb +47 -0
  11. data/lib/google/cloud/ai_platform/v1/feature_registry_service/client.rb +1498 -0
  12. data/lib/google/cloud/ai_platform/v1/feature_registry_service/credentials.rb +47 -0
  13. data/lib/google/cloud/ai_platform/v1/feature_registry_service/operations.rb +787 -0
  14. data/lib/google/cloud/ai_platform/v1/feature_registry_service/paths.rb +139 -0
  15. data/lib/google/cloud/ai_platform/v1/feature_registry_service.rb +51 -0
  16. data/lib/google/cloud/ai_platform/v1/featurestore_service/client.rb +20 -7
  17. data/lib/google/cloud/ai_platform/v1/featurestore_service/paths.rb +53 -8
  18. data/lib/google/cloud/ai_platform/v1/version.rb +1 -1
  19. data/lib/google/cloud/ai_platform/v1.rb +3 -0
  20. data/lib/google/cloud/aiplatform/v1/custom_job_pb.rb +1 -1
  21. data/lib/google/cloud/aiplatform/v1/feature_group_pb.rb +50 -0
  22. data/lib/google/cloud/aiplatform/v1/feature_online_store_admin_service_pb.rb +79 -0
  23. data/lib/google/cloud/aiplatform/v1/feature_online_store_admin_service_services_pb.rb +71 -0
  24. data/lib/google/cloud/aiplatform/v1/feature_online_store_pb.rb +50 -0
  25. data/lib/google/cloud/aiplatform/v1/feature_online_store_service_pb.rb +56 -0
  26. data/lib/google/cloud/aiplatform/v1/feature_online_store_service_services_pb.rb +44 -0
  27. data/lib/google/cloud/aiplatform/v1/feature_pb.rb +1 -1
  28. data/lib/google/cloud/aiplatform/v1/feature_registry_service_pb.rb +66 -0
  29. data/lib/google/cloud/aiplatform/v1/feature_registry_service_services_pb.rb +64 -0
  30. data/lib/google/cloud/aiplatform/v1/feature_view_pb.rb +51 -0
  31. data/lib/google/cloud/aiplatform/v1/feature_view_sync_pb.rb +51 -0
  32. data/lib/google/cloud/aiplatform/v1/index_pb.rb +3 -1
  33. data/lib/google/cloud/aiplatform/v1/machine_resources_pb.rb +1 -1
  34. data/lib/google/cloud/aiplatform/v1/prediction_service_pb.rb +3 -1
  35. data/lib/google/cloud/aiplatform/v1/study_pb.rb +5 -1
  36. data/proto_docs/google/cloud/aiplatform/v1/custom_job.rb +6 -0
  37. data/proto_docs/google/cloud/aiplatform/v1/feature.rb +21 -10
  38. data/proto_docs/google/cloud/aiplatform/v1/feature_group.rb +91 -0
  39. data/proto_docs/google/cloud/aiplatform/v1/feature_online_store.rb +124 -0
  40. data/proto_docs/google/cloud/aiplatform/v1/feature_online_store_admin_service.rb +458 -0
  41. data/proto_docs/google/cloud/aiplatform/v1/feature_online_store_service.rb +102 -0
  42. data/proto_docs/google/cloud/aiplatform/v1/feature_registry_service.rb +208 -0
  43. data/proto_docs/google/cloud/aiplatform/v1/feature_view.rb +131 -0
  44. data/proto_docs/google/cloud/aiplatform/v1/feature_view_sync.rb +48 -0
  45. data/proto_docs/google/cloud/aiplatform/v1/featurestore_service.rb +32 -7
  46. data/proto_docs/google/cloud/aiplatform/v1/index.rb +53 -0
  47. data/proto_docs/google/cloud/aiplatform/v1/index_endpoint.rb +5 -4
  48. data/proto_docs/google/cloud/aiplatform/v1/machine_resources.rb +4 -0
  49. data/proto_docs/google/cloud/aiplatform/v1/prediction_service.rb +28 -0
  50. data/proto_docs/google/cloud/aiplatform/v1/study.rb +75 -0
  51. metadata +33 -2
@@ -0,0 +1,1498 @@
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/aiplatform/v1/feature_registry_service_pb"
21
+ require "google/cloud/location"
22
+ require "google/iam/v1"
23
+
24
+ module Google
25
+ module Cloud
26
+ module AIPlatform
27
+ module V1
28
+ module FeatureRegistryService
29
+ ##
30
+ # Client for the FeatureRegistryService service.
31
+ #
32
+ # The service that handles CRUD and List for resources for
33
+ # FeatureRegistry.
34
+ #
35
+ class Client
36
+ include Paths
37
+
38
+ # @private
39
+ attr_reader :feature_registry_service_stub
40
+
41
+ ##
42
+ # Configure the FeatureRegistryService Client class.
43
+ #
44
+ # See {::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client::Configuration}
45
+ # for a description of the configuration fields.
46
+ #
47
+ # @example
48
+ #
49
+ # # Modify the configuration for all FeatureRegistryService clients
50
+ # ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::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", "AIPlatform", "V1"]
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 FeatureRegistryService 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::AIPlatform::V1::FeatureRegistryService::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 FeatureRegistryService client object.
98
+ #
99
+ # @example
100
+ #
101
+ # # Create a client using the default configuration
102
+ # client = ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
103
+ #
104
+ # # Create a client using a custom configuration
105
+ # client = ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new do |config|
106
+ # config.timeout = 10.0
107
+ # end
108
+ #
109
+ # @yield [config] Configure the FeatureRegistryService client.
110
+ # @yieldparam config [Client::Configuration]
111
+ #
112
+ def initialize
113
+ # These require statements are intentionally placed here to initialize
114
+ # the gRPC module only when it's required.
115
+ # See https://github.com/googleapis/toolkit/issues/446
116
+ require "gapic/grpc"
117
+ require "google/cloud/aiplatform/v1/feature_registry_service_services_pb"
118
+
119
+ # Create the configuration object
120
+ @config = Configuration.new Client.configure
121
+
122
+ # Yield the configuration if needed
123
+ yield @config if block_given?
124
+
125
+ # Create credentials
126
+ credentials = @config.credentials
127
+ # Use self-signed JWT if the endpoint is unchanged from default,
128
+ # but only if the default endpoint does not have a region prefix.
129
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
130
+ !@config.endpoint.split(".").first.include?("-")
131
+ credentials ||= Credentials.default scope: @config.scope,
132
+ enable_self_signed_jwt: enable_self_signed_jwt
133
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
134
+ credentials = Credentials.new credentials, scope: @config.scope
135
+ end
136
+ @quota_project_id = @config.quota_project
137
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
138
+
139
+ @operations_client = Operations.new do |config|
140
+ config.credentials = credentials
141
+ config.quota_project = @quota_project_id
142
+ config.endpoint = @config.endpoint
143
+ end
144
+
145
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
146
+ config.credentials = credentials
147
+ config.quota_project = @quota_project_id
148
+ config.endpoint = @config.endpoint
149
+ end
150
+
151
+ @iam_policy_client = Google::Iam::V1::IAMPolicy::Client.new do |config|
152
+ config.credentials = credentials
153
+ config.quota_project = @quota_project_id
154
+ config.endpoint = @config.endpoint
155
+ end
156
+
157
+ @feature_registry_service_stub = ::Gapic::ServiceStub.new(
158
+ ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Stub,
159
+ credentials: credentials,
160
+ endpoint: @config.endpoint,
161
+ channel_args: @config.channel_args,
162
+ interceptors: @config.interceptors,
163
+ channel_pool_config: @config.channel_pool
164
+ )
165
+ end
166
+
167
+ ##
168
+ # Get the associated client for long-running operations.
169
+ #
170
+ # @return [::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Operations]
171
+ #
172
+ attr_reader :operations_client
173
+
174
+ ##
175
+ # Get the associated client for mix-in of the Locations.
176
+ #
177
+ # @return [Google::Cloud::Location::Locations::Client]
178
+ #
179
+ attr_reader :location_client
180
+
181
+ ##
182
+ # Get the associated client for mix-in of the IAMPolicy.
183
+ #
184
+ # @return [Google::Iam::V1::IAMPolicy::Client]
185
+ #
186
+ attr_reader :iam_policy_client
187
+
188
+ # Service calls
189
+
190
+ ##
191
+ # Creates a new FeatureGroup in a given project and location.
192
+ #
193
+ # @overload create_feature_group(request, options = nil)
194
+ # Pass arguments to `create_feature_group` via a request object, either of type
195
+ # {::Google::Cloud::AIPlatform::V1::CreateFeatureGroupRequest} or an equivalent Hash.
196
+ #
197
+ # @param request [::Google::Cloud::AIPlatform::V1::CreateFeatureGroupRequest, ::Hash]
198
+ # A request object representing the call parameters. Required. To specify no
199
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
200
+ # @param options [::Gapic::CallOptions, ::Hash]
201
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
202
+ #
203
+ # @overload create_feature_group(parent: nil, feature_group: nil, feature_group_id: nil)
204
+ # Pass arguments to `create_feature_group` via keyword arguments. Note that at
205
+ # least one keyword argument is required. To specify no parameters, or to keep all
206
+ # the default parameter values, pass an empty Hash as a request object (see above).
207
+ #
208
+ # @param parent [::String]
209
+ # Required. The resource name of the Location to create FeatureGroups.
210
+ # Format:
211
+ # `projects/{project}/locations/{location}'`
212
+ # @param feature_group [::Google::Cloud::AIPlatform::V1::FeatureGroup, ::Hash]
213
+ # Required. The FeatureGroup to create.
214
+ # @param feature_group_id [::String]
215
+ # Required. The ID to use for this FeatureGroup, which will become the final
216
+ # component of the FeatureGroup's resource name.
217
+ #
218
+ # This value may be up to 60 characters, and valid characters are
219
+ # `[a-z0-9_]`. The first character cannot be a number.
220
+ #
221
+ # The value must be unique within the project and location.
222
+ #
223
+ # @yield [response, operation] Access the result along with the RPC operation
224
+ # @yieldparam response [::Gapic::Operation]
225
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
226
+ #
227
+ # @return [::Gapic::Operation]
228
+ #
229
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
230
+ #
231
+ # @example Basic example
232
+ # require "google/cloud/ai_platform/v1"
233
+ #
234
+ # # Create a client object. The client can be reused for multiple calls.
235
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
236
+ #
237
+ # # Create a request. To set request fields, pass in keyword arguments.
238
+ # request = Google::Cloud::AIPlatform::V1::CreateFeatureGroupRequest.new
239
+ #
240
+ # # Call the create_feature_group method.
241
+ # result = client.create_feature_group request
242
+ #
243
+ # # The returned object is of type Gapic::Operation. You can use it to
244
+ # # check the status of an operation, cancel it, or wait for results.
245
+ # # Here is how to wait for a response.
246
+ # result.wait_until_done! timeout: 60
247
+ # if result.response?
248
+ # p result.response
249
+ # else
250
+ # puts "No response received."
251
+ # end
252
+ #
253
+ def create_feature_group request, options = nil
254
+ raise ::ArgumentError, "request must be provided" if request.nil?
255
+
256
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::CreateFeatureGroupRequest
257
+
258
+ # Converts hash and nil to an options object
259
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
260
+
261
+ # Customize the options with defaults
262
+ metadata = @config.rpcs.create_feature_group.metadata.to_h
263
+
264
+ # Set x-goog-api-client and x-goog-user-project headers
265
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
266
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
267
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
268
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
269
+
270
+ header_params = {}
271
+ if request.parent
272
+ header_params["parent"] = request.parent
273
+ end
274
+
275
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
276
+ metadata[:"x-goog-request-params"] ||= request_params_header
277
+
278
+ options.apply_defaults timeout: @config.rpcs.create_feature_group.timeout,
279
+ metadata: metadata,
280
+ retry_policy: @config.rpcs.create_feature_group.retry_policy
281
+
282
+ options.apply_defaults timeout: @config.timeout,
283
+ metadata: @config.metadata,
284
+ retry_policy: @config.retry_policy
285
+
286
+ @feature_registry_service_stub.call_rpc :create_feature_group, request, options: options do |response, operation|
287
+ response = ::Gapic::Operation.new response, @operations_client, options: options
288
+ yield response, operation if block_given?
289
+ return response
290
+ end
291
+ rescue ::GRPC::BadStatus => e
292
+ raise ::Google::Cloud::Error.from_error(e)
293
+ end
294
+
295
+ ##
296
+ # Gets details of a single FeatureGroup.
297
+ #
298
+ # @overload get_feature_group(request, options = nil)
299
+ # Pass arguments to `get_feature_group` via a request object, either of type
300
+ # {::Google::Cloud::AIPlatform::V1::GetFeatureGroupRequest} or an equivalent Hash.
301
+ #
302
+ # @param request [::Google::Cloud::AIPlatform::V1::GetFeatureGroupRequest, ::Hash]
303
+ # A request object representing the call parameters. Required. To specify no
304
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
305
+ # @param options [::Gapic::CallOptions, ::Hash]
306
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
307
+ #
308
+ # @overload get_feature_group(name: nil)
309
+ # Pass arguments to `get_feature_group` via keyword arguments. Note that at
310
+ # least one keyword argument is required. To specify no parameters, or to keep all
311
+ # the default parameter values, pass an empty Hash as a request object (see above).
312
+ #
313
+ # @param name [::String]
314
+ # Required. The name of the FeatureGroup resource.
315
+ #
316
+ # @yield [response, operation] Access the result along with the RPC operation
317
+ # @yieldparam response [::Google::Cloud::AIPlatform::V1::FeatureGroup]
318
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
319
+ #
320
+ # @return [::Google::Cloud::AIPlatform::V1::FeatureGroup]
321
+ #
322
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
323
+ #
324
+ # @example Basic example
325
+ # require "google/cloud/ai_platform/v1"
326
+ #
327
+ # # Create a client object. The client can be reused for multiple calls.
328
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
329
+ #
330
+ # # Create a request. To set request fields, pass in keyword arguments.
331
+ # request = Google::Cloud::AIPlatform::V1::GetFeatureGroupRequest.new
332
+ #
333
+ # # Call the get_feature_group method.
334
+ # result = client.get_feature_group request
335
+ #
336
+ # # The returned object is of type Google::Cloud::AIPlatform::V1::FeatureGroup.
337
+ # p result
338
+ #
339
+ def get_feature_group request, options = nil
340
+ raise ::ArgumentError, "request must be provided" if request.nil?
341
+
342
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::GetFeatureGroupRequest
343
+
344
+ # Converts hash and nil to an options object
345
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
346
+
347
+ # Customize the options with defaults
348
+ metadata = @config.rpcs.get_feature_group.metadata.to_h
349
+
350
+ # Set x-goog-api-client and x-goog-user-project headers
351
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
352
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
353
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
354
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
355
+
356
+ header_params = {}
357
+ if request.name
358
+ header_params["name"] = request.name
359
+ end
360
+
361
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
362
+ metadata[:"x-goog-request-params"] ||= request_params_header
363
+
364
+ options.apply_defaults timeout: @config.rpcs.get_feature_group.timeout,
365
+ metadata: metadata,
366
+ retry_policy: @config.rpcs.get_feature_group.retry_policy
367
+
368
+ options.apply_defaults timeout: @config.timeout,
369
+ metadata: @config.metadata,
370
+ retry_policy: @config.retry_policy
371
+
372
+ @feature_registry_service_stub.call_rpc :get_feature_group, request, options: options do |response, operation|
373
+ yield response, operation if block_given?
374
+ return response
375
+ end
376
+ rescue ::GRPC::BadStatus => e
377
+ raise ::Google::Cloud::Error.from_error(e)
378
+ end
379
+
380
+ ##
381
+ # Lists FeatureGroups in a given project and location.
382
+ #
383
+ # @overload list_feature_groups(request, options = nil)
384
+ # Pass arguments to `list_feature_groups` via a request object, either of type
385
+ # {::Google::Cloud::AIPlatform::V1::ListFeatureGroupsRequest} or an equivalent Hash.
386
+ #
387
+ # @param request [::Google::Cloud::AIPlatform::V1::ListFeatureGroupsRequest, ::Hash]
388
+ # A request object representing the call parameters. Required. To specify no
389
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
390
+ # @param options [::Gapic::CallOptions, ::Hash]
391
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
392
+ #
393
+ # @overload list_feature_groups(parent: nil, filter: nil, page_size: nil, page_token: nil, order_by: nil)
394
+ # Pass arguments to `list_feature_groups` via keyword arguments. Note that at
395
+ # least one keyword argument is required. To specify no parameters, or to keep all
396
+ # the default parameter values, pass an empty Hash as a request object (see above).
397
+ #
398
+ # @param parent [::String]
399
+ # Required. The resource name of the Location to list FeatureGroups.
400
+ # Format:
401
+ # `projects/{project}/locations/{location}`
402
+ # @param filter [::String]
403
+ # Lists the FeatureGroups that match the filter expression. The
404
+ # following fields are supported:
405
+ #
406
+ # * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
407
+ # Values must be
408
+ # in RFC 3339 format.
409
+ # * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
410
+ # Values must be
411
+ # in RFC 3339 format.
412
+ # * `labels`: Supports key-value equality and key presence.
413
+ #
414
+ # Examples:
415
+ #
416
+ # * `create_time > "2020-01-01" OR update_time > "2020-01-01"`
417
+ # FeatureGroups created or updated after 2020-01-01.
418
+ # * `labels.env = "prod"`
419
+ # FeatureGroups with label "env" set to "prod".
420
+ # @param page_size [::Integer]
421
+ # The maximum number of FeatureGroups to return. The service may return
422
+ # fewer than this value. If unspecified, at most 100 FeatureGroups will
423
+ # be returned. The maximum value is 100; any value greater than 100 will be
424
+ # coerced to 100.
425
+ # @param page_token [::String]
426
+ # A page token, received from a previous
427
+ # [FeatureGroupAdminService.ListFeatureGroups][] call.
428
+ # Provide this to retrieve the subsequent page.
429
+ #
430
+ # When paginating, all other parameters provided to
431
+ # [FeatureGroupAdminService.ListFeatureGroups][] must
432
+ # match the call that provided the page token.
433
+ # @param order_by [::String]
434
+ # A comma-separated list of fields to order by, sorted in ascending order.
435
+ # Use "desc" after a field name for descending.
436
+ # Supported Fields:
437
+ #
438
+ # * `create_time`
439
+ # * `update_time`
440
+ #
441
+ # @yield [response, operation] Access the result along with the RPC operation
442
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AIPlatform::V1::FeatureGroup>]
443
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
444
+ #
445
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AIPlatform::V1::FeatureGroup>]
446
+ #
447
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
448
+ #
449
+ # @example Basic example
450
+ # require "google/cloud/ai_platform/v1"
451
+ #
452
+ # # Create a client object. The client can be reused for multiple calls.
453
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
454
+ #
455
+ # # Create a request. To set request fields, pass in keyword arguments.
456
+ # request = Google::Cloud::AIPlatform::V1::ListFeatureGroupsRequest.new
457
+ #
458
+ # # Call the list_feature_groups method.
459
+ # result = client.list_feature_groups request
460
+ #
461
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
462
+ # # over elements, and API calls will be issued to fetch pages as needed.
463
+ # result.each do |item|
464
+ # # Each element is of type ::Google::Cloud::AIPlatform::V1::FeatureGroup.
465
+ # p item
466
+ # end
467
+ #
468
+ def list_feature_groups request, options = nil
469
+ raise ::ArgumentError, "request must be provided" if request.nil?
470
+
471
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::ListFeatureGroupsRequest
472
+
473
+ # Converts hash and nil to an options object
474
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
475
+
476
+ # Customize the options with defaults
477
+ metadata = @config.rpcs.list_feature_groups.metadata.to_h
478
+
479
+ # Set x-goog-api-client and x-goog-user-project headers
480
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
481
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
482
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
483
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
484
+
485
+ header_params = {}
486
+ if request.parent
487
+ header_params["parent"] = request.parent
488
+ end
489
+
490
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
491
+ metadata[:"x-goog-request-params"] ||= request_params_header
492
+
493
+ options.apply_defaults timeout: @config.rpcs.list_feature_groups.timeout,
494
+ metadata: metadata,
495
+ retry_policy: @config.rpcs.list_feature_groups.retry_policy
496
+
497
+ options.apply_defaults timeout: @config.timeout,
498
+ metadata: @config.metadata,
499
+ retry_policy: @config.retry_policy
500
+
501
+ @feature_registry_service_stub.call_rpc :list_feature_groups, request, options: options do |response, operation|
502
+ response = ::Gapic::PagedEnumerable.new @feature_registry_service_stub, :list_feature_groups, request, response, operation, options
503
+ yield response, operation if block_given?
504
+ return response
505
+ end
506
+ rescue ::GRPC::BadStatus => e
507
+ raise ::Google::Cloud::Error.from_error(e)
508
+ end
509
+
510
+ ##
511
+ # Updates the parameters of a single FeatureGroup.
512
+ #
513
+ # @overload update_feature_group(request, options = nil)
514
+ # Pass arguments to `update_feature_group` via a request object, either of type
515
+ # {::Google::Cloud::AIPlatform::V1::UpdateFeatureGroupRequest} or an equivalent Hash.
516
+ #
517
+ # @param request [::Google::Cloud::AIPlatform::V1::UpdateFeatureGroupRequest, ::Hash]
518
+ # A request object representing the call parameters. Required. To specify no
519
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
520
+ # @param options [::Gapic::CallOptions, ::Hash]
521
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
522
+ #
523
+ # @overload update_feature_group(feature_group: nil, update_mask: nil)
524
+ # Pass arguments to `update_feature_group` via keyword arguments. Note that at
525
+ # least one keyword argument is required. To specify no parameters, or to keep all
526
+ # the default parameter values, pass an empty Hash as a request object (see above).
527
+ #
528
+ # @param feature_group [::Google::Cloud::AIPlatform::V1::FeatureGroup, ::Hash]
529
+ # Required. The FeatureGroup's `name` field is used to identify the
530
+ # FeatureGroup to be updated. Format:
531
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}`
532
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
533
+ # Field mask is used to specify the fields to be overwritten in the
534
+ # FeatureGroup resource by the update.
535
+ # The fields specified in the update_mask are relative to the resource, not
536
+ # the full request. A field will be overwritten if it is in the mask. If the
537
+ # user does not provide a mask then only the non-empty fields present in the
538
+ # request will be overwritten. Set the update_mask to `*` to override all
539
+ # fields.
540
+ #
541
+ # Updatable fields:
542
+ #
543
+ # * `labels`
544
+ #
545
+ # @yield [response, operation] Access the result along with the RPC operation
546
+ # @yieldparam response [::Gapic::Operation]
547
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
548
+ #
549
+ # @return [::Gapic::Operation]
550
+ #
551
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
552
+ #
553
+ # @example Basic example
554
+ # require "google/cloud/ai_platform/v1"
555
+ #
556
+ # # Create a client object. The client can be reused for multiple calls.
557
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
558
+ #
559
+ # # Create a request. To set request fields, pass in keyword arguments.
560
+ # request = Google::Cloud::AIPlatform::V1::UpdateFeatureGroupRequest.new
561
+ #
562
+ # # Call the update_feature_group method.
563
+ # result = client.update_feature_group request
564
+ #
565
+ # # The returned object is of type Gapic::Operation. You can use it to
566
+ # # check the status of an operation, cancel it, or wait for results.
567
+ # # Here is how to wait for a response.
568
+ # result.wait_until_done! timeout: 60
569
+ # if result.response?
570
+ # p result.response
571
+ # else
572
+ # puts "No response received."
573
+ # end
574
+ #
575
+ def update_feature_group request, options = nil
576
+ raise ::ArgumentError, "request must be provided" if request.nil?
577
+
578
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::UpdateFeatureGroupRequest
579
+
580
+ # Converts hash and nil to an options object
581
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
582
+
583
+ # Customize the options with defaults
584
+ metadata = @config.rpcs.update_feature_group.metadata.to_h
585
+
586
+ # Set x-goog-api-client and x-goog-user-project headers
587
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
588
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
589
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
590
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
591
+
592
+ header_params = {}
593
+ if request.feature_group&.name
594
+ header_params["feature_group.name"] = request.feature_group.name
595
+ end
596
+
597
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
598
+ metadata[:"x-goog-request-params"] ||= request_params_header
599
+
600
+ options.apply_defaults timeout: @config.rpcs.update_feature_group.timeout,
601
+ metadata: metadata,
602
+ retry_policy: @config.rpcs.update_feature_group.retry_policy
603
+
604
+ options.apply_defaults timeout: @config.timeout,
605
+ metadata: @config.metadata,
606
+ retry_policy: @config.retry_policy
607
+
608
+ @feature_registry_service_stub.call_rpc :update_feature_group, request, options: options do |response, operation|
609
+ response = ::Gapic::Operation.new response, @operations_client, options: options
610
+ yield response, operation if block_given?
611
+ return response
612
+ end
613
+ rescue ::GRPC::BadStatus => e
614
+ raise ::Google::Cloud::Error.from_error(e)
615
+ end
616
+
617
+ ##
618
+ # Deletes a single FeatureGroup.
619
+ #
620
+ # @overload delete_feature_group(request, options = nil)
621
+ # Pass arguments to `delete_feature_group` via a request object, either of type
622
+ # {::Google::Cloud::AIPlatform::V1::DeleteFeatureGroupRequest} or an equivalent Hash.
623
+ #
624
+ # @param request [::Google::Cloud::AIPlatform::V1::DeleteFeatureGroupRequest, ::Hash]
625
+ # A request object representing the call parameters. Required. To specify no
626
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
627
+ # @param options [::Gapic::CallOptions, ::Hash]
628
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
629
+ #
630
+ # @overload delete_feature_group(name: nil, force: nil)
631
+ # Pass arguments to `delete_feature_group` via keyword arguments. Note that at
632
+ # least one keyword argument is required. To specify no parameters, or to keep all
633
+ # the default parameter values, pass an empty Hash as a request object (see above).
634
+ #
635
+ # @param name [::String]
636
+ # Required. The name of the FeatureGroup to be deleted.
637
+ # Format:
638
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}`
639
+ # @param force [::Boolean]
640
+ # If set to true, any Features under this FeatureGroup
641
+ # will also be deleted. (Otherwise, the request will only work if the
642
+ # FeatureGroup has no Features.)
643
+ #
644
+ # @yield [response, operation] Access the result along with the RPC operation
645
+ # @yieldparam response [::Gapic::Operation]
646
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
647
+ #
648
+ # @return [::Gapic::Operation]
649
+ #
650
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
651
+ #
652
+ # @example Basic example
653
+ # require "google/cloud/ai_platform/v1"
654
+ #
655
+ # # Create a client object. The client can be reused for multiple calls.
656
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
657
+ #
658
+ # # Create a request. To set request fields, pass in keyword arguments.
659
+ # request = Google::Cloud::AIPlatform::V1::DeleteFeatureGroupRequest.new
660
+ #
661
+ # # Call the delete_feature_group method.
662
+ # result = client.delete_feature_group request
663
+ #
664
+ # # The returned object is of type Gapic::Operation. You can use it to
665
+ # # check the status of an operation, cancel it, or wait for results.
666
+ # # Here is how to wait for a response.
667
+ # result.wait_until_done! timeout: 60
668
+ # if result.response?
669
+ # p result.response
670
+ # else
671
+ # puts "No response received."
672
+ # end
673
+ #
674
+ def delete_feature_group request, options = nil
675
+ raise ::ArgumentError, "request must be provided" if request.nil?
676
+
677
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::DeleteFeatureGroupRequest
678
+
679
+ # Converts hash and nil to an options object
680
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
681
+
682
+ # Customize the options with defaults
683
+ metadata = @config.rpcs.delete_feature_group.metadata.to_h
684
+
685
+ # Set x-goog-api-client and x-goog-user-project headers
686
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
687
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
688
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
689
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
690
+
691
+ header_params = {}
692
+ if request.name
693
+ header_params["name"] = request.name
694
+ end
695
+
696
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
697
+ metadata[:"x-goog-request-params"] ||= request_params_header
698
+
699
+ options.apply_defaults timeout: @config.rpcs.delete_feature_group.timeout,
700
+ metadata: metadata,
701
+ retry_policy: @config.rpcs.delete_feature_group.retry_policy
702
+
703
+ options.apply_defaults timeout: @config.timeout,
704
+ metadata: @config.metadata,
705
+ retry_policy: @config.retry_policy
706
+
707
+ @feature_registry_service_stub.call_rpc :delete_feature_group, request, options: options do |response, operation|
708
+ response = ::Gapic::Operation.new response, @operations_client, options: options
709
+ yield response, operation if block_given?
710
+ return response
711
+ end
712
+ rescue ::GRPC::BadStatus => e
713
+ raise ::Google::Cloud::Error.from_error(e)
714
+ end
715
+
716
+ ##
717
+ # Creates a new Feature in a given FeatureGroup.
718
+ #
719
+ # @overload create_feature(request, options = nil)
720
+ # Pass arguments to `create_feature` via a request object, either of type
721
+ # {::Google::Cloud::AIPlatform::V1::CreateFeatureRequest} or an equivalent Hash.
722
+ #
723
+ # @param request [::Google::Cloud::AIPlatform::V1::CreateFeatureRequest, ::Hash]
724
+ # A request object representing the call parameters. Required. To specify no
725
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
726
+ # @param options [::Gapic::CallOptions, ::Hash]
727
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
728
+ #
729
+ # @overload create_feature(parent: nil, feature: nil, feature_id: nil)
730
+ # Pass arguments to `create_feature` via keyword arguments. Note that at
731
+ # least one keyword argument is required. To specify no parameters, or to keep all
732
+ # the default parameter values, pass an empty Hash as a request object (see above).
733
+ #
734
+ # @param parent [::String]
735
+ # Required. The resource name of the EntityType or FeatureGroup to create a
736
+ # Feature. Format for entity_type as parent:
737
+ # `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
738
+ # Format for feature_group as parent:
739
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}`
740
+ # @param feature [::Google::Cloud::AIPlatform::V1::Feature, ::Hash]
741
+ # Required. The Feature to create.
742
+ # @param feature_id [::String]
743
+ # Required. The ID to use for the Feature, which will become the final
744
+ # component of the Feature's resource name.
745
+ #
746
+ # This value may be up to 128 characters, and valid characters are
747
+ # `[a-z0-9_]`. The first character cannot be a number.
748
+ #
749
+ # The value must be unique within an EntityType/FeatureGroup.
750
+ #
751
+ # @yield [response, operation] Access the result along with the RPC operation
752
+ # @yieldparam response [::Gapic::Operation]
753
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
754
+ #
755
+ # @return [::Gapic::Operation]
756
+ #
757
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
758
+ #
759
+ # @example Basic example
760
+ # require "google/cloud/ai_platform/v1"
761
+ #
762
+ # # Create a client object. The client can be reused for multiple calls.
763
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
764
+ #
765
+ # # Create a request. To set request fields, pass in keyword arguments.
766
+ # request = Google::Cloud::AIPlatform::V1::CreateFeatureRequest.new
767
+ #
768
+ # # Call the create_feature method.
769
+ # result = client.create_feature request
770
+ #
771
+ # # The returned object is of type Gapic::Operation. You can use it to
772
+ # # check the status of an operation, cancel it, or wait for results.
773
+ # # Here is how to wait for a response.
774
+ # result.wait_until_done! timeout: 60
775
+ # if result.response?
776
+ # p result.response
777
+ # else
778
+ # puts "No response received."
779
+ # end
780
+ #
781
+ def create_feature request, options = nil
782
+ raise ::ArgumentError, "request must be provided" if request.nil?
783
+
784
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::CreateFeatureRequest
785
+
786
+ # Converts hash and nil to an options object
787
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
788
+
789
+ # Customize the options with defaults
790
+ metadata = @config.rpcs.create_feature.metadata.to_h
791
+
792
+ # Set x-goog-api-client and x-goog-user-project headers
793
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
794
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
795
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
796
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
797
+
798
+ header_params = {}
799
+ if request.parent
800
+ header_params["parent"] = request.parent
801
+ end
802
+
803
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
804
+ metadata[:"x-goog-request-params"] ||= request_params_header
805
+
806
+ options.apply_defaults timeout: @config.rpcs.create_feature.timeout,
807
+ metadata: metadata,
808
+ retry_policy: @config.rpcs.create_feature.retry_policy
809
+
810
+ options.apply_defaults timeout: @config.timeout,
811
+ metadata: @config.metadata,
812
+ retry_policy: @config.retry_policy
813
+
814
+ @feature_registry_service_stub.call_rpc :create_feature, request, options: options do |response, operation|
815
+ response = ::Gapic::Operation.new response, @operations_client, options: options
816
+ yield response, operation if block_given?
817
+ return response
818
+ end
819
+ rescue ::GRPC::BadStatus => e
820
+ raise ::Google::Cloud::Error.from_error(e)
821
+ end
822
+
823
+ ##
824
+ # Gets details of a single Feature.
825
+ #
826
+ # @overload get_feature(request, options = nil)
827
+ # Pass arguments to `get_feature` via a request object, either of type
828
+ # {::Google::Cloud::AIPlatform::V1::GetFeatureRequest} or an equivalent Hash.
829
+ #
830
+ # @param request [::Google::Cloud::AIPlatform::V1::GetFeatureRequest, ::Hash]
831
+ # A request object representing the call parameters. Required. To specify no
832
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
833
+ # @param options [::Gapic::CallOptions, ::Hash]
834
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
835
+ #
836
+ # @overload get_feature(name: nil)
837
+ # Pass arguments to `get_feature` via keyword arguments. Note that at
838
+ # least one keyword argument is required. To specify no parameters, or to keep all
839
+ # the default parameter values, pass an empty Hash as a request object (see above).
840
+ #
841
+ # @param name [::String]
842
+ # Required. The name of the Feature resource.
843
+ # Format for entity_type as parent:
844
+ # `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
845
+ # Format for feature_group as parent:
846
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}`
847
+ #
848
+ # @yield [response, operation] Access the result along with the RPC operation
849
+ # @yieldparam response [::Google::Cloud::AIPlatform::V1::Feature]
850
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
851
+ #
852
+ # @return [::Google::Cloud::AIPlatform::V1::Feature]
853
+ #
854
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
855
+ #
856
+ # @example Basic example
857
+ # require "google/cloud/ai_platform/v1"
858
+ #
859
+ # # Create a client object. The client can be reused for multiple calls.
860
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
861
+ #
862
+ # # Create a request. To set request fields, pass in keyword arguments.
863
+ # request = Google::Cloud::AIPlatform::V1::GetFeatureRequest.new
864
+ #
865
+ # # Call the get_feature method.
866
+ # result = client.get_feature request
867
+ #
868
+ # # The returned object is of type Google::Cloud::AIPlatform::V1::Feature.
869
+ # p result
870
+ #
871
+ def get_feature request, options = nil
872
+ raise ::ArgumentError, "request must be provided" if request.nil?
873
+
874
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::GetFeatureRequest
875
+
876
+ # Converts hash and nil to an options object
877
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
878
+
879
+ # Customize the options with defaults
880
+ metadata = @config.rpcs.get_feature.metadata.to_h
881
+
882
+ # Set x-goog-api-client and x-goog-user-project headers
883
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
884
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
885
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
886
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
887
+
888
+ header_params = {}
889
+ if request.name
890
+ header_params["name"] = request.name
891
+ end
892
+
893
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
894
+ metadata[:"x-goog-request-params"] ||= request_params_header
895
+
896
+ options.apply_defaults timeout: @config.rpcs.get_feature.timeout,
897
+ metadata: metadata,
898
+ retry_policy: @config.rpcs.get_feature.retry_policy
899
+
900
+ options.apply_defaults timeout: @config.timeout,
901
+ metadata: @config.metadata,
902
+ retry_policy: @config.retry_policy
903
+
904
+ @feature_registry_service_stub.call_rpc :get_feature, request, options: options do |response, operation|
905
+ yield response, operation if block_given?
906
+ return response
907
+ end
908
+ rescue ::GRPC::BadStatus => e
909
+ raise ::Google::Cloud::Error.from_error(e)
910
+ end
911
+
912
+ ##
913
+ # Lists Features in a given FeatureGroup.
914
+ #
915
+ # @overload list_features(request, options = nil)
916
+ # Pass arguments to `list_features` via a request object, either of type
917
+ # {::Google::Cloud::AIPlatform::V1::ListFeaturesRequest} or an equivalent Hash.
918
+ #
919
+ # @param request [::Google::Cloud::AIPlatform::V1::ListFeaturesRequest, ::Hash]
920
+ # A request object representing the call parameters. Required. To specify no
921
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
922
+ # @param options [::Gapic::CallOptions, ::Hash]
923
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
924
+ #
925
+ # @overload list_features(parent: nil, filter: nil, page_size: nil, page_token: nil, order_by: nil, read_mask: nil, latest_stats_count: nil)
926
+ # Pass arguments to `list_features` via keyword arguments. Note that at
927
+ # least one keyword argument is required. To specify no parameters, or to keep all
928
+ # the default parameter values, pass an empty Hash as a request object (see above).
929
+ #
930
+ # @param parent [::String]
931
+ # Required. The resource name of the Location to list Features.
932
+ # Format for entity_type as parent:
933
+ # `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
934
+ # Format for feature_group as parent:
935
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}`
936
+ # @param filter [::String]
937
+ # Lists the Features that match the filter expression. The following
938
+ # filters are supported:
939
+ #
940
+ # * `value_type`: Supports = and != comparisons.
941
+ # * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
942
+ # be in RFC 3339 format.
943
+ # * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
944
+ # be in RFC 3339 format.
945
+ # * `labels`: Supports key-value equality as well as key presence.
946
+ #
947
+ # Examples:
948
+ #
949
+ # * `value_type = DOUBLE` --> Features whose type is DOUBLE.
950
+ # * `create_time > \"2020-01-31T15:30:00.000000Z\" OR
951
+ # update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
952
+ # or updated after 2020-01-31T15:30:00.000000Z.
953
+ # * `labels.active = yes AND labels.env = prod` --> Features having both
954
+ # (active: yes) and (env: prod) labels.
955
+ # * `labels.env: *` --> Any Feature which has a label with 'env' as the
956
+ # key.
957
+ # @param page_size [::Integer]
958
+ # The maximum number of Features to return. The service may return fewer
959
+ # than this value. If unspecified, at most 1000 Features will be returned.
960
+ # The maximum value is 1000; any value greater than 1000 will be coerced to
961
+ # 1000.
962
+ # @param page_token [::String]
963
+ # A page token, received from a previous
964
+ # {::Google::Cloud::AIPlatform::V1::FeaturestoreService::Client#list_features FeaturestoreService.ListFeatures}
965
+ # call or
966
+ # {::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client#list_features FeatureRegistryService.ListFeatures}
967
+ # call. Provide this to retrieve the subsequent page.
968
+ #
969
+ # When paginating, all other parameters provided to
970
+ # {::Google::Cloud::AIPlatform::V1::FeaturestoreService::Client#list_features FeaturestoreService.ListFeatures}
971
+ # or or
972
+ # {::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client#list_features FeatureRegistryService.ListFeatures}
973
+ # must match the call that provided the page token.
974
+ # @param order_by [::String]
975
+ # A comma-separated list of fields to order by, sorted in ascending order.
976
+ # Use "desc" after a field name for descending.
977
+ # Supported fields:
978
+ #
979
+ # * `feature_id`
980
+ # * `value_type` (Not supported for FeatureRegistry Feature)
981
+ # * `create_time`
982
+ # * `update_time`
983
+ # @param read_mask [::Google::Protobuf::FieldMask, ::Hash]
984
+ # Mask specifying which fields to read.
985
+ # @param latest_stats_count [::Integer]
986
+ # Only applicable for Vertex AI Feature Store (Legacy).
987
+ # If set, return the most recent
988
+ # {::Google::Cloud::AIPlatform::V1::ListFeaturesRequest#latest_stats_count ListFeaturesRequest.latest_stats_count}
989
+ # of stats for each Feature in response. Valid value is [0, 10]. If number of
990
+ # stats exists <
991
+ # {::Google::Cloud::AIPlatform::V1::ListFeaturesRequest#latest_stats_count ListFeaturesRequest.latest_stats_count},
992
+ # return all existing stats.
993
+ #
994
+ # @yield [response, operation] Access the result along with the RPC operation
995
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::AIPlatform::V1::Feature>]
996
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
997
+ #
998
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::AIPlatform::V1::Feature>]
999
+ #
1000
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1001
+ #
1002
+ # @example Basic example
1003
+ # require "google/cloud/ai_platform/v1"
1004
+ #
1005
+ # # Create a client object. The client can be reused for multiple calls.
1006
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
1007
+ #
1008
+ # # Create a request. To set request fields, pass in keyword arguments.
1009
+ # request = Google::Cloud::AIPlatform::V1::ListFeaturesRequest.new
1010
+ #
1011
+ # # Call the list_features method.
1012
+ # result = client.list_features request
1013
+ #
1014
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1015
+ # # over elements, and API calls will be issued to fetch pages as needed.
1016
+ # result.each do |item|
1017
+ # # Each element is of type ::Google::Cloud::AIPlatform::V1::Feature.
1018
+ # p item
1019
+ # end
1020
+ #
1021
+ def list_features request, options = nil
1022
+ raise ::ArgumentError, "request must be provided" if request.nil?
1023
+
1024
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::ListFeaturesRequest
1025
+
1026
+ # Converts hash and nil to an options object
1027
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1028
+
1029
+ # Customize the options with defaults
1030
+ metadata = @config.rpcs.list_features.metadata.to_h
1031
+
1032
+ # Set x-goog-api-client and x-goog-user-project headers
1033
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1034
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1035
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
1036
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1037
+
1038
+ header_params = {}
1039
+ if request.parent
1040
+ header_params["parent"] = request.parent
1041
+ end
1042
+
1043
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1044
+ metadata[:"x-goog-request-params"] ||= request_params_header
1045
+
1046
+ options.apply_defaults timeout: @config.rpcs.list_features.timeout,
1047
+ metadata: metadata,
1048
+ retry_policy: @config.rpcs.list_features.retry_policy
1049
+
1050
+ options.apply_defaults timeout: @config.timeout,
1051
+ metadata: @config.metadata,
1052
+ retry_policy: @config.retry_policy
1053
+
1054
+ @feature_registry_service_stub.call_rpc :list_features, request, options: options do |response, operation|
1055
+ response = ::Gapic::PagedEnumerable.new @feature_registry_service_stub, :list_features, request, response, operation, options
1056
+ yield response, operation if block_given?
1057
+ return response
1058
+ end
1059
+ rescue ::GRPC::BadStatus => e
1060
+ raise ::Google::Cloud::Error.from_error(e)
1061
+ end
1062
+
1063
+ ##
1064
+ # Updates the parameters of a single Feature.
1065
+ #
1066
+ # @overload update_feature(request, options = nil)
1067
+ # Pass arguments to `update_feature` via a request object, either of type
1068
+ # {::Google::Cloud::AIPlatform::V1::UpdateFeatureRequest} or an equivalent Hash.
1069
+ #
1070
+ # @param request [::Google::Cloud::AIPlatform::V1::UpdateFeatureRequest, ::Hash]
1071
+ # A request object representing the call parameters. Required. To specify no
1072
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1073
+ # @param options [::Gapic::CallOptions, ::Hash]
1074
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1075
+ #
1076
+ # @overload update_feature(feature: nil, update_mask: nil)
1077
+ # Pass arguments to `update_feature` via keyword arguments. Note that at
1078
+ # least one keyword argument is required. To specify no parameters, or to keep all
1079
+ # the default parameter values, pass an empty Hash as a request object (see above).
1080
+ #
1081
+ # @param feature [::Google::Cloud::AIPlatform::V1::Feature, ::Hash]
1082
+ # Required. The Feature's `name` field is used to identify the Feature to be
1083
+ # updated.
1084
+ # Format:
1085
+ # `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
1086
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
1087
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1088
+ # Field mask is used to specify the fields to be overwritten in the
1089
+ # Features resource by the update.
1090
+ # The fields specified in the update_mask are relative to the resource, not
1091
+ # the full request. A field will be overwritten if it is in the mask. If the
1092
+ # user does not provide a mask then only the non-empty fields present in the
1093
+ # request will be overwritten. Set the update_mask to `*` to override all
1094
+ # fields.
1095
+ #
1096
+ # Updatable fields:
1097
+ #
1098
+ # * `description`
1099
+ # * `labels`
1100
+ # * `disable_monitoring` (Not supported for FeatureRegistry Feature)
1101
+ #
1102
+ # @yield [response, operation] Access the result along with the RPC operation
1103
+ # @yieldparam response [::Gapic::Operation]
1104
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1105
+ #
1106
+ # @return [::Gapic::Operation]
1107
+ #
1108
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1109
+ #
1110
+ # @example Basic example
1111
+ # require "google/cloud/ai_platform/v1"
1112
+ #
1113
+ # # Create a client object. The client can be reused for multiple calls.
1114
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
1115
+ #
1116
+ # # Create a request. To set request fields, pass in keyword arguments.
1117
+ # request = Google::Cloud::AIPlatform::V1::UpdateFeatureRequest.new
1118
+ #
1119
+ # # Call the update_feature method.
1120
+ # result = client.update_feature request
1121
+ #
1122
+ # # The returned object is of type Gapic::Operation. You can use it to
1123
+ # # check the status of an operation, cancel it, or wait for results.
1124
+ # # Here is how to wait for a response.
1125
+ # result.wait_until_done! timeout: 60
1126
+ # if result.response?
1127
+ # p result.response
1128
+ # else
1129
+ # puts "No response received."
1130
+ # end
1131
+ #
1132
+ def update_feature request, options = nil
1133
+ raise ::ArgumentError, "request must be provided" if request.nil?
1134
+
1135
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::UpdateFeatureRequest
1136
+
1137
+ # Converts hash and nil to an options object
1138
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1139
+
1140
+ # Customize the options with defaults
1141
+ metadata = @config.rpcs.update_feature.metadata.to_h
1142
+
1143
+ # Set x-goog-api-client and x-goog-user-project headers
1144
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1145
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1146
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
1147
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1148
+
1149
+ header_params = {}
1150
+ if request.feature&.name
1151
+ header_params["feature.name"] = request.feature.name
1152
+ end
1153
+
1154
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1155
+ metadata[:"x-goog-request-params"] ||= request_params_header
1156
+
1157
+ options.apply_defaults timeout: @config.rpcs.update_feature.timeout,
1158
+ metadata: metadata,
1159
+ retry_policy: @config.rpcs.update_feature.retry_policy
1160
+
1161
+ options.apply_defaults timeout: @config.timeout,
1162
+ metadata: @config.metadata,
1163
+ retry_policy: @config.retry_policy
1164
+
1165
+ @feature_registry_service_stub.call_rpc :update_feature, request, options: options do |response, operation|
1166
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1167
+ yield response, operation if block_given?
1168
+ return response
1169
+ end
1170
+ rescue ::GRPC::BadStatus => e
1171
+ raise ::Google::Cloud::Error.from_error(e)
1172
+ end
1173
+
1174
+ ##
1175
+ # Deletes a single Feature.
1176
+ #
1177
+ # @overload delete_feature(request, options = nil)
1178
+ # Pass arguments to `delete_feature` via a request object, either of type
1179
+ # {::Google::Cloud::AIPlatform::V1::DeleteFeatureRequest} or an equivalent Hash.
1180
+ #
1181
+ # @param request [::Google::Cloud::AIPlatform::V1::DeleteFeatureRequest, ::Hash]
1182
+ # A request object representing the call parameters. Required. To specify no
1183
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1184
+ # @param options [::Gapic::CallOptions, ::Hash]
1185
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1186
+ #
1187
+ # @overload delete_feature(name: nil)
1188
+ # Pass arguments to `delete_feature` via keyword arguments. Note that at
1189
+ # least one keyword argument is required. To specify no parameters, or to keep all
1190
+ # the default parameter values, pass an empty Hash as a request object (see above).
1191
+ #
1192
+ # @param name [::String]
1193
+ # Required. The name of the Features to be deleted.
1194
+ # Format:
1195
+ # `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
1196
+ # `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
1197
+ #
1198
+ # @yield [response, operation] Access the result along with the RPC operation
1199
+ # @yieldparam response [::Gapic::Operation]
1200
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1201
+ #
1202
+ # @return [::Gapic::Operation]
1203
+ #
1204
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1205
+ #
1206
+ # @example Basic example
1207
+ # require "google/cloud/ai_platform/v1"
1208
+ #
1209
+ # # Create a client object. The client can be reused for multiple calls.
1210
+ # client = Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new
1211
+ #
1212
+ # # Create a request. To set request fields, pass in keyword arguments.
1213
+ # request = Google::Cloud::AIPlatform::V1::DeleteFeatureRequest.new
1214
+ #
1215
+ # # Call the delete_feature method.
1216
+ # result = client.delete_feature request
1217
+ #
1218
+ # # The returned object is of type Gapic::Operation. You can use it to
1219
+ # # check the status of an operation, cancel it, or wait for results.
1220
+ # # Here is how to wait for a response.
1221
+ # result.wait_until_done! timeout: 60
1222
+ # if result.response?
1223
+ # p result.response
1224
+ # else
1225
+ # puts "No response received."
1226
+ # end
1227
+ #
1228
+ def delete_feature request, options = nil
1229
+ raise ::ArgumentError, "request must be provided" if request.nil?
1230
+
1231
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::AIPlatform::V1::DeleteFeatureRequest
1232
+
1233
+ # Converts hash and nil to an options object
1234
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1235
+
1236
+ # Customize the options with defaults
1237
+ metadata = @config.rpcs.delete_feature.metadata.to_h
1238
+
1239
+ # Set x-goog-api-client and x-goog-user-project headers
1240
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1241
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1242
+ gapic_version: ::Google::Cloud::AIPlatform::V1::VERSION
1243
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1244
+
1245
+ header_params = {}
1246
+ if request.name
1247
+ header_params["name"] = request.name
1248
+ end
1249
+
1250
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1251
+ metadata[:"x-goog-request-params"] ||= request_params_header
1252
+
1253
+ options.apply_defaults timeout: @config.rpcs.delete_feature.timeout,
1254
+ metadata: metadata,
1255
+ retry_policy: @config.rpcs.delete_feature.retry_policy
1256
+
1257
+ options.apply_defaults timeout: @config.timeout,
1258
+ metadata: @config.metadata,
1259
+ retry_policy: @config.retry_policy
1260
+
1261
+ @feature_registry_service_stub.call_rpc :delete_feature, request, options: options do |response, operation|
1262
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1263
+ yield response, operation if block_given?
1264
+ return response
1265
+ end
1266
+ rescue ::GRPC::BadStatus => e
1267
+ raise ::Google::Cloud::Error.from_error(e)
1268
+ end
1269
+
1270
+ ##
1271
+ # Configuration class for the FeatureRegistryService API.
1272
+ #
1273
+ # This class represents the configuration for FeatureRegistryService,
1274
+ # providing control over timeouts, retry behavior, logging, transport
1275
+ # parameters, and other low-level controls. Certain parameters can also be
1276
+ # applied individually to specific RPCs. See
1277
+ # {::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client::Configuration::Rpcs}
1278
+ # for a list of RPCs that can be configured independently.
1279
+ #
1280
+ # Configuration can be applied globally to all clients, or to a single client
1281
+ # on construction.
1282
+ #
1283
+ # @example
1284
+ #
1285
+ # # Modify the global config, setting the timeout for
1286
+ # # create_feature_group to 20 seconds,
1287
+ # # and all remaining timeouts to 10 seconds.
1288
+ # ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.configure do |config|
1289
+ # config.timeout = 10.0
1290
+ # config.rpcs.create_feature_group.timeout = 20.0
1291
+ # end
1292
+ #
1293
+ # # Apply the above configuration only to a new client.
1294
+ # client = ::Google::Cloud::AIPlatform::V1::FeatureRegistryService::Client.new do |config|
1295
+ # config.timeout = 10.0
1296
+ # config.rpcs.create_feature_group.timeout = 20.0
1297
+ # end
1298
+ #
1299
+ # @!attribute [rw] endpoint
1300
+ # The hostname or hostname:port of the service endpoint.
1301
+ # Defaults to `"aiplatform.googleapis.com"`.
1302
+ # @return [::String]
1303
+ # @!attribute [rw] credentials
1304
+ # Credentials to send with calls. You may provide any of the following types:
1305
+ # * (`String`) The path to a service account key file in JSON format
1306
+ # * (`Hash`) A service account key as a Hash
1307
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1308
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
1309
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1310
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1311
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1312
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1313
+ # * (`nil`) indicating no credentials
1314
+ # @return [::Object]
1315
+ # @!attribute [rw] scope
1316
+ # The OAuth scopes
1317
+ # @return [::Array<::String>]
1318
+ # @!attribute [rw] lib_name
1319
+ # The library name as recorded in instrumentation and logging
1320
+ # @return [::String]
1321
+ # @!attribute [rw] lib_version
1322
+ # The library version as recorded in instrumentation and logging
1323
+ # @return [::String]
1324
+ # @!attribute [rw] channel_args
1325
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1326
+ # `GRPC::Core::Channel` object is provided as the credential.
1327
+ # @return [::Hash]
1328
+ # @!attribute [rw] interceptors
1329
+ # An array of interceptors that are run before calls are executed.
1330
+ # @return [::Array<::GRPC::ClientInterceptor>]
1331
+ # @!attribute [rw] timeout
1332
+ # The call timeout in seconds.
1333
+ # @return [::Numeric]
1334
+ # @!attribute [rw] metadata
1335
+ # Additional gRPC headers to be sent with the call.
1336
+ # @return [::Hash{::Symbol=>::String}]
1337
+ # @!attribute [rw] retry_policy
1338
+ # The retry policy. The value is a hash with the following keys:
1339
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1340
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1341
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1342
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1343
+ # trigger a retry.
1344
+ # @return [::Hash]
1345
+ # @!attribute [rw] quota_project
1346
+ # A separate project against which to charge quota.
1347
+ # @return [::String]
1348
+ #
1349
+ class Configuration
1350
+ extend ::Gapic::Config
1351
+
1352
+ DEFAULT_ENDPOINT = "aiplatform.googleapis.com"
1353
+
1354
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1355
+ config_attr :credentials, nil do |value|
1356
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1357
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1358
+ allowed.any? { |klass| klass === value }
1359
+ end
1360
+ config_attr :scope, nil, ::String, ::Array, nil
1361
+ config_attr :lib_name, nil, ::String, nil
1362
+ config_attr :lib_version, nil, ::String, nil
1363
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1364
+ config_attr :interceptors, nil, ::Array, nil
1365
+ config_attr :timeout, nil, ::Numeric, nil
1366
+ config_attr :metadata, nil, ::Hash, nil
1367
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1368
+ config_attr :quota_project, nil, ::String, nil
1369
+
1370
+ # @private
1371
+ def initialize parent_config = nil
1372
+ @parent_config = parent_config unless parent_config.nil?
1373
+
1374
+ yield self if block_given?
1375
+ end
1376
+
1377
+ ##
1378
+ # Configurations for individual RPCs
1379
+ # @return [Rpcs]
1380
+ #
1381
+ def rpcs
1382
+ @rpcs ||= begin
1383
+ parent_rpcs = nil
1384
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1385
+ Rpcs.new parent_rpcs
1386
+ end
1387
+ end
1388
+
1389
+ ##
1390
+ # Configuration for the channel pool
1391
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1392
+ #
1393
+ def channel_pool
1394
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1395
+ end
1396
+
1397
+ ##
1398
+ # Configuration RPC class for the FeatureRegistryService API.
1399
+ #
1400
+ # Includes fields providing the configuration for each RPC in this service.
1401
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1402
+ # the following configuration fields:
1403
+ #
1404
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1405
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1406
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1407
+ # include the following keys:
1408
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1409
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1410
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1411
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1412
+ # trigger a retry.
1413
+ #
1414
+ class Rpcs
1415
+ ##
1416
+ # RPC-specific configuration for `create_feature_group`
1417
+ # @return [::Gapic::Config::Method]
1418
+ #
1419
+ attr_reader :create_feature_group
1420
+ ##
1421
+ # RPC-specific configuration for `get_feature_group`
1422
+ # @return [::Gapic::Config::Method]
1423
+ #
1424
+ attr_reader :get_feature_group
1425
+ ##
1426
+ # RPC-specific configuration for `list_feature_groups`
1427
+ # @return [::Gapic::Config::Method]
1428
+ #
1429
+ attr_reader :list_feature_groups
1430
+ ##
1431
+ # RPC-specific configuration for `update_feature_group`
1432
+ # @return [::Gapic::Config::Method]
1433
+ #
1434
+ attr_reader :update_feature_group
1435
+ ##
1436
+ # RPC-specific configuration for `delete_feature_group`
1437
+ # @return [::Gapic::Config::Method]
1438
+ #
1439
+ attr_reader :delete_feature_group
1440
+ ##
1441
+ # RPC-specific configuration for `create_feature`
1442
+ # @return [::Gapic::Config::Method]
1443
+ #
1444
+ attr_reader :create_feature
1445
+ ##
1446
+ # RPC-specific configuration for `get_feature`
1447
+ # @return [::Gapic::Config::Method]
1448
+ #
1449
+ attr_reader :get_feature
1450
+ ##
1451
+ # RPC-specific configuration for `list_features`
1452
+ # @return [::Gapic::Config::Method]
1453
+ #
1454
+ attr_reader :list_features
1455
+ ##
1456
+ # RPC-specific configuration for `update_feature`
1457
+ # @return [::Gapic::Config::Method]
1458
+ #
1459
+ attr_reader :update_feature
1460
+ ##
1461
+ # RPC-specific configuration for `delete_feature`
1462
+ # @return [::Gapic::Config::Method]
1463
+ #
1464
+ attr_reader :delete_feature
1465
+
1466
+ # @private
1467
+ def initialize parent_rpcs = nil
1468
+ create_feature_group_config = parent_rpcs.create_feature_group if parent_rpcs.respond_to? :create_feature_group
1469
+ @create_feature_group = ::Gapic::Config::Method.new create_feature_group_config
1470
+ get_feature_group_config = parent_rpcs.get_feature_group if parent_rpcs.respond_to? :get_feature_group
1471
+ @get_feature_group = ::Gapic::Config::Method.new get_feature_group_config
1472
+ list_feature_groups_config = parent_rpcs.list_feature_groups if parent_rpcs.respond_to? :list_feature_groups
1473
+ @list_feature_groups = ::Gapic::Config::Method.new list_feature_groups_config
1474
+ update_feature_group_config = parent_rpcs.update_feature_group if parent_rpcs.respond_to? :update_feature_group
1475
+ @update_feature_group = ::Gapic::Config::Method.new update_feature_group_config
1476
+ delete_feature_group_config = parent_rpcs.delete_feature_group if parent_rpcs.respond_to? :delete_feature_group
1477
+ @delete_feature_group = ::Gapic::Config::Method.new delete_feature_group_config
1478
+ create_feature_config = parent_rpcs.create_feature if parent_rpcs.respond_to? :create_feature
1479
+ @create_feature = ::Gapic::Config::Method.new create_feature_config
1480
+ get_feature_config = parent_rpcs.get_feature if parent_rpcs.respond_to? :get_feature
1481
+ @get_feature = ::Gapic::Config::Method.new get_feature_config
1482
+ list_features_config = parent_rpcs.list_features if parent_rpcs.respond_to? :list_features
1483
+ @list_features = ::Gapic::Config::Method.new list_features_config
1484
+ update_feature_config = parent_rpcs.update_feature if parent_rpcs.respond_to? :update_feature
1485
+ @update_feature = ::Gapic::Config::Method.new update_feature_config
1486
+ delete_feature_config = parent_rpcs.delete_feature if parent_rpcs.respond_to? :delete_feature
1487
+ @delete_feature = ::Gapic::Config::Method.new delete_feature_config
1488
+
1489
+ yield self if block_given?
1490
+ end
1491
+ end
1492
+ end
1493
+ end
1494
+ end
1495
+ end
1496
+ end
1497
+ end
1498
+ end