#[non_exhaustive]pub struct Recommendation {
pub name: String,
pub description: String,
pub recommender_subtype: String,
pub last_refresh_time: Option<Timestamp>,
pub primary_impact: Option<Impact>,
pub additional_impact: Vec<Impact>,
pub priority: Priority,
pub content: Option<RecommendationContent>,
pub state_info: Option<RecommendationStateInfo>,
pub etag: String,
pub associated_insights: Vec<InsightReference>,
pub xor_group_id: String,
/* private fields */
}Expand description
A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringName of recommendation.
description: StringFree-form human readable summary in English. The maximum length is 500 characters.
recommender_subtype: StringContains 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”
last_refresh_time: Option<Timestamp>Last time this recommendation was refreshed by the system that created it in the first place.
primary_impact: Option<Impact>The primary impact that this recommendation can have while trying to optimize for one category.
additional_impact: Vec<Impact>Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
priority: PriorityRecommendation’s priority.
content: Option<RecommendationContent>Content of the recommendation describing recommended changes to resources.
state_info: Option<RecommendationStateInfo>Information for state. Contains state and metadata.
etag: StringFingerprint of the Recommendation. Provides optimistic locking when updating states.
associated_insights: Vec<InsightReference>Insights that led to this recommendation.
xor_group_id: StringCorresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.
Implementations§
Source§impl Recommendation
impl Recommendation
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_recommender_subtype<T: Into<String>>(self, v: T) -> Self
pub fn set_recommender_subtype<T: Into<String>>(self, v: T) -> Self
Sets the value of recommender_subtype.
§Example
let x = Recommendation::new().set_recommender_subtype("example");Sourcepub fn set_last_refresh_time<T>(self, v: T) -> Self
pub fn set_last_refresh_time<T>(self, v: T) -> Self
Sets the value of last_refresh_time.
§Example
use wkt::Timestamp;
let x = Recommendation::new().set_last_refresh_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_last_refresh_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_last_refresh_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of last_refresh_time.
§Example
use wkt::Timestamp;
let x = Recommendation::new().set_or_clear_last_refresh_time(Some(Timestamp::default()/* use setters */));
let x = Recommendation::new().set_or_clear_last_refresh_time(None::<Timestamp>);Sourcepub fn set_primary_impact<T>(self, v: T) -> Self
pub fn set_primary_impact<T>(self, v: T) -> Self
Sets the value of primary_impact.
§Example
use google_cloud_recommender_v1::model::Impact;
let x = Recommendation::new().set_primary_impact(Impact::default()/* use setters */);Sourcepub fn set_or_clear_primary_impact<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_primary_impact<T>(self, v: Option<T>) -> Self
Sets or clears the value of primary_impact.
§Example
use google_cloud_recommender_v1::model::Impact;
let x = Recommendation::new().set_or_clear_primary_impact(Some(Impact::default()/* use setters */));
let x = Recommendation::new().set_or_clear_primary_impact(None::<Impact>);Sourcepub fn set_additional_impact<T, V>(self, v: T) -> Self
pub fn set_additional_impact<T, V>(self, v: T) -> Self
Sets the value of additional_impact.
§Example
use google_cloud_recommender_v1::model::Impact;
let x = Recommendation::new()
.set_additional_impact([
Impact::default()/* use setters */,
Impact::default()/* use (different) setters */,
]);Sourcepub fn set_priority<T: Into<Priority>>(self, v: T) -> Self
pub fn set_priority<T: Into<Priority>>(self, v: T) -> Self
Sourcepub fn set_content<T>(self, v: T) -> Selfwhere
T: Into<RecommendationContent>,
pub fn set_content<T>(self, v: T) -> Selfwhere
T: Into<RecommendationContent>,
Sourcepub fn set_or_clear_content<T>(self, v: Option<T>) -> Selfwhere
T: Into<RecommendationContent>,
pub fn set_or_clear_content<T>(self, v: Option<T>) -> Selfwhere
T: Into<RecommendationContent>,
Sets or clears the value of content.
§Example
use google_cloud_recommender_v1::model::RecommendationContent;
let x = Recommendation::new().set_or_clear_content(Some(RecommendationContent::default()/* use setters */));
let x = Recommendation::new().set_or_clear_content(None::<RecommendationContent>);Sourcepub fn set_state_info<T>(self, v: T) -> Selfwhere
T: Into<RecommendationStateInfo>,
pub fn set_state_info<T>(self, v: T) -> Selfwhere
T: Into<RecommendationStateInfo>,
Sets the value of state_info.
§Example
use google_cloud_recommender_v1::model::RecommendationStateInfo;
let x = Recommendation::new().set_state_info(RecommendationStateInfo::default()/* use setters */);Sourcepub fn set_or_clear_state_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<RecommendationStateInfo>,
pub fn set_or_clear_state_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<RecommendationStateInfo>,
Sets or clears the value of state_info.
§Example
use google_cloud_recommender_v1::model::RecommendationStateInfo;
let x = Recommendation::new().set_or_clear_state_info(Some(RecommendationStateInfo::default()/* use setters */));
let x = Recommendation::new().set_or_clear_state_info(None::<RecommendationStateInfo>);Sourcepub fn set_associated_insights<T, V>(self, v: T) -> Self
pub fn set_associated_insights<T, V>(self, v: T) -> Self
Sets the value of associated_insights.
§Example
use google_cloud_recommender_v1::model::recommendation::InsightReference;
let x = Recommendation::new()
.set_associated_insights([
InsightReference::default()/* use setters */,
InsightReference::default()/* use (different) setters */,
]);Sourcepub fn set_xor_group_id<T: Into<String>>(self, v: T) -> Self
pub fn set_xor_group_id<T: Into<String>>(self, v: T) -> Self
Sets the value of xor_group_id.
§Example
let x = Recommendation::new().set_xor_group_id("example");Trait Implementations§
Source§impl Clone for Recommendation
impl Clone for Recommendation
Source§fn clone(&self) -> Recommendation
fn clone(&self) -> Recommendation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more