AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ReservedDBInstance.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/rds/RDS_EXPORTS.h>
12#include <aws/rds/model/RecurringCharge.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace RDS {
23namespace Model {
24
34 public:
35 AWS_RDS_API ReservedDBInstance() = default;
36 AWS_RDS_API ReservedDBInstance(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_RDS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_RDS_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
46 inline const Aws::String& GetReservedDBInstanceId() const { return m_reservedDBInstanceId; }
47 inline bool ReservedDBInstanceIdHasBeenSet() const { return m_reservedDBInstanceIdHasBeenSet; }
48 template <typename ReservedDBInstanceIdT = Aws::String>
49 void SetReservedDBInstanceId(ReservedDBInstanceIdT&& value) {
50 m_reservedDBInstanceIdHasBeenSet = true;
51 m_reservedDBInstanceId = std::forward<ReservedDBInstanceIdT>(value);
52 }
53 template <typename ReservedDBInstanceIdT = Aws::String>
54 ReservedDBInstance& WithReservedDBInstanceId(ReservedDBInstanceIdT&& value) {
55 SetReservedDBInstanceId(std::forward<ReservedDBInstanceIdT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetReservedDBInstancesOfferingId() const { return m_reservedDBInstancesOfferingId; }
65 inline bool ReservedDBInstancesOfferingIdHasBeenSet() const { return m_reservedDBInstancesOfferingIdHasBeenSet; }
66 template <typename ReservedDBInstancesOfferingIdT = Aws::String>
67 void SetReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT&& value) {
68 m_reservedDBInstancesOfferingIdHasBeenSet = true;
69 m_reservedDBInstancesOfferingId = std::forward<ReservedDBInstancesOfferingIdT>(value);
70 }
71 template <typename ReservedDBInstancesOfferingIdT = Aws::String>
72 ReservedDBInstance& WithReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT&& value) {
73 SetReservedDBInstancesOfferingId(std::forward<ReservedDBInstancesOfferingIdT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::String& GetDBInstanceClass() const { return m_dBInstanceClass; }
83 inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; }
84 template <typename DBInstanceClassT = Aws::String>
85 void SetDBInstanceClass(DBInstanceClassT&& value) {
86 m_dBInstanceClassHasBeenSet = true;
87 m_dBInstanceClass = std::forward<DBInstanceClassT>(value);
88 }
89 template <typename DBInstanceClassT = Aws::String>
90 ReservedDBInstance& WithDBInstanceClass(DBInstanceClassT&& value) {
91 SetDBInstanceClass(std::forward<DBInstanceClassT>(value));
92 return *this;
93 }
95
97
100 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
101 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
102 template <typename StartTimeT = Aws::Utils::DateTime>
103 void SetStartTime(StartTimeT&& value) {
104 m_startTimeHasBeenSet = true;
105 m_startTime = std::forward<StartTimeT>(value);
106 }
107 template <typename StartTimeT = Aws::Utils::DateTime>
108 ReservedDBInstance& WithStartTime(StartTimeT&& value) {
109 SetStartTime(std::forward<StartTimeT>(value));
110 return *this;
111 }
113
115
118 inline int GetDuration() const { return m_duration; }
119 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
120 inline void SetDuration(int value) {
121 m_durationHasBeenSet = true;
122 m_duration = value;
123 }
124 inline ReservedDBInstance& WithDuration(int value) {
125 SetDuration(value);
126 return *this;
127 }
129
131
134 inline double GetFixedPrice() const { return m_fixedPrice; }
135 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
136 inline void SetFixedPrice(double value) {
137 m_fixedPriceHasBeenSet = true;
138 m_fixedPrice = value;
139 }
140 inline ReservedDBInstance& WithFixedPrice(double value) {
141 SetFixedPrice(value);
142 return *this;
143 }
145
147
150 inline double GetUsagePrice() const { return m_usagePrice; }
151 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
152 inline void SetUsagePrice(double value) {
153 m_usagePriceHasBeenSet = true;
154 m_usagePrice = value;
155 }
156 inline ReservedDBInstance& WithUsagePrice(double value) {
157 SetUsagePrice(value);
158 return *this;
159 }
161
163
166 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
167 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
168 template <typename CurrencyCodeT = Aws::String>
169 void SetCurrencyCode(CurrencyCodeT&& value) {
170 m_currencyCodeHasBeenSet = true;
171 m_currencyCode = std::forward<CurrencyCodeT>(value);
172 }
173 template <typename CurrencyCodeT = Aws::String>
174 ReservedDBInstance& WithCurrencyCode(CurrencyCodeT&& value) {
175 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
176 return *this;
177 }
179
181
184 inline int GetDBInstanceCount() const { return m_dBInstanceCount; }
185 inline bool DBInstanceCountHasBeenSet() const { return m_dBInstanceCountHasBeenSet; }
186 inline void SetDBInstanceCount(int value) {
187 m_dBInstanceCountHasBeenSet = true;
188 m_dBInstanceCount = value;
189 }
191 SetDBInstanceCount(value);
192 return *this;
193 }
195
197
200 inline const Aws::String& GetProductDescription() const { return m_productDescription; }
201 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
202 template <typename ProductDescriptionT = Aws::String>
203 void SetProductDescription(ProductDescriptionT&& value) {
204 m_productDescriptionHasBeenSet = true;
205 m_productDescription = std::forward<ProductDescriptionT>(value);
206 }
207 template <typename ProductDescriptionT = Aws::String>
208 ReservedDBInstance& WithProductDescription(ProductDescriptionT&& value) {
209 SetProductDescription(std::forward<ProductDescriptionT>(value));
210 return *this;
211 }
213
215
218 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
219 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
220 template <typename OfferingTypeT = Aws::String>
221 void SetOfferingType(OfferingTypeT&& value) {
222 m_offeringTypeHasBeenSet = true;
223 m_offeringType = std::forward<OfferingTypeT>(value);
224 }
225 template <typename OfferingTypeT = Aws::String>
226 ReservedDBInstance& WithOfferingType(OfferingTypeT&& value) {
227 SetOfferingType(std::forward<OfferingTypeT>(value));
228 return *this;
229 }
231
233
236 inline bool GetMultiAZ() const { return m_multiAZ; }
237 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
238 inline void SetMultiAZ(bool value) {
239 m_multiAZHasBeenSet = true;
240 m_multiAZ = value;
241 }
242 inline ReservedDBInstance& WithMultiAZ(bool value) {
243 SetMultiAZ(value);
244 return *this;
245 }
247
249
252 inline const Aws::String& GetState() const { return m_state; }
253 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
254 template <typename StateT = Aws::String>
255 void SetState(StateT&& value) {
256 m_stateHasBeenSet = true;
257 m_state = std::forward<StateT>(value);
258 }
259 template <typename StateT = Aws::String>
260 ReservedDBInstance& WithState(StateT&& value) {
261 SetState(std::forward<StateT>(value));
262 return *this;
263 }
265
267
270 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
271 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
272 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
273 void SetRecurringCharges(RecurringChargesT&& value) {
274 m_recurringChargesHasBeenSet = true;
275 m_recurringCharges = std::forward<RecurringChargesT>(value);
276 }
277 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
278 ReservedDBInstance& WithRecurringCharges(RecurringChargesT&& value) {
279 SetRecurringCharges(std::forward<RecurringChargesT>(value));
280 return *this;
281 }
282 template <typename RecurringChargesT = RecurringCharge>
283 ReservedDBInstance& AddRecurringCharges(RecurringChargesT&& value) {
284 m_recurringChargesHasBeenSet = true;
285 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
286 return *this;
287 }
289
291
294 inline const Aws::String& GetReservedDBInstanceArn() const { return m_reservedDBInstanceArn; }
295 inline bool ReservedDBInstanceArnHasBeenSet() const { return m_reservedDBInstanceArnHasBeenSet; }
296 template <typename ReservedDBInstanceArnT = Aws::String>
297 void SetReservedDBInstanceArn(ReservedDBInstanceArnT&& value) {
298 m_reservedDBInstanceArnHasBeenSet = true;
299 m_reservedDBInstanceArn = std::forward<ReservedDBInstanceArnT>(value);
300 }
301 template <typename ReservedDBInstanceArnT = Aws::String>
302 ReservedDBInstance& WithReservedDBInstanceArn(ReservedDBInstanceArnT&& value) {
303 SetReservedDBInstanceArn(std::forward<ReservedDBInstanceArnT>(value));
304 return *this;
305 }
307
309
314 inline const Aws::String& GetLeaseId() const { return m_leaseId; }
315 inline bool LeaseIdHasBeenSet() const { return m_leaseIdHasBeenSet; }
316 template <typename LeaseIdT = Aws::String>
317 void SetLeaseId(LeaseIdT&& value) {
318 m_leaseIdHasBeenSet = true;
319 m_leaseId = std::forward<LeaseIdT>(value);
320 }
321 template <typename LeaseIdT = Aws::String>
322 ReservedDBInstance& WithLeaseId(LeaseIdT&& value) {
323 SetLeaseId(std::forward<LeaseIdT>(value));
324 return *this;
325 }
327 private:
328 Aws::String m_reservedDBInstanceId;
329
330 Aws::String m_reservedDBInstancesOfferingId;
331
332 Aws::String m_dBInstanceClass;
333
334 Aws::Utils::DateTime m_startTime{};
335
336 int m_duration{0};
337
338 double m_fixedPrice{0.0};
339
340 double m_usagePrice{0.0};
341
342 Aws::String m_currencyCode;
343
344 int m_dBInstanceCount{0};
345
346 Aws::String m_productDescription;
347
348 Aws::String m_offeringType;
349
350 bool m_multiAZ{false};
351
352 Aws::String m_state;
353
354 Aws::Vector<RecurringCharge> m_recurringCharges;
355
356 Aws::String m_reservedDBInstanceArn;
357
358 Aws::String m_leaseId;
359 bool m_reservedDBInstanceIdHasBeenSet = false;
360 bool m_reservedDBInstancesOfferingIdHasBeenSet = false;
361 bool m_dBInstanceClassHasBeenSet = false;
362 bool m_startTimeHasBeenSet = false;
363 bool m_durationHasBeenSet = false;
364 bool m_fixedPriceHasBeenSet = false;
365 bool m_usagePriceHasBeenSet = false;
366 bool m_currencyCodeHasBeenSet = false;
367 bool m_dBInstanceCountHasBeenSet = false;
368 bool m_productDescriptionHasBeenSet = false;
369 bool m_offeringTypeHasBeenSet = false;
370 bool m_multiAZHasBeenSet = false;
371 bool m_stateHasBeenSet = false;
372 bool m_recurringChargesHasBeenSet = false;
373 bool m_reservedDBInstanceArnHasBeenSet = false;
374 bool m_leaseIdHasBeenSet = false;
375};
376
377} // namespace Model
378} // namespace RDS
379} // namespace Aws
ReservedDBInstance & WithUsagePrice(double value)
const Aws::String & GetState() const
const Aws::String & GetProductDescription() const
const Aws::String & GetDBInstanceClass() const
void SetDBInstanceClass(DBInstanceClassT &&value)
void SetReservedDBInstanceId(ReservedDBInstanceIdT &&value)
AWS_RDS_API ReservedDBInstance(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedDBInstance & WithDBInstanceCount(int value)
AWS_RDS_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedDBInstance & WithCurrencyCode(CurrencyCodeT &&value)
ReservedDBInstance & WithMultiAZ(bool value)
AWS_RDS_API ReservedDBInstance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetReservedDBInstanceArn() const
void SetProductDescription(ProductDescriptionT &&value)
const Aws::String & GetLeaseId() const
ReservedDBInstance & WithOfferingType(OfferingTypeT &&value)
ReservedDBInstance & WithState(StateT &&value)
ReservedDBInstance & WithDBInstanceClass(DBInstanceClassT &&value)
const Aws::String & GetReservedDBInstancesOfferingId() const
ReservedDBInstance & WithReservedDBInstanceId(ReservedDBInstanceIdT &&value)
void SetReservedDBInstanceArn(ReservedDBInstanceArnT &&value)
void SetOfferingType(OfferingTypeT &&value)
void SetCurrencyCode(CurrencyCodeT &&value)
const Aws::String & GetCurrencyCode() const
ReservedDBInstance & AddRecurringCharges(RecurringChargesT &&value)
ReservedDBInstance & WithReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT &&value)
const Aws::String & GetOfferingType() const
ReservedDBInstance & WithStartTime(StartTimeT &&value)
ReservedDBInstance & WithRecurringCharges(RecurringChargesT &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
AWS_RDS_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Utils::DateTime & GetStartTime() const
void SetReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT &&value)
void SetRecurringCharges(RecurringChargesT &&value)
ReservedDBInstance & WithDuration(int value)
const Aws::String & GetReservedDBInstanceId() const
ReservedDBInstance & WithFixedPrice(double value)
ReservedDBInstance & WithLeaseId(LeaseIdT &&value)
AWS_RDS_API ReservedDBInstance()=default
ReservedDBInstance & WithProductDescription(ProductDescriptionT &&value)
ReservedDBInstance & WithReservedDBInstanceArn(ReservedDBInstanceArnT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream