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

Describes the price for a Reserved Instance.

See Also:

AWS * API Reference

*/ class PriceScheduleSpecification { public: AWS_EC2_API PriceScheduleSpecification(); AWS_EC2_API PriceScheduleSpecification(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API PriceScheduleSpecification& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline const CurrencyCodeValues& GetCurrencyCode() const{ return m_currencyCode; } /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline void SetCurrencyCode(const CurrencyCodeValues& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline void SetCurrencyCode(CurrencyCodeValues&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline PriceScheduleSpecification& WithCurrencyCode(const CurrencyCodeValues& value) { SetCurrencyCode(value); return *this;} /** *

The currency for transacting the Reserved Instance resale. At this time, the * only supported currency is USD.

*/ inline PriceScheduleSpecification& WithCurrencyCode(CurrencyCodeValues&& value) { SetCurrencyCode(std::move(value)); return *this;} /** *

The fixed price for the term.

*/ inline double GetPrice() const{ return m_price; } /** *

The fixed price for the term.

*/ inline bool PriceHasBeenSet() const { return m_priceHasBeenSet; } /** *

The fixed price for the term.

*/ inline void SetPrice(double value) { m_priceHasBeenSet = true; m_price = value; } /** *

The fixed price for the term.

*/ inline PriceScheduleSpecification& WithPrice(double value) { SetPrice(value); return *this;} /** *

The number of months remaining in the reservation. For example, 2 is the * second to the last month before the capacity reservation expires.

*/ inline long long GetTerm() const{ return m_term; } /** *

The number of months remaining in the reservation. For example, 2 is the * second to the last month before the capacity reservation expires.

*/ inline bool TermHasBeenSet() const { return m_termHasBeenSet; } /** *

The number of months remaining in the reservation. For example, 2 is the * second to the last month before the capacity reservation expires.

*/ inline void SetTerm(long long value) { m_termHasBeenSet = true; m_term = value; } /** *

The number of months remaining in the reservation. For example, 2 is the * second to the last month before the capacity reservation expires.

*/ inline PriceScheduleSpecification& WithTerm(long long value) { SetTerm(value); return *this;} private: CurrencyCodeValues m_currencyCode; bool m_currencyCodeHasBeenSet = false; double m_price; bool m_priceHasBeenSet = false; long long m_term; bool m_termHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws