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>
88 template <
typename GenerationIdT = Aws::String>
90 m_generationIdHasBeenSet =
true;
91 m_generationId = std::forward<GenerationIdT>(value);
93 template <
typename GenerationIdT = Aws::String>
105 template <
typename TitleT = Aws::String>
107 m_titleHasBeenSet =
true;
108 m_title = std::forward<TitleT>(value);
110 template <
typename TitleT = Aws::String>
112 SetTitle(std::forward<TitleT>(value));
122 template <
typename DescriptionT = Aws::String>
124 m_descriptionHasBeenSet =
true;
125 m_description = std::forward<DescriptionT>(value);
127 template <
typename DescriptionT = Aws::String>
140 m_typeHasBeenSet =
true;
156 m_pillarHasBeenSet =
true;
171 m_priorityHasBeenSet =
true;
186 m_effortHasBeenSet =
true;
201 m_statusHasBeenSet =
true;
216 m_stateHasBeenSet =
true;
231 template <
typename UpdateReasonT = Aws::String>
233 m_updateReasonHasBeenSet =
true;
234 m_updateReason = std::forward<UpdateReasonT>(value);
236 template <
typename UpdateReasonT = Aws::String>
249 m_impactHasBeenSet =
true;
263 template <
typename RoiT = Roi>
265 m_roiHasBeenSet =
true;
266 m_roi = std::forward<RoiT>(value);
268 template <
typename RoiT = Roi>
270 SetRoi(std::forward<RoiT>(value));
281 m_numberOfResourcesHasBeenSet =
true;
282 m_numberOfResources = value;
295 template <
typename AwsServicesT = Aws::Vector<Aws::String>>
297 m_awsServicesHasBeenSet =
true;
298 m_awsServices = std::forward<AwsServicesT>(value);
300 template <
typename AwsServicesT = Aws::Vector<Aws::String>>
305 template <
typename AwsServicesT = Aws::String>
307 m_awsServicesHasBeenSet =
true;
308 m_awsServices.emplace_back(std::forward<AwsServicesT>(value));
318 template <
typename BusinessUnitsT = Aws::Vector<Aws::String>>
320 m_businessUnitsHasBeenSet =
true;
321 m_businessUnits = std::forward<BusinessUnitsT>(value);
323 template <
typename BusinessUnitsT = Aws::Vector<Aws::String>>
328 template <
typename BusinessUnitsT = Aws::String>
330 m_businessUnitsHasBeenSet =
true;
331 m_businessUnits.emplace_back(std::forward<BusinessUnitsT>(value));
341 template <
typename ApplicationsT = Aws::Vector<Aws::String>>
343 m_applicationsHasBeenSet =
true;
344 m_applications = std::forward<ApplicationsT>(value);
346 template <
typename ApplicationsT = Aws::Vector<Aws::String>>
351 template <
typename ApplicationsT = Aws::String>
353 m_applicationsHasBeenSet =
true;
354 m_applications.emplace_back(std::forward<ApplicationsT>(value));
364 template <
typename ImpactDetailsT = Aws::Vector<Aws::String>>
366 m_impactDetailsHasBeenSet =
true;
367 m_impactDetails = std::forward<ImpactDetailsT>(value);
369 template <
typename ImpactDetailsT = Aws::Vector<Aws::String>>
374 template <
typename ImpactDetailsT = Aws::String>
376 m_impactDetailsHasBeenSet =
true;
377 m_impactDetails.emplace_back(std::forward<ImpactDetailsT>(value));
387 template <
typename InsightsT = Aws::Vector<Insight>>
389 m_insightsHasBeenSet =
true;
390 m_insights = std::forward<InsightsT>(value);
392 template <
typename InsightsT = Aws::Vector<Insight>>
397 template <
typename InsightsT = Insight>
399 m_insightsHasBeenSet =
true;
400 m_insights.emplace_back(std::forward<InsightsT>(value));
410 template <
typename HighlightsT = Aws::Vector<Aws::String>>
412 m_highlightsHasBeenSet =
true;
413 m_highlights = std::forward<HighlightsT>(value);
415 template <
typename HighlightsT = Aws::Vector<Aws::String>>
420 template <
typename HighlightsT = Aws::String>
422 m_highlightsHasBeenSet =
true;
423 m_highlights.emplace_back(std::forward<HighlightsT>(value));
433 template <
typename RemediationSummaryT = RemediationSummary>
435 m_remediationSummaryHasBeenSet =
true;
436 m_remediationSummary = std::forward<RemediationSummaryT>(value);
438 template <
typename RemediationSummaryT = RemediationSummary>
450 template <
typename CrossPillarBenefitsT = Aws::Vector<CrossPillarBenefit>>
452 m_crossPillarBenefitsHasBeenSet =
true;
453 m_crossPillarBenefits = std::forward<CrossPillarBenefitsT>(value);
455 template <
typename CrossPillarBenefitsT = Aws::Vector<CrossPillarBenefit>>
460 template <
typename CrossPillarBenefitsT = CrossPillarBenefit>
462 m_crossPillarBenefitsHasBeenSet =
true;
463 m_crossPillarBenefits.emplace_back(std::forward<CrossPillarBenefitsT>(value));
473 template <
typename TradeOffsT = Aws::Vector<TradeOff>>
475 m_tradeOffsHasBeenSet =
true;
476 m_tradeOffs = std::forward<TradeOffsT>(value);
478 template <
typename TradeOffsT = Aws::Vector<TradeOff>>
483 template <
typename TradeOffsT = TradeOff>
485 m_tradeOffsHasBeenSet =
true;
486 m_tradeOffs.emplace_back(std::forward<TradeOffsT>(value));
496 template <
typename SourcesT = Aws::Vector<RecommendationSource>>
498 m_sourcesHasBeenSet =
true;
499 m_sources = std::forward<SourcesT>(value);
501 template <
typename SourcesT = Aws::Vector<RecommendationSource>>
507 m_sourcesHasBeenSet =
true;
508 m_sources.push_back(value);
518 template <
typename GoalsT = Aws::Vector<RecommendationGoal>>
520 m_goalsHasBeenSet =
true;
521 m_goals = std::forward<GoalsT>(value);
523 template <
typename GoalsT = Aws::Vector<RecommendationGoal>>
525 SetGoals(std::forward<GoalsT>(value));
528 template <
typename GoalsT = RecommendationGoal>
530 m_goalsHasBeenSet =
true;
531 m_goals.emplace_back(std::forward<GoalsT>(value));
542 template <
typename TagsT = Aws::Vector<Tag>>
544 m_tagsHasBeenSet =
true;
545 m_tags = std::forward<TagsT>(value);
547 template <
typename TagsT = Aws::Vector<Tag>>
549 SetTags(std::forward<TagsT>(value));
552 template <
typename TagsT = Tag>
554 m_tagsHasBeenSet =
true;
555 m_tags.emplace_back(std::forward<TagsT>(value));
565 template <
typename CreatedByT = Aws::String>
567 m_createdByHasBeenSet =
true;
568 m_createdBy = std::forward<CreatedByT>(value);
570 template <
typename CreatedByT = Aws::String>
582 template <
typename CreatedAtT = Aws::Utils::DateTime>
584 m_createdAtHasBeenSet =
true;
585 m_createdAt = std::forward<CreatedAtT>(value);
587 template <
typename CreatedAtT = Aws::Utils::DateTime>
600 template <
typename LastModifiedByT = Aws::String>
602 m_lastModifiedByHasBeenSet =
true;
603 m_lastModifiedBy = std::forward<LastModifiedByT>(value);
605 template <
typename LastModifiedByT = Aws::String>
617 template <
typename LastModifiedAtT = Aws::Utils::DateTime>
619 m_lastModifiedAtHasBeenSet =
true;
620 m_lastModifiedAt = std::forward<LastModifiedAtT>(value);
622 template <
typename LastModifiedAtT = Aws::Utils::DateTime>
634 template <
typename RemediationsT = Aws::Vector<AgentRecommendationRemediation>>
636 m_remediationsHasBeenSet =
true;
637 m_remediations = std::forward<RemediationsT>(value);
639 template <
typename RemediationsT = Aws::Vector<AgentRecommendationRemediation>>
644 template <
typename RemediationsT = AgentRecommendationRemediation>
646 m_remediationsHasBeenSet =
true;
647 m_remediations.emplace_back(std::forward<RemediationsT>(value));
655 template <
typename RequestIdT = Aws::String>
657 m_requestIdHasBeenSet =
true;
658 m_requestId = std::forward<RequestIdT>(value);
660 template <
typename RequestIdT = Aws::String>
697 int m_numberOfResources{0};
711 RemediationSummary m_remediationSummary;
735 bool m_recommendationArnHasBeenSet =
false;
736 bool m_profileArnHasBeenSet =
false;
737 bool m_generationIdHasBeenSet =
false;
738 bool m_titleHasBeenSet =
false;
739 bool m_descriptionHasBeenSet =
false;
740 bool m_typeHasBeenSet =
false;
741 bool m_pillarHasBeenSet =
false;
742 bool m_priorityHasBeenSet =
false;
743 bool m_effortHasBeenSet =
false;
744 bool m_statusHasBeenSet =
false;
745 bool m_stateHasBeenSet =
false;
746 bool m_updateReasonHasBeenSet =
false;
747 bool m_impactHasBeenSet =
false;
748 bool m_roiHasBeenSet =
false;
749 bool m_numberOfResourcesHasBeenSet =
false;
750 bool m_awsServicesHasBeenSet =
false;
751 bool m_businessUnitsHasBeenSet =
false;
752 bool m_applicationsHasBeenSet =
false;
753 bool m_impactDetailsHasBeenSet =
false;
754 bool m_insightsHasBeenSet =
false;
755 bool m_highlightsHasBeenSet =
false;
756 bool m_remediationSummaryHasBeenSet =
false;
757 bool m_crossPillarBenefitsHasBeenSet =
false;
758 bool m_tradeOffsHasBeenSet =
false;
759 bool m_sourcesHasBeenSet =
false;
760 bool m_goalsHasBeenSet =
false;
761 bool m_tagsHasBeenSet =
false;
762 bool m_createdByHasBeenSet =
false;
763 bool m_createdAtHasBeenSet =
false;
764 bool m_lastModifiedByHasBeenSet =
false;
765 bool m_lastModifiedAtHasBeenSet =
false;
766 bool m_remediationsHasBeenSet =
false;
767 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::String & GetGenerationId() const
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)
void SetGenerationId(GenerationIdT &&value)
GetAgentRecommendationResult & WithGenerationId(GenerationIdT &&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