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/SupportedSavingsPlansType.h>
11#include <aws/ce/model/TermInYears.h>
12#include <aws/ce/model/PaymentOption.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/ce/model/RecommendationDetailHourlyMetrics.h>
109 template<
typename AccountIdT = Aws::String>
110 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
111 template<
typename AccountIdT = Aws::String>
122 template<
typename CurrencyCodeT = Aws::String>
123 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet =
true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
124 template<
typename CurrencyCodeT = Aws::String>
134 template<
typename InstanceFamilyT = Aws::String>
135 void SetInstanceFamily(InstanceFamilyT&& value) { m_instanceFamilyHasBeenSet =
true; m_instanceFamily = std::forward<InstanceFamilyT>(value); }
136 template<
typename InstanceFamilyT = Aws::String>
146 template<
typename RegionT = Aws::String>
147 void SetRegion(RegionT&& value) { m_regionHasBeenSet =
true; m_region = std::forward<RegionT>(value); }
148 template<
typename RegionT = Aws::String>
158 template<
typename OfferingIdT = Aws::String>
159 void SetOfferingId(OfferingIdT&& value) { m_offeringIdHasBeenSet =
true; m_offeringId = std::forward<OfferingIdT>(value); }
160 template<
typename OfferingIdT = Aws::String>
168 template<
typename GenerationTimestampT = Aws::String>
169 void SetGenerationTimestamp(GenerationTimestampT&& value) { m_generationTimestampHasBeenSet =
true; m_generationTimestamp = std::forward<GenerationTimestampT>(value); }
170 template<
typename GenerationTimestampT = Aws::String>
178 template<
typename LatestUsageTimestampT = Aws::String>
179 void SetLatestUsageTimestamp(LatestUsageTimestampT&& value) { m_latestUsageTimestampHasBeenSet =
true; m_latestUsageTimestamp = std::forward<LatestUsageTimestampT>(value); }
180 template<
typename LatestUsageTimestampT = Aws::String>
191 template<
typename CurrentAverageHourlyOnDemandSpendT = Aws::String>
192 void SetCurrentAverageHourlyOnDemandSpend(CurrentAverageHourlyOnDemandSpendT&& value) { m_currentAverageHourlyOnDemandSpendHasBeenSet =
true; m_currentAverageHourlyOnDemandSpend = std::forward<CurrentAverageHourlyOnDemandSpendT>(value); }
193 template<
typename CurrentAverageHourlyOnDemandSpendT = Aws::String>
204 template<
typename CurrentMaximumHourlyOnDemandSpendT = Aws::String>
205 void SetCurrentMaximumHourlyOnDemandSpend(CurrentMaximumHourlyOnDemandSpendT&& value) { m_currentMaximumHourlyOnDemandSpendHasBeenSet =
true; m_currentMaximumHourlyOnDemandSpend = std::forward<CurrentMaximumHourlyOnDemandSpendT>(value); }
206 template<
typename CurrentMaximumHourlyOnDemandSpendT = Aws::String>
217 template<
typename CurrentMinimumHourlyOnDemandSpendT = Aws::String>
218 void SetCurrentMinimumHourlyOnDemandSpend(CurrentMinimumHourlyOnDemandSpendT&& value) { m_currentMinimumHourlyOnDemandSpendHasBeenSet =
true; m_currentMinimumHourlyOnDemandSpend = std::forward<CurrentMinimumHourlyOnDemandSpendT>(value); }
219 template<
typename CurrentMinimumHourlyOnDemandSpendT = Aws::String>
229 template<
typename EstimatedAverageUtilizationT = Aws::String>
230 void SetEstimatedAverageUtilization(EstimatedAverageUtilizationT&& value) { m_estimatedAverageUtilizationHasBeenSet =
true; m_estimatedAverageUtilization = std::forward<EstimatedAverageUtilizationT>(value); }
231 template<
typename EstimatedAverageUtilizationT = Aws::String>
242 template<
typename EstimatedMonthlySavingsAmountT = Aws::String>
243 void SetEstimatedMonthlySavingsAmount(EstimatedMonthlySavingsAmountT&& value) { m_estimatedMonthlySavingsAmountHasBeenSet =
true; m_estimatedMonthlySavingsAmount = std::forward<EstimatedMonthlySavingsAmountT>(value); }
244 template<
typename EstimatedMonthlySavingsAmountT = Aws::String>
255 template<
typename EstimatedOnDemandCostT = Aws::String>
256 void SetEstimatedOnDemandCost(EstimatedOnDemandCostT&& value) { m_estimatedOnDemandCostHasBeenSet =
true; m_estimatedOnDemandCost = std::forward<EstimatedOnDemandCostT>(value); }
257 template<
typename EstimatedOnDemandCostT = Aws::String>
268 template<
typename EstimatedOnDemandCostWithCurrentCommitmentT = Aws::String>
269 void SetEstimatedOnDemandCostWithCurrentCommitment(EstimatedOnDemandCostWithCurrentCommitmentT&& value) { m_estimatedOnDemandCostWithCurrentCommitmentHasBeenSet =
true; m_estimatedOnDemandCostWithCurrentCommitment = std::forward<EstimatedOnDemandCostWithCurrentCommitmentT>(value); }
270 template<
typename EstimatedOnDemandCostWithCurrentCommitmentT = Aws::String>
282 template<
typename EstimatedROIT = Aws::String>
283 void SetEstimatedROI(EstimatedROIT&& value) { m_estimatedROIHasBeenSet =
true; m_estimatedROI = std::forward<EstimatedROIT>(value); }
284 template<
typename EstimatedROIT = Aws::String>
295 template<
typename EstimatedSPCostT = Aws::String>
296 void SetEstimatedSPCost(EstimatedSPCostT&& value) { m_estimatedSPCostHasBeenSet =
true; m_estimatedSPCost = std::forward<EstimatedSPCostT>(value); }
297 template<
typename EstimatedSPCostT = Aws::String>
308 template<
typename EstimatedSavingsAmountT = Aws::String>
309 void SetEstimatedSavingsAmount(EstimatedSavingsAmountT&& value) { m_estimatedSavingsAmountHasBeenSet =
true; m_estimatedSavingsAmount = std::forward<EstimatedSavingsAmountT>(value); }
310 template<
typename EstimatedSavingsAmountT = Aws::String>
321 template<
typename EstimatedSavingsPercentageT = Aws::String>
322 void SetEstimatedSavingsPercentage(EstimatedSavingsPercentageT&& value) { m_estimatedSavingsPercentageHasBeenSet =
true; m_estimatedSavingsPercentage = std::forward<EstimatedSavingsPercentageT>(value); }
323 template<
typename EstimatedSavingsPercentageT = Aws::String>
333 template<
typename ExistingHourlyCommitmentT = Aws::String>
334 void SetExistingHourlyCommitment(ExistingHourlyCommitmentT&& value) { m_existingHourlyCommitmentHasBeenSet =
true; m_existingHourlyCommitment = std::forward<ExistingHourlyCommitmentT>(value); }
335 template<
typename ExistingHourlyCommitmentT = Aws::String>
346 template<
typename HourlyCommitmentToPurchaseT = Aws::String>
347 void SetHourlyCommitmentToPurchase(HourlyCommitmentToPurchaseT&& value) { m_hourlyCommitmentToPurchaseHasBeenSet =
true; m_hourlyCommitmentToPurchase = std::forward<HourlyCommitmentToPurchaseT>(value); }
348 template<
typename HourlyCommitmentToPurchaseT = Aws::String>
359 template<
typename UpfrontCostT = Aws::String>
360 void SetUpfrontCost(UpfrontCostT&& value) { m_upfrontCostHasBeenSet =
true; m_upfrontCost = std::forward<UpfrontCostT>(value); }
361 template<
typename UpfrontCostT = Aws::String>
371 template<
typename CurrentAverageCoverageT = Aws::String>
372 void SetCurrentAverageCoverage(CurrentAverageCoverageT&& value) { m_currentAverageCoverageHasBeenSet =
true; m_currentAverageCoverage = std::forward<CurrentAverageCoverageT>(value); }
373 template<
typename CurrentAverageCoverageT = Aws::String>
383 template<
typename EstimatedAverageCoverageT = Aws::String>
384 void SetEstimatedAverageCoverage(EstimatedAverageCoverageT&& value) { m_estimatedAverageCoverageHasBeenSet =
true; m_estimatedAverageCoverage = std::forward<EstimatedAverageCoverageT>(value); }
385 template<
typename EstimatedAverageCoverageT = Aws::String>
396 template<
typename MetricsOverLookbackPeriodT = Aws::Vector<RecommendationDetailHourlyMetrics>>
397 void SetMetricsOverLookbackPeriod(MetricsOverLookbackPeriodT&& value) { m_metricsOverLookbackPeriodHasBeenSet =
true; m_metricsOverLookbackPeriod = std::forward<MetricsOverLookbackPeriodT>(value); }
398 template<
typename MetricsOverLookbackPeriodT = Aws::Vector<RecommendationDetailHourlyMetrics>>
400 template<
typename MetricsOverLookbackPeriodT = RecommendationDetailHourlyMetrics>
406 bool m_accountScopeHasBeenSet =
false;
409 bool m_lookbackPeriodInDaysHasBeenSet =
false;
412 bool m_savingsPlansTypeHasBeenSet =
false;
415 bool m_termInYearsHasBeenSet =
false;
418 bool m_paymentOptionHasBeenSet =
false;
421 bool m_accountIdHasBeenSet =
false;
424 bool m_currencyCodeHasBeenSet =
false;
427 bool m_instanceFamilyHasBeenSet =
false;
430 bool m_regionHasBeenSet =
false;
433 bool m_offeringIdHasBeenSet =
false;
436 bool m_generationTimestampHasBeenSet =
false;
439 bool m_latestUsageTimestampHasBeenSet =
false;
442 bool m_currentAverageHourlyOnDemandSpendHasBeenSet =
false;
445 bool m_currentMaximumHourlyOnDemandSpendHasBeenSet =
false;
448 bool m_currentMinimumHourlyOnDemandSpendHasBeenSet =
false;
451 bool m_estimatedAverageUtilizationHasBeenSet =
false;
454 bool m_estimatedMonthlySavingsAmountHasBeenSet =
false;
457 bool m_estimatedOnDemandCostHasBeenSet =
false;
459 Aws::String m_estimatedOnDemandCostWithCurrentCommitment;
460 bool m_estimatedOnDemandCostWithCurrentCommitmentHasBeenSet =
false;
463 bool m_estimatedROIHasBeenSet =
false;
466 bool m_estimatedSPCostHasBeenSet =
false;
469 bool m_estimatedSavingsAmountHasBeenSet =
false;
472 bool m_estimatedSavingsPercentageHasBeenSet =
false;
475 bool m_existingHourlyCommitmentHasBeenSet =
false;
478 bool m_hourlyCommitmentToPurchaseHasBeenSet =
false;
481 bool m_upfrontCostHasBeenSet =
false;
484 bool m_currentAverageCoverageHasBeenSet =
false;
487 bool m_estimatedAverageCoverageHasBeenSet =
false;
490 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