7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/wellarchitected/WellArchitected_EXPORTS.h>
12#include <aws/wellarchitected/model/AgentRecommendationRemediation.h>
13#include <aws/wellarchitected/model/CrossPillarBenefit.h>
14#include <aws/wellarchitected/model/Effort.h>
15#include <aws/wellarchitected/model/ImpactCategory.h>
16#include <aws/wellarchitected/model/Insight.h>
17#include <aws/wellarchitected/model/Pillar.h>
18#include <aws/wellarchitected/model/Priority.h>
19#include <aws/wellarchitected/model/RecommendationGoal.h>
20#include <aws/wellarchitected/model/RecommendationSource.h>
21#include <aws/wellarchitected/model/RecommendationState.h>
22#include <aws/wellarchitected/model/RecommendationStatus.h>
23#include <aws/wellarchitected/model/RecommendationType.h>
24#include <aws/wellarchitected/model/RemediationSummary.h>
25#include <aws/wellarchitected/model/Roi.h>
26#include <aws/wellarchitected/model/Tag.h>
27#include <aws/wellarchitected/model/TradeOff.h>
32template <
typename RESULT_TYPE>
33class AmazonWebServiceResult;
40namespace WellArchitected {
53 template <
typename RecommendationArnT = Aws::String>
55 m_recommendationArnHasBeenSet =
true;
56 m_recommendationArn = std::forward<RecommendationArnT>(value);
58 template <
typename RecommendationArnT = Aws::String>
70 template <
typename ProfileArnT = Aws::String>
72 m_profileArnHasBeenSet =
true;
73 m_profileArn = std::forward<ProfileArnT>(value);
75 template <
typename ProfileArnT = Aws::String>
87 template <
typename TitleT = Aws::String>
89 m_titleHasBeenSet =
true;
90 m_title = std::forward<TitleT>(value);
92 template <
typename TitleT = Aws::String>
94 SetTitle(std::forward<TitleT>(value));
104 template <
typename DescriptionT = Aws::String>
106 m_descriptionHasBeenSet =
true;
107 m_description = std::forward<DescriptionT>(value);
109 template <
typename DescriptionT = Aws::String>
122 m_typeHasBeenSet =
true;
138 m_pillarHasBeenSet =
true;
153 m_priorityHasBeenSet =
true;
168 m_effortHasBeenSet =
true;
183 m_statusHasBeenSet =
true;
198 m_stateHasBeenSet =
true;
213 template <
typename UpdateReasonT = Aws::String>
215 m_updateReasonHasBeenSet =
true;
216 m_updateReason = std::forward<UpdateReasonT>(value);
218 template <
typename UpdateReasonT = Aws::String>
231 m_impactHasBeenSet =
true;
245 template <
typename RoiT = Roi>
247 m_roiHasBeenSet =
true;
248 m_roi = std::forward<RoiT>(value);
250 template <
typename RoiT = Roi>
252 SetRoi(std::forward<RoiT>(value));
263 m_numberOfResourcesHasBeenSet =
true;
264 m_numberOfResources = value;
277 template <
typename AwsServicesT = Aws::Vector<Aws::String>>
279 m_awsServicesHasBeenSet =
true;
280 m_awsServices = std::forward<AwsServicesT>(value);
282 template <
typename AwsServicesT = Aws::Vector<Aws::String>>
287 template <
typename AwsServicesT = Aws::String>
289 m_awsServicesHasBeenSet =
true;
290 m_awsServices.emplace_back(std::forward<AwsServicesT>(value));
300 template <
typename BusinessUnitsT = Aws::Vector<Aws::String>>
302 m_businessUnitsHasBeenSet =
true;
303 m_businessUnits = std::forward<BusinessUnitsT>(value);
305 template <
typename BusinessUnitsT = Aws::Vector<Aws::String>>
310 template <
typename BusinessUnitsT = Aws::String>
312 m_businessUnitsHasBeenSet =
true;
313 m_businessUnits.emplace_back(std::forward<BusinessUnitsT>(value));
323 template <
typename ApplicationsT = Aws::Vector<Aws::String>>
325 m_applicationsHasBeenSet =
true;
326 m_applications = std::forward<ApplicationsT>(value);
328 template <
typename ApplicationsT = Aws::Vector<Aws::String>>
333 template <
typename ApplicationsT = Aws::String>
335 m_applicationsHasBeenSet =
true;
336 m_applications.emplace_back(std::forward<ApplicationsT>(value));
346 template <
typename ImpactDetailsT = Aws::Vector<Aws::String>>
348 m_impactDetailsHasBeenSet =
true;
349 m_impactDetails = std::forward<ImpactDetailsT>(value);
351 template <
typename ImpactDetailsT = Aws::Vector<Aws::String>>
356 template <
typename ImpactDetailsT = Aws::String>
358 m_impactDetailsHasBeenSet =
true;
359 m_impactDetails.emplace_back(std::forward<ImpactDetailsT>(value));
369 template <
typename InsightsT = Aws::Vector<Insight>>
371 m_insightsHasBeenSet =
true;
372 m_insights = std::forward<InsightsT>(value);
374 template <
typename InsightsT = Aws::Vector<Insight>>
379 template <
typename InsightsT = Insight>
381 m_insightsHasBeenSet =
true;
382 m_insights.emplace_back(std::forward<InsightsT>(value));
392 template <
typename HighlightsT = Aws::Vector<Aws::String>>
394 m_highlightsHasBeenSet =
true;
395 m_highlights = std::forward<HighlightsT>(value);
397 template <
typename HighlightsT = Aws::Vector<Aws::String>>
402 template <
typename HighlightsT = Aws::String>
404 m_highlightsHasBeenSet =
true;
405 m_highlights.emplace_back(std::forward<HighlightsT>(value));
415 template <
typename RemediationSummaryT = RemediationSummary>
417 m_remediationSummaryHasBeenSet =
true;
418 m_remediationSummary = std::forward<RemediationSummaryT>(value);
420 template <
typename RemediationSummaryT = RemediationSummary>
432 template <
typename CrossPillarBenefitsT = Aws::Vector<CrossPillarBenefit>>
434 m_crossPillarBenefitsHasBeenSet =
true;
435 m_crossPillarBenefits = std::forward<CrossPillarBenefitsT>(value);
437 template <
typename CrossPillarBenefitsT = Aws::Vector<CrossPillarBenefit>>
442 template <
typename CrossPillarBenefitsT = CrossPillarBenefit>
444 m_crossPillarBenefitsHasBeenSet =
true;
445 m_crossPillarBenefits.emplace_back(std::forward<CrossPillarBenefitsT>(value));
455 template <
typename TradeOffsT = Aws::Vector<TradeOff>>
457 m_tradeOffsHasBeenSet =
true;
458 m_tradeOffs = std::forward<TradeOffsT>(value);
460 template <
typename TradeOffsT = Aws::Vector<TradeOff>>
465 template <
typename TradeOffsT = TradeOff>
467 m_tradeOffsHasBeenSet =
true;
468 m_tradeOffs.emplace_back(std::forward<TradeOffsT>(value));
478 template <
typename SourcesT = Aws::Vector<RecommendationSource>>
480 m_sourcesHasBeenSet =
true;
481 m_sources = std::forward<SourcesT>(value);
483 template <
typename SourcesT = Aws::Vector<RecommendationSource>>
489 m_sourcesHasBeenSet =
true;
490 m_sources.push_back(value);
500 template <
typename GoalsT = Aws::Vector<RecommendationGoal>>
502 m_goalsHasBeenSet =
true;
503 m_goals = std::forward<GoalsT>(value);
505 template <
typename GoalsT = Aws::Vector<RecommendationGoal>>
507 SetGoals(std::forward<GoalsT>(value));
510 template <
typename GoalsT = RecommendationGoal>
512 m_goalsHasBeenSet =
true;
513 m_goals.emplace_back(std::forward<GoalsT>(value));
524 template <
typename TagsT = Aws::Vector<Tag>>
526 m_tagsHasBeenSet =
true;
527 m_tags = std::forward<TagsT>(value);
529 template <
typename TagsT = Aws::Vector<Tag>>
531 SetTags(std::forward<TagsT>(value));
534 template <
typename TagsT = Tag>
536 m_tagsHasBeenSet =
true;
537 m_tags.emplace_back(std::forward<TagsT>(value));
547 template <
typename CreatedByT = Aws::String>
549 m_createdByHasBeenSet =
true;
550 m_createdBy = std::forward<CreatedByT>(value);
552 template <
typename CreatedByT = Aws::String>
564 template <
typename CreatedAtT = Aws::Utils::DateTime>
566 m_createdAtHasBeenSet =
true;
567 m_createdAt = std::forward<CreatedAtT>(value);
569 template <
typename CreatedAtT = Aws::Utils::DateTime>
582 template <
typename LastModifiedByT = Aws::String>
584 m_lastModifiedByHasBeenSet =
true;
585 m_lastModifiedBy = std::forward<LastModifiedByT>(value);
587 template <
typename LastModifiedByT = Aws::String>
599 template <
typename LastModifiedAtT = Aws::Utils::DateTime>
601 m_lastModifiedAtHasBeenSet =
true;
602 m_lastModifiedAt = std::forward<LastModifiedAtT>(value);
604 template <
typename LastModifiedAtT = Aws::Utils::DateTime>
616 template <
typename RemediationsT = Aws::Vector<AgentRecommendationRemediation>>
618 m_remediationsHasBeenSet =
true;
619 m_remediations = std::forward<RemediationsT>(value);
621 template <
typename RemediationsT = Aws::Vector<AgentRecommendationRemediation>>
626 template <
typename RemediationsT = AgentRecommendationRemediation>
628 m_remediationsHasBeenSet =
true;
629 m_remediations.emplace_back(std::forward<RemediationsT>(value));
637 template <
typename RequestIdT = Aws::String>
639 m_requestIdHasBeenSet =
true;
640 m_requestId = std::forward<RequestIdT>(value);
642 template <
typename RequestIdT = Aws::String>
677 int m_numberOfResources{0};
691 RemediationSummary m_remediationSummary;
715 bool m_recommendationArnHasBeenSet =
false;
716 bool m_profileArnHasBeenSet =
false;
717 bool m_titleHasBeenSet =
false;
718 bool m_descriptionHasBeenSet =
false;
719 bool m_typeHasBeenSet =
false;
720 bool m_pillarHasBeenSet =
false;
721 bool m_priorityHasBeenSet =
false;
722 bool m_effortHasBeenSet =
false;
723 bool m_statusHasBeenSet =
false;
724 bool m_stateHasBeenSet =
false;
725 bool m_updateReasonHasBeenSet =
false;
726 bool m_impactHasBeenSet =
false;
727 bool m_roiHasBeenSet =
false;
728 bool m_numberOfResourcesHasBeenSet =
false;
729 bool m_awsServicesHasBeenSet =
false;
730 bool m_businessUnitsHasBeenSet =
false;
731 bool m_applicationsHasBeenSet =
false;
732 bool m_impactDetailsHasBeenSet =
false;
733 bool m_insightsHasBeenSet =
false;
734 bool m_highlightsHasBeenSet =
false;
735 bool m_remediationSummaryHasBeenSet =
false;
736 bool m_crossPillarBenefitsHasBeenSet =
false;
737 bool m_tradeOffsHasBeenSet =
false;
738 bool m_sourcesHasBeenSet =
false;
739 bool m_goalsHasBeenSet =
false;
740 bool m_tagsHasBeenSet =
false;
741 bool m_createdByHasBeenSet =
false;
742 bool m_createdAtHasBeenSet =
false;
743 bool m_lastModifiedByHasBeenSet =
false;
744 bool m_lastModifiedAtHasBeenSet =
false;
745 bool m_remediationsHasBeenSet =
false;
746 bool m_requestIdHasBeenSet =
false;
const Roi & GetRoi() const
const Aws::Vector< CrossPillarBenefit > & GetCrossPillarBenefits() const
GetAgentRecommendationResult & WithRecommendationArn(RecommendationArnT &&value)
const Aws::String & GetRequestId() const
const Aws::String & GetDescription() const
GetAgentRecommendationResult & WithRemediations(RemediationsT &&value)
void SetState(RecommendationState value)
GetAgentRecommendationResult & WithInsights(InsightsT &&value)
void SetRemediationSummary(RemediationSummaryT &&value)
void SetApplications(ApplicationsT &&value)
const Aws::Vector< RecommendationGoal > & GetGoals() const
GetAgentRecommendationResult & WithSources(SourcesT &&value)
GetAgentRecommendationResult & WithDescription(DescriptionT &&value)
const Aws::Vector< Insight > & GetInsights() const
GetAgentRecommendationResult & WithRoi(RoiT &&value)
GetAgentRecommendationResult & AddTradeOffs(TradeOffsT &&value)
GetAgentRecommendationResult & WithLastModifiedBy(LastModifiedByT &&value)
GetAgentRecommendationResult & AddApplications(ApplicationsT &&value)
GetAgentRecommendationResult & WithRequestId(RequestIdT &&value)
const Aws::String & GetTitle() const
AWS_WELLARCHITECTED_API GetAgentRecommendationResult()=default
GetAgentRecommendationResult & WithPriority(Priority value)
GetAgentRecommendationResult & WithCrossPillarBenefits(CrossPillarBenefitsT &&value)
void SetInsights(InsightsT &&value)
void SetSources(SourcesT &&value)
const Aws::Vector< Tag > & GetTags() const
GetAgentRecommendationResult & AddBusinessUnits(BusinessUnitsT &&value)
void SetCreatedBy(CreatedByT &&value)
GetAgentRecommendationResult & AddSources(RecommendationSource value)
const Aws::Vector< Aws::String > & GetAwsServices() const
GetAgentRecommendationResult & AddInsights(InsightsT &&value)
AWS_WELLARCHITECTED_API GetAgentRecommendationResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
void SetBusinessUnits(BusinessUnitsT &&value)
void SetHighlights(HighlightsT &&value)
GetAgentRecommendationResult & AddHighlights(HighlightsT &&value)
GetAgentRecommendationResult & WithTitle(TitleT &&value)
GetAgentRecommendationResult & AddGoals(GoalsT &&value)
void SetLastModifiedBy(LastModifiedByT &&value)
const Aws::Vector< Aws::String > & GetHighlights() const
GetAgentRecommendationResult & WithCreatedAt(CreatedAtT &&value)
GetAgentRecommendationResult & WithTradeOffs(TradeOffsT &&value)
Aws::Http::HttpResponseCode GetHttpResponseCode() const
GetAgentRecommendationResult & WithStatus(RecommendationStatus value)
GetAgentRecommendationResult & WithPillar(Pillar value)
void SetType(RecommendationType value)
GetAgentRecommendationResult & WithLastModifiedAt(LastModifiedAtT &&value)
void SetCrossPillarBenefits(CrossPillarBenefitsT &&value)
void SetTradeOffs(TradeOffsT &&value)
GetAgentRecommendationResult & WithRemediationSummary(RemediationSummaryT &&value)
const Aws::Vector< Aws::String > & GetApplications() const
GetAgentRecommendationResult & WithType(RecommendationType value)
GetAgentRecommendationResult & AddCrossPillarBenefits(CrossPillarBenefitsT &&value)
GetAgentRecommendationResult & WithEffort(Effort value)
const Aws::Utils::DateTime & GetLastModifiedAt() const
ImpactCategory GetImpact() const
void SetRoi(RoiT &&value)
GetAgentRecommendationResult & WithTags(TagsT &&value)
void SetEffort(Effort value)
const Aws::String & GetRecommendationArn() const
GetAgentRecommendationResult & WithState(RecommendationState value)
const Aws::String & GetLastModifiedBy() const
GetAgentRecommendationResult & WithImpactDetails(ImpactDetailsT &&value)
RecommendationStatus GetStatus() const
void SetLastModifiedAt(LastModifiedAtT &&value)
const RemediationSummary & GetRemediationSummary() const
GetAgentRecommendationResult & WithGoals(GoalsT &&value)
void SetTags(TagsT &&value)
GetAgentRecommendationResult & AddImpactDetails(ImpactDetailsT &&value)
void SetPillar(Pillar value)
Priority GetPriority() const
const Aws::Vector< Aws::String > & GetBusinessUnits() const
void SetImpactDetails(ImpactDetailsT &&value)
const Aws::String & GetUpdateReason() const
void SetNumberOfResources(int value)
void SetStatus(RecommendationStatus value)
GetAgentRecommendationResult & WithNumberOfResources(int value)
GetAgentRecommendationResult & WithImpact(ImpactCategory value)
GetAgentRecommendationResult & WithApplications(ApplicationsT &&value)
void SetUpdateReason(UpdateReasonT &&value)
const Aws::Vector< RecommendationSource > & GetSources() const
void SetTitle(TitleT &&value)
void SetRemediations(RemediationsT &&value)
GetAgentRecommendationResult & WithAwsServices(AwsServicesT &&value)
void SetPriority(Priority value)
AWS_WELLARCHITECTED_API GetAgentRecommendationResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
void SetGoals(GoalsT &&value)
GetAgentRecommendationResult & WithBusinessUnits(BusinessUnitsT &&value)
int GetNumberOfResources() const
RecommendationState GetState() const
void SetAwsServices(AwsServicesT &&value)
GetAgentRecommendationResult & AddTags(TagsT &&value)
GetAgentRecommendationResult & WithProfileArn(ProfileArnT &&value)
GetAgentRecommendationResult & WithCreatedBy(CreatedByT &&value)
const Aws::Vector< TradeOff > & GetTradeOffs() const
void SetProfileArn(ProfileArnT &&value)
GetAgentRecommendationResult & WithHighlights(HighlightsT &&value)
GetAgentRecommendationResult & AddAwsServices(AwsServicesT &&value)
GetAgentRecommendationResult & AddRemediations(RemediationsT &&value)
void SetImpact(ImpactCategory value)
const Aws::Utils::DateTime & GetCreatedAt() const
void SetDescription(DescriptionT &&value)
const Aws::Vector< AgentRecommendationRemediation > & GetRemediations() const
GetAgentRecommendationResult & WithUpdateReason(UpdateReasonT &&value)
const Aws::String & GetCreatedBy() const
void SetCreatedAt(CreatedAtT &&value)
void SetRequestId(RequestIdT &&value)
const Aws::String & GetProfileArn() const
void SetRecommendationArn(RecommendationArnT &&value)
const Aws::Vector< Aws::String > & GetImpactDetails() const
RecommendationType GetType() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue