7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/AccountScope.h>
9#include <aws/ce/model/LookbackPeriodInDays.h>
10#include <aws/ce/model/PaymentOption.h>
11#include <aws/ce/model/RecommendationDetailHourlyMetrics.h>
12#include <aws/ce/model/SupportedSavingsPlansType.h>
13#include <aws/ce/model/TermInYears.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
26namespace CostExplorer {
52 m_accountScopeHasBeenSet =
true;
53 m_accountScope = value;
69 m_lookbackPeriodInDaysHasBeenSet =
true;
70 m_lookbackPeriodInDays = value;
85 m_savingsPlansTypeHasBeenSet =
true;
86 m_savingsPlansType = value;
101 m_termInYearsHasBeenSet =
true;
102 m_termInYears = value;
118 m_paymentOptionHasBeenSet =
true;
119 m_paymentOption = value;
133 template <
typename AccountIdT = Aws::String>
135 m_accountIdHasBeenSet =
true;
136 m_accountId = std::forward<AccountIdT>(value);
138 template <
typename AccountIdT = Aws::String>
152 template <
typename CurrencyCodeT = Aws::String>
154 m_currencyCodeHasBeenSet =
true;
155 m_currencyCode = std::forward<CurrencyCodeT>(value);
157 template <
typename CurrencyCodeT = Aws::String>
170 template <
typename InstanceFamilyT = Aws::String>
172 m_instanceFamilyHasBeenSet =
true;
173 m_instanceFamily = std::forward<InstanceFamilyT>(value);
175 template <
typename InstanceFamilyT = Aws::String>
188 template <
typename RegionT = Aws::String>
190 m_regionHasBeenSet =
true;
191 m_region = std::forward<RegionT>(value);
193 template <
typename RegionT = Aws::String>
206 template <
typename OfferingIdT = Aws::String>
208 m_offeringIdHasBeenSet =
true;
209 m_offeringId = std::forward<OfferingIdT>(value);
211 template <
typename OfferingIdT = Aws::String>
222 template <
typename GenerationTimestampT = Aws::String>
224 m_generationTimestampHasBeenSet =
true;
225 m_generationTimestamp = std::forward<GenerationTimestampT>(value);
227 template <
typename GenerationTimestampT = Aws::String>
238 template <
typename LatestUsageTimestampT = Aws::String>
240 m_latestUsageTimestampHasBeenSet =
true;
241 m_latestUsageTimestamp = std::forward<LatestUsageTimestampT>(value);
243 template <
typename LatestUsageTimestampT = Aws::String>
257 template <
typename CurrentAverageHourlyOnDemandSpendT = Aws::String>
259 m_currentAverageHourlyOnDemandSpendHasBeenSet =
true;
260 m_currentAverageHourlyOnDemandSpend = std::forward<CurrentAverageHourlyOnDemandSpendT>(value);
262 template <
typename CurrentAverageHourlyOnDemandSpendT = Aws::String>
276 template <
typename CurrentMaximumHourlyOnDemandSpendT = Aws::String>
278 m_currentMaximumHourlyOnDemandSpendHasBeenSet =
true;
279 m_currentMaximumHourlyOnDemandSpend = std::forward<CurrentMaximumHourlyOnDemandSpendT>(value);
281 template <
typename CurrentMaximumHourlyOnDemandSpendT = Aws::String>
295 template <
typename CurrentMinimumHourlyOnDemandSpendT = Aws::String>
297 m_currentMinimumHourlyOnDemandSpendHasBeenSet =
true;
298 m_currentMinimumHourlyOnDemandSpend = std::forward<CurrentMinimumHourlyOnDemandSpendT>(value);
300 template <
typename CurrentMinimumHourlyOnDemandSpendT = Aws::String>
313 template <
typename EstimatedAverageUtilizationT = Aws::String>
315 m_estimatedAverageUtilizationHasBeenSet =
true;
316 m_estimatedAverageUtilization = std::forward<EstimatedAverageUtilizationT>(value);
318 template <
typename EstimatedAverageUtilizationT = Aws::String>
332 template <
typename EstimatedMonthlySavingsAmountT = Aws::String>
334 m_estimatedMonthlySavingsAmountHasBeenSet =
true;
335 m_estimatedMonthlySavingsAmount = std::forward<EstimatedMonthlySavingsAmountT>(value);
337 template <
typename EstimatedMonthlySavingsAmountT = Aws::String>
351 template <
typename EstimatedOnDemandCostT = Aws::String>
353 m_estimatedOnDemandCostHasBeenSet =
true;
354 m_estimatedOnDemandCost = std::forward<EstimatedOnDemandCostT>(value);
356 template <
typename EstimatedOnDemandCostT = Aws::String>
370 return m_estimatedOnDemandCostWithCurrentCommitmentHasBeenSet;
372 template <
typename EstimatedOnDemandCostWithCurrentCommitmentT = Aws::String>
374 m_estimatedOnDemandCostWithCurrentCommitmentHasBeenSet =
true;
375 m_estimatedOnDemandCostWithCurrentCommitment = std::forward<EstimatedOnDemandCostWithCurrentCommitmentT>(value);
377 template <
typename EstimatedOnDemandCostWithCurrentCommitmentT = Aws::String>
392 template <
typename EstimatedROIT = Aws::String>
394 m_estimatedROIHasBeenSet =
true;
395 m_estimatedROI = std::forward<EstimatedROIT>(value);
397 template <
typename EstimatedROIT = Aws::String>
411 template <
typename EstimatedSPCostT = Aws::String>
413 m_estimatedSPCostHasBeenSet =
true;
414 m_estimatedSPCost = std::forward<EstimatedSPCostT>(value);
416 template <
typename EstimatedSPCostT = Aws::String>
430 template <
typename EstimatedSavingsAmountT = Aws::String>
432 m_estimatedSavingsAmountHasBeenSet =
true;
433 m_estimatedSavingsAmount = std::forward<EstimatedSavingsAmountT>(value);
435 template <
typename EstimatedSavingsAmountT = Aws::String>
449 template <
typename EstimatedSavingsPercentageT = Aws::String>
451 m_estimatedSavingsPercentageHasBeenSet =
true;
452 m_estimatedSavingsPercentage = std::forward<EstimatedSavingsPercentageT>(value);
454 template <
typename EstimatedSavingsPercentageT = Aws::String>
467 template <
typename ExistingHourlyCommitmentT = Aws::String>
469 m_existingHourlyCommitmentHasBeenSet =
true;
470 m_existingHourlyCommitment = std::forward<ExistingHourlyCommitmentT>(value);
472 template <
typename ExistingHourlyCommitmentT = Aws::String>
486 template <
typename HourlyCommitmentToPurchaseT = Aws::String>
488 m_hourlyCommitmentToPurchaseHasBeenSet =
true;
489 m_hourlyCommitmentToPurchase = std::forward<HourlyCommitmentToPurchaseT>(value);
491 template <
typename HourlyCommitmentToPurchaseT = Aws::String>
505 template <
typename UpfrontCostT = Aws::String>
507 m_upfrontCostHasBeenSet =
true;
508 m_upfrontCost = std::forward<UpfrontCostT>(value);
510 template <
typename UpfrontCostT = Aws::String>
523 template <
typename CurrentAverageCoverageT = Aws::String>
525 m_currentAverageCoverageHasBeenSet =
true;
526 m_currentAverageCoverage = std::forward<CurrentAverageCoverageT>(value);
528 template <
typename CurrentAverageCoverageT = Aws::String>
541 template <
typename EstimatedAverageCoverageT = Aws::String>
543 m_estimatedAverageCoverageHasBeenSet =
true;
544 m_estimatedAverageCoverage = std::forward<EstimatedAverageCoverageT>(value);
546 template <
typename EstimatedAverageCoverageT = Aws::String>
560 template <
typename MetricsOverLookbackPeriodT = Aws::Vector<RecommendationDetailHourlyMetrics>>
562 m_metricsOverLookbackPeriodHasBeenSet =
true;
563 m_metricsOverLookbackPeriod = std::forward<MetricsOverLookbackPeriodT>(value);
565 template <
typename MetricsOverLookbackPeriodT = Aws::Vector<RecommendationDetailHourlyMetrics>>
570 template <
typename MetricsOverLookbackPeriodT = RecommendationDetailHourlyMetrics>
572 m_metricsOverLookbackPeriodHasBeenSet =
true;
573 m_metricsOverLookbackPeriod.emplace_back(std::forward<MetricsOverLookbackPeriodT>(value));
614 Aws::String m_estimatedOnDemandCostWithCurrentCommitment;
635 bool m_accountScopeHasBeenSet =
false;
636 bool m_lookbackPeriodInDaysHasBeenSet =
false;
637 bool m_savingsPlansTypeHasBeenSet =
false;
638 bool m_termInYearsHasBeenSet =
false;
639 bool m_paymentOptionHasBeenSet =
false;
640 bool m_accountIdHasBeenSet =
false;
641 bool m_currencyCodeHasBeenSet =
false;
642 bool m_instanceFamilyHasBeenSet =
false;
643 bool m_regionHasBeenSet =
false;
644 bool m_offeringIdHasBeenSet =
false;
645 bool m_generationTimestampHasBeenSet =
false;
646 bool m_latestUsageTimestampHasBeenSet =
false;
647 bool m_currentAverageHourlyOnDemandSpendHasBeenSet =
false;
648 bool m_currentMaximumHourlyOnDemandSpendHasBeenSet =
false;
649 bool m_currentMinimumHourlyOnDemandSpendHasBeenSet =
false;
650 bool m_estimatedAverageUtilizationHasBeenSet =
false;
651 bool m_estimatedMonthlySavingsAmountHasBeenSet =
false;
652 bool m_estimatedOnDemandCostHasBeenSet =
false;
653 bool m_estimatedOnDemandCostWithCurrentCommitmentHasBeenSet =
false;
654 bool m_estimatedROIHasBeenSet =
false;
655 bool m_estimatedSPCostHasBeenSet =
false;
656 bool m_estimatedSavingsAmountHasBeenSet =
false;
657 bool m_estimatedSavingsPercentageHasBeenSet =
false;
658 bool m_existingHourlyCommitmentHasBeenSet =
false;
659 bool m_hourlyCommitmentToPurchaseHasBeenSet =
false;
660 bool m_upfrontCostHasBeenSet =
false;
661 bool m_currentAverageCoverageHasBeenSet =
false;
662 bool m_estimatedAverageCoverageHasBeenSet =
false;
663 bool m_metricsOverLookbackPeriodHasBeenSet =
false;
bool EstimatedMonthlySavingsAmountHasBeenSet() const
void SetSavingsPlansType(SupportedSavingsPlansType value)
void SetEstimatedOnDemandCostWithCurrentCommitment(EstimatedOnDemandCostWithCurrentCommitmentT &&value)
const Aws::String & GetUpfrontCost() const
AWS_COSTEXPLORER_API RecommendationDetailData(Aws::Utils::Json::JsonView jsonValue)
bool CurrentMaximumHourlyOnDemandSpendHasBeenSet() const
void SetAccountScope(AccountScope value)
bool MetricsOverLookbackPeriodHasBeenSet() const
bool EstimatedSavingsPercentageHasBeenSet() const
void SetLatestUsageTimestamp(LatestUsageTimestampT &&value)
const Aws::String & GetEstimatedOnDemandCostWithCurrentCommitment() const
void SetHourlyCommitmentToPurchase(HourlyCommitmentToPurchaseT &&value)
void SetInstanceFamily(InstanceFamilyT &&value)
bool EstimatedSavingsAmountHasBeenSet() const
const Aws::String & GetEstimatedSavingsAmount() const
const Aws::String & GetRegion() const
void SetPaymentOption(PaymentOption value)
bool EstimatedOnDemandCostHasBeenSet() const
bool GenerationTimestampHasBeenSet() const
const Aws::String & GetHourlyCommitmentToPurchase() const
AWS_COSTEXPLORER_API RecommendationDetailData()=default
RecommendationDetailData & WithEstimatedSPCost(EstimatedSPCostT &&value)
const Aws::String & GetEstimatedSavingsPercentage() const
RecommendationDetailData & WithCurrentMinimumHourlyOnDemandSpend(CurrentMinimumHourlyOnDemandSpendT &&value)
SupportedSavingsPlansType GetSavingsPlansType() const
RecommendationDetailData & WithGenerationTimestamp(GenerationTimestampT &&value)
void SetEstimatedMonthlySavingsAmount(EstimatedMonthlySavingsAmountT &&value)
bool HourlyCommitmentToPurchaseHasBeenSet() const
RecommendationDetailData & WithCurrentMaximumHourlyOnDemandSpend(CurrentMaximumHourlyOnDemandSpendT &&value)
RecommendationDetailData & WithUpfrontCost(UpfrontCostT &&value)
const Aws::String & GetEstimatedOnDemandCost() const
void SetUpfrontCost(UpfrontCostT &&value)
RecommendationDetailData & WithEstimatedSavingsPercentage(EstimatedSavingsPercentageT &&value)
const Aws::String & GetCurrencyCode() const
bool EstimatedROIHasBeenSet() const
RecommendationDetailData & WithEstimatedAverageUtilization(EstimatedAverageUtilizationT &&value)
LookbackPeriodInDays GetLookbackPeriodInDays() const
PaymentOption GetPaymentOption() const
void SetLookbackPeriodInDays(LookbackPeriodInDays value)
void SetEstimatedAverageUtilization(EstimatedAverageUtilizationT &&value)
RecommendationDetailData & WithPaymentOption(PaymentOption value)
void SetGenerationTimestamp(GenerationTimestampT &&value)
RecommendationDetailData & WithEstimatedSavingsAmount(EstimatedSavingsAmountT &&value)
const Aws::String & GetOfferingId() const
RecommendationDetailData & WithInstanceFamily(InstanceFamilyT &&value)
void SetAccountId(AccountIdT &&value)
bool OfferingIdHasBeenSet() const
void SetRegion(RegionT &&value)
bool LookbackPeriodInDaysHasBeenSet() const
void SetOfferingId(OfferingIdT &&value)
void SetEstimatedROI(EstimatedROIT &&value)
RecommendationDetailData & WithEstimatedOnDemandCostWithCurrentCommitment(EstimatedOnDemandCostWithCurrentCommitmentT &&value)
const Aws::String & GetEstimatedMonthlySavingsAmount() const
bool LatestUsageTimestampHasBeenSet() const
AccountScope GetAccountScope() const
RecommendationDetailData & AddMetricsOverLookbackPeriod(MetricsOverLookbackPeriodT &&value)
bool CurrencyCodeHasBeenSet() const
bool EstimatedOnDemandCostWithCurrentCommitmentHasBeenSet() const
RecommendationDetailData & WithRegion(RegionT &&value)
const Aws::Vector< RecommendationDetailHourlyMetrics > & GetMetricsOverLookbackPeriod() const
bool CurrentMinimumHourlyOnDemandSpendHasBeenSet() const
const Aws::String & GetEstimatedAverageCoverage() const
bool CurrentAverageCoverageHasBeenSet() const
const Aws::String & GetLatestUsageTimestamp() const
RecommendationDetailData & WithAccountId(AccountIdT &&value)
void SetEstimatedSavingsPercentage(EstimatedSavingsPercentageT &&value)
RecommendationDetailData & WithEstimatedMonthlySavingsAmount(EstimatedMonthlySavingsAmountT &&value)
RecommendationDetailData & WithLatestUsageTimestamp(LatestUsageTimestampT &&value)
bool PaymentOptionHasBeenSet() const
bool CurrentAverageHourlyOnDemandSpendHasBeenSet() const
const Aws::String & GetCurrentMinimumHourlyOnDemandSpend() const
void SetMetricsOverLookbackPeriod(MetricsOverLookbackPeriodT &&value)
void SetEstimatedOnDemandCost(EstimatedOnDemandCostT &&value)
void SetEstimatedSPCost(EstimatedSPCostT &&value)
void SetCurrentMaximumHourlyOnDemandSpend(CurrentMaximumHourlyOnDemandSpendT &&value)
const Aws::String & GetExistingHourlyCommitment() const
bool AccountIdHasBeenSet() const
RecommendationDetailData & WithTermInYears(TermInYears value)
RecommendationDetailData & WithCurrentAverageHourlyOnDemandSpend(CurrentAverageHourlyOnDemandSpendT &&value)
void SetEstimatedAverageCoverage(EstimatedAverageCoverageT &&value)
void SetEstimatedSavingsAmount(EstimatedSavingsAmountT &&value)
void SetCurrencyCode(CurrencyCodeT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetEstimatedROI() const
RecommendationDetailData & WithCurrencyCode(CurrencyCodeT &&value)
bool EstimatedAverageUtilizationHasBeenSet() const
const Aws::String & GetCurrentAverageCoverage() const
RecommendationDetailData & WithHourlyCommitmentToPurchase(HourlyCommitmentToPurchaseT &&value)
void SetCurrentAverageHourlyOnDemandSpend(CurrentAverageHourlyOnDemandSpendT &&value)
const Aws::String & GetEstimatedAverageUtilization() const
RecommendationDetailData & WithExistingHourlyCommitment(ExistingHourlyCommitmentT &&value)
const Aws::String & GetCurrentMaximumHourlyOnDemandSpend() const
bool TermInYearsHasBeenSet() const
bool EstimatedAverageCoverageHasBeenSet() const
RecommendationDetailData & WithOfferingId(OfferingIdT &&value)
const Aws::String & GetAccountId() const
const Aws::String & GetCurrentAverageHourlyOnDemandSpend() const
void SetCurrentMinimumHourlyOnDemandSpend(CurrentMinimumHourlyOnDemandSpendT &&value)
RecommendationDetailData & WithLookbackPeriodInDays(LookbackPeriodInDays value)
void SetCurrentAverageCoverage(CurrentAverageCoverageT &&value)
const Aws::String & GetEstimatedSPCost() const
AWS_COSTEXPLORER_API RecommendationDetailData & operator=(Aws::Utils::Json::JsonView jsonValue)
bool UpfrontCostHasBeenSet() const
bool SavingsPlansTypeHasBeenSet() const
const Aws::String & GetInstanceFamily() const
bool EstimatedSPCostHasBeenSet() const
RecommendationDetailData & WithAccountScope(AccountScope value)
RecommendationDetailData & WithEstimatedROI(EstimatedROIT &&value)
RecommendationDetailData & WithSavingsPlansType(SupportedSavingsPlansType value)
bool InstanceFamilyHasBeenSet() const
const Aws::String & GetGenerationTimestamp() const
void SetExistingHourlyCommitment(ExistingHourlyCommitmentT &&value)
RecommendationDetailData & WithEstimatedAverageCoverage(EstimatedAverageCoverageT &&value)
RecommendationDetailData & WithEstimatedOnDemandCost(EstimatedOnDemandCostT &&value)
RecommendationDetailData & WithCurrentAverageCoverage(CurrentAverageCoverageT &&value)
bool ExistingHourlyCommitmentHasBeenSet() const
bool AccountScopeHasBeenSet() const
void SetTermInYears(TermInYears value)
TermInYears GetTermInYears() const
bool RegionHasBeenSet() const
RecommendationDetailData & WithMetricsOverLookbackPeriod(MetricsOverLookbackPeriodT &&value)
SupportedSavingsPlansType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue