google-cloud-recommender-v1 0.8.6 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,29 +27,54 @@ module Google
27
27
  # Required. The container resource on which to execute the request.
28
28
  # Acceptable formats:
29
29
  #
30
- # 1.
31
- # "projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]",
30
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]`
31
+ #
32
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]`
33
+ #
34
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]`
35
+ #
36
+ # * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]`
37
+ #
38
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]`
32
39
  #
33
40
  # LOCATION here refers to GCP Locations:
34
41
  # https://cloud.google.com/about/locations/
35
42
  # INSIGHT_TYPE_ID refers to supported insight types:
36
- # https://cloud.google.com/recommender/docs/insights/insight-types.)
43
+ # https://cloud.google.com/recommender/docs/insights/insight-types.
37
44
  # @!attribute [rw] page_size
38
45
  # @return [::Integer]
39
- # Optional. The maximum number of results to return from this request. Non-positive
40
- # values are ignored. If not specified, the server will determine the number
41
- # of results to return.
46
+ # Optional. The maximum number of results to return from this request.
47
+ # Non-positive values are ignored. If not specified, the server will
48
+ # determine the number of results to return.
42
49
  # @!attribute [rw] page_token
43
50
  # @return [::String]
44
- # Optional. If present, retrieves the next batch of results from the preceding call to
45
- # this method. `page_token` must be the value of `next_page_token` from the
46
- # previous response. The values of other method parameters must be identical
47
- # to those in the previous call.
51
+ # Optional. If present, retrieves the next batch of results from the
52
+ # preceding call to this method. `page_token` must be the value of
53
+ # `next_page_token` from the previous response. The values of other method
54
+ # parameters must be identical to those in the previous call.
48
55
  # @!attribute [rw] filter
49
56
  # @return [::String]
50
57
  # Optional. Filter expression to restrict the insights returned. Supported
51
- # filter fields: state
52
- # Eg: `state:"DISMISSED" or state:"ACTIVE"
58
+ # filter fields:
59
+ #
60
+ # * `stateInfo.state`
61
+ #
62
+ # * `insightSubtype`
63
+ #
64
+ # * `severity`
65
+ #
66
+ # Examples:
67
+ #
68
+ # * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
69
+ #
70
+ # * `insightSubtype = PERMISSIONS_USAGE`
71
+ #
72
+ # * `severity = CRITICAL OR severity = HIGH`
73
+ #
74
+ # * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)`
75
+ #
76
+ # (These expressions are based on the filter language described at
77
+ # https://google.aip.dev/160)
53
78
  class ListInsightsRequest
54
79
  include ::Google::Protobuf::MessageExts
55
80
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -83,8 +108,8 @@ module Google
83
108
  # Required. Name of the insight.
84
109
  # @!attribute [rw] state_metadata
85
110
  # @return [::Google::Protobuf::Map{::String => ::String}]
86
- # Optional. State properties user wish to include with this state. Full replace of the
87
- # current state_metadata.
111
+ # Optional. State properties user wish to include with this state. Full
112
+ # replace of the current state_metadata.
88
113
  # @!attribute [rw] etag
89
114
  # @return [::String]
90
115
  # Required. Fingerprint of the Insight. Provides optimistic locking.
@@ -108,8 +133,15 @@ module Google
108
133
  # Required. The container resource on which to execute the request.
109
134
  # Acceptable formats:
110
135
  #
111
- # 1.
112
- # "projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]",
136
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]`
137
+ #
138
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]`
139
+ #
140
+ # * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]`
141
+ #
142
+ # * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]`
143
+ #
144
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]`
113
145
  #
114
146
  # LOCATION here refers to GCP Locations:
115
147
  # https://cloud.google.com/about/locations/
@@ -117,20 +149,38 @@ module Google
117
149
  # https://cloud.google.com/recommender/docs/recommenders.
118
150
  # @!attribute [rw] page_size
119
151
  # @return [::Integer]
120
- # Optional. The maximum number of results to return from this request. Non-positive
121
- # values are ignored. If not specified, the server will determine the number
122
- # of results to return.
152
+ # Optional. The maximum number of results to return from this request.
153
+ # Non-positive values are ignored. If not specified, the server will
154
+ # determine the number of results to return.
123
155
  # @!attribute [rw] page_token
124
156
  # @return [::String]
125
- # Optional. If present, retrieves the next batch of results from the preceding call to
126
- # this method. `page_token` must be the value of `next_page_token` from the
127
- # previous response. The values of other method parameters must be identical
128
- # to those in the previous call.
157
+ # Optional. If present, retrieves the next batch of results from the
158
+ # preceding call to this method. `page_token` must be the value of
159
+ # `next_page_token` from the previous response. The values of other method
160
+ # parameters must be identical to those in the previous call.
129
161
  # @!attribute [rw] filter
130
162
  # @return [::String]
131
163
  # Filter expression to restrict the recommendations returned. Supported
132
- # filter fields: state_info.state
133
- # Eg: `state_info.state:"DISMISSED" or state_info.state:"FAILED"
164
+ # filter fields:
165
+ #
166
+ # * `state_info.state`
167
+ #
168
+ # * `recommenderSubtype`
169
+ #
170
+ # * `priority`
171
+ #
172
+ # Examples:
173
+ #
174
+ # * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
175
+ #
176
+ # * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE`
177
+ #
178
+ # * `priority = P1 OR priority = P2`
179
+ #
180
+ # * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)`
181
+ #
182
+ # (These expressions are based on the filter language described at
183
+ # https://google.aip.dev/160)
134
184
  class ListRecommendationsRequest
135
185
  include ::Google::Protobuf::MessageExts
136
186
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -238,6 +288,72 @@ module Google
238
288
  extend ::Google::Protobuf::MessageExts::ClassMethods
239
289
  end
240
290
  end
291
+
292
+ # Request for the GetRecommenderConfig` method.
293
+ # @!attribute [rw] name
294
+ # @return [::String]
295
+ # Required. Name of the Recommendation Config to get.
296
+ #
297
+ # Acceptable formats:
298
+ #
299
+ # * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
300
+ #
301
+ # * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
302
+ #
303
+ # * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`
304
+ class GetRecommenderConfigRequest
305
+ include ::Google::Protobuf::MessageExts
306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
307
+ end
308
+
309
+ # Request for the `UpdateRecommenderConfig` method.
310
+ # @!attribute [rw] recommender_config
311
+ # @return [::Google::Cloud::Recommender::V1::RecommenderConfig]
312
+ # Required. The RecommenderConfig to update.
313
+ # @!attribute [rw] update_mask
314
+ # @return [::Google::Protobuf::FieldMask]
315
+ # The list of fields to be updated.
316
+ # @!attribute [rw] validate_only
317
+ # @return [::Boolean]
318
+ # If true, validate the request and preview the change, but do not actually
319
+ # update it.
320
+ class UpdateRecommenderConfigRequest
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # Request for the GetInsightTypeConfig` method.
326
+ # @!attribute [rw] name
327
+ # @return [::String]
328
+ # Required. Name of the InsightTypeConfig to get.
329
+ #
330
+ # Acceptable formats:
331
+ #
332
+ # * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
333
+ #
334
+ # * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
335
+ #
336
+ # * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`
337
+ class GetInsightTypeConfigRequest
338
+ include ::Google::Protobuf::MessageExts
339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
340
+ end
341
+
342
+ # Request for the `UpdateInsightTypeConfig` method.
343
+ # @!attribute [rw] insight_type_config
344
+ # @return [::Google::Cloud::Recommender::V1::InsightTypeConfig]
345
+ # Required. The InsightTypeConfig to update.
346
+ # @!attribute [rw] update_mask
347
+ # @return [::Google::Protobuf::FieldMask]
348
+ # The list of fields to be updated.
349
+ # @!attribute [rw] validate_only
350
+ # @return [::Boolean]
351
+ # If true, validate the request and preview the change, but do not actually
352
+ # update it.
353
+ class UpdateInsightTypeConfigRequest
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+ end
241
357
  end
242
358
  end
243
359
  end
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [::Array<::String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end
@@ -46,8 +46,8 @@ module Google
46
46
 
47
47
  # `Value` represents a dynamically typed value which can be either
48
48
  # null, a number, a string, a boolean, a recursive struct value, or a
49
- # list of values. A producer of value is expected to set one of that
50
- # variants, absence of any variant indicates an error.
49
+ # list of values. A producer of value is expected to set one of these
50
+ # variants. Absence of any variant indicates an error.
51
51
  #
52
52
  # The JSON representation for `Value` is JSON value.
53
53
  # @!attribute [rw] null_value
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-recommender-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.6
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-11 00:00:00.000000000 Z
11
+ date: 2022-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: '0.10'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.7'
29
+ version: '0.10'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -50,28 +50,28 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.25.1
53
+ version: 1.26.1
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.25.1
60
+ version: 1.26.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: minitest
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '5.14'
67
+ version: '5.16'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '5.14'
74
+ version: '5.16'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: minitest-focus
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +106,14 @@ dependencies:
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: '12.0'
109
+ version: '13.0'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: '12.0'
116
+ version: '13.0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: redcarpet
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -172,11 +172,13 @@ files:
172
172
  - lib/google-cloud-recommender-v1.rb
173
173
  - lib/google/cloud/recommender/v1.rb
174
174
  - lib/google/cloud/recommender/v1/insight_pb.rb
175
+ - lib/google/cloud/recommender/v1/insight_type_config_pb.rb
175
176
  - lib/google/cloud/recommender/v1/recommendation_pb.rb
176
177
  - lib/google/cloud/recommender/v1/recommender.rb
177
178
  - lib/google/cloud/recommender/v1/recommender/client.rb
178
179
  - lib/google/cloud/recommender/v1/recommender/credentials.rb
179
180
  - lib/google/cloud/recommender/v1/recommender/paths.rb
181
+ - lib/google/cloud/recommender/v1/recommender_config_pb.rb
180
182
  - lib/google/cloud/recommender/v1/recommender_service_pb.rb
181
183
  - lib/google/cloud/recommender/v1/recommender_service_services_pb.rb
182
184
  - lib/google/cloud/recommender/v1/version.rb
@@ -184,9 +186,12 @@ files:
184
186
  - proto_docs/google/api/field_behavior.rb
185
187
  - proto_docs/google/api/resource.rb
186
188
  - proto_docs/google/cloud/recommender/v1/insight.rb
189
+ - proto_docs/google/cloud/recommender/v1/insight_type_config.rb
187
190
  - proto_docs/google/cloud/recommender/v1/recommendation.rb
191
+ - proto_docs/google/cloud/recommender/v1/recommender_config.rb
188
192
  - proto_docs/google/cloud/recommender/v1/recommender_service.rb
189
193
  - proto_docs/google/protobuf/duration.rb
194
+ - proto_docs/google/protobuf/field_mask.rb
190
195
  - proto_docs/google/protobuf/struct.rb
191
196
  - proto_docs/google/protobuf/timestamp.rb
192
197
  - proto_docs/google/type/money.rb
@@ -202,14 +207,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
207
  requirements:
203
208
  - - ">="
204
209
  - !ruby/object:Gem::Version
205
- version: '2.5'
210
+ version: '2.6'
206
211
  required_rubygems_version: !ruby/object:Gem::Requirement
207
212
  requirements:
208
213
  - - ">="
209
214
  - !ruby/object:Gem::Version
210
215
  version: '0'
211
216
  requirements: []
212
- rubygems_version: 3.3.4
217
+ rubygems_version: 3.3.14
213
218
  signing_key:
214
219
  specification_version: 4
215
220
  summary: API Client library for the Recommender V1 API