google-cloud-recommender-v1 0.3.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76b110606c19b3d659b791e9a3431770484409e85ae31fee3a54f53173317d1d
4
- data.tar.gz: 3a8e932360d298c605873ed1ddb5aff2ba1261e0fd1aff95ce3d8e753f0aee26
3
+ metadata.gz: beae71e611f6079030b92e7b99760bc720dcc40ea73de75cf327f94476eb10d9
4
+ data.tar.gz: 9f6b442b44b2d755d6221655b0f3e443442a045fc9b7b6105d449099221706e1
5
5
  SHA512:
6
- metadata.gz: 55d790ace960b66c0c12e49261a3e8581d55a2ab40c26976ac35a177008b09bb061863c8a8bbde365e017d014819715444aa2b970bf27d65488b6baaca53e037
7
- data.tar.gz: 11633d0d9789f71e679f36e788dc6e8aa8b7b9bc7c5efb680a0a32b3dd4cabb0b13ddfaff10a34c8693aa309a5db96074eb59b9d29ebe6427043a400041f362f
6
+ metadata.gz: d27b855b1b9f8af0b6a1c65372343c991cb809bf8780df4b179a0aaad8291e38e268af02177876da04ff833896d3c31da0b244690fb050c2f2945dd0349fa1af
7
+ data.tar.gz: 81b7ecdc10976e822addb75a78877cdb5b514d1a71674c0d0c7f35eea7a9334ca940272040d18356ad96bc51a13cc5d38c72cf924158d848b312b2bb6b243a82
data/README.md CHANGED
@@ -18,6 +18,7 @@ In order to use this library, you first need to go through the following steps:
18
18
 
19
19
  1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
20
20
  1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
21
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/recommender.googleapis.com)
21
22
  1. {file:AUTHENTICATION.md Set up authentication.}
22
23
 
23
24
  ## Quick Start
@@ -27,12 +28,15 @@ require "google/cloud/recommender/v1"
27
28
 
28
29
  client = ::Google::Cloud::Recommender::V1::Recommender::Client.new
29
30
  request = my_create_request
30
- response = client.list_recommendations request
31
+ response = client.list_insights request
31
32
  ```
32
33
 
33
34
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-recommender-v1/latest)
34
35
  for class and method documentation.
35
36
 
37
+ See also the [Product Documentation](https://cloud.google.com/recommender)
38
+ for general usage information.
39
+
36
40
  ## Enabling Logging
37
41
 
38
42
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
@@ -0,0 +1,60 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/recommender/v1/insight.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/resource_pb'
7
+ require 'google/protobuf/duration_pb'
8
+ require 'google/protobuf/struct_pb'
9
+ require 'google/protobuf/timestamp_pb'
10
+ Google::Protobuf::DescriptorPool.generated_pool.build do
11
+ add_file("google/cloud/recommender/v1/insight.proto", :syntax => :proto3) do
12
+ add_message "google.cloud.recommender.v1.Insight" do
13
+ optional :name, :string, 1
14
+ optional :description, :string, 2
15
+ repeated :target_resources, :string, 9
16
+ optional :insight_subtype, :string, 10
17
+ optional :content, :message, 3, "google.protobuf.Struct"
18
+ optional :last_refresh_time, :message, 4, "google.protobuf.Timestamp"
19
+ optional :observation_period, :message, 5, "google.protobuf.Duration"
20
+ optional :state_info, :message, 6, "google.cloud.recommender.v1.InsightStateInfo"
21
+ optional :category, :enum, 7, "google.cloud.recommender.v1.Insight.Category"
22
+ optional :etag, :string, 11
23
+ repeated :associated_recommendations, :message, 8, "google.cloud.recommender.v1.Insight.RecommendationReference"
24
+ end
25
+ add_message "google.cloud.recommender.v1.Insight.RecommendationReference" do
26
+ optional :recommendation, :string, 1
27
+ end
28
+ add_enum "google.cloud.recommender.v1.Insight.Category" do
29
+ value :CATEGORY_UNSPECIFIED, 0
30
+ value :COST, 1
31
+ value :SECURITY, 2
32
+ value :PERFORMANCE, 3
33
+ value :MANAGEABILITY, 4
34
+ end
35
+ add_message "google.cloud.recommender.v1.InsightStateInfo" do
36
+ optional :state, :enum, 1, "google.cloud.recommender.v1.InsightStateInfo.State"
37
+ map :state_metadata, :string, :string, 2
38
+ end
39
+ add_enum "google.cloud.recommender.v1.InsightStateInfo.State" do
40
+ value :STATE_UNSPECIFIED, 0
41
+ value :ACTIVE, 1
42
+ value :ACCEPTED, 2
43
+ value :DISMISSED, 3
44
+ end
45
+ end
46
+ end
47
+
48
+ module Google
49
+ module Cloud
50
+ module Recommender
51
+ module V1
52
+ Insight = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Insight").msgclass
53
+ Insight::RecommendationReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Insight.RecommendationReference").msgclass
54
+ Insight::Category = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Insight.Category").enummodule
55
+ InsightStateInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.InsightStateInfo").msgclass
56
+ InsightStateInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.InsightStateInfo.State").enummodule
57
+ end
58
+ end
59
+ end
60
+ end
@@ -20,6 +20,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
20
20
  optional :content, :message, 7, "google.cloud.recommender.v1.RecommendationContent"
21
21
  optional :state_info, :message, 10, "google.cloud.recommender.v1.RecommendationStateInfo"
22
22
  optional :etag, :string, 11
23
+ repeated :associated_insights, :message, 14, "google.cloud.recommender.v1.Recommendation.InsightReference"
24
+ end
25
+ add_message "google.cloud.recommender.v1.Recommendation.InsightReference" do
26
+ optional :insight, :string, 1
23
27
  end
24
28
  add_message "google.cloud.recommender.v1.RecommendationContent" do
25
29
  repeated :operation_groups, :message, 2, "google.cloud.recommender.v1.OperationGroup"
@@ -83,6 +87,7 @@ module Google
83
87
  module Recommender
84
88
  module V1
85
89
  Recommendation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Recommendation").msgclass
90
+ Recommendation::InsightReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Recommendation.InsightReference").msgclass
86
91
  RecommendationContent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.RecommendationContent").msgclass
87
92
  OperationGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.OperationGroup").msgclass
88
93
  Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.Operation").msgclass
@@ -31,10 +31,10 @@ module Google
31
31
  module Recommender
32
32
  module V1
33
33
  ##
34
- # Provides recommendations for cloud customers for various categories like
35
- # performance optimization, cost savings, reliability, feature discovery, etc.
36
- # These recommendations are generated automatically based on analysis of user
37
- # resources, configuration and monitoring metrics.
34
+ # Provides insights and recommendations for cloud customers for various
35
+ # categories like performance optimization, cost savings, reliability, feature
36
+ # discovery, etc. Insights and recommendations are generated automatically
37
+ # based on analysis of user resources, configuration and monitoring metrics.
38
38
  #
39
39
  # To load this service and instantiate a client:
40
40
  #
@@ -27,10 +27,10 @@ module Google
27
27
  ##
28
28
  # Client for the Recommender service.
29
29
  #
30
- # Provides recommendations for cloud customers for various categories like
31
- # performance optimization, cost savings, reliability, feature discovery, etc.
32
- # These recommendations are generated automatically based on analysis of user
33
- # resources, configuration and monitoring metrics.
30
+ # Provides insights and recommendations for cloud customers for various
31
+ # categories like performance optimization, cost savings, reliability, feature
32
+ # discovery, etc. Insights and recommendations are generated automatically
33
+ # based on analysis of user resources, configuration and monitoring metrics.
34
34
  #
35
35
  class Client
36
36
  include Paths
@@ -155,7 +155,8 @@ module Google
155
155
  if credentials.is_a?(String) || credentials.is_a?(Hash)
156
156
  credentials = Credentials.new credentials, scope: @config.scope
157
157
  end
158
- @quota_project_id = credentials.respond_to?(:quota_project_id) ? credentials.quota_project_id : nil
158
+ @quota_project_id = @config.quota_project
159
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
159
160
 
160
161
  @recommender_stub = ::Gapic::ServiceStub.new(
161
162
  ::Google::Cloud::Recommender::V1::Recommender::Stub,
@@ -168,6 +169,237 @@ module Google
168
169
 
169
170
  # Service calls
170
171
 
172
+ ##
173
+ # Lists insights for a Cloud project. Requires the recommender.*.list IAM
174
+ # permission for the specified insight type.
175
+ #
176
+ # @overload list_insights(request, options = nil)
177
+ # Pass arguments to `list_insights` via a request object, either of type
178
+ # {::Google::Cloud::Recommender::V1::ListInsightsRequest} or an equivalent Hash.
179
+ #
180
+ # @param request [::Google::Cloud::Recommender::V1::ListInsightsRequest, ::Hash]
181
+ # A request object representing the call parameters. Required. To specify no
182
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
183
+ # @param options [::Gapic::CallOptions, ::Hash]
184
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
185
+ #
186
+ # @overload list_insights(parent: nil, page_size: nil, page_token: nil, filter: nil)
187
+ # Pass arguments to `list_insights` via keyword arguments. Note that at
188
+ # least one keyword argument is required. To specify no parameters, or to keep all
189
+ # the default parameter values, pass an empty Hash as a request object (see above).
190
+ #
191
+ # @param parent [::String]
192
+ # Required. The container resource on which to execute the request.
193
+ # Acceptable formats:
194
+ #
195
+ # 1.
196
+ # "projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]",
197
+ #
198
+ # LOCATION here refers to GCP Locations:
199
+ # https://cloud.google.com/about/locations/
200
+ # @param page_size [::Integer]
201
+ # Optional. The maximum number of results to return from this request. Non-positive
202
+ # values are ignored. If not specified, the server will determine the number
203
+ # of results to return.
204
+ # @param page_token [::String]
205
+ # Optional. If present, retrieves the next batch of results from the preceding call to
206
+ # this method. `page_token` must be the value of `next_page_token` from the
207
+ # previous response. The values of other method parameters must be identical
208
+ # to those in the previous call.
209
+ # @param filter [::String]
210
+ # Optional. Filter expression to restrict the insights returned. Supported
211
+ # filter fields: state
212
+ # Eg: `state:"DISMISSED" or state:"ACTIVE"
213
+ #
214
+ # @yield [response, operation] Access the result along with the RPC operation
215
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Recommender::V1::Insight>]
216
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
217
+ #
218
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Recommender::V1::Insight>]
219
+ #
220
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
221
+ #
222
+ def list_insights request, options = nil
223
+ raise ::ArgumentError, "request must be provided" if request.nil?
224
+
225
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Recommender::V1::ListInsightsRequest
226
+
227
+ # Converts hash and nil to an options object
228
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
229
+
230
+ # Customize the options with defaults
231
+ metadata = @config.rpcs.list_insights.metadata.to_h
232
+
233
+ # Set x-goog-api-client and x-goog-user-project headers
234
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
235
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
236
+ gapic_version: ::Google::Cloud::Recommender::V1::VERSION
237
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
238
+
239
+ header_params = {
240
+ "parent" => request.parent
241
+ }
242
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
243
+ metadata[:"x-goog-request-params"] ||= request_params_header
244
+
245
+ options.apply_defaults timeout: @config.rpcs.list_insights.timeout,
246
+ metadata: metadata,
247
+ retry_policy: @config.rpcs.list_insights.retry_policy
248
+ options.apply_defaults metadata: @config.metadata,
249
+ retry_policy: @config.retry_policy
250
+
251
+ @recommender_stub.call_rpc :list_insights, request, options: options do |response, operation|
252
+ response = ::Gapic::PagedEnumerable.new @recommender_stub, :list_insights, request, response, operation, options
253
+ yield response, operation if block_given?
254
+ return response
255
+ end
256
+ rescue ::GRPC::BadStatus => e
257
+ raise ::Google::Cloud::Error.from_error(e)
258
+ end
259
+
260
+ ##
261
+ # Gets the requested insight. Requires the recommender.*.get IAM permission
262
+ # for the specified insight type.
263
+ #
264
+ # @overload get_insight(request, options = nil)
265
+ # Pass arguments to `get_insight` via a request object, either of type
266
+ # {::Google::Cloud::Recommender::V1::GetInsightRequest} or an equivalent Hash.
267
+ #
268
+ # @param request [::Google::Cloud::Recommender::V1::GetInsightRequest, ::Hash]
269
+ # A request object representing the call parameters. Required. To specify no
270
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
271
+ # @param options [::Gapic::CallOptions, ::Hash]
272
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
273
+ #
274
+ # @overload get_insight(name: nil)
275
+ # Pass arguments to `get_insight` via keyword arguments. Note that at
276
+ # least one keyword argument is required. To specify no parameters, or to keep all
277
+ # the default parameter values, pass an empty Hash as a request object (see above).
278
+ #
279
+ # @param name [::String]
280
+ # Required. Name of the insight.
281
+ #
282
+ # @yield [response, operation] Access the result along with the RPC operation
283
+ # @yieldparam response [::Google::Cloud::Recommender::V1::Insight]
284
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
285
+ #
286
+ # @return [::Google::Cloud::Recommender::V1::Insight]
287
+ #
288
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
289
+ #
290
+ def get_insight request, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request.nil?
292
+
293
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Recommender::V1::GetInsightRequest
294
+
295
+ # Converts hash and nil to an options object
296
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
297
+
298
+ # Customize the options with defaults
299
+ metadata = @config.rpcs.get_insight.metadata.to_h
300
+
301
+ # Set x-goog-api-client and x-goog-user-project headers
302
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
303
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
304
+ gapic_version: ::Google::Cloud::Recommender::V1::VERSION
305
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
306
+
307
+ header_params = {
308
+ "name" => request.name
309
+ }
310
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
311
+ metadata[:"x-goog-request-params"] ||= request_params_header
312
+
313
+ options.apply_defaults timeout: @config.rpcs.get_insight.timeout,
314
+ metadata: metadata,
315
+ retry_policy: @config.rpcs.get_insight.retry_policy
316
+ options.apply_defaults metadata: @config.metadata,
317
+ retry_policy: @config.retry_policy
318
+
319
+ @recommender_stub.call_rpc :get_insight, request, options: options do |response, operation|
320
+ yield response, operation if block_given?
321
+ return response
322
+ end
323
+ rescue ::GRPC::BadStatus => e
324
+ raise ::Google::Cloud::Error.from_error(e)
325
+ end
326
+
327
+ ##
328
+ # Marks the Insight State as Accepted. Users can use this method to
329
+ # indicate to the Recommender API that they have applied some action based
330
+ # on the insight. This stops the insight content from being updated.
331
+ #
332
+ # MarkInsightAccepted can be applied to insights in ACTIVE state. Requires
333
+ # the recommender.*.update IAM permission for the specified insight.
334
+ #
335
+ # @overload mark_insight_accepted(request, options = nil)
336
+ # Pass arguments to `mark_insight_accepted` via a request object, either of type
337
+ # {::Google::Cloud::Recommender::V1::MarkInsightAcceptedRequest} or an equivalent Hash.
338
+ #
339
+ # @param request [::Google::Cloud::Recommender::V1::MarkInsightAcceptedRequest, ::Hash]
340
+ # A request object representing the call parameters. Required. To specify no
341
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
342
+ # @param options [::Gapic::CallOptions, ::Hash]
343
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
344
+ #
345
+ # @overload mark_insight_accepted(name: nil, state_metadata: nil, etag: nil)
346
+ # Pass arguments to `mark_insight_accepted` via keyword arguments. Note that at
347
+ # least one keyword argument is required. To specify no parameters, or to keep all
348
+ # the default parameter values, pass an empty Hash as a request object (see above).
349
+ #
350
+ # @param name [::String]
351
+ # Required. Name of the insight.
352
+ # @param state_metadata [::Hash{::String => ::String}]
353
+ # Optional. State properties user wish to include with this state. Full replace of the
354
+ # current state_metadata.
355
+ # @param etag [::String]
356
+ # Required. Fingerprint of the Insight. Provides optimistic locking.
357
+ #
358
+ # @yield [response, operation] Access the result along with the RPC operation
359
+ # @yieldparam response [::Google::Cloud::Recommender::V1::Insight]
360
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
361
+ #
362
+ # @return [::Google::Cloud::Recommender::V1::Insight]
363
+ #
364
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
365
+ #
366
+ def mark_insight_accepted request, options = nil
367
+ raise ::ArgumentError, "request must be provided" if request.nil?
368
+
369
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Recommender::V1::MarkInsightAcceptedRequest
370
+
371
+ # Converts hash and nil to an options object
372
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
373
+
374
+ # Customize the options with defaults
375
+ metadata = @config.rpcs.mark_insight_accepted.metadata.to_h
376
+
377
+ # Set x-goog-api-client and x-goog-user-project headers
378
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
379
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
380
+ gapic_version: ::Google::Cloud::Recommender::V1::VERSION
381
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
382
+
383
+ header_params = {
384
+ "name" => request.name
385
+ }
386
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
387
+ metadata[:"x-goog-request-params"] ||= request_params_header
388
+
389
+ options.apply_defaults timeout: @config.rpcs.mark_insight_accepted.timeout,
390
+ metadata: metadata,
391
+ retry_policy: @config.rpcs.mark_insight_accepted.retry_policy
392
+ options.apply_defaults metadata: @config.metadata,
393
+ retry_policy: @config.retry_policy
394
+
395
+ @recommender_stub.call_rpc :mark_insight_accepted, request, options: options do |response, operation|
396
+ yield response, operation if block_given?
397
+ return response
398
+ end
399
+ rescue ::GRPC::BadStatus => e
400
+ raise ::Google::Cloud::Error.from_error(e)
401
+ end
402
+
171
403
  ##
172
404
  # Lists recommendations for a Cloud project. Requires the recommender.*.list
173
405
  # IAM permission for the specified recommender.
@@ -324,10 +556,10 @@ module Google
324
556
  end
325
557
 
326
558
  ##
327
- # Mark the Recommendation State as Claimed. Users can use this method to
559
+ # Marks the Recommendation State as Claimed. Users can use this method to
328
560
  # indicate to the Recommender API that they are starting to apply the
329
561
  # recommendation themselves. This stops the recommendation content from being
330
- # updated.
562
+ # updated. Associated insights are frozen and placed in the ACCEPTED state.
331
563
  #
332
564
  # MarkRecommendationClaimed can be applied to recommendations in CLAIMED,
333
565
  # SUCCEEDED, FAILED, or ACTIVE state.
@@ -406,10 +638,11 @@ module Google
406
638
  end
407
639
 
408
640
  ##
409
- # Mark the Recommendation State as Succeeded. Users can use this method to
641
+ # Marks the Recommendation State as Succeeded. Users can use this method to
410
642
  # indicate to the Recommender API that they have applied the recommendation
411
643
  # themselves, and the operation was successful. This stops the recommendation
412
- # content from being updated.
644
+ # content from being updated. Associated insights are frozen and placed in
645
+ # the ACCEPTED state.
413
646
  #
414
647
  # MarkRecommendationSucceeded can be applied to recommendations in ACTIVE,
415
648
  # CLAIMED, SUCCEEDED, or FAILED state.
@@ -488,10 +721,11 @@ module Google
488
721
  end
489
722
 
490
723
  ##
491
- # Mark the Recommendation State as Failed. Users can use this method to
724
+ # Marks the Recommendation State as Failed. Users can use this method to
492
725
  # indicate to the Recommender API that they have applied the recommendation
493
726
  # themselves, and the operation failed. This stops the recommendation content
494
- # from being updated.
727
+ # from being updated. Associated insights are frozen and placed in the
728
+ # ACCEPTED state.
495
729
  #
496
730
  # MarkRecommendationFailed can be applied to recommendations in ACTIVE,
497
731
  # CLAIMED, SUCCEEDED, or FAILED state.
@@ -584,19 +818,19 @@ module Google
584
818
  #
585
819
  # # Examples
586
820
  #
587
- # To modify the global config, setting the timeout for list_recommendations
821
+ # To modify the global config, setting the timeout for list_insights
588
822
  # to 20 seconds, and all remaining timeouts to 10 seconds:
589
823
  #
590
824
  # ::Google::Cloud::Recommender::V1::Recommender::Client.configure do |config|
591
825
  # config.timeout = 10.0
592
- # config.rpcs.list_recommendations.timeout = 20.0
826
+ # config.rpcs.list_insights.timeout = 20.0
593
827
  # end
594
828
  #
595
829
  # To apply the above configuration only to a new client:
596
830
  #
597
831
  # client = ::Google::Cloud::Recommender::V1::Recommender::Client.new do |config|
598
832
  # config.timeout = 10.0
599
- # config.rpcs.list_recommendations.timeout = 20.0
833
+ # config.rpcs.list_insights.timeout = 20.0
600
834
  # end
601
835
  #
602
836
  # @!attribute [rw] endpoint
@@ -645,24 +879,28 @@ module Google
645
879
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
646
880
  # trigger a retry.
647
881
  # @return [::Hash]
882
+ # @!attribute [rw] quota_project
883
+ # A separate project against which to charge quota.
884
+ # @return [::String]
648
885
  #
649
886
  class Configuration
650
887
  extend ::Gapic::Config
651
888
 
652
- config_attr :endpoint, "recommender.googleapis.com", String
653
- config_attr :credentials, nil do |value|
889
+ config_attr :endpoint, "recommender.googleapis.com", ::String
890
+ config_attr :credentials, nil do |value|
654
891
  allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
655
892
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
656
893
  allowed.any? { |klass| klass === value }
657
894
  end
658
- config_attr :scope, nil, ::String, ::Array, nil
659
- config_attr :lib_name, nil, ::String, nil
660
- config_attr :lib_version, nil, ::String, nil
661
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
662
- config_attr :interceptors, nil, ::Array, nil
663
- config_attr :timeout, nil, ::Numeric, nil
664
- config_attr :metadata, nil, ::Hash, nil
665
- config_attr :retry_policy, nil, ::Hash, Proc, nil
895
+ config_attr :scope, nil, ::String, ::Array, nil
896
+ config_attr :lib_name, nil, ::String, nil
897
+ config_attr :lib_version, nil, ::String, nil
898
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
899
+ config_attr :interceptors, nil, ::Array, nil
900
+ config_attr :timeout, nil, ::Numeric, nil
901
+ config_attr :metadata, nil, ::Hash, nil
902
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
903
+ config_attr :quota_project, nil, ::String, nil
666
904
 
667
905
  # @private
668
906
  def initialize parent_config = nil
@@ -678,7 +916,7 @@ module Google
678
916
  def rpcs
679
917
  @rpcs ||= begin
680
918
  parent_rpcs = nil
681
- parent_rpcs = @parent_config.rpcs if @parent_config&.respond_to? :rpcs
919
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
682
920
  Rpcs.new parent_rpcs
683
921
  end
684
922
  end
@@ -701,6 +939,21 @@ module Google
701
939
  # trigger a retry.
702
940
  #
703
941
  class Rpcs
942
+ ##
943
+ # RPC-specific configuration for `list_insights`
944
+ # @return [::Gapic::Config::Method]
945
+ #
946
+ attr_reader :list_insights
947
+ ##
948
+ # RPC-specific configuration for `get_insight`
949
+ # @return [::Gapic::Config::Method]
950
+ #
951
+ attr_reader :get_insight
952
+ ##
953
+ # RPC-specific configuration for `mark_insight_accepted`
954
+ # @return [::Gapic::Config::Method]
955
+ #
956
+ attr_reader :mark_insight_accepted
704
957
  ##
705
958
  # RPC-specific configuration for `list_recommendations`
706
959
  # @return [::Gapic::Config::Method]
@@ -729,6 +982,12 @@ module Google
729
982
 
730
983
  # @private
731
984
  def initialize parent_rpcs = nil
985
+ list_insights_config = parent_rpcs&.list_insights if parent_rpcs&.respond_to? :list_insights
986
+ @list_insights = ::Gapic::Config::Method.new list_insights_config
987
+ get_insight_config = parent_rpcs&.get_insight if parent_rpcs&.respond_to? :get_insight
988
+ @get_insight = ::Gapic::Config::Method.new get_insight_config
989
+ mark_insight_accepted_config = parent_rpcs&.mark_insight_accepted if parent_rpcs&.respond_to? :mark_insight_accepted
990
+ @mark_insight_accepted = ::Gapic::Config::Method.new mark_insight_accepted_config
732
991
  list_recommendations_config = parent_rpcs&.list_recommendations if parent_rpcs&.respond_to? :list_recommendations
733
992
  @list_recommendations = ::Gapic::Config::Method.new list_recommendations_config
734
993
  get_recommendation_config = parent_rpcs&.get_recommendation if parent_rpcs&.respond_to? :get_recommendation
@@ -24,6 +24,46 @@ module Google
24
24
  module Recommender
25
25
  # Path helper methods for the Recommender API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified Insight resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/insightTypes/{insight_type}/insights/{insight}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param insight_type [String]
37
+ # @param insight [String]
38
+ #
39
+ # @return [::String]
40
+ def insight_path project:, location:, insight_type:, insight:
41
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
42
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
43
+ raise ::ArgumentError, "insight_type cannot contain /" if insight_type.to_s.include? "/"
44
+
45
+ "projects/#{project}/locations/#{location}/insightTypes/#{insight_type}/insights/#{insight}"
46
+ end
47
+
48
+ ##
49
+ # Create a fully-qualified InsightType resource string.
50
+ #
51
+ # The resource will be in the following format:
52
+ #
53
+ # `projects/{project}/locations/{location}/insightTypes/{insight_type}`
54
+ #
55
+ # @param project [String]
56
+ # @param location [String]
57
+ # @param insight_type [String]
58
+ #
59
+ # @return [::String]
60
+ def insight_type_path project:, location:, insight_type:
61
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
62
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
63
+
64
+ "projects/#{project}/locations/#{location}/insightTypes/#{insight_type}"
65
+ end
66
+
27
67
  ##
28
68
  # Create a fully-qualified Recommendation resource string.
29
69
  #
@@ -7,9 +7,28 @@ require 'google/api/annotations_pb'
7
7
  require 'google/api/client_pb'
8
8
  require 'google/api/field_behavior_pb'
9
9
  require 'google/api/resource_pb'
10
+ require 'google/cloud/recommender/v1/insight_pb'
10
11
  require 'google/cloud/recommender/v1/recommendation_pb'
11
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  add_file("google/cloud/recommender/v1/recommender_service.proto", :syntax => :proto3) do
14
+ add_message "google.cloud.recommender.v1.ListInsightsRequest" do
15
+ optional :parent, :string, 1
16
+ optional :page_size, :int32, 2
17
+ optional :page_token, :string, 3
18
+ optional :filter, :string, 4
19
+ end
20
+ add_message "google.cloud.recommender.v1.ListInsightsResponse" do
21
+ repeated :insights, :message, 1, "google.cloud.recommender.v1.Insight"
22
+ optional :next_page_token, :string, 2
23
+ end
24
+ add_message "google.cloud.recommender.v1.GetInsightRequest" do
25
+ optional :name, :string, 1
26
+ end
27
+ add_message "google.cloud.recommender.v1.MarkInsightAcceptedRequest" do
28
+ optional :name, :string, 1
29
+ map :state_metadata, :string, :string, 2
30
+ optional :etag, :string, 3
31
+ end
13
32
  add_message "google.cloud.recommender.v1.ListRecommendationsRequest" do
14
33
  optional :parent, :string, 1
15
34
  optional :page_size, :int32, 2
@@ -45,6 +64,10 @@ module Google
45
64
  module Cloud
46
65
  module Recommender
47
66
  module V1
67
+ ListInsightsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListInsightsRequest").msgclass
68
+ ListInsightsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListInsightsResponse").msgclass
69
+ GetInsightRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.GetInsightRequest").msgclass
70
+ MarkInsightAcceptedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.MarkInsightAcceptedRequest").msgclass
48
71
  ListRecommendationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListRecommendationsRequest").msgclass
49
72
  ListRecommendationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.ListRecommendationsResponse").msgclass
50
73
  GetRecommendationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommender.v1.GetRecommendationRequest").msgclass
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/cloud/recommender/v1/recommender_service.proto for package 'google.cloud.recommender.v1'
3
3
  # Original file comments:
4
- # Copyright 2019 Google LLC.
4
+ # Copyright 2020 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- #
19
18
 
20
19
  require 'grpc'
21
20
  require 'google/cloud/recommender/v1/recommender_service_pb'
@@ -25,10 +24,10 @@ module Google
25
24
  module Recommender
26
25
  module V1
27
26
  module Recommender
28
- # Provides recommendations for cloud customers for various categories like
29
- # performance optimization, cost savings, reliability, feature discovery, etc.
30
- # These recommendations are generated automatically based on analysis of user
31
- # resources, configuration and monitoring metrics.
27
+ # Provides insights and recommendations for cloud customers for various
28
+ # categories like performance optimization, cost savings, reliability, feature
29
+ # discovery, etc. Insights and recommendations are generated automatically
30
+ # based on analysis of user resources, configuration and monitoring metrics.
32
31
  class Service
33
32
 
34
33
  include GRPC::GenericService
@@ -37,16 +36,29 @@ module Google
37
36
  self.unmarshal_class_method = :decode
38
37
  self.service_name = 'google.cloud.recommender.v1.Recommender'
39
38
 
39
+ # Lists insights for a Cloud project. Requires the recommender.*.list IAM
40
+ # permission for the specified insight type.
41
+ rpc :ListInsights, ListInsightsRequest, ListInsightsResponse
42
+ # Gets the requested insight. Requires the recommender.*.get IAM permission
43
+ # for the specified insight type.
44
+ rpc :GetInsight, GetInsightRequest, Insight
45
+ # Marks the Insight State as Accepted. Users can use this method to
46
+ # indicate to the Recommender API that they have applied some action based
47
+ # on the insight. This stops the insight content from being updated.
48
+ #
49
+ # MarkInsightAccepted can be applied to insights in ACTIVE state. Requires
50
+ # the recommender.*.update IAM permission for the specified insight.
51
+ rpc :MarkInsightAccepted, MarkInsightAcceptedRequest, Insight
40
52
  # Lists recommendations for a Cloud project. Requires the recommender.*.list
41
53
  # IAM permission for the specified recommender.
42
54
  rpc :ListRecommendations, ListRecommendationsRequest, ListRecommendationsResponse
43
55
  # Gets the requested recommendation. Requires the recommender.*.get
44
56
  # IAM permission for the specified recommender.
45
57
  rpc :GetRecommendation, GetRecommendationRequest, Recommendation
46
- # Mark the Recommendation State as Claimed. Users can use this method to
58
+ # Marks the Recommendation State as Claimed. Users can use this method to
47
59
  # indicate to the Recommender API that they are starting to apply the
48
60
  # recommendation themselves. This stops the recommendation content from being
49
- # updated.
61
+ # updated. Associated insights are frozen and placed in the ACCEPTED state.
50
62
  #
51
63
  # MarkRecommendationClaimed can be applied to recommendations in CLAIMED,
52
64
  # SUCCEEDED, FAILED, or ACTIVE state.
@@ -54,10 +66,11 @@ module Google
54
66
  # Requires the recommender.*.update IAM permission for the specified
55
67
  # recommender.
56
68
  rpc :MarkRecommendationClaimed, MarkRecommendationClaimedRequest, Recommendation
57
- # Mark the Recommendation State as Succeeded. Users can use this method to
69
+ # Marks the Recommendation State as Succeeded. Users can use this method to
58
70
  # indicate to the Recommender API that they have applied the recommendation
59
71
  # themselves, and the operation was successful. This stops the recommendation
60
- # content from being updated.
72
+ # content from being updated. Associated insights are frozen and placed in
73
+ # the ACCEPTED state.
61
74
  #
62
75
  # MarkRecommendationSucceeded can be applied to recommendations in ACTIVE,
63
76
  # CLAIMED, SUCCEEDED, or FAILED state.
@@ -65,10 +78,11 @@ module Google
65
78
  # Requires the recommender.*.update IAM permission for the specified
66
79
  # recommender.
67
80
  rpc :MarkRecommendationSucceeded, MarkRecommendationSucceededRequest, Recommendation
68
- # Mark the Recommendation State as Failed. Users can use this method to
81
+ # Marks the Recommendation State as Failed. Users can use this method to
69
82
  # indicate to the Recommender API that they have applied the recommendation
70
83
  # themselves, and the operation failed. This stops the recommendation content
71
- # from being updated.
84
+ # from being updated. Associated insights are frozen and placed in the
85
+ # ACCEPTED state.
72
86
  #
73
87
  # MarkRecommendationFailed can be applied to recommendations in ACTIVE,
74
88
  # CLAIMED, SUCCEEDED, or FAILED state.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Recommender
23
23
  module V1
24
- VERSION = "0.3.3"
24
+ VERSION = "0.5.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Cloud
22
+ module Recommender
23
+ module V1
24
+ # An insight along with the information used to derive the insight. The insight
25
+ # may have associated recomendations as well.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Name of the insight.
29
+ # @!attribute [rw] description
30
+ # @return [::String]
31
+ # Free-form human readable summary in English. The maximum length is 500
32
+ # characters.
33
+ # @!attribute [rw] target_resources
34
+ # @return [::Array<::String>]
35
+ # Fully qualified resource names that this insight is targeting.
36
+ # @!attribute [rw] insight_subtype
37
+ # @return [::String]
38
+ # Insight subtype. Insight content schema will be stable for a given subtype.
39
+ # @!attribute [rw] content
40
+ # @return [::Google::Protobuf::Struct]
41
+ # A struct of custom fields to explain the insight.
42
+ # Example: "grantedPermissionsCount": "1000"
43
+ # @!attribute [rw] last_refresh_time
44
+ # @return [::Google::Protobuf::Timestamp]
45
+ # Timestamp of the latest data used to generate the insight.
46
+ # @!attribute [rw] observation_period
47
+ # @return [::Google::Protobuf::Duration]
48
+ # Observation period that led to the insight. The source data used to
49
+ # generate the insight ends at last_refresh_time and begins at
50
+ # (last_refresh_time - observation_period).
51
+ # @!attribute [rw] state_info
52
+ # @return [::Google::Cloud::Recommender::V1::InsightStateInfo]
53
+ # Information state and metadata.
54
+ # @!attribute [rw] category
55
+ # @return [::Google::Cloud::Recommender::V1::Insight::Category]
56
+ # Category being targeted by the insight.
57
+ # @!attribute [rw] etag
58
+ # @return [::String]
59
+ # Fingerprint of the Insight. Provides optimistic locking when updating
60
+ # states.
61
+ # @!attribute [rw] associated_recommendations
62
+ # @return [::Array<::Google::Cloud::Recommender::V1::Insight::RecommendationReference>]
63
+ # Recommendations derived from this insight.
64
+ class Insight
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+
68
+ # Reference to an associated recommendation.
69
+ # @!attribute [rw] recommendation
70
+ # @return [::String]
71
+ # Recommendation resource name, e.g.
72
+ # projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID]
73
+ class RecommendationReference
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Insight category.
79
+ module Category
80
+ # Unspecified category.
81
+ CATEGORY_UNSPECIFIED = 0
82
+
83
+ # The insight is related to cost.
84
+ COST = 1
85
+
86
+ # The insight is related to security.
87
+ SECURITY = 2
88
+
89
+ # The insight is related to performance.
90
+ PERFORMANCE = 3
91
+
92
+ # This insight is related to manageability.
93
+ MANAGEABILITY = 4
94
+ end
95
+ end
96
+
97
+ # Information related to insight state.
98
+ # @!attribute [rw] state
99
+ # @return [::Google::Cloud::Recommender::V1::InsightStateInfo::State]
100
+ # Insight state.
101
+ # @!attribute [rw] state_metadata
102
+ # @return [::Google::Protobuf::Map{::String => ::String}]
103
+ # A map of metadata for the state, provided by user or automations systems.
104
+ class InsightStateInfo
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+
108
+ # @!attribute [rw] key
109
+ # @return [::String]
110
+ # @!attribute [rw] value
111
+ # @return [::String]
112
+ class StateMetadataEntry
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # Represents insight state.
118
+ module State
119
+ # Unspecified state.
120
+ STATE_UNSPECIFIED = 0
121
+
122
+ # Insight is active. Content for ACTIVE insights can be updated by Google.
123
+ # ACTIVE insights can be marked DISMISSED OR ACCEPTED.
124
+ ACTIVE = 1
125
+
126
+ # Some action has been taken based on this insight. Insights become
127
+ # accepted when a recommendation derived from the insight has been marked
128
+ # CLAIMED, SUCCEEDED, or FAILED. ACTIVE insights can also be marked
129
+ # ACCEPTED explicitly. Content for ACCEPTED insights is immutable. ACCEPTED
130
+ # insights can only be marked ACCEPTED (which may update state metadata).
131
+ ACCEPTED = 2
132
+
133
+ # Insight is dismissed. Content for DISMISSED insights can be updated by
134
+ # Google. DISMISSED insights can be marked as ACTIVE.
135
+ DISMISSED = 3
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -64,9 +64,22 @@ module Google
64
64
  # @return [::String]
65
65
  # Fingerprint of the Recommendation. Provides optimistic locking when
66
66
  # updating states.
67
+ # @!attribute [rw] associated_insights
68
+ # @return [::Array<::Google::Cloud::Recommender::V1::Recommendation::InsightReference>]
69
+ # Insights that led to this recommendation.
67
70
  class Recommendation
68
71
  include ::Google::Protobuf::MessageExts
69
72
  extend ::Google::Protobuf::MessageExts::ClassMethods
73
+
74
+ # Reference to an associated insight.
75
+ # @!attribute [rw] insight
76
+ # @return [::String]
77
+ # Insight resource name, e.g.
78
+ # projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
79
+ class InsightReference
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
70
83
  end
71
84
 
72
85
  # Contains what resources are changing and how they are changing.
@@ -264,7 +277,7 @@ module Google
264
277
  extend ::Google::Protobuf::MessageExts::ClassMethods
265
278
  end
266
279
 
267
- # Represents Recommendation State
280
+ # Represents Recommendation State.
268
281
  module State
269
282
  # Default state. Don't use directly.
270
283
  STATE_UNSPECIFIED = 0
@@ -21,6 +21,85 @@ module Google
21
21
  module Cloud
22
22
  module Recommender
23
23
  module V1
24
+ # Request for the `ListInsights` method.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The container resource on which to execute the request.
28
+ # Acceptable formats:
29
+ #
30
+ # 1.
31
+ # "projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]",
32
+ #
33
+ # LOCATION here refers to GCP Locations:
34
+ # https://cloud.google.com/about/locations/
35
+ # @!attribute [rw] page_size
36
+ # @return [::Integer]
37
+ # Optional. The maximum number of results to return from this request. Non-positive
38
+ # values are ignored. If not specified, the server will determine the number
39
+ # of results to return.
40
+ # @!attribute [rw] page_token
41
+ # @return [::String]
42
+ # Optional. If present, retrieves the next batch of results from the preceding call to
43
+ # this method. `page_token` must be the value of `next_page_token` from the
44
+ # previous response. The values of other method parameters must be identical
45
+ # to those in the previous call.
46
+ # @!attribute [rw] filter
47
+ # @return [::String]
48
+ # Optional. Filter expression to restrict the insights returned. Supported
49
+ # filter fields: state
50
+ # Eg: `state:"DISMISSED" or state:"ACTIVE"
51
+ class ListInsightsRequest
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+
56
+ # Response to the `ListInsights` method.
57
+ # @!attribute [rw] insights
58
+ # @return [::Array<::Google::Cloud::Recommender::V1::Insight>]
59
+ # The set of insights for the `parent` resource.
60
+ # @!attribute [rw] next_page_token
61
+ # @return [::String]
62
+ # A token that can be used to request the next page of results. This field is
63
+ # empty if there are no additional results.
64
+ class ListInsightsResponse
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+ end
68
+
69
+ # Request to the `GetInsight` method.
70
+ # @!attribute [rw] name
71
+ # @return [::String]
72
+ # Required. Name of the insight.
73
+ class GetInsightRequest
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Request for the `MarkInsightAccepted` method.
79
+ # @!attribute [rw] name
80
+ # @return [::String]
81
+ # Required. Name of the insight.
82
+ # @!attribute [rw] state_metadata
83
+ # @return [::Google::Protobuf::Map{::String => ::String}]
84
+ # Optional. State properties user wish to include with this state. Full replace of the
85
+ # current state_metadata.
86
+ # @!attribute [rw] etag
87
+ # @return [::String]
88
+ # Required. Fingerprint of the Insight. Provides optimistic locking.
89
+ class MarkInsightAcceptedRequest
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+
93
+ # @!attribute [rw] key
94
+ # @return [::String]
95
+ # @!attribute [rw] value
96
+ # @return [::String]
97
+ class StateMetadataEntry
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+ end
102
+
24
103
  # Request for the `ListRecommendations` method.
25
104
  # @!attribute [rw] parent
26
105
  # @return [::String]
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.3.3
4
+ version: 0.5.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: 2020-05-05 00:00:00.000000000 Z
11
+ date: 2020-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.2'
19
+ version: '0.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.2'
26
+ version: '0.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: google-cloud-errors
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,42 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.10'
61
+ version: '5.14'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '5.10'
68
+ version: '5.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-focus
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest-rg
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5.2'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -134,8 +162,8 @@ files:
134
162
  - LICENSE.md
135
163
  - README.md
136
164
  - lib/google-cloud-recommender-v1.rb
137
- - lib/google/cloud/common_resources_pb.rb
138
165
  - lib/google/cloud/recommender/v1.rb
166
+ - lib/google/cloud/recommender/v1/insight_pb.rb
139
167
  - lib/google/cloud/recommender/v1/recommendation_pb.rb
140
168
  - lib/google/cloud/recommender/v1/recommender.rb
141
169
  - lib/google/cloud/recommender/v1/recommender/client.rb
@@ -147,6 +175,7 @@ files:
147
175
  - proto_docs/README.md
148
176
  - proto_docs/google/api/field_behavior.rb
149
177
  - proto_docs/google/api/resource.rb
178
+ - proto_docs/google/cloud/recommender/v1/insight.rb
150
179
  - proto_docs/google/cloud/recommender/v1/recommendation.rb
151
180
  - proto_docs/google/cloud/recommender/v1/recommender_service.rb
152
181
  - proto_docs/google/protobuf/duration.rb
@@ -172,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
201
  - !ruby/object:Gem::Version
173
202
  version: '0'
174
203
  requirements: []
175
- rubygems_version: 3.0.6
204
+ rubygems_version: 3.1.3
176
205
  signing_key:
177
206
  specification_version: 4
178
207
  summary: API Client library for the Recommender V1 API
@@ -1,15 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # source: google/cloud/common_resources.proto
3
-
4
- require 'google/protobuf'
5
-
6
- require 'google/api/resource_pb'
7
- Google::Protobuf::DescriptorPool.generated_pool.build do
8
- add_file("google/cloud/common_resources.proto", :syntax => :proto3) do
9
- end
10
- end
11
-
12
- module Google
13
- module Cloud
14
- end
15
- end