#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct GetAgentRecommendationOutput {
pub recommendation_arn: ::std::string::String,
pub profile_arn: ::std::string::String,
pub title: ::std::string::String,
pub description: ::std::string::String,
pub r#type: crate::types::RecommendationType,
pub pillar: crate::types::Pillar,
pub priority: crate::types::Priority,
pub effort: crate::types::Effort,
pub status: crate::types::RecommendationStatus,
pub state: crate::types::RecommendationState,
pub update_reason: ::std::option::Option<::std::string::String>,
pub impact: crate::types::ImpactCategory,
pub roi: ::std::option::Option<crate::types::Roi>,
pub number_of_resources: ::std::option::Option<i32>,
pub aws_services: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub business_units: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub applications: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub impact_details: ::std::vec::Vec<::std::string::String>,
pub insights: ::std::vec::Vec<crate::types::Insight>,
pub highlights: ::std::vec::Vec<::std::string::String>,
pub remediation_summary: ::std::option::Option<crate::types::RemediationSummary>,
pub cross_pillar_benefits: ::std::option::Option<::std::vec::Vec<crate::types::CrossPillarBenefit>>,
pub trade_offs: ::std::option::Option<::std::vec::Vec<crate::types::TradeOff>>,
pub sources: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationSource>>,
pub goals: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationGoal>>,
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
pub created_by: ::std::string::String,
pub created_at: ::aws_smithy_types::DateTime,
pub last_modified_by: ::std::option::Option<::std::string::String>,
pub last_modified_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub remediations: ::std::option::Option<::std::vec::Vec<crate::types::AgentRecommendationRemediation>>,
_request_id: Option<String>,
}
impl GetAgentRecommendationOutput {
pub fn recommendation_arn(&self) -> &str {
use std::ops::Deref;
self.recommendation_arn.deref()
}
pub fn profile_arn(&self) -> &str {
use std::ops::Deref;
self.profile_arn.deref()
}
pub fn title(&self) -> &str {
use std::ops::Deref;
self.title.deref()
}
pub fn description(&self) -> &str {
use std::ops::Deref;
self.description.deref()
}
pub fn r#type(&self) -> &crate::types::RecommendationType {
&self.r#type
}
pub fn pillar(&self) -> &crate::types::Pillar {
&self.pillar
}
pub fn priority(&self) -> &crate::types::Priority {
&self.priority
}
pub fn effort(&self) -> &crate::types::Effort {
&self.effort
}
pub fn status(&self) -> &crate::types::RecommendationStatus {
&self.status
}
pub fn state(&self) -> &crate::types::RecommendationState {
&self.state
}
pub fn update_reason(&self) -> ::std::option::Option<&str> {
self.update_reason.as_deref()
}
pub fn impact(&self) -> &crate::types::ImpactCategory {
&self.impact
}
pub fn roi(&self) -> ::std::option::Option<&crate::types::Roi> {
self.roi.as_ref()
}
pub fn number_of_resources(&self) -> ::std::option::Option<i32> {
self.number_of_resources
}
pub fn aws_services(&self) -> &[::std::string::String] {
self.aws_services.as_deref().unwrap_or_default()
}
pub fn business_units(&self) -> &[::std::string::String] {
self.business_units.as_deref().unwrap_or_default()
}
pub fn applications(&self) -> &[::std::string::String] {
self.applications.as_deref().unwrap_or_default()
}
pub fn impact_details(&self) -> &[::std::string::String] {
use std::ops::Deref;
self.impact_details.deref()
}
pub fn insights(&self) -> &[crate::types::Insight] {
use std::ops::Deref;
self.insights.deref()
}
pub fn highlights(&self) -> &[::std::string::String] {
use std::ops::Deref;
self.highlights.deref()
}
pub fn remediation_summary(&self) -> ::std::option::Option<&crate::types::RemediationSummary> {
self.remediation_summary.as_ref()
}
pub fn cross_pillar_benefits(&self) -> &[crate::types::CrossPillarBenefit] {
self.cross_pillar_benefits.as_deref().unwrap_or_default()
}
pub fn trade_offs(&self) -> &[crate::types::TradeOff] {
self.trade_offs.as_deref().unwrap_or_default()
}
pub fn sources(&self) -> &[crate::types::RecommendationSource] {
self.sources.as_deref().unwrap_or_default()
}
pub fn goals(&self) -> &[crate::types::RecommendationGoal] {
self.goals.as_deref().unwrap_or_default()
}
pub fn tags(&self) -> &[crate::types::Tag] {
self.tags.as_deref().unwrap_or_default()
}
pub fn created_by(&self) -> &str {
use std::ops::Deref;
self.created_by.deref()
}
pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
&self.created_at
}
pub fn last_modified_by(&self) -> ::std::option::Option<&str> {
self.last_modified_by.as_deref()
}
pub fn last_modified_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_modified_at.as_ref()
}
pub fn remediations(&self) -> &[crate::types::AgentRecommendationRemediation] {
self.remediations.as_deref().unwrap_or_default()
}
}
impl ::std::fmt::Debug for GetAgentRecommendationOutput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("GetAgentRecommendationOutput");
formatter.field("recommendation_arn", &self.recommendation_arn);
formatter.field("profile_arn", &self.profile_arn);
formatter.field("title", &"*** Sensitive Data Redacted ***");
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("r#type", &self.r#type);
formatter.field("pillar", &self.pillar);
formatter.field("priority", &self.priority);
formatter.field("effort", &self.effort);
formatter.field("status", &self.status);
formatter.field("state", &self.state);
formatter.field("update_reason", &"*** Sensitive Data Redacted ***");
formatter.field("impact", &self.impact);
formatter.field("roi", &self.roi);
formatter.field("number_of_resources", &self.number_of_resources);
formatter.field("aws_services", &self.aws_services);
formatter.field("business_units", &self.business_units);
formatter.field("applications", &self.applications);
formatter.field("impact_details", &self.impact_details);
formatter.field("insights", &self.insights);
formatter.field("highlights", &self.highlights);
formatter.field("remediation_summary", &self.remediation_summary);
formatter.field("cross_pillar_benefits", &self.cross_pillar_benefits);
formatter.field("trade_offs", &self.trade_offs);
formatter.field("sources", &self.sources);
formatter.field("goals", &self.goals);
formatter.field("tags", &self.tags);
formatter.field("created_by", &self.created_by);
formatter.field("created_at", &self.created_at);
formatter.field("last_modified_by", &self.last_modified_by);
formatter.field("last_modified_at", &self.last_modified_at);
formatter.field("remediations", &self.remediations);
formatter.field("_request_id", &self._request_id);
formatter.finish()
}
}
impl ::aws_types::request_id::RequestId for GetAgentRecommendationOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetAgentRecommendationOutput {
pub fn builder() -> crate::operation::get_agent_recommendation::builders::GetAgentRecommendationOutputBuilder {
crate::operation::get_agent_recommendation::builders::GetAgentRecommendationOutputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct GetAgentRecommendationOutputBuilder {
pub(crate) recommendation_arn: ::std::option::Option<::std::string::String>,
pub(crate) profile_arn: ::std::option::Option<::std::string::String>,
pub(crate) title: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<crate::types::RecommendationType>,
pub(crate) pillar: ::std::option::Option<crate::types::Pillar>,
pub(crate) priority: ::std::option::Option<crate::types::Priority>,
pub(crate) effort: ::std::option::Option<crate::types::Effort>,
pub(crate) status: ::std::option::Option<crate::types::RecommendationStatus>,
pub(crate) state: ::std::option::Option<crate::types::RecommendationState>,
pub(crate) update_reason: ::std::option::Option<::std::string::String>,
pub(crate) impact: ::std::option::Option<crate::types::ImpactCategory>,
pub(crate) roi: ::std::option::Option<crate::types::Roi>,
pub(crate) number_of_resources: ::std::option::Option<i32>,
pub(crate) aws_services: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) business_units: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) applications: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) impact_details: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) insights: ::std::option::Option<::std::vec::Vec<crate::types::Insight>>,
pub(crate) highlights: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) remediation_summary: ::std::option::Option<crate::types::RemediationSummary>,
pub(crate) cross_pillar_benefits: ::std::option::Option<::std::vec::Vec<crate::types::CrossPillarBenefit>>,
pub(crate) trade_offs: ::std::option::Option<::std::vec::Vec<crate::types::TradeOff>>,
pub(crate) sources: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationSource>>,
pub(crate) goals: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationGoal>>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
pub(crate) created_by: ::std::option::Option<::std::string::String>,
pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_modified_by: ::std::option::Option<::std::string::String>,
pub(crate) last_modified_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) remediations: ::std::option::Option<::std::vec::Vec<crate::types::AgentRecommendationRemediation>>,
_request_id: Option<String>,
}
impl GetAgentRecommendationOutputBuilder {
pub fn recommendation_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.recommendation_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_recommendation_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.recommendation_arn = input;
self
}
pub fn get_recommendation_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.recommendation_arn
}
pub fn profile_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.profile_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_profile_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.profile_arn = input;
self
}
pub fn get_profile_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.profile_arn
}
pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.title = ::std::option::Option::Some(input.into());
self
}
pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.title = input;
self
}
pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
&self.title
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn r#type(mut self, input: crate::types::RecommendationType) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
pub fn set_type(mut self, input: ::std::option::Option<crate::types::RecommendationType>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<crate::types::RecommendationType> {
&self.r#type
}
pub fn pillar(mut self, input: crate::types::Pillar) -> Self {
self.pillar = ::std::option::Option::Some(input);
self
}
pub fn set_pillar(mut self, input: ::std::option::Option<crate::types::Pillar>) -> Self {
self.pillar = input;
self
}
pub fn get_pillar(&self) -> &::std::option::Option<crate::types::Pillar> {
&self.pillar
}
pub fn priority(mut self, input: crate::types::Priority) -> Self {
self.priority = ::std::option::Option::Some(input);
self
}
pub fn set_priority(mut self, input: ::std::option::Option<crate::types::Priority>) -> Self {
self.priority = input;
self
}
pub fn get_priority(&self) -> &::std::option::Option<crate::types::Priority> {
&self.priority
}
pub fn effort(mut self, input: crate::types::Effort) -> Self {
self.effort = ::std::option::Option::Some(input);
self
}
pub fn set_effort(mut self, input: ::std::option::Option<crate::types::Effort>) -> Self {
self.effort = input;
self
}
pub fn get_effort(&self) -> &::std::option::Option<crate::types::Effort> {
&self.effort
}
pub fn status(mut self, input: crate::types::RecommendationStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
pub fn set_status(mut self, input: ::std::option::Option<crate::types::RecommendationStatus>) -> Self {
self.status = input;
self
}
pub fn get_status(&self) -> &::std::option::Option<crate::types::RecommendationStatus> {
&self.status
}
pub fn state(mut self, input: crate::types::RecommendationState) -> Self {
self.state = ::std::option::Option::Some(input);
self
}
pub fn set_state(mut self, input: ::std::option::Option<crate::types::RecommendationState>) -> Self {
self.state = input;
self
}
pub fn get_state(&self) -> &::std::option::Option<crate::types::RecommendationState> {
&self.state
}
pub fn update_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.update_reason = ::std::option::Option::Some(input.into());
self
}
pub fn set_update_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.update_reason = input;
self
}
pub fn get_update_reason(&self) -> &::std::option::Option<::std::string::String> {
&self.update_reason
}
pub fn impact(mut self, input: crate::types::ImpactCategory) -> Self {
self.impact = ::std::option::Option::Some(input);
self
}
pub fn set_impact(mut self, input: ::std::option::Option<crate::types::ImpactCategory>) -> Self {
self.impact = input;
self
}
pub fn get_impact(&self) -> &::std::option::Option<crate::types::ImpactCategory> {
&self.impact
}
pub fn roi(mut self, input: crate::types::Roi) -> Self {
self.roi = ::std::option::Option::Some(input);
self
}
pub fn set_roi(mut self, input: ::std::option::Option<crate::types::Roi>) -> Self {
self.roi = input;
self
}
pub fn get_roi(&self) -> &::std::option::Option<crate::types::Roi> {
&self.roi
}
pub fn number_of_resources(mut self, input: i32) -> Self {
self.number_of_resources = ::std::option::Option::Some(input);
self
}
pub fn set_number_of_resources(mut self, input: ::std::option::Option<i32>) -> Self {
self.number_of_resources = input;
self
}
pub fn get_number_of_resources(&self) -> &::std::option::Option<i32> {
&self.number_of_resources
}
pub fn aws_services(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.aws_services.unwrap_or_default();
v.push(input.into());
self.aws_services = ::std::option::Option::Some(v);
self
}
pub fn set_aws_services(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.aws_services = input;
self
}
pub fn get_aws_services(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.aws_services
}
pub fn business_units(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.business_units.unwrap_or_default();
v.push(input.into());
self.business_units = ::std::option::Option::Some(v);
self
}
pub fn set_business_units(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.business_units = input;
self
}
pub fn get_business_units(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.business_units
}
pub fn applications(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.applications.unwrap_or_default();
v.push(input.into());
self.applications = ::std::option::Option::Some(v);
self
}
pub fn set_applications(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.applications = input;
self
}
pub fn get_applications(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.applications
}
pub fn impact_details(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.impact_details.unwrap_or_default();
v.push(input.into());
self.impact_details = ::std::option::Option::Some(v);
self
}
pub fn set_impact_details(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.impact_details = input;
self
}
pub fn get_impact_details(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.impact_details
}
pub fn insights(mut self, input: crate::types::Insight) -> Self {
let mut v = self.insights.unwrap_or_default();
v.push(input);
self.insights = ::std::option::Option::Some(v);
self
}
pub fn set_insights(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Insight>>) -> Self {
self.insights = input;
self
}
pub fn get_insights(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Insight>> {
&self.insights
}
pub fn highlights(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.highlights.unwrap_or_default();
v.push(input.into());
self.highlights = ::std::option::Option::Some(v);
self
}
pub fn set_highlights(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.highlights = input;
self
}
pub fn get_highlights(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.highlights
}
pub fn remediation_summary(mut self, input: crate::types::RemediationSummary) -> Self {
self.remediation_summary = ::std::option::Option::Some(input);
self
}
pub fn set_remediation_summary(mut self, input: ::std::option::Option<crate::types::RemediationSummary>) -> Self {
self.remediation_summary = input;
self
}
pub fn get_remediation_summary(&self) -> &::std::option::Option<crate::types::RemediationSummary> {
&self.remediation_summary
}
pub fn cross_pillar_benefits(mut self, input: crate::types::CrossPillarBenefit) -> Self {
let mut v = self.cross_pillar_benefits.unwrap_or_default();
v.push(input);
self.cross_pillar_benefits = ::std::option::Option::Some(v);
self
}
pub fn set_cross_pillar_benefits(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CrossPillarBenefit>>) -> Self {
self.cross_pillar_benefits = input;
self
}
pub fn get_cross_pillar_benefits(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CrossPillarBenefit>> {
&self.cross_pillar_benefits
}
pub fn trade_offs(mut self, input: crate::types::TradeOff) -> Self {
let mut v = self.trade_offs.unwrap_or_default();
v.push(input);
self.trade_offs = ::std::option::Option::Some(v);
self
}
pub fn set_trade_offs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TradeOff>>) -> Self {
self.trade_offs = input;
self
}
pub fn get_trade_offs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TradeOff>> {
&self.trade_offs
}
pub fn sources(mut self, input: crate::types::RecommendationSource) -> Self {
let mut v = self.sources.unwrap_or_default();
v.push(input);
self.sources = ::std::option::Option::Some(v);
self
}
pub fn set_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationSource>>) -> Self {
self.sources = input;
self
}
pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RecommendationSource>> {
&self.sources
}
pub fn goals(mut self, input: crate::types::RecommendationGoal) -> Self {
let mut v = self.goals.unwrap_or_default();
v.push(input);
self.goals = ::std::option::Option::Some(v);
self
}
pub fn set_goals(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationGoal>>) -> Self {
self.goals = input;
self
}
pub fn get_goals(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RecommendationGoal>> {
&self.goals
}
pub fn tags(mut self, input: crate::types::Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = ::std::option::Option::Some(v);
self
}
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
pub fn created_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.created_by = ::std::option::Option::Some(input.into());
self
}
pub fn set_created_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.created_by = input;
self
}
pub fn get_created_by(&self) -> &::std::option::Option<::std::string::String> {
&self.created_by
}
pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_at = ::std::option::Option::Some(input);
self
}
pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_at = input;
self
}
pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_at
}
pub fn last_modified_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.last_modified_by = ::std::option::Option::Some(input.into());
self
}
pub fn set_last_modified_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.last_modified_by = input;
self
}
pub fn get_last_modified_by(&self) -> &::std::option::Option<::std::string::String> {
&self.last_modified_by
}
pub fn last_modified_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_modified_at = ::std::option::Option::Some(input);
self
}
pub fn set_last_modified_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_modified_at = input;
self
}
pub fn get_last_modified_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_modified_at
}
pub fn remediations(mut self, input: crate::types::AgentRecommendationRemediation) -> Self {
let mut v = self.remediations.unwrap_or_default();
v.push(input);
self.remediations = ::std::option::Option::Some(v);
self
}
pub fn set_remediations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AgentRecommendationRemediation>>) -> Self {
self.remediations = input;
self
}
pub fn get_remediations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AgentRecommendationRemediation>> {
&self.remediations
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::get_agent_recommendation::GetAgentRecommendationOutput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::get_agent_recommendation::GetAgentRecommendationOutput {
recommendation_arn: self.recommendation_arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"recommendation_arn",
"recommendation_arn was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
profile_arn: self.profile_arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"profile_arn",
"profile_arn was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
title: self.title.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"title",
"title was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
description: self.description.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"description",
"description was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
r#type: self.r#type.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"r#type",
"r#type was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
pillar: self.pillar.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"pillar",
"pillar was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
priority: self.priority.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"priority",
"priority was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
effort: self.effort.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"effort",
"effort was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
status: self.status.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"status",
"status was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
state: self.state.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"state",
"state was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
update_reason: self.update_reason,
impact: self.impact.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"impact",
"impact was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
roi: self.roi,
number_of_resources: self.number_of_resources,
aws_services: self.aws_services,
business_units: self.business_units,
applications: self.applications,
impact_details: self.impact_details.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"impact_details",
"impact_details was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
insights: self.insights.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"insights",
"insights was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
highlights: self.highlights.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"highlights",
"highlights was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
remediation_summary: self.remediation_summary,
cross_pillar_benefits: self.cross_pillar_benefits,
trade_offs: self.trade_offs,
sources: self.sources,
goals: self.goals,
tags: self.tags,
created_by: self.created_by.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"created_by",
"created_by was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
created_at: self.created_at.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"created_at",
"created_at was not specified but it is required when building GetAgentRecommendationOutput",
)
})?,
last_modified_by: self.last_modified_by,
last_modified_at: self.last_modified_at,
remediations: self.remediations,
_request_id: self._request_id,
})
}
}
impl ::std::fmt::Debug for GetAgentRecommendationOutputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("GetAgentRecommendationOutputBuilder");
formatter.field("recommendation_arn", &self.recommendation_arn);
formatter.field("profile_arn", &self.profile_arn);
formatter.field("title", &"*** Sensitive Data Redacted ***");
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("r#type", &self.r#type);
formatter.field("pillar", &self.pillar);
formatter.field("priority", &self.priority);
formatter.field("effort", &self.effort);
formatter.field("status", &self.status);
formatter.field("state", &self.state);
formatter.field("update_reason", &"*** Sensitive Data Redacted ***");
formatter.field("impact", &self.impact);
formatter.field("roi", &self.roi);
formatter.field("number_of_resources", &self.number_of_resources);
formatter.field("aws_services", &self.aws_services);
formatter.field("business_units", &self.business_units);
formatter.field("applications", &self.applications);
formatter.field("impact_details", &self.impact_details);
formatter.field("insights", &self.insights);
formatter.field("highlights", &self.highlights);
formatter.field("remediation_summary", &self.remediation_summary);
formatter.field("cross_pillar_benefits", &self.cross_pillar_benefits);
formatter.field("trade_offs", &self.trade_offs);
formatter.field("sources", &self.sources);
formatter.field("goals", &self.goals);
formatter.field("tags", &self.tags);
formatter.field("created_by", &self.created_by);
formatter.field("created_at", &self.created_at);
formatter.field("last_modified_by", &self.last_modified_by);
formatter.field("last_modified_at", &self.last_modified_at);
formatter.field("remediations", &self.remediations);
formatter.field("_request_id", &self._request_id);
formatter.finish()
}
}