7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/opensearch/OpenSearchService_EXPORTS.h>
10#include <aws/opensearch/model/OpenSearchPartitionInstanceType.h>
11#include <aws/opensearch/model/RecurringCharge.h>
12#include <aws/opensearch/model/ReservedInstancePaymentOption.h>
23namespace OpenSearchService {
45 template <
typename ReservedInstanceOfferingIdT = Aws::String>
47 m_reservedInstanceOfferingIdHasBeenSet =
true;
48 m_reservedInstanceOfferingId = std::forward<ReservedInstanceOfferingIdT>(value);
50 template <
typename ReservedInstanceOfferingIdT = Aws::String>
64 m_instanceTypeHasBeenSet =
true;
65 m_instanceType = value;
81 m_durationHasBeenSet =
true;
98 m_fixedPriceHasBeenSet =
true;
115 m_usagePriceHasBeenSet =
true;
116 m_usagePrice = value;
130 template <
typename CurrencyCodeT = Aws::String>
132 m_currencyCodeHasBeenSet =
true;
133 m_currencyCode = std::forward<CurrencyCodeT>(value);
135 template <
typename CurrencyCodeT = Aws::String>
149 m_paymentOptionHasBeenSet =
true;
150 m_paymentOption = value;
165 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
167 m_recurringChargesHasBeenSet =
true;
168 m_recurringCharges = std::forward<RecurringChargesT>(value);
170 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
175 template <
typename RecurringChargesT = RecurringCharge>
177 m_recurringChargesHasBeenSet =
true;
178 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
189 double m_fixedPrice{0.0};
191 double m_usagePrice{0.0};
198 bool m_reservedInstanceOfferingIdHasBeenSet =
false;
199 bool m_instanceTypeHasBeenSet =
false;
200 bool m_durationHasBeenSet =
false;
201 bool m_fixedPriceHasBeenSet =
false;
202 bool m_usagePriceHasBeenSet =
false;
203 bool m_currencyCodeHasBeenSet =
false;
204 bool m_paymentOptionHasBeenSet =
false;
205 bool m_recurringChargesHasBeenSet =
false;
bool CurrencyCodeHasBeenSet() const
bool ReservedInstanceOfferingIdHasBeenSet() const
bool UsagePriceHasBeenSet() const
OpenSearchPartitionInstanceType GetInstanceType() const
ReservedInstanceOffering & WithDuration(int value)
AWS_OPENSEARCHSERVICE_API ReservedInstanceOffering()=default
AWS_OPENSEARCHSERVICE_API ReservedInstanceOffering(Aws::Utils::Json::JsonView jsonValue)
double GetFixedPrice() const
void SetDuration(int value)
ReservedInstanceOffering & WithCurrencyCode(CurrencyCodeT &&value)
bool InstanceTypeHasBeenSet() const
ReservedInstancePaymentOption GetPaymentOption() const
void SetRecurringCharges(RecurringChargesT &&value)
void SetPaymentOption(ReservedInstancePaymentOption value)
bool DurationHasBeenSet() const
ReservedInstanceOffering & WithPaymentOption(ReservedInstancePaymentOption value)
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
ReservedInstanceOffering & WithFixedPrice(double value)
bool PaymentOptionHasBeenSet() const
bool RecurringChargesHasBeenSet() const
ReservedInstanceOffering & WithRecurringCharges(RecurringChargesT &&value)
void SetInstanceType(OpenSearchPartitionInstanceType value)
void SetUsagePrice(double value)
ReservedInstanceOffering & WithInstanceType(OpenSearchPartitionInstanceType value)
const Aws::String & GetCurrencyCode() const
ReservedInstanceOffering & WithReservedInstanceOfferingId(ReservedInstanceOfferingIdT &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
bool FixedPriceHasBeenSet() const
void SetCurrencyCode(CurrencyCodeT &&value)
ReservedInstanceOffering & AddRecurringCharges(RecurringChargesT &&value)
double GetUsagePrice() const
const Aws::String & GetReservedInstanceOfferingId() const
void SetFixedPrice(double value)
void SetReservedInstanceOfferingId(ReservedInstanceOfferingIdT &&value)
ReservedInstanceOffering & WithUsagePrice(double value)
AWS_OPENSEARCHSERVICE_API ReservedInstanceOffering & operator=(Aws::Utils::Json::JsonView jsonValue)
ReservedInstancePaymentOption
OpenSearchPartitionInstanceType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue