Class: Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Recommendation

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/recommender_v1beta1/classes.rb,
generated/google/apis/recommender_v1beta1/representations.rb,
generated/google/apis/recommender_v1beta1/representations.rb

Overview

A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GoogleCloudRecommenderV1beta1Recommendation

Returns a new instance of GoogleCloudRecommenderV1beta1Recommendation



379
380
381
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 379

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#additional_impactArray<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact>

Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative. Corresponds to the JSON property additionalImpact



324
325
326
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 324

def additional_impact
  @additional_impact
end

#contentGoogle::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationContent

Contains what resources are changing and how they are changing. Corresponds to the JSON property content



329
330
331
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 329

def content
  @content
end

#descriptionString

Free-form human readable summary in English. The maximum length is 500 characters. Corresponds to the JSON property description

Returns:

  • (String)


335
336
337
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 335

def description
  @description
end

#etagString

Fingerprint of the Recommendation. Provides optimistic locking when updating states. Corresponds to the JSON property etag

Returns:

  • (String)


341
342
343
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 341

def etag
  @etag
end

#last_refresh_timeString

Last time this recommendation was refreshed by the system that created it in the first place. Corresponds to the JSON property lastRefreshTime

Returns:

  • (String)


347
348
349
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 347

def last_refresh_time
  @last_refresh_time
end

#nameString

Name of recommendation. A project recommendation is represented as projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/ recommendations/[RECOMMENDATION_ID] Corresponds to the JSON property name

Returns:

  • (String)


355
356
357
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 355

def name
  @name
end

#primary_impactGoogle::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact

Contains the impact a recommendation can have for a given category. Corresponds to the JSON property primaryImpact



360
361
362
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 360

def primary_impact
  @primary_impact
end

#recommender_subtypeString

Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to content or primary_impact.category are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" Corresponds to the JSON property recommenderSubtype

Returns:

  • (String)


372
373
374
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 372

def recommender_subtype
  @recommender_subtype
end

#state_infoGoogle::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationStateInfo

Information for state. Contains state and metadata. Corresponds to the JSON property stateInfo



377
378
379
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 377

def state_info
  @state_info
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



384
385
386
387
388
389
390
391
392
393
394
# File 'generated/google/apis/recommender_v1beta1/classes.rb', line 384

def update!(**args)
  @additional_impact = args[:additional_impact] if args.key?(:additional_impact)
  @content = args[:content] if args.key?(:content)
  @description = args[:description] if args.key?(:description)
  @etag = args[:etag] if args.key?(:etag)
  @last_refresh_time = args[:last_refresh_time] if args.key?(:last_refresh_time)
  @name = args[:name] if args.key?(:name)
  @primary_impact = args[:primary_impact] if args.key?(:primary_impact)
  @recommender_subtype = args[:recommender_subtype] if args.key?(:recommender_subtype)
  @state_info = args[:state_info] if args.key?(:state_info)
end