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/ActionType.h>
12#include <aws/cost-optimization-hub/model/ImplementationEffort.h>
13#include <aws/cost-optimization-hub/model/ResourceDetails.h>
14#include <aws/cost-optimization-hub/model/ResourceType.h>
15#include <aws/cost-optimization-hub/model/Source.h>
16#include <aws/cost-optimization-hub/model/Tag.h>
21template <
typename RESULT_TYPE>
22class AmazonWebServiceResult;
29namespace CostOptimizationHub {
42 template <
typename RecommendationIdT = Aws::String>
44 m_recommendationIdHasBeenSet =
true;
45 m_recommendationId = std::forward<RecommendationIdT>(value);
47 template <
typename RecommendationIdT = Aws::String>
60 template <
typename ResourceIdT = Aws::String>
62 m_resourceIdHasBeenSet =
true;
63 m_resourceId = std::forward<ResourceIdT>(value);
65 template <
typename ResourceIdT = Aws::String>
77 template <
typename ResourceArnT = Aws::String>
79 m_resourceArnHasBeenSet =
true;
80 m_resourceArn = std::forward<ResourceArnT>(value);
82 template <
typename ResourceArnT = Aws::String>
94 template <
typename AccountIdT = Aws::String>
96 m_accountIdHasBeenSet =
true;
97 m_accountId = std::forward<AccountIdT>(value);
99 template <
typename AccountIdT = Aws::String>
111 template <
typename CurrencyCodeT = Aws::String>
113 m_currencyCodeHasBeenSet =
true;
114 m_currencyCode = std::forward<CurrencyCodeT>(value);
116 template <
typename CurrencyCodeT = Aws::String>
129 m_recommendationLookbackPeriodInDaysHasBeenSet =
true;
130 m_recommendationLookbackPeriodInDays = value;
144 m_costCalculationLookbackPeriodInDaysHasBeenSet =
true;
145 m_costCalculationLookbackPeriodInDays = value;
160 m_estimatedSavingsPercentageHasBeenSet =
true;
161 m_estimatedSavingsPercentage = value;
176 m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet =
true;
177 m_estimatedSavingsOverCostCalculationLookbackPeriod = value;
191 m_currentResourceTypeHasBeenSet =
true;
192 m_currentResourceType = value;
206 m_recommendedResourceTypeHasBeenSet =
true;
207 m_recommendedResourceType = value;
220 template <
typename RegionT = Aws::String>
222 m_regionHasBeenSet =
true;
223 m_region = std::forward<RegionT>(value);
225 template <
typename RegionT = Aws::String>
238 m_sourceHasBeenSet =
true;
252 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
254 m_lastRefreshTimestampHasBeenSet =
true;
255 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
257 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
270 m_estimatedMonthlySavingsHasBeenSet =
true;
271 m_estimatedMonthlySavings = value;
286 m_estimatedMonthlyCostHasBeenSet =
true;
287 m_estimatedMonthlyCost = value;
301 m_implementationEffortHasBeenSet =
true;
302 m_implementationEffort = value;
316 m_restartNeededHasBeenSet =
true;
317 m_restartNeeded = value;
331 m_actionTypeHasBeenSet =
true;
332 m_actionType = value;
346 m_rollbackPossibleHasBeenSet =
true;
347 m_rollbackPossible = value;
360 template <
typename CurrentResourceDetailsT = ResourceDetails>
362 m_currentResourceDetailsHasBeenSet =
true;
363 m_currentResourceDetails = std::forward<CurrentResourceDetailsT>(value);
365 template <
typename CurrentResourceDetailsT = ResourceDetails>
377 template <
typename RecommendedResourceDetailsT = ResourceDetails>
379 m_recommendedResourceDetailsHasBeenSet =
true;
380 m_recommendedResourceDetails = std::forward<RecommendedResourceDetailsT>(value);
382 template <
typename RecommendedResourceDetailsT = ResourceDetails>
395 template <
typename TagsT = Aws::Vector<Tag>>
397 m_tagsHasBeenSet =
true;
398 m_tags = std::forward<TagsT>(value);
400 template <
typename TagsT = Aws::Vector<Tag>>
402 SetTags(std::forward<TagsT>(value));
405 template <
typename TagsT = Tag>
407 m_tagsHasBeenSet =
true;
408 m_tags.emplace_back(std::forward<TagsT>(value));
416 template <
typename RequestIdT = Aws::String>
418 m_requestIdHasBeenSet =
true;
419 m_requestId = std::forward<RequestIdT>(value);
421 template <
typename RequestIdT = Aws::String>
438 int m_recommendationLookbackPeriodInDays{0};
440 int m_costCalculationLookbackPeriodInDays{0};
442 double m_estimatedSavingsPercentage{0.0};
444 double m_estimatedSavingsOverCostCalculationLookbackPeriod{0.0};
456 double m_estimatedMonthlySavings{0.0};
458 double m_estimatedMonthlyCost{0.0};
462 bool m_restartNeeded{
false};
466 bool m_rollbackPossible{
false};
468 ResourceDetails m_currentResourceDetails;
470 ResourceDetails m_recommendedResourceDetails;
475 bool m_recommendationIdHasBeenSet =
false;
476 bool m_resourceIdHasBeenSet =
false;
477 bool m_resourceArnHasBeenSet =
false;
478 bool m_accountIdHasBeenSet =
false;
479 bool m_currencyCodeHasBeenSet =
false;
480 bool m_recommendationLookbackPeriodInDaysHasBeenSet =
false;
481 bool m_costCalculationLookbackPeriodInDaysHasBeenSet =
false;
482 bool m_estimatedSavingsPercentageHasBeenSet =
false;
483 bool m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet =
false;
484 bool m_currentResourceTypeHasBeenSet =
false;
485 bool m_recommendedResourceTypeHasBeenSet =
false;
486 bool m_regionHasBeenSet =
false;
487 bool m_sourceHasBeenSet =
false;
488 bool m_lastRefreshTimestampHasBeenSet =
false;
489 bool m_estimatedMonthlySavingsHasBeenSet =
false;
490 bool m_estimatedMonthlyCostHasBeenSet =
false;
491 bool m_implementationEffortHasBeenSet =
false;
492 bool m_restartNeededHasBeenSet =
false;
493 bool m_actionTypeHasBeenSet =
false;
494 bool m_rollbackPossibleHasBeenSet =
false;
495 bool m_currentResourceDetailsHasBeenSet =
false;
496 bool m_recommendedResourceDetailsHasBeenSet =
false;
497 bool m_tagsHasBeenSet =
false;
498 bool m_requestIdHasBeenSet =
false;
void SetTags(TagsT &&value)
void SetCostCalculationLookbackPeriodInDays(int value)
GetRecommendationResult & WithRequestId(RequestIdT &&value)
GetRecommendationResult & WithEstimatedSavingsOverCostCalculationLookbackPeriod(double value)
void SetResourceArn(ResourceArnT &&value)
ActionType GetActionType() const
ResourceType GetCurrentResourceType() const
GetRecommendationResult & WithSource(Source value)
void SetCurrentResourceDetails(CurrentResourceDetailsT &&value)
GetRecommendationResult & WithCurrentResourceType(ResourceType value)
GetRecommendationResult & WithRegion(RegionT &&value)
void SetImplementationEffort(ImplementationEffort value)
void SetRequestId(RequestIdT &&value)
GetRecommendationResult & WithRestartNeeded(bool value)
void SetRollbackPossible(bool value)
const Aws::String & GetRequestId() const
GetRecommendationResult & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
void SetSource(Source value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
const Aws::String & GetAccountId() const
GetRecommendationResult & AddTags(TagsT &&value)
ResourceType GetRecommendedResourceType() const
void SetRegion(RegionT &&value)
void SetEstimatedMonthlySavings(double value)
GetRecommendationResult & WithTags(TagsT &&value)
GetRecommendationResult & WithResourceId(ResourceIdT &&value)
int GetCostCalculationLookbackPeriodInDays() const
double GetEstimatedSavingsPercentage() const
void SetRecommendedResourceDetails(RecommendedResourceDetailsT &&value)
void SetEstimatedSavingsPercentage(double value)
void SetRecommendationLookbackPeriodInDays(int value)
GetRecommendationResult & WithEstimatedSavingsPercentage(double value)
double GetEstimatedMonthlySavings() const
void SetEstimatedSavingsOverCostCalculationLookbackPeriod(double value)
const ResourceDetails & GetRecommendedResourceDetails() const
GetRecommendationResult & WithRecommendedResourceType(ResourceType value)
const Aws::Vector< Tag > & GetTags() const
void SetCurrencyCode(CurrencyCodeT &&value)
void SetCurrentResourceType(ResourceType value)
void SetAccountId(AccountIdT &&value)
const ResourceDetails & GetCurrentResourceDetails() const
GetRecommendationResult & WithCostCalculationLookbackPeriodInDays(int value)
GetRecommendationResult & WithResourceArn(ResourceArnT &&value)
const Aws::String & GetResourceArn() const
const Aws::String & GetCurrencyCode() const
GetRecommendationResult & WithEstimatedMonthlyCost(double value)
double GetEstimatedMonthlyCost() const
double GetEstimatedSavingsOverCostCalculationLookbackPeriod() const
GetRecommendationResult & WithCurrencyCode(CurrencyCodeT &&value)
const Aws::String & GetRecommendationId() const
ImplementationEffort GetImplementationEffort() const
void SetRestartNeeded(bool value)
GetRecommendationResult & WithAccountId(AccountIdT &&value)
bool GetRollbackPossible() const
GetRecommendationResult & WithRollbackPossible(bool value)
void SetResourceId(ResourceIdT &&value)
GetRecommendationResult & WithRecommendationId(RecommendationIdT &&value)
GetRecommendationResult & WithRecommendationLookbackPeriodInDays(int value)
GetRecommendationResult & WithEstimatedMonthlySavings(double value)
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult()=default
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
GetRecommendationResult & WithActionType(ActionType value)
GetRecommendationResult & WithImplementationEffort(ImplementationEffort value)
void SetActionType(ActionType value)
void SetEstimatedMonthlyCost(double value)
const Aws::String & GetRegion() const
GetRecommendationResult & WithCurrentResourceDetails(CurrentResourceDetailsT &&value)
const Aws::String & GetResourceId() const
bool GetRestartNeeded() const
int GetRecommendationLookbackPeriodInDays() const
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
void SetRecommendationId(RecommendationIdT &&value)
void SetRecommendedResourceType(ResourceType value)
GetRecommendationResult & WithRecommendedResourceDetails(RecommendedResourceDetailsT &&value)
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue