/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An estimate that's associated with a time period. See Also:
* AWS
* API Reference
The amount of cost or usage that's measured for the cost estimate.
*/ inline double GetUsageCost() const{ return m_usageCost; } /** *The amount of cost or usage that's measured for the cost estimate.
*/ inline bool UsageCostHasBeenSet() const { return m_usageCostHasBeenSet; } /** *The amount of cost or usage that's measured for the cost estimate.
*/ inline void SetUsageCost(double value) { m_usageCostHasBeenSet = true; m_usageCost = value; } /** *The amount of cost or usage that's measured for the cost estimate.
*/ inline EstimateByTime& WithUsageCost(double value) { SetUsageCost(value); return *this;} /** *The unit of measurement that's used for the cost estimate.
*/ inline const PricingUnit& GetPricingUnit() const{ return m_pricingUnit; } /** *The unit of measurement that's used for the cost estimate.
*/ inline bool PricingUnitHasBeenSet() const { return m_pricingUnitHasBeenSet; } /** *The unit of measurement that's used for the cost estimate.
*/ inline void SetPricingUnit(const PricingUnit& value) { m_pricingUnitHasBeenSet = true; m_pricingUnit = value; } /** *The unit of measurement that's used for the cost estimate.
*/ inline void SetPricingUnit(PricingUnit&& value) { m_pricingUnitHasBeenSet = true; m_pricingUnit = std::move(value); } /** *The unit of measurement that's used for the cost estimate.
*/ inline EstimateByTime& WithPricingUnit(const PricingUnit& value) { SetPricingUnit(value); return *this;} /** *The unit of measurement that's used for the cost estimate.
*/ inline EstimateByTime& WithPricingUnit(PricingUnit&& value) { SetPricingUnit(std::move(value)); return *this;} /** *The number of pricing units used to calculate the total number of hours. For * example, 1 unit equals 1 hour.
*/ inline double GetUnit() const{ return m_unit; } /** *The number of pricing units used to calculate the total number of hours. For * example, 1 unit equals 1 hour.
*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *The number of pricing units used to calculate the total number of hours. For * example, 1 unit equals 1 hour.
*/ inline void SetUnit(double value) { m_unitHasBeenSet = true; m_unit = value; } /** *The number of pricing units used to calculate the total number of hours. For * example, 1 unit equals 1 hour.
*/ inline EstimateByTime& WithUnit(double value) { SetUnit(value); return *this;} /** *The currency of the estimate in USD.
*/ inline const Currency& GetCurrency() const{ return m_currency; } /** *The currency of the estimate in USD.
*/ inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } /** *The currency of the estimate in USD.
*/ inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } /** *The currency of the estimate in USD.
*/ inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } /** *The currency of the estimate in USD.
*/ inline EstimateByTime& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} /** *The currency of the estimate in USD.
*/ inline EstimateByTime& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline const TimePeriod& GetTimePeriod() const{ return m_timePeriod; } /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; } /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline void SetTimePeriod(const TimePeriod& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; } /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline void SetTimePeriod(TimePeriod&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); } /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline EstimateByTime& WithTimePeriod(const TimePeriod& value) { SetTimePeriod(value); return *this;} /** *The period of time, in days, that an estimate covers. The period has a start * date and an end date. The start date must come before the end date.
*/ inline EstimateByTime& WithTimePeriod(TimePeriod&& value) { SetTimePeriod(std::move(value)); return *this;} private: double m_usageCost; bool m_usageCostHasBeenSet = false; PricingUnit m_pricingUnit; bool m_pricingUnitHasBeenSet = false; double m_unit; bool m_unitHasBeenSet = false; Currency m_currency; bool m_currencyHasBeenSet = false; TimePeriod m_timePeriod; bool m_timePeriodHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws