AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ReservedDBInstance.h
1
6#pragma once
7#include <aws/rds/RDS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/rds/model/RecurringCharge.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace RDS
25{
26namespace Model
27{
28
38 {
39 public:
40 AWS_RDS_API ReservedDBInstance() = default;
41 AWS_RDS_API ReservedDBInstance(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_RDS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_RDS_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
47
49
52 inline const Aws::String& GetReservedDBInstanceId() const { return m_reservedDBInstanceId; }
53 inline bool ReservedDBInstanceIdHasBeenSet() const { return m_reservedDBInstanceIdHasBeenSet; }
54 template<typename ReservedDBInstanceIdT = Aws::String>
55 void SetReservedDBInstanceId(ReservedDBInstanceIdT&& value) { m_reservedDBInstanceIdHasBeenSet = true; m_reservedDBInstanceId = std::forward<ReservedDBInstanceIdT>(value); }
56 template<typename ReservedDBInstanceIdT = Aws::String>
57 ReservedDBInstance& WithReservedDBInstanceId(ReservedDBInstanceIdT&& value) { SetReservedDBInstanceId(std::forward<ReservedDBInstanceIdT>(value)); return *this;}
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) { m_reservedDBInstancesOfferingIdHasBeenSet = true; m_reservedDBInstancesOfferingId = std::forward<ReservedDBInstancesOfferingIdT>(value); }
68 template<typename ReservedDBInstancesOfferingIdT = Aws::String>
69 ReservedDBInstance& WithReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT&& value) { SetReservedDBInstancesOfferingId(std::forward<ReservedDBInstancesOfferingIdT>(value)); return *this;}
71
73
76 inline const Aws::String& GetDBInstanceClass() const { return m_dBInstanceClass; }
77 inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; }
78 template<typename DBInstanceClassT = Aws::String>
79 void SetDBInstanceClass(DBInstanceClassT&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::forward<DBInstanceClassT>(value); }
80 template<typename DBInstanceClassT = Aws::String>
81 ReservedDBInstance& WithDBInstanceClass(DBInstanceClassT&& value) { SetDBInstanceClass(std::forward<DBInstanceClassT>(value)); return *this;}
83
85
88 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
89 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
90 template<typename StartTimeT = Aws::Utils::DateTime>
91 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet = true; m_startTime = std::forward<StartTimeT>(value); }
92 template<typename StartTimeT = Aws::Utils::DateTime>
93 ReservedDBInstance& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
95
97
100 inline int GetDuration() const { return m_duration; }
101 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
102 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
103 inline ReservedDBInstance& WithDuration(int value) { SetDuration(value); return *this;}
105
107
110 inline double GetFixedPrice() const { return m_fixedPrice; }
111 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
112 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
113 inline ReservedDBInstance& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
115
117
120 inline double GetUsagePrice() const { return m_usagePrice; }
121 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
122 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
123 inline ReservedDBInstance& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
125
127
130 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
131 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
132 template<typename CurrencyCodeT = Aws::String>
133 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
134 template<typename CurrencyCodeT = Aws::String>
135 ReservedDBInstance& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
137
139
142 inline int GetDBInstanceCount() const { return m_dBInstanceCount; }
143 inline bool DBInstanceCountHasBeenSet() const { return m_dBInstanceCountHasBeenSet; }
144 inline void SetDBInstanceCount(int value) { m_dBInstanceCountHasBeenSet = true; m_dBInstanceCount = value; }
145 inline ReservedDBInstance& WithDBInstanceCount(int value) { SetDBInstanceCount(value); return *this;}
147
149
152 inline const Aws::String& GetProductDescription() const { return m_productDescription; }
153 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
154 template<typename ProductDescriptionT = Aws::String>
155 void SetProductDescription(ProductDescriptionT&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::forward<ProductDescriptionT>(value); }
156 template<typename ProductDescriptionT = Aws::String>
157 ReservedDBInstance& WithProductDescription(ProductDescriptionT&& value) { SetProductDescription(std::forward<ProductDescriptionT>(value)); return *this;}
159
161
164 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
165 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
166 template<typename OfferingTypeT = Aws::String>
167 void SetOfferingType(OfferingTypeT&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::forward<OfferingTypeT>(value); }
168 template<typename OfferingTypeT = Aws::String>
169 ReservedDBInstance& WithOfferingType(OfferingTypeT&& value) { SetOfferingType(std::forward<OfferingTypeT>(value)); return *this;}
171
173
176 inline bool GetMultiAZ() const { return m_multiAZ; }
177 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
178 inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; }
179 inline ReservedDBInstance& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;}
181
183
186 inline const Aws::String& GetState() const { return m_state; }
187 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
188 template<typename StateT = Aws::String>
189 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
190 template<typename StateT = Aws::String>
191 ReservedDBInstance& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
193
195
198 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
199 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
200 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
201 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
202 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
203 ReservedDBInstance& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
204 template<typename RecurringChargesT = RecurringCharge>
205 ReservedDBInstance& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
207
209
212 inline const Aws::String& GetReservedDBInstanceArn() const { return m_reservedDBInstanceArn; }
213 inline bool ReservedDBInstanceArnHasBeenSet() const { return m_reservedDBInstanceArnHasBeenSet; }
214 template<typename ReservedDBInstanceArnT = Aws::String>
215 void SetReservedDBInstanceArn(ReservedDBInstanceArnT&& value) { m_reservedDBInstanceArnHasBeenSet = true; m_reservedDBInstanceArn = std::forward<ReservedDBInstanceArnT>(value); }
216 template<typename ReservedDBInstanceArnT = Aws::String>
217 ReservedDBInstance& WithReservedDBInstanceArn(ReservedDBInstanceArnT&& value) { SetReservedDBInstanceArn(std::forward<ReservedDBInstanceArnT>(value)); return *this;}
219
221
226 inline const Aws::String& GetLeaseId() const { return m_leaseId; }
227 inline bool LeaseIdHasBeenSet() const { return m_leaseIdHasBeenSet; }
228 template<typename LeaseIdT = Aws::String>
229 void SetLeaseId(LeaseIdT&& value) { m_leaseIdHasBeenSet = true; m_leaseId = std::forward<LeaseIdT>(value); }
230 template<typename LeaseIdT = Aws::String>
231 ReservedDBInstance& WithLeaseId(LeaseIdT&& value) { SetLeaseId(std::forward<LeaseIdT>(value)); return *this;}
233 private:
234
235 Aws::String m_reservedDBInstanceId;
236 bool m_reservedDBInstanceIdHasBeenSet = false;
237
238 Aws::String m_reservedDBInstancesOfferingId;
239 bool m_reservedDBInstancesOfferingIdHasBeenSet = false;
240
241 Aws::String m_dBInstanceClass;
242 bool m_dBInstanceClassHasBeenSet = false;
243
244 Aws::Utils::DateTime m_startTime{};
245 bool m_startTimeHasBeenSet = false;
246
247 int m_duration{0};
248 bool m_durationHasBeenSet = false;
249
250 double m_fixedPrice{0.0};
251 bool m_fixedPriceHasBeenSet = false;
252
253 double m_usagePrice{0.0};
254 bool m_usagePriceHasBeenSet = false;
255
256 Aws::String m_currencyCode;
257 bool m_currencyCodeHasBeenSet = false;
258
259 int m_dBInstanceCount{0};
260 bool m_dBInstanceCountHasBeenSet = false;
261
262 Aws::String m_productDescription;
263 bool m_productDescriptionHasBeenSet = false;
264
265 Aws::String m_offeringType;
266 bool m_offeringTypeHasBeenSet = false;
267
268 bool m_multiAZ{false};
269 bool m_multiAZHasBeenSet = false;
270
271 Aws::String m_state;
272 bool m_stateHasBeenSet = false;
273
274 Aws::Vector<RecurringCharge> m_recurringCharges;
275 bool m_recurringChargesHasBeenSet = false;
276
277 Aws::String m_reservedDBInstanceArn;
278 bool m_reservedDBInstanceArnHasBeenSet = false;
279
280 Aws::String m_leaseId;
281 bool m_leaseIdHasBeenSet = false;
282 };
283
284} // namespace Model
285} // namespace RDS
286} // 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
void SetStartTime(StartTimeT &&value)
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