1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/opensearch/OpenSearchService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/opensearch/model/OpenSearchPartitionInstanceType.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/opensearch/model/ReservedInstancePaymentOption.h>
12 #include <aws/core/utils/memory/stl/AWSVector.h>
13 #include <aws/opensearch/model/RecurringCharge.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace OpenSearchService
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Details of a reserved OpenSearch instance.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ReservedInstance">AWS
34    * API Reference</a></p>
35    */
36   class AWS_OPENSEARCHSERVICE_API ReservedInstance
37   {
38   public:
39     ReservedInstance();
40     ReservedInstance(Aws::Utils::Json::JsonView jsonValue);
41     ReservedInstance& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The customer-specified identifier to track this reservation.</p>
47      */
GetReservationName()48     inline const Aws::String& GetReservationName() const{ return m_reservationName; }
49 
50     /**
51      * <p>The customer-specified identifier to track this reservation.</p>
52      */
ReservationNameHasBeenSet()53     inline bool ReservationNameHasBeenSet() const { return m_reservationNameHasBeenSet; }
54 
55     /**
56      * <p>The customer-specified identifier to track this reservation.</p>
57      */
SetReservationName(const Aws::String & value)58     inline void SetReservationName(const Aws::String& value) { m_reservationNameHasBeenSet = true; m_reservationName = value; }
59 
60     /**
61      * <p>The customer-specified identifier to track this reservation.</p>
62      */
SetReservationName(Aws::String && value)63     inline void SetReservationName(Aws::String&& value) { m_reservationNameHasBeenSet = true; m_reservationName = std::move(value); }
64 
65     /**
66      * <p>The customer-specified identifier to track this reservation.</p>
67      */
SetReservationName(const char * value)68     inline void SetReservationName(const char* value) { m_reservationNameHasBeenSet = true; m_reservationName.assign(value); }
69 
70     /**
71      * <p>The customer-specified identifier to track this reservation.</p>
72      */
WithReservationName(const Aws::String & value)73     inline ReservedInstance& WithReservationName(const Aws::String& value) { SetReservationName(value); return *this;}
74 
75     /**
76      * <p>The customer-specified identifier to track this reservation.</p>
77      */
WithReservationName(Aws::String && value)78     inline ReservedInstance& WithReservationName(Aws::String&& value) { SetReservationName(std::move(value)); return *this;}
79 
80     /**
81      * <p>The customer-specified identifier to track this reservation.</p>
82      */
WithReservationName(const char * value)83     inline ReservedInstance& WithReservationName(const char* value) { SetReservationName(value); return *this;}
84 
85 
86     /**
87      * <p>The unique identifier for the reservation.</p>
88      */
GetReservedInstanceId()89     inline const Aws::String& GetReservedInstanceId() const{ return m_reservedInstanceId; }
90 
91     /**
92      * <p>The unique identifier for the reservation.</p>
93      */
ReservedInstanceIdHasBeenSet()94     inline bool ReservedInstanceIdHasBeenSet() const { return m_reservedInstanceIdHasBeenSet; }
95 
96     /**
97      * <p>The unique identifier for the reservation.</p>
98      */
SetReservedInstanceId(const Aws::String & value)99     inline void SetReservedInstanceId(const Aws::String& value) { m_reservedInstanceIdHasBeenSet = true; m_reservedInstanceId = value; }
100 
101     /**
102      * <p>The unique identifier for the reservation.</p>
103      */
SetReservedInstanceId(Aws::String && value)104     inline void SetReservedInstanceId(Aws::String&& value) { m_reservedInstanceIdHasBeenSet = true; m_reservedInstanceId = std::move(value); }
105 
106     /**
107      * <p>The unique identifier for the reservation.</p>
108      */
SetReservedInstanceId(const char * value)109     inline void SetReservedInstanceId(const char* value) { m_reservedInstanceIdHasBeenSet = true; m_reservedInstanceId.assign(value); }
110 
111     /**
112      * <p>The unique identifier for the reservation.</p>
113      */
WithReservedInstanceId(const Aws::String & value)114     inline ReservedInstance& WithReservedInstanceId(const Aws::String& value) { SetReservedInstanceId(value); return *this;}
115 
116     /**
117      * <p>The unique identifier for the reservation.</p>
118      */
WithReservedInstanceId(Aws::String && value)119     inline ReservedInstance& WithReservedInstanceId(Aws::String&& value) { SetReservedInstanceId(std::move(value)); return *this;}
120 
121     /**
122      * <p>The unique identifier for the reservation.</p>
123      */
WithReservedInstanceId(const char * value)124     inline ReservedInstance& WithReservedInstanceId(const char* value) { SetReservedInstanceId(value); return *this;}
125 
126 
127 
GetBillingSubscriptionId()128     inline long long GetBillingSubscriptionId() const{ return m_billingSubscriptionId; }
129 
130 
BillingSubscriptionIdHasBeenSet()131     inline bool BillingSubscriptionIdHasBeenSet() const { return m_billingSubscriptionIdHasBeenSet; }
132 
133 
SetBillingSubscriptionId(long long value)134     inline void SetBillingSubscriptionId(long long value) { m_billingSubscriptionIdHasBeenSet = true; m_billingSubscriptionId = value; }
135 
136 
WithBillingSubscriptionId(long long value)137     inline ReservedInstance& WithBillingSubscriptionId(long long value) { SetBillingSubscriptionId(value); return *this;}
138 
139 
140     /**
141      * <p>The offering identifier.</p>
142      */
GetReservedInstanceOfferingId()143     inline const Aws::String& GetReservedInstanceOfferingId() const{ return m_reservedInstanceOfferingId; }
144 
145     /**
146      * <p>The offering identifier.</p>
147      */
ReservedInstanceOfferingIdHasBeenSet()148     inline bool ReservedInstanceOfferingIdHasBeenSet() const { return m_reservedInstanceOfferingIdHasBeenSet; }
149 
150     /**
151      * <p>The offering identifier.</p>
152      */
SetReservedInstanceOfferingId(const Aws::String & value)153     inline void SetReservedInstanceOfferingId(const Aws::String& value) { m_reservedInstanceOfferingIdHasBeenSet = true; m_reservedInstanceOfferingId = value; }
154 
155     /**
156      * <p>The offering identifier.</p>
157      */
SetReservedInstanceOfferingId(Aws::String && value)158     inline void SetReservedInstanceOfferingId(Aws::String&& value) { m_reservedInstanceOfferingIdHasBeenSet = true; m_reservedInstanceOfferingId = std::move(value); }
159 
160     /**
161      * <p>The offering identifier.</p>
162      */
SetReservedInstanceOfferingId(const char * value)163     inline void SetReservedInstanceOfferingId(const char* value) { m_reservedInstanceOfferingIdHasBeenSet = true; m_reservedInstanceOfferingId.assign(value); }
164 
165     /**
166      * <p>The offering identifier.</p>
167      */
WithReservedInstanceOfferingId(const Aws::String & value)168     inline ReservedInstance& WithReservedInstanceOfferingId(const Aws::String& value) { SetReservedInstanceOfferingId(value); return *this;}
169 
170     /**
171      * <p>The offering identifier.</p>
172      */
WithReservedInstanceOfferingId(Aws::String && value)173     inline ReservedInstance& WithReservedInstanceOfferingId(Aws::String&& value) { SetReservedInstanceOfferingId(std::move(value)); return *this;}
174 
175     /**
176      * <p>The offering identifier.</p>
177      */
WithReservedInstanceOfferingId(const char * value)178     inline ReservedInstance& WithReservedInstanceOfferingId(const char* value) { SetReservedInstanceOfferingId(value); return *this;}
179 
180 
181     /**
182      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
183      */
GetInstanceType()184     inline const OpenSearchPartitionInstanceType& GetInstanceType() const{ return m_instanceType; }
185 
186     /**
187      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
188      */
InstanceTypeHasBeenSet()189     inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
190 
191     /**
192      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
193      */
SetInstanceType(const OpenSearchPartitionInstanceType & value)194     inline void SetInstanceType(const OpenSearchPartitionInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
195 
196     /**
197      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
198      */
SetInstanceType(OpenSearchPartitionInstanceType && value)199     inline void SetInstanceType(OpenSearchPartitionInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
200 
201     /**
202      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
203      */
WithInstanceType(const OpenSearchPartitionInstanceType & value)204     inline ReservedInstance& WithInstanceType(const OpenSearchPartitionInstanceType& value) { SetInstanceType(value); return *this;}
205 
206     /**
207      * <p>The OpenSearch instance type offered by the reserved instance offering.</p>
208      */
WithInstanceType(OpenSearchPartitionInstanceType && value)209     inline ReservedInstance& WithInstanceType(OpenSearchPartitionInstanceType&& value) { SetInstanceType(std::move(value)); return *this;}
210 
211 
212     /**
213      * <p>The time the reservation started.</p>
214      */
GetStartTime()215     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
216 
217     /**
218      * <p>The time the reservation started.</p>
219      */
StartTimeHasBeenSet()220     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
221 
222     /**
223      * <p>The time the reservation started.</p>
224      */
SetStartTime(const Aws::Utils::DateTime & value)225     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
226 
227     /**
228      * <p>The time the reservation started.</p>
229      */
SetStartTime(Aws::Utils::DateTime && value)230     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
231 
232     /**
233      * <p>The time the reservation started.</p>
234      */
WithStartTime(const Aws::Utils::DateTime & value)235     inline ReservedInstance& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
236 
237     /**
238      * <p>The time the reservation started.</p>
239      */
WithStartTime(Aws::Utils::DateTime && value)240     inline ReservedInstance& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
241 
242 
243     /**
244      * <p>The duration, in seconds, for which the OpenSearch instance is reserved.</p>
245      */
GetDuration()246     inline int GetDuration() const{ return m_duration; }
247 
248     /**
249      * <p>The duration, in seconds, for which the OpenSearch instance is reserved.</p>
250      */
DurationHasBeenSet()251     inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
252 
253     /**
254      * <p>The duration, in seconds, for which the OpenSearch instance is reserved.</p>
255      */
SetDuration(int value)256     inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
257 
258     /**
259      * <p>The duration, in seconds, for which the OpenSearch instance is reserved.</p>
260      */
WithDuration(int value)261     inline ReservedInstance& WithDuration(int value) { SetDuration(value); return *this;}
262 
263 
264     /**
265      * <p>The upfront fixed charge you will paid to purchase the specific reserved
266      * OpenSearch instance offering.</p>
267      */
GetFixedPrice()268     inline double GetFixedPrice() const{ return m_fixedPrice; }
269 
270     /**
271      * <p>The upfront fixed charge you will paid to purchase the specific reserved
272      * OpenSearch instance offering.</p>
273      */
FixedPriceHasBeenSet()274     inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
275 
276     /**
277      * <p>The upfront fixed charge you will paid to purchase the specific reserved
278      * OpenSearch instance offering.</p>
279      */
SetFixedPrice(double value)280     inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
281 
282     /**
283      * <p>The upfront fixed charge you will paid to purchase the specific reserved
284      * OpenSearch instance offering.</p>
285      */
WithFixedPrice(double value)286     inline ReservedInstance& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
287 
288 
289     /**
290      * <p>The rate you are charged for each hour for the domain that is using this
291      * reserved instance.</p>
292      */
GetUsagePrice()293     inline double GetUsagePrice() const{ return m_usagePrice; }
294 
295     /**
296      * <p>The rate you are charged for each hour for the domain that is using this
297      * reserved instance.</p>
298      */
UsagePriceHasBeenSet()299     inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
300 
301     /**
302      * <p>The rate you are charged for each hour for the domain that is using this
303      * reserved instance.</p>
304      */
SetUsagePrice(double value)305     inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
306 
307     /**
308      * <p>The rate you are charged for each hour for the domain that is using this
309      * reserved instance.</p>
310      */
WithUsagePrice(double value)311     inline ReservedInstance& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
312 
313 
314     /**
315      * <p>The currency code for the reserved OpenSearch instance offering.</p>
316      */
GetCurrencyCode()317     inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; }
318 
319     /**
320      * <p>The currency code for the reserved OpenSearch instance offering.</p>
321      */
CurrencyCodeHasBeenSet()322     inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
323 
324     /**
325      * <p>The currency code for the reserved OpenSearch instance offering.</p>
326      */
SetCurrencyCode(const Aws::String & value)327     inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
328 
329     /**
330      * <p>The currency code for the reserved OpenSearch instance offering.</p>
331      */
SetCurrencyCode(Aws::String && value)332     inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); }
333 
334     /**
335      * <p>The currency code for the reserved OpenSearch instance offering.</p>
336      */
SetCurrencyCode(const char * value)337     inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); }
338 
339     /**
340      * <p>The currency code for the reserved OpenSearch instance offering.</p>
341      */
WithCurrencyCode(const Aws::String & value)342     inline ReservedInstance& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;}
343 
344     /**
345      * <p>The currency code for the reserved OpenSearch instance offering.</p>
346      */
WithCurrencyCode(Aws::String && value)347     inline ReservedInstance& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;}
348 
349     /**
350      * <p>The currency code for the reserved OpenSearch instance offering.</p>
351      */
WithCurrencyCode(const char * value)352     inline ReservedInstance& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;}
353 
354 
355     /**
356      * <p>The number of OpenSearch instances that have been reserved.</p>
357      */
GetInstanceCount()358     inline int GetInstanceCount() const{ return m_instanceCount; }
359 
360     /**
361      * <p>The number of OpenSearch instances that have been reserved.</p>
362      */
InstanceCountHasBeenSet()363     inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
364 
365     /**
366      * <p>The number of OpenSearch instances that have been reserved.</p>
367      */
SetInstanceCount(int value)368     inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
369 
370     /**
371      * <p>The number of OpenSearch instances that have been reserved.</p>
372      */
WithInstanceCount(int value)373     inline ReservedInstance& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
374 
375 
376     /**
377      * <p>The state of the reserved OpenSearch instance.</p>
378      */
GetState()379     inline const Aws::String& GetState() const{ return m_state; }
380 
381     /**
382      * <p>The state of the reserved OpenSearch instance.</p>
383      */
StateHasBeenSet()384     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
385 
386     /**
387      * <p>The state of the reserved OpenSearch instance.</p>
388      */
SetState(const Aws::String & value)389     inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; }
390 
391     /**
392      * <p>The state of the reserved OpenSearch instance.</p>
393      */
SetState(Aws::String && value)394     inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
395 
396     /**
397      * <p>The state of the reserved OpenSearch instance.</p>
398      */
SetState(const char * value)399     inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); }
400 
401     /**
402      * <p>The state of the reserved OpenSearch instance.</p>
403      */
WithState(const Aws::String & value)404     inline ReservedInstance& WithState(const Aws::String& value) { SetState(value); return *this;}
405 
406     /**
407      * <p>The state of the reserved OpenSearch instance.</p>
408      */
WithState(Aws::String && value)409     inline ReservedInstance& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;}
410 
411     /**
412      * <p>The state of the reserved OpenSearch instance.</p>
413      */
WithState(const char * value)414     inline ReservedInstance& WithState(const char* value) { SetState(value); return *this;}
415 
416 
417     /**
418      * <p>The payment option as defined in the reserved OpenSearch instance
419      * offering.</p>
420      */
GetPaymentOption()421     inline const ReservedInstancePaymentOption& GetPaymentOption() const{ return m_paymentOption; }
422 
423     /**
424      * <p>The payment option as defined in the reserved OpenSearch instance
425      * offering.</p>
426      */
PaymentOptionHasBeenSet()427     inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
428 
429     /**
430      * <p>The payment option as defined in the reserved OpenSearch instance
431      * offering.</p>
432      */
SetPaymentOption(const ReservedInstancePaymentOption & value)433     inline void SetPaymentOption(const ReservedInstancePaymentOption& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; }
434 
435     /**
436      * <p>The payment option as defined in the reserved OpenSearch instance
437      * offering.</p>
438      */
SetPaymentOption(ReservedInstancePaymentOption && value)439     inline void SetPaymentOption(ReservedInstancePaymentOption&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); }
440 
441     /**
442      * <p>The payment option as defined in the reserved OpenSearch instance
443      * offering.</p>
444      */
WithPaymentOption(const ReservedInstancePaymentOption & value)445     inline ReservedInstance& WithPaymentOption(const ReservedInstancePaymentOption& value) { SetPaymentOption(value); return *this;}
446 
447     /**
448      * <p>The payment option as defined in the reserved OpenSearch instance
449      * offering.</p>
450      */
WithPaymentOption(ReservedInstancePaymentOption && value)451     inline ReservedInstance& WithPaymentOption(ReservedInstancePaymentOption&& value) { SetPaymentOption(std::move(value)); return *this;}
452 
453 
454     /**
455      * <p>The charge to your account regardless of whether you are creating any domains
456      * using the instance offering.</p>
457      */
GetRecurringCharges()458     inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
459 
460     /**
461      * <p>The charge to your account regardless of whether you are creating any domains
462      * using the instance offering.</p>
463      */
RecurringChargesHasBeenSet()464     inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
465 
466     /**
467      * <p>The charge to your account regardless of whether you are creating any domains
468      * using the instance offering.</p>
469      */
SetRecurringCharges(const Aws::Vector<RecurringCharge> & value)470     inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
471 
472     /**
473      * <p>The charge to your account regardless of whether you are creating any domains
474      * using the instance offering.</p>
475      */
SetRecurringCharges(Aws::Vector<RecurringCharge> && value)476     inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::move(value); }
477 
478     /**
479      * <p>The charge to your account regardless of whether you are creating any domains
480      * using the instance offering.</p>
481      */
WithRecurringCharges(const Aws::Vector<RecurringCharge> & value)482     inline ReservedInstance& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
483 
484     /**
485      * <p>The charge to your account regardless of whether you are creating any domains
486      * using the instance offering.</p>
487      */
WithRecurringCharges(Aws::Vector<RecurringCharge> && value)488     inline ReservedInstance& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(std::move(value)); return *this;}
489 
490     /**
491      * <p>The charge to your account regardless of whether you are creating any domains
492      * using the instance offering.</p>
493      */
AddRecurringCharges(const RecurringCharge & value)494     inline ReservedInstance& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
495 
496     /**
497      * <p>The charge to your account regardless of whether you are creating any domains
498      * using the instance offering.</p>
499      */
AddRecurringCharges(RecurringCharge && value)500     inline ReservedInstance& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; }
501 
502   private:
503 
504     Aws::String m_reservationName;
505     bool m_reservationNameHasBeenSet;
506 
507     Aws::String m_reservedInstanceId;
508     bool m_reservedInstanceIdHasBeenSet;
509 
510     long long m_billingSubscriptionId;
511     bool m_billingSubscriptionIdHasBeenSet;
512 
513     Aws::String m_reservedInstanceOfferingId;
514     bool m_reservedInstanceOfferingIdHasBeenSet;
515 
516     OpenSearchPartitionInstanceType m_instanceType;
517     bool m_instanceTypeHasBeenSet;
518 
519     Aws::Utils::DateTime m_startTime;
520     bool m_startTimeHasBeenSet;
521 
522     int m_duration;
523     bool m_durationHasBeenSet;
524 
525     double m_fixedPrice;
526     bool m_fixedPriceHasBeenSet;
527 
528     double m_usagePrice;
529     bool m_usagePriceHasBeenSet;
530 
531     Aws::String m_currencyCode;
532     bool m_currencyCodeHasBeenSet;
533 
534     int m_instanceCount;
535     bool m_instanceCountHasBeenSet;
536 
537     Aws::String m_state;
538     bool m_stateHasBeenSet;
539 
540     ReservedInstancePaymentOption m_paymentOption;
541     bool m_paymentOptionHasBeenSet;
542 
543     Aws::Vector<RecurringCharge> m_recurringCharges;
544     bool m_recurringChargesHasBeenSet;
545   };
546 
547 } // namespace Model
548 } // namespace OpenSearchService
549 } // namespace Aws
550