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

Contains the output of GetReservedInstancesExchangeQuote.

See * Also:

AWS * API Reference

*/ class AWS_EC2_API GetReservedInstancesExchangeQuoteResponse { public: GetReservedInstancesExchangeQuoteResponse(); GetReservedInstancesExchangeQuoteResponse(const Aws::AmazonWebServiceResult& result); GetReservedInstancesExchangeQuoteResponse& operator=(const Aws::AmazonWebServiceResult& result); /** *

The currency of the transaction.

*/ inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } /** *

The currency of the transaction.

*/ inline void SetCurrencyCode(const Aws::String& value) { m_currencyCode = value; } /** *

The currency of the transaction.

*/ inline void SetCurrencyCode(Aws::String&& value) { m_currencyCode = std::move(value); } /** *

The currency of the transaction.

*/ inline void SetCurrencyCode(const char* value) { m_currencyCode.assign(value); } /** *

The currency of the transaction.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} /** *

The currency of the transaction.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} /** *

The currency of the transaction.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} /** *

If true, the exchange is valid. If false, the * exchange cannot be completed.

*/ inline bool GetIsValidExchange() const{ return m_isValidExchange; } /** *

If true, the exchange is valid. If false, the * exchange cannot be completed.

*/ inline void SetIsValidExchange(bool value) { m_isValidExchange = value; } /** *

If true, the exchange is valid. If false, the * exchange cannot be completed.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithIsValidExchange(bool value) { SetIsValidExchange(value); return *this;} /** *

The new end date of the reservation term.

*/ inline const Aws::Utils::DateTime& GetOutputReservedInstancesWillExpireAt() const{ return m_outputReservedInstancesWillExpireAt; } /** *

The new end date of the reservation term.

*/ inline void SetOutputReservedInstancesWillExpireAt(const Aws::Utils::DateTime& value) { m_outputReservedInstancesWillExpireAt = value; } /** *

The new end date of the reservation term.

*/ inline void SetOutputReservedInstancesWillExpireAt(Aws::Utils::DateTime&& value) { m_outputReservedInstancesWillExpireAt = std::move(value); } /** *

The new end date of the reservation term.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithOutputReservedInstancesWillExpireAt(const Aws::Utils::DateTime& value) { SetOutputReservedInstancesWillExpireAt(value); return *this;} /** *

The new end date of the reservation term.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithOutputReservedInstancesWillExpireAt(Aws::Utils::DateTime&& value) { SetOutputReservedInstancesWillExpireAt(std::move(value)); return *this;} /** *

The total true upfront charge for the exchange.

*/ inline const Aws::String& GetPaymentDue() const{ return m_paymentDue; } /** *

The total true upfront charge for the exchange.

*/ inline void SetPaymentDue(const Aws::String& value) { m_paymentDue = value; } /** *

The total true upfront charge for the exchange.

*/ inline void SetPaymentDue(Aws::String&& value) { m_paymentDue = std::move(value); } /** *

The total true upfront charge for the exchange.

*/ inline void SetPaymentDue(const char* value) { m_paymentDue.assign(value); } /** *

The total true upfront charge for the exchange.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithPaymentDue(const Aws::String& value) { SetPaymentDue(value); return *this;} /** *

The total true upfront charge for the exchange.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithPaymentDue(Aws::String&& value) { SetPaymentDue(std::move(value)); return *this;} /** *

The total true upfront charge for the exchange.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithPaymentDue(const char* value) { SetPaymentDue(value); return *this;} /** *

The cost associated with the Reserved Instance.

*/ inline const ReservationValue& GetReservedInstanceValueRollup() const{ return m_reservedInstanceValueRollup; } /** *

The cost associated with the Reserved Instance.

*/ inline void SetReservedInstanceValueRollup(const ReservationValue& value) { m_reservedInstanceValueRollup = value; } /** *

The cost associated with the Reserved Instance.

*/ inline void SetReservedInstanceValueRollup(ReservationValue&& value) { m_reservedInstanceValueRollup = std::move(value); } /** *

The cost associated with the Reserved Instance.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithReservedInstanceValueRollup(const ReservationValue& value) { SetReservedInstanceValueRollup(value); return *this;} /** *

The cost associated with the Reserved Instance.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithReservedInstanceValueRollup(ReservationValue&& value) { SetReservedInstanceValueRollup(std::move(value)); return *this;} /** *

The configuration of your Convertible Reserved Instances.

*/ inline const Aws::Vector& GetReservedInstanceValueSet() const{ return m_reservedInstanceValueSet; } /** *

The configuration of your Convertible Reserved Instances.

*/ inline void SetReservedInstanceValueSet(const Aws::Vector& value) { m_reservedInstanceValueSet = value; } /** *

The configuration of your Convertible Reserved Instances.

*/ inline void SetReservedInstanceValueSet(Aws::Vector&& value) { m_reservedInstanceValueSet = std::move(value); } /** *

The configuration of your Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithReservedInstanceValueSet(const Aws::Vector& value) { SetReservedInstanceValueSet(value); return *this;} /** *

The configuration of your Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithReservedInstanceValueSet(Aws::Vector&& value) { SetReservedInstanceValueSet(std::move(value)); return *this;} /** *

The configuration of your Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& AddReservedInstanceValueSet(const ReservedInstanceReservationValue& value) { m_reservedInstanceValueSet.push_back(value); return *this; } /** *

The configuration of your Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& AddReservedInstanceValueSet(ReservedInstanceReservationValue&& value) { m_reservedInstanceValueSet.push_back(std::move(value)); return *this; } /** *

The cost associated with the Reserved Instance.

*/ inline const ReservationValue& GetTargetConfigurationValueRollup() const{ return m_targetConfigurationValueRollup; } /** *

The cost associated with the Reserved Instance.

*/ inline void SetTargetConfigurationValueRollup(const ReservationValue& value) { m_targetConfigurationValueRollup = value; } /** *

The cost associated with the Reserved Instance.

*/ inline void SetTargetConfigurationValueRollup(ReservationValue&& value) { m_targetConfigurationValueRollup = std::move(value); } /** *

The cost associated with the Reserved Instance.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithTargetConfigurationValueRollup(const ReservationValue& value) { SetTargetConfigurationValueRollup(value); return *this;} /** *

The cost associated with the Reserved Instance.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithTargetConfigurationValueRollup(ReservationValue&& value) { SetTargetConfigurationValueRollup(std::move(value)); return *this;} /** *

The values of the target Convertible Reserved Instances.

*/ inline const Aws::Vector& GetTargetConfigurationValueSet() const{ return m_targetConfigurationValueSet; } /** *

The values of the target Convertible Reserved Instances.

*/ inline void SetTargetConfigurationValueSet(const Aws::Vector& value) { m_targetConfigurationValueSet = value; } /** *

The values of the target Convertible Reserved Instances.

*/ inline void SetTargetConfigurationValueSet(Aws::Vector&& value) { m_targetConfigurationValueSet = std::move(value); } /** *

The values of the target Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithTargetConfigurationValueSet(const Aws::Vector& value) { SetTargetConfigurationValueSet(value); return *this;} /** *

The values of the target Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithTargetConfigurationValueSet(Aws::Vector&& value) { SetTargetConfigurationValueSet(std::move(value)); return *this;} /** *

The values of the target Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& AddTargetConfigurationValueSet(const TargetReservationValue& value) { m_targetConfigurationValueSet.push_back(value); return *this; } /** *

The values of the target Convertible Reserved Instances.

*/ inline GetReservedInstancesExchangeQuoteResponse& AddTargetConfigurationValueSet(TargetReservationValue&& value) { m_targetConfigurationValueSet.push_back(std::move(value)); return *this; } /** *

Describes the reason why the exchange cannot be completed.

*/ inline const Aws::String& GetValidationFailureReason() const{ return m_validationFailureReason; } /** *

Describes the reason why the exchange cannot be completed.

*/ inline void SetValidationFailureReason(const Aws::String& value) { m_validationFailureReason = value; } /** *

Describes the reason why the exchange cannot be completed.

*/ inline void SetValidationFailureReason(Aws::String&& value) { m_validationFailureReason = std::move(value); } /** *

Describes the reason why the exchange cannot be completed.

*/ inline void SetValidationFailureReason(const char* value) { m_validationFailureReason.assign(value); } /** *

Describes the reason why the exchange cannot be completed.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithValidationFailureReason(const Aws::String& value) { SetValidationFailureReason(value); return *this;} /** *

Describes the reason why the exchange cannot be completed.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithValidationFailureReason(Aws::String&& value) { SetValidationFailureReason(std::move(value)); return *this;} /** *

Describes the reason why the exchange cannot be completed.

*/ inline GetReservedInstancesExchangeQuoteResponse& WithValidationFailureReason(const char* value) { SetValidationFailureReason(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline GetReservedInstancesExchangeQuoteResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline GetReservedInstancesExchangeQuoteResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_currencyCode; bool m_isValidExchange; Aws::Utils::DateTime m_outputReservedInstancesWillExpireAt; Aws::String m_paymentDue; ReservationValue m_reservedInstanceValueRollup; Aws::Vector m_reservedInstanceValueSet; ReservationValue m_targetConfigurationValueRollup; Aws::Vector m_targetConfigurationValueSet; Aws::String m_validationFailureReason; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws