7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/cost-optimization-hub/model/Source.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/cost-optimization-hub/model/Tag.h>
25namespace CostOptimizationHub
50 template<
typename RecommendationIdT = Aws::String>
51 void SetRecommendationId(RecommendationIdT&& value) { m_recommendationIdHasBeenSet =
true; m_recommendationId = std::forward<RecommendationIdT>(value); }
52 template<
typename RecommendationIdT = Aws::String>
62 template<
typename AccountIdT = Aws::String>
63 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
64 template<
typename AccountIdT = Aws::String>
74 template<
typename RegionT = Aws::String>
75 void SetRegion(RegionT&& value) { m_regionHasBeenSet =
true; m_region = std::forward<RegionT>(value); }
76 template<
typename RegionT = Aws::String>
86 template<
typename ResourceIdT = Aws::String>
87 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet =
true; m_resourceId = std::forward<ResourceIdT>(value); }
88 template<
typename ResourceIdT = Aws::String>
98 template<
typename ResourceArnT = Aws::String>
99 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet =
true; m_resourceArn = std::forward<ResourceArnT>(value); }
100 template<
typename ResourceArnT = Aws::String>
110 template<
typename CurrentResourceTypeT = Aws::String>
111 void SetCurrentResourceType(CurrentResourceTypeT&& value) { m_currentResourceTypeHasBeenSet =
true; m_currentResourceType = std::forward<CurrentResourceTypeT>(value); }
112 template<
typename CurrentResourceTypeT = Aws::String>
122 template<
typename RecommendedResourceTypeT = Aws::String>
123 void SetRecommendedResourceType(RecommendedResourceTypeT&& value) { m_recommendedResourceTypeHasBeenSet =
true; m_recommendedResourceType = std::forward<RecommendedResourceTypeT>(value); }
124 template<
typename RecommendedResourceTypeT = Aws::String>
156 inline void SetEstimatedMonthlyCost(
double value) { m_estimatedMonthlyCostHasBeenSet =
true; m_estimatedMonthlyCost = value; }
166 template<
typename CurrencyCodeT = Aws::String>
167 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet =
true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
168 template<
typename CurrencyCodeT = Aws::String>
178 template<
typename ImplementationEffortT = Aws::String>
179 void SetImplementationEffort(ImplementationEffortT&& value) { m_implementationEffortHasBeenSet =
true; m_implementationEffort = std::forward<ImplementationEffortT>(value); }
180 template<
typename ImplementationEffortT = Aws::String>
190 inline void SetRestartNeeded(
bool value) { m_restartNeededHasBeenSet =
true; m_restartNeeded = value; }
200 template<
typename ActionTypeT = Aws::String>
201 void SetActionType(ActionTypeT&& value) { m_actionTypeHasBeenSet =
true; m_actionType = std::forward<ActionTypeT>(value); }
202 template<
typename ActionTypeT = Aws::String>
212 inline void SetRollbackPossible(
bool value) { m_rollbackPossibleHasBeenSet =
true; m_rollbackPossible = value; }
222 template<
typename CurrentResourceSummaryT = Aws::String>
223 void SetCurrentResourceSummary(CurrentResourceSummaryT&& value) { m_currentResourceSummaryHasBeenSet =
true; m_currentResourceSummary = std::forward<CurrentResourceSummaryT>(value); }
224 template<
typename CurrentResourceSummaryT = Aws::String>
234 template<
typename RecommendedResourceSummaryT = Aws::String>
235 void SetRecommendedResourceSummary(RecommendedResourceSummaryT&& value) { m_recommendedResourceSummaryHasBeenSet =
true; m_recommendedResourceSummary = std::forward<RecommendedResourceSummaryT>(value); }
236 template<
typename RecommendedResourceSummaryT = Aws::String>
246 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
247 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
248 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
278 template<
typename TagsT = Aws::Vector<Tag>>
279 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
280 template<
typename TagsT = Aws::Vector<Tag>>
282 template<
typename TagsT = Tag>
283 Recommendation&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
288 bool m_recommendationIdHasBeenSet =
false;
291 bool m_accountIdHasBeenSet =
false;
294 bool m_regionHasBeenSet =
false;
297 bool m_resourceIdHasBeenSet =
false;
300 bool m_resourceArnHasBeenSet =
false;
303 bool m_currentResourceTypeHasBeenSet =
false;
306 bool m_recommendedResourceTypeHasBeenSet =
false;
308 double m_estimatedMonthlySavings{0.0};
309 bool m_estimatedMonthlySavingsHasBeenSet =
false;
311 double m_estimatedSavingsPercentage{0.0};
312 bool m_estimatedSavingsPercentageHasBeenSet =
false;
314 double m_estimatedMonthlyCost{0.0};
315 bool m_estimatedMonthlyCostHasBeenSet =
false;
318 bool m_currencyCodeHasBeenSet =
false;
321 bool m_implementationEffortHasBeenSet =
false;
323 bool m_restartNeeded{
false};
324 bool m_restartNeededHasBeenSet =
false;
327 bool m_actionTypeHasBeenSet =
false;
329 bool m_rollbackPossible{
false};
330 bool m_rollbackPossibleHasBeenSet =
false;
333 bool m_currentResourceSummaryHasBeenSet =
false;
336 bool m_recommendedResourceSummaryHasBeenSet =
false;
339 bool m_lastRefreshTimestampHasBeenSet =
false;
341 int m_recommendationLookbackPeriodInDays{0};
342 bool m_recommendationLookbackPeriodInDaysHasBeenSet =
false;
345 bool m_sourceHasBeenSet =
false;
348 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