7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/opensearch/OpenSearchService_EXPORTS.h>
11#include <aws/opensearch/model/OpenSearchPartitionInstanceType.h>
12#include <aws/opensearch/model/RecurringCharge.h>
13#include <aws/opensearch/model/ReservedInstancePaymentOption.h>
24namespace OpenSearchService {
45 template <
typename ReservationNameT = Aws::String>
47 m_reservationNameHasBeenSet =
true;
48 m_reservationName = std::forward<ReservationNameT>(value);
50 template <
typename ReservationNameT = Aws::String>
63 template <
typename ReservedInstanceIdT = Aws::String>
65 m_reservedInstanceIdHasBeenSet =
true;
66 m_reservedInstanceId = std::forward<ReservedInstanceIdT>(value);
68 template <
typename ReservedInstanceIdT = Aws::String>
82 m_billingSubscriptionIdHasBeenSet =
true;
83 m_billingSubscriptionId = value;
97 template <
typename ReservedInstanceOfferingIdT = Aws::String>
99 m_reservedInstanceOfferingIdHasBeenSet =
true;
100 m_reservedInstanceOfferingId = std::forward<ReservedInstanceOfferingIdT>(value);
102 template <
typename ReservedInstanceOfferingIdT = Aws::String>
116 m_instanceTypeHasBeenSet =
true;
117 m_instanceType = value;
131 template <
typename StartTimeT = Aws::Utils::DateTime>
133 m_startTimeHasBeenSet =
true;
134 m_startTime = std::forward<StartTimeT>(value);
136 template <
typename StartTimeT = Aws::Utils::DateTime>
150 m_durationHasBeenSet =
true;
167 m_fixedPriceHasBeenSet =
true;
168 m_fixedPrice = value;
184 m_usagePriceHasBeenSet =
true;
185 m_usagePrice = value;
199 template <
typename CurrencyCodeT = Aws::String>
201 m_currencyCodeHasBeenSet =
true;
202 m_currencyCode = std::forward<CurrencyCodeT>(value);
204 template <
typename CurrencyCodeT = Aws::String>
218 m_instanceCountHasBeenSet =
true;
219 m_instanceCount = value;
233 template <
typename StateT = Aws::String>
235 m_stateHasBeenSet =
true;
236 m_state = std::forward<StateT>(value);
238 template <
typename StateT = Aws::String>
240 SetState(std::forward<StateT>(value));
252 m_paymentOptionHasBeenSet =
true;
253 m_paymentOption = value;
268 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
270 m_recurringChargesHasBeenSet =
true;
271 m_recurringCharges = std::forward<RecurringChargesT>(value);
273 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
278 template <
typename RecurringChargesT = RecurringCharge>
280 m_recurringChargesHasBeenSet =
true;
281 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
290 long long m_billingSubscriptionId{0};
300 double m_fixedPrice{0.0};
302 double m_usagePrice{0.0};
306 int m_instanceCount{0};
313 bool m_reservationNameHasBeenSet =
false;
314 bool m_reservedInstanceIdHasBeenSet =
false;
315 bool m_billingSubscriptionIdHasBeenSet =
false;
316 bool m_reservedInstanceOfferingIdHasBeenSet =
false;
317 bool m_instanceTypeHasBeenSet =
false;
318 bool m_startTimeHasBeenSet =
false;
319 bool m_durationHasBeenSet =
false;
320 bool m_fixedPriceHasBeenSet =
false;
321 bool m_usagePriceHasBeenSet =
false;
322 bool m_currencyCodeHasBeenSet =
false;
323 bool m_instanceCountHasBeenSet =
false;
324 bool m_stateHasBeenSet =
false;
325 bool m_paymentOptionHasBeenSet =
false;
326 bool m_recurringChargesHasBeenSet =
false;
bool StateHasBeenSet() const
bool DurationHasBeenSet() const
bool PaymentOptionHasBeenSet() const
bool StartTimeHasBeenSet() const
ReservedInstance & WithReservedInstanceOfferingId(ReservedInstanceOfferingIdT &&value)
ReservedInstance & AddRecurringCharges(RecurringChargesT &&value)
int GetInstanceCount() const
bool UsagePriceHasBeenSet() const
const Aws::String & GetState() const
ReservedInstance & WithReservedInstanceId(ReservedInstanceIdT &&value)
bool InstanceTypeHasBeenSet() const
bool ReservationNameHasBeenSet() const
ReservedInstance & WithState(StateT &&value)
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_OPENSEARCHSERVICE_API ReservedInstance & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetInstanceType(OpenSearchPartitionInstanceType value)
AWS_OPENSEARCHSERVICE_API ReservedInstance()=default
ReservedInstance & WithBillingSubscriptionId(long long value)
void SetPaymentOption(ReservedInstancePaymentOption value)
void SetReservedInstanceId(ReservedInstanceIdT &&value)
ReservedInstancePaymentOption GetPaymentOption() const
void SetCurrencyCode(CurrencyCodeT &&value)
ReservedInstance & WithInstanceType(OpenSearchPartitionInstanceType value)
const Aws::String & GetReservationName() const
bool FixedPriceHasBeenSet() const
bool BillingSubscriptionIdHasBeenSet() const
void SetState(StateT &&value)
ReservedInstance & WithRecurringCharges(RecurringChargesT &&value)
const Aws::String & GetCurrencyCode() const
const Aws::String & GetReservedInstanceId() const
const Aws::String & GetReservedInstanceOfferingId() const
AWS_OPENSEARCHSERVICE_API ReservedInstance(Aws::Utils::Json::JsonView jsonValue)
void SetDuration(int value)
bool CurrencyCodeHasBeenSet() const
ReservedInstance & WithStartTime(StartTimeT &&value)
ReservedInstance & WithDuration(int value)
ReservedInstance & WithFixedPrice(double value)
long long GetBillingSubscriptionId() const
OpenSearchPartitionInstanceType GetInstanceType() const
ReservedInstance & WithCurrencyCode(CurrencyCodeT &&value)
const Aws::Utils::DateTime & GetStartTime() const
ReservedInstance & WithInstanceCount(int value)
void SetUsagePrice(double value)
bool ReservedInstanceOfferingIdHasBeenSet() const
double GetUsagePrice() const
void SetInstanceCount(int value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
bool ReservedInstanceIdHasBeenSet() const
ReservedInstance & WithReservationName(ReservationNameT &&value)
bool RecurringChargesHasBeenSet() const
ReservedInstance & WithPaymentOption(ReservedInstancePaymentOption value)
void SetRecurringCharges(RecurringChargesT &&value)
void SetReservedInstanceOfferingId(ReservedInstanceOfferingIdT &&value)
void SetReservationName(ReservationNameT &&value)
void SetFixedPrice(double value)
double GetFixedPrice() const
ReservedInstance & WithUsagePrice(double value)
void SetBillingSubscriptionId(long long value)
bool InstanceCountHasBeenSet() const
void SetStartTime(StartTimeT &&value)
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