/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details of a reserved Elasticsearch instance offering.See
* Also:
AWS
* API Reference
The Elasticsearch reserved instance offering identifier.
*/ inline const Aws::String& GetReservedElasticsearchInstanceOfferingId() const{ return m_reservedElasticsearchInstanceOfferingId; } /** *The Elasticsearch reserved instance offering identifier.
*/ inline bool ReservedElasticsearchInstanceOfferingIdHasBeenSet() const { return m_reservedElasticsearchInstanceOfferingIdHasBeenSet; } /** *The Elasticsearch reserved instance offering identifier.
*/ inline void SetReservedElasticsearchInstanceOfferingId(const Aws::String& value) { m_reservedElasticsearchInstanceOfferingIdHasBeenSet = true; m_reservedElasticsearchInstanceOfferingId = value; } /** *The Elasticsearch reserved instance offering identifier.
*/ inline void SetReservedElasticsearchInstanceOfferingId(Aws::String&& value) { m_reservedElasticsearchInstanceOfferingIdHasBeenSet = true; m_reservedElasticsearchInstanceOfferingId = std::move(value); } /** *The Elasticsearch reserved instance offering identifier.
*/ inline void SetReservedElasticsearchInstanceOfferingId(const char* value) { m_reservedElasticsearchInstanceOfferingIdHasBeenSet = true; m_reservedElasticsearchInstanceOfferingId.assign(value); } /** *The Elasticsearch reserved instance offering identifier.
*/ inline ReservedElasticsearchInstanceOffering& WithReservedElasticsearchInstanceOfferingId(const Aws::String& value) { SetReservedElasticsearchInstanceOfferingId(value); return *this;} /** *The Elasticsearch reserved instance offering identifier.
*/ inline ReservedElasticsearchInstanceOffering& WithReservedElasticsearchInstanceOfferingId(Aws::String&& value) { SetReservedElasticsearchInstanceOfferingId(std::move(value)); return *this;} /** *The Elasticsearch reserved instance offering identifier.
*/ inline ReservedElasticsearchInstanceOffering& WithReservedElasticsearchInstanceOfferingId(const char* value) { SetReservedElasticsearchInstanceOfferingId(value); return *this;} /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline const ESPartitionInstanceType& GetElasticsearchInstanceType() const{ return m_elasticsearchInstanceType; } /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline bool ElasticsearchInstanceTypeHasBeenSet() const { return m_elasticsearchInstanceTypeHasBeenSet; } /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline void SetElasticsearchInstanceType(const ESPartitionInstanceType& value) { m_elasticsearchInstanceTypeHasBeenSet = true; m_elasticsearchInstanceType = value; } /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline void SetElasticsearchInstanceType(ESPartitionInstanceType&& value) { m_elasticsearchInstanceTypeHasBeenSet = true; m_elasticsearchInstanceType = std::move(value); } /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline ReservedElasticsearchInstanceOffering& WithElasticsearchInstanceType(const ESPartitionInstanceType& value) { SetElasticsearchInstanceType(value); return *this;} /** *The Elasticsearch instance type offered by the reserved instance * offering.
*/ inline ReservedElasticsearchInstanceOffering& WithElasticsearchInstanceType(ESPartitionInstanceType&& value) { SetElasticsearchInstanceType(std::move(value)); return *this;} /** *The duration, in seconds, for which the offering will reserve the * Elasticsearch instance.
*/ inline int GetDuration() const{ return m_duration; } /** *The duration, in seconds, for which the offering will reserve the * Elasticsearch instance.
*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *The duration, in seconds, for which the offering will reserve the * Elasticsearch instance.
*/ inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } /** *The duration, in seconds, for which the offering will reserve the * Elasticsearch instance.
*/ inline ReservedElasticsearchInstanceOffering& WithDuration(int value) { SetDuration(value); return *this;} /** *The upfront fixed charge you will pay to purchase the specific reserved * Elasticsearch instance offering.
*/ inline double GetFixedPrice() const{ return m_fixedPrice; } /** *The upfront fixed charge you will pay to purchase the specific reserved * Elasticsearch instance offering.
*/ inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; } /** *The upfront fixed charge you will pay to purchase the specific reserved * Elasticsearch instance offering.
*/ inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; } /** *The upfront fixed charge you will pay to purchase the specific reserved * Elasticsearch instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} /** *The rate you are charged for each hour the domain that is using the offering * is running.
*/ inline double GetUsagePrice() const{ return m_usagePrice; } /** *The rate you are charged for each hour the domain that is using the offering * is running.
*/ inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; } /** *The rate you are charged for each hour the domain that is using the offering * is running.
*/ inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; } /** *The rate you are charged for each hour the domain that is using the offering * is running.
*/ inline ReservedElasticsearchInstanceOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); } /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} /** *The currency code for the reserved Elasticsearch instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} /** *Payment option for the reserved Elasticsearch instance offering
*/ inline const ReservedElasticsearchInstancePaymentOption& GetPaymentOption() const{ return m_paymentOption; } /** *Payment option for the reserved Elasticsearch instance offering
*/ inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } /** *Payment option for the reserved Elasticsearch instance offering
*/ inline void SetPaymentOption(const ReservedElasticsearchInstancePaymentOption& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } /** *Payment option for the reserved Elasticsearch instance offering
*/ inline void SetPaymentOption(ReservedElasticsearchInstancePaymentOption&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } /** *Payment option for the reserved Elasticsearch instance offering
*/ inline ReservedElasticsearchInstanceOffering& WithPaymentOption(const ReservedElasticsearchInstancePaymentOption& value) { SetPaymentOption(value); return *this;} /** *Payment option for the reserved Elasticsearch instance offering
*/ inline ReservedElasticsearchInstanceOffering& WithPaymentOption(ReservedElasticsearchInstancePaymentOption&& value) { SetPaymentOption(std::move(value)); return *this;} /** *The charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline const Aws::VectorThe charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; } /** *The charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline void SetRecurringCharges(const Aws::VectorThe charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline void SetRecurringCharges(Aws::VectorThe charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithRecurringCharges(const Aws::VectorThe charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline ReservedElasticsearchInstanceOffering& WithRecurringCharges(Aws::VectorThe charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline ReservedElasticsearchInstanceOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; } /** *The charge to your account regardless of whether you are creating any domains * using the instance offering.
*/ inline ReservedElasticsearchInstanceOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; } private: Aws::String m_reservedElasticsearchInstanceOfferingId; bool m_reservedElasticsearchInstanceOfferingIdHasBeenSet = false; ESPartitionInstanceType m_elasticsearchInstanceType; bool m_elasticsearchInstanceTypeHasBeenSet = false; int m_duration; bool m_durationHasBeenSet = false; double m_fixedPrice; bool m_fixedPriceHasBeenSet = false; double m_usagePrice; bool m_usagePriceHasBeenSet = false; Aws::String m_currencyCode; bool m_currencyCodeHasBeenSet = false; ReservedElasticsearchInstancePaymentOption m_paymentOption; bool m_paymentOptionHasBeenSet = false; Aws::Vector