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/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
12#include <aws/cost-optimization-hub/model/ActionType.h>
13#include <aws/cost-optimization-hub/model/ImplementationEffort.h>
14#include <aws/cost-optimization-hub/model/ResourceDetails.h>
15#include <aws/cost-optimization-hub/model/ResourceType.h>
16#include <aws/cost-optimization-hub/model/Source.h>
17#include <aws/cost-optimization-hub/model/Tag.h>
22template <
typename RESULT_TYPE>
23class AmazonWebServiceResult;
30namespace CostOptimizationHub {
43 template <
typename RecommendationIdT = Aws::String>
45 m_recommendationIdHasBeenSet =
true;
46 m_recommendationId = std::forward<RecommendationIdT>(value);
48 template <
typename RecommendationIdT = Aws::String>
61 template <
typename ResourceIdT = Aws::String>
63 m_resourceIdHasBeenSet =
true;
64 m_resourceId = std::forward<ResourceIdT>(value);
66 template <
typename ResourceIdT = Aws::String>
78 template <
typename ResourceArnT = Aws::String>
80 m_resourceArnHasBeenSet =
true;
81 m_resourceArn = std::forward<ResourceArnT>(value);
83 template <
typename ResourceArnT = Aws::String>
95 template <
typename AccountIdT = Aws::String>
97 m_accountIdHasBeenSet =
true;
98 m_accountId = std::forward<AccountIdT>(value);
100 template <
typename AccountIdT = Aws::String>
112 template <
typename CurrencyCodeT = Aws::String>
114 m_currencyCodeHasBeenSet =
true;
115 m_currencyCode = std::forward<CurrencyCodeT>(value);
117 template <
typename CurrencyCodeT = Aws::String>
130 m_recommendationLookbackPeriodInDaysHasBeenSet =
true;
131 m_recommendationLookbackPeriodInDays = value;
145 m_costCalculationLookbackPeriodInDaysHasBeenSet =
true;
146 m_costCalculationLookbackPeriodInDays = value;
161 m_estimatedSavingsPercentageHasBeenSet =
true;
162 m_estimatedSavingsPercentage = value;
177 m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet =
true;
178 m_estimatedSavingsOverCostCalculationLookbackPeriod = value;
192 m_currentResourceTypeHasBeenSet =
true;
193 m_currentResourceType = value;
207 m_recommendedResourceTypeHasBeenSet =
true;
208 m_recommendedResourceType = value;
221 template <
typename RegionT = Aws::String>
223 m_regionHasBeenSet =
true;
224 m_region = std::forward<RegionT>(value);
226 template <
typename RegionT = Aws::String>
239 m_sourceHasBeenSet =
true;
253 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
255 m_lastRefreshTimestampHasBeenSet =
true;
256 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
258 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
271 m_estimatedMonthlySavingsHasBeenSet =
true;
272 m_estimatedMonthlySavings = value;
287 m_estimatedMonthlyCostHasBeenSet =
true;
288 m_estimatedMonthlyCost = value;
302 m_implementationEffortHasBeenSet =
true;
303 m_implementationEffort = value;
317 m_restartNeededHasBeenSet =
true;
318 m_restartNeeded = value;
332 m_actionTypeHasBeenSet =
true;
333 m_actionType = value;
347 m_rollbackPossibleHasBeenSet =
true;
348 m_rollbackPossible = value;
361 template <
typename CurrentResourceDetailsT = ResourceDetails>
363 m_currentResourceDetailsHasBeenSet =
true;
364 m_currentResourceDetails = std::forward<CurrentResourceDetailsT>(value);
366 template <
typename CurrentResourceDetailsT = ResourceDetails>
378 template <
typename RecommendedResourceDetailsT = ResourceDetails>
380 m_recommendedResourceDetailsHasBeenSet =
true;
381 m_recommendedResourceDetails = std::forward<RecommendedResourceDetailsT>(value);
383 template <
typename RecommendedResourceDetailsT = ResourceDetails>
396 template <
typename TagsT = Aws::Vector<Tag>>
398 m_tagsHasBeenSet =
true;
399 m_tags = std::forward<TagsT>(value);
401 template <
typename TagsT = Aws::Vector<Tag>>
403 SetTags(std::forward<TagsT>(value));
406 template <
typename TagsT = Tag>
408 m_tagsHasBeenSet =
true;
409 m_tags.emplace_back(std::forward<TagsT>(value));
417 template <
typename RequestIdT = Aws::String>
419 m_requestIdHasBeenSet =
true;
420 m_requestId = std::forward<RequestIdT>(value);
422 template <
typename RequestIdT = Aws::String>
441 int m_recommendationLookbackPeriodInDays{0};
443 int m_costCalculationLookbackPeriodInDays{0};
445 double m_estimatedSavingsPercentage{0.0};
447 double m_estimatedSavingsOverCostCalculationLookbackPeriod{0.0};
459 double m_estimatedMonthlySavings{0.0};
461 double m_estimatedMonthlyCost{0.0};
465 bool m_restartNeeded{
false};
469 bool m_rollbackPossible{
false};
471 ResourceDetails m_currentResourceDetails;
473 ResourceDetails m_recommendedResourceDetails;
479 bool m_recommendationIdHasBeenSet =
false;
480 bool m_resourceIdHasBeenSet =
false;
481 bool m_resourceArnHasBeenSet =
false;
482 bool m_accountIdHasBeenSet =
false;
483 bool m_currencyCodeHasBeenSet =
false;
484 bool m_recommendationLookbackPeriodInDaysHasBeenSet =
false;
485 bool m_costCalculationLookbackPeriodInDaysHasBeenSet =
false;
486 bool m_estimatedSavingsPercentageHasBeenSet =
false;
487 bool m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet =
false;
488 bool m_currentResourceTypeHasBeenSet =
false;
489 bool m_recommendedResourceTypeHasBeenSet =
false;
490 bool m_regionHasBeenSet =
false;
491 bool m_sourceHasBeenSet =
false;
492 bool m_lastRefreshTimestampHasBeenSet =
false;
493 bool m_estimatedMonthlySavingsHasBeenSet =
false;
494 bool m_estimatedMonthlyCostHasBeenSet =
false;
495 bool m_implementationEffortHasBeenSet =
false;
496 bool m_restartNeededHasBeenSet =
false;
497 bool m_actionTypeHasBeenSet =
false;
498 bool m_rollbackPossibleHasBeenSet =
false;
499 bool m_currentResourceDetailsHasBeenSet =
false;
500 bool m_recommendedResourceDetailsHasBeenSet =
false;
501 bool m_tagsHasBeenSet =
false;
502 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)
Aws::Http::HttpResponseCode GetHttpResponseCode() 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