class Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Recommendation

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

Attributes

additional_impact[RW]

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` @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact>]

associated_insights[RW]

Insights that led to this recommendation. Corresponds to the JSON property `associatedInsights` @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationInsightReference>]

content[RW]

Contains what resources are changing and how they are changing. Corresponds to the JSON property `content` @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationContent]

description[RW]

Free-form human readable summary in English. The maximum length is 500 characters. Corresponds to the JSON property `description` @return [String]

etag[RW]

Fingerprint of the Recommendation. Provides optimistic locking when updating states. Corresponds to the JSON property `etag` @return [String]

last_refresh_time[RW]

Last time this recommendation was refreshed by the system that created it in the first place. Corresponds to the JSON property `lastRefreshTime` @return [String]

name[RW]

Name of recommendation. Corresponds to the JSON property `name` @return [String]

primary_impact[RW]

Contains the impact a recommendation can have for a given category. Corresponds to the JSON property `primaryImpact` @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact]

priority[RW]

Recommendation's priority. Corresponds to the JSON property `priority` @return [String]

recommender_subtype[RW]

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` @return [String]

state_info[RW]

Information for state. Contains state and metadata. Corresponds to the JSON property `stateInfo` @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationStateInfo]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/recommender_v1beta1/classes.rb, line 566
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/recommender_v1beta1/classes.rb, line 571
def update!(**args)
  @additional_impact = args[:additional_impact] if args.key?(:additional_impact)
  @associated_insights = args[:associated_insights] if args.key?(:associated_insights)
  @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)
  @priority = args[:priority] if args.key?(:priority)
  @recommender_subtype = args[:recommender_subtype] if args.key?(:recommender_subtype)
  @state_info = args[:state_info] if args.key?(:state_info)
end