7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
11#include <aws/cost-optimization-hub/model/Source.h>
12#include <aws/cost-optimization-hub/model/Tag.h>
23namespace CostOptimizationHub {
44 template <
typename RecommendationIdT = Aws::String>
46 m_recommendationIdHasBeenSet =
true;
47 m_recommendationId = std::forward<RecommendationIdT>(value);
49 template <
typename RecommendationIdT = Aws::String>
62 template <
typename AccountIdT = Aws::String>
64 m_accountIdHasBeenSet =
true;
65 m_accountId = std::forward<AccountIdT>(value);
67 template <
typename AccountIdT = Aws::String>
80 template <
typename RegionT = Aws::String>
82 m_regionHasBeenSet =
true;
83 m_region = std::forward<RegionT>(value);
85 template <
typename RegionT = Aws::String>
98 template <
typename ResourceIdT = Aws::String>
100 m_resourceIdHasBeenSet =
true;
101 m_resourceId = std::forward<ResourceIdT>(value);
103 template <
typename ResourceIdT = Aws::String>
116 template <
typename ResourceArnT = Aws::String>
118 m_resourceArnHasBeenSet =
true;
119 m_resourceArn = std::forward<ResourceArnT>(value);
121 template <
typename ResourceArnT = Aws::String>
134 template <
typename CurrentResourceTypeT = Aws::String>
136 m_currentResourceTypeHasBeenSet =
true;
137 m_currentResourceType = std::forward<CurrentResourceTypeT>(value);
139 template <
typename CurrentResourceTypeT = Aws::String>
152 template <
typename RecommendedResourceTypeT = Aws::String>
154 m_recommendedResourceTypeHasBeenSet =
true;
155 m_recommendedResourceType = std::forward<RecommendedResourceTypeT>(value);
157 template <
typename RecommendedResourceTypeT = Aws::String>
171 m_estimatedMonthlySavingsHasBeenSet =
true;
172 m_estimatedMonthlySavings = value;
188 m_estimatedSavingsPercentageHasBeenSet =
true;
189 m_estimatedSavingsPercentage = value;
205 m_estimatedMonthlyCostHasBeenSet =
true;
206 m_estimatedMonthlyCost = value;
220 template <
typename CurrencyCodeT = Aws::String>
222 m_currencyCodeHasBeenSet =
true;
223 m_currencyCode = std::forward<CurrencyCodeT>(value);
225 template <
typename CurrencyCodeT = Aws::String>
238 template <
typename ImplementationEffortT = Aws::String>
240 m_implementationEffortHasBeenSet =
true;
241 m_implementationEffort = std::forward<ImplementationEffortT>(value);
243 template <
typename ImplementationEffortT = Aws::String>
257 m_restartNeededHasBeenSet =
true;
258 m_restartNeeded = value;
272 template <
typename ActionTypeT = Aws::String>
274 m_actionTypeHasBeenSet =
true;
275 m_actionType = std::forward<ActionTypeT>(value);
277 template <
typename ActionTypeT = Aws::String>
291 m_rollbackPossibleHasBeenSet =
true;
292 m_rollbackPossible = value;
306 template <
typename CurrentResourceSummaryT = Aws::String>
308 m_currentResourceSummaryHasBeenSet =
true;
309 m_currentResourceSummary = std::forward<CurrentResourceSummaryT>(value);
311 template <
typename CurrentResourceSummaryT = Aws::String>
324 template <
typename RecommendedResourceSummaryT = Aws::String>
326 m_recommendedResourceSummaryHasBeenSet =
true;
327 m_recommendedResourceSummary = std::forward<RecommendedResourceSummaryT>(value);
329 template <
typename RecommendedResourceSummaryT = Aws::String>
342 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
344 m_lastRefreshTimestampHasBeenSet =
true;
345 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
347 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
361 m_recommendationLookbackPeriodInDaysHasBeenSet =
true;
362 m_recommendationLookbackPeriodInDays = value;
377 m_sourceHasBeenSet =
true;
392 template <
typename TagsT = Aws::Vector<Tag>>
394 m_tagsHasBeenSet =
true;
395 m_tags = std::forward<TagsT>(value);
397 template <
typename TagsT = Aws::Vector<Tag>>
399 SetTags(std::forward<TagsT>(value));
402 template <
typename TagsT = Tag>
404 m_tagsHasBeenSet =
true;
405 m_tags.emplace_back(std::forward<TagsT>(value));
424 double m_estimatedMonthlySavings{0.0};
426 double m_estimatedSavingsPercentage{0.0};
428 double m_estimatedMonthlyCost{0.0};
434 bool m_restartNeeded{
false};
438 bool m_rollbackPossible{
false};
446 int m_recommendationLookbackPeriodInDays{0};
451 bool m_recommendationIdHasBeenSet =
false;
452 bool m_accountIdHasBeenSet =
false;
453 bool m_regionHasBeenSet =
false;
454 bool m_resourceIdHasBeenSet =
false;
455 bool m_resourceArnHasBeenSet =
false;
456 bool m_currentResourceTypeHasBeenSet =
false;
457 bool m_recommendedResourceTypeHasBeenSet =
false;
458 bool m_estimatedMonthlySavingsHasBeenSet =
false;
459 bool m_estimatedSavingsPercentageHasBeenSet =
false;
460 bool m_estimatedMonthlyCostHasBeenSet =
false;
461 bool m_currencyCodeHasBeenSet =
false;
462 bool m_implementationEffortHasBeenSet =
false;
463 bool m_restartNeededHasBeenSet =
false;
464 bool m_actionTypeHasBeenSet =
false;
465 bool m_rollbackPossibleHasBeenSet =
false;
466 bool m_currentResourceSummaryHasBeenSet =
false;
467 bool m_recommendedResourceSummaryHasBeenSet =
false;
468 bool m_lastRefreshTimestampHasBeenSet =
false;
469 bool m_recommendationLookbackPeriodInDaysHasBeenSet =
false;
470 bool m_sourceHasBeenSet =
false;
471 bool m_tagsHasBeenSet =
false;
void SetRecommendationLookbackPeriodInDays(int value)
bool RecommendationIdHasBeenSet() const
void SetRecommendedResourceType(RecommendedResourceTypeT &&value)
bool EstimatedSavingsPercentageHasBeenSet() const
const Aws::String & GetActionType() const
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
bool GetRollbackPossible() const
bool ResourceIdHasBeenSet() const
const Aws::String & GetAccountId() const
Recommendation & WithEstimatedSavingsPercentage(double value)
void SetRegion(RegionT &&value)
void SetRestartNeeded(bool value)
void SetEstimatedSavingsPercentage(double value)
Recommendation & WithEstimatedMonthlySavings(double value)
bool RegionHasBeenSet() const
double GetEstimatedMonthlyCost() const
void SetSource(Source value)
bool ActionTypeHasBeenSet() const
void SetAccountId(AccountIdT &&value)
void SetTags(TagsT &&value)
bool AccountIdHasBeenSet() const
bool RecommendedResourceSummaryHasBeenSet() const
Recommendation & WithCurrentResourceType(CurrentResourceTypeT &&value)
bool CurrentResourceSummaryHasBeenSet() const
void SetRecommendedResourceSummary(RecommendedResourceSummaryT &&value)
void SetResourceId(ResourceIdT &&value)
Recommendation & WithRecommendedResourceSummary(RecommendedResourceSummaryT &&value)
const Aws::Vector< Tag > & GetTags() const
bool SourceHasBeenSet() const
Recommendation & WithRecommendedResourceType(RecommendedResourceTypeT &&value)
AWS_COSTOPTIMIZATIONHUB_API Recommendation()=default
Recommendation & WithRecommendationLookbackPeriodInDays(int value)
Recommendation & WithImplementationEffort(ImplementationEffortT &&value)
bool RecommendedResourceTypeHasBeenSet() const
const Aws::String & GetCurrentResourceSummary() const
bool ResourceArnHasBeenSet() const
const Aws::String & GetCurrentResourceType() const
Recommendation & WithRestartNeeded(bool value)
int GetRecommendationLookbackPeriodInDays() const
void SetResourceArn(ResourceArnT &&value)
void SetRecommendationId(RecommendationIdT &&value)
Recommendation & WithRollbackPossible(bool value)
Recommendation & WithCurrencyCode(CurrencyCodeT &&value)
void SetEstimatedMonthlyCost(double value)
const Aws::String & GetRecommendedResourceSummary() const
void SetActionType(ActionTypeT &&value)
bool CurrentResourceTypeHasBeenSet() const
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
bool GetRestartNeeded() const
Recommendation & WithActionType(ActionTypeT &&value)
Recommendation & WithCurrentResourceSummary(CurrentResourceSummaryT &&value)
void SetCurrentResourceType(CurrentResourceTypeT &&value)
Recommendation & WithRecommendationId(RecommendationIdT &&value)
bool LastRefreshTimestampHasBeenSet() const
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
const Aws::String & GetResourceArn() const
double GetEstimatedSavingsPercentage() const
const Aws::String & GetRegion() const
void SetCurrentResourceSummary(CurrentResourceSummaryT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetResourceId() const
void SetRollbackPossible(bool value)
void SetCurrencyCode(CurrencyCodeT &&value)
bool ImplementationEffortHasBeenSet() const
const Aws::String & GetRecommendationId() const
AWS_COSTOPTIMIZATIONHUB_API Recommendation(Aws::Utils::Json::JsonView jsonValue)
Recommendation & WithResourceArn(ResourceArnT &&value)
void SetEstimatedMonthlySavings(double value)
bool CurrencyCodeHasBeenSet() const
const Aws::String & GetCurrencyCode() const
bool RestartNeededHasBeenSet() const
bool EstimatedMonthlyCostHasBeenSet() const
Recommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
double GetEstimatedMonthlySavings() const
bool RecommendationLookbackPeriodInDaysHasBeenSet() const
Recommendation & WithResourceId(ResourceIdT &&value)
Recommendation & WithRegion(RegionT &&value)
Recommendation & AddTags(TagsT &&value)
void SetImplementationEffort(ImplementationEffortT &&value)
const Aws::String & GetRecommendedResourceType() const
bool RollbackPossibleHasBeenSet() const
const Aws::String & GetImplementationEffort() const
AWS_COSTOPTIMIZATIONHUB_API Recommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
Recommendation & WithAccountId(AccountIdT &&value)
Recommendation & WithSource(Source value)
Recommendation & WithTags(TagsT &&value)
Recommendation & WithEstimatedMonthlyCost(double value)
bool EstimatedMonthlySavingsHasBeenSet() 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