/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

An estimate that's associated with a time period.

See Also:

* AWS * API Reference

*/ class EstimateByTime { public: AWS_LIGHTSAIL_API EstimateByTime(); AWS_LIGHTSAIL_API EstimateByTime(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API EstimateByTime& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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