AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ReservedDBInstancesOffering.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/memory/stl/AWSVector.h>
11#include <aws/rds/model/RecurringCharge.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Xml
19{
20 class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace RDS
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_RDS_API ReservedDBInstancesOffering() = default;
41
42 AWS_RDS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_RDS_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
45
47
50 inline const Aws::String& GetReservedDBInstancesOfferingId() const { return m_reservedDBInstancesOfferingId; }
51 inline bool ReservedDBInstancesOfferingIdHasBeenSet() const { return m_reservedDBInstancesOfferingIdHasBeenSet; }
52 template<typename ReservedDBInstancesOfferingIdT = Aws::String>
53 void SetReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT&& value) { m_reservedDBInstancesOfferingIdHasBeenSet = true; m_reservedDBInstancesOfferingId = std::forward<ReservedDBInstancesOfferingIdT>(value); }
54 template<typename ReservedDBInstancesOfferingIdT = Aws::String>
55 ReservedDBInstancesOffering& WithReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT&& value) { SetReservedDBInstancesOfferingId(std::forward<ReservedDBInstancesOfferingIdT>(value)); return *this;}
57
59
62 inline const Aws::String& GetDBInstanceClass() const { return m_dBInstanceClass; }
63 inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; }
64 template<typename DBInstanceClassT = Aws::String>
65 void SetDBInstanceClass(DBInstanceClassT&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::forward<DBInstanceClassT>(value); }
66 template<typename DBInstanceClassT = Aws::String>
67 ReservedDBInstancesOffering& WithDBInstanceClass(DBInstanceClassT&& value) { SetDBInstanceClass(std::forward<DBInstanceClassT>(value)); return *this;}
69
71
74 inline int GetDuration() const { return m_duration; }
75 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
76 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
77 inline ReservedDBInstancesOffering& WithDuration(int value) { SetDuration(value); return *this;}
79
81
84 inline double GetFixedPrice() const { return m_fixedPrice; }
85 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
86 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
87 inline ReservedDBInstancesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
89
91
94 inline double GetUsagePrice() const { return m_usagePrice; }
95 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
96 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
97 inline ReservedDBInstancesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
99
101
104 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
105 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
106 template<typename CurrencyCodeT = Aws::String>
107 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
108 template<typename CurrencyCodeT = Aws::String>
109 ReservedDBInstancesOffering& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
111
113
116 inline const Aws::String& GetProductDescription() const { return m_productDescription; }
117 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
118 template<typename ProductDescriptionT = Aws::String>
119 void SetProductDescription(ProductDescriptionT&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::forward<ProductDescriptionT>(value); }
120 template<typename ProductDescriptionT = Aws::String>
121 ReservedDBInstancesOffering& WithProductDescription(ProductDescriptionT&& value) { SetProductDescription(std::forward<ProductDescriptionT>(value)); return *this;}
123
125
128 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
129 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
130 template<typename OfferingTypeT = Aws::String>
131 void SetOfferingType(OfferingTypeT&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::forward<OfferingTypeT>(value); }
132 template<typename OfferingTypeT = Aws::String>
133 ReservedDBInstancesOffering& WithOfferingType(OfferingTypeT&& value) { SetOfferingType(std::forward<OfferingTypeT>(value)); return *this;}
135
137
140 inline bool GetMultiAZ() const { return m_multiAZ; }
141 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
142 inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; }
143 inline ReservedDBInstancesOffering& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;}
145
147
150 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
151 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
152 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
153 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
154 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
155 ReservedDBInstancesOffering& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
156 template<typename RecurringChargesT = RecurringCharge>
157 ReservedDBInstancesOffering& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
159 private:
160
161 Aws::String m_reservedDBInstancesOfferingId;
162 bool m_reservedDBInstancesOfferingIdHasBeenSet = false;
163
164 Aws::String m_dBInstanceClass;
165 bool m_dBInstanceClassHasBeenSet = false;
166
167 int m_duration{0};
168 bool m_durationHasBeenSet = false;
169
170 double m_fixedPrice{0.0};
171 bool m_fixedPriceHasBeenSet = false;
172
173 double m_usagePrice{0.0};
174 bool m_usagePriceHasBeenSet = false;
175
176 Aws::String m_currencyCode;
177 bool m_currencyCodeHasBeenSet = false;
178
179 Aws::String m_productDescription;
180 bool m_productDescriptionHasBeenSet = false;
181
182 Aws::String m_offeringType;
183 bool m_offeringTypeHasBeenSet = false;
184
185 bool m_multiAZ{false};
186 bool m_multiAZHasBeenSet = false;
187
188 Aws::Vector<RecurringCharge> m_recurringCharges;
189 bool m_recurringChargesHasBeenSet = false;
190 };
191
192} // namespace Model
193} // namespace RDS
194} // namespace Aws
ReservedDBInstancesOffering & WithFixedPrice(double value)
ReservedDBInstancesOffering & WithDuration(int value)
AWS_RDS_API ReservedDBInstancesOffering(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedDBInstancesOffering & WithReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT &&value)
ReservedDBInstancesOffering & AddRecurringCharges(RecurringChargesT &&value)
ReservedDBInstancesOffering & WithCurrencyCode(CurrencyCodeT &&value)
ReservedDBInstancesOffering & WithOfferingType(OfferingTypeT &&value)
AWS_RDS_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedDBInstancesOffering & WithMultiAZ(bool value)
void SetReservedDBInstancesOfferingId(ReservedDBInstancesOfferingIdT &&value)
ReservedDBInstancesOffering & WithDBInstanceClass(DBInstanceClassT &&value)
ReservedDBInstancesOffering & WithProductDescription(ProductDescriptionT &&value)
AWS_RDS_API ReservedDBInstancesOffering()=default
AWS_RDS_API ReservedDBInstancesOffering & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_RDS_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ReservedDBInstancesOffering & WithUsagePrice(double value)
ReservedDBInstancesOffering & WithRecurringCharges(RecurringChargesT &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
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