AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ReservedCacheNodesOffering.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticache/ElastiCache_EXPORTS.h>
11#include <aws/elasticache/model/RecurringCharge.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace ElastiCache {
22namespace Model {
23
31 public:
32 AWS_ELASTICACHE_API ReservedCacheNodesOffering() = default;
33 AWS_ELASTICACHE_API ReservedCacheNodesOffering(const Aws::Utils::Xml::XmlNode& xmlNode);
35
36 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetReservedCacheNodesOfferingId() const { return m_reservedCacheNodesOfferingId; }
44 inline bool ReservedCacheNodesOfferingIdHasBeenSet() const { return m_reservedCacheNodesOfferingIdHasBeenSet; }
45 template <typename ReservedCacheNodesOfferingIdT = Aws::String>
46 void SetReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT&& value) {
47 m_reservedCacheNodesOfferingIdHasBeenSet = true;
48 m_reservedCacheNodesOfferingId = std::forward<ReservedCacheNodesOfferingIdT>(value);
49 }
50 template <typename ReservedCacheNodesOfferingIdT = Aws::String>
51 ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT&& value) {
52 SetReservedCacheNodesOfferingId(std::forward<ReservedCacheNodesOfferingIdT>(value));
53 return *this;
54 }
56
58
132 inline const Aws::String& GetCacheNodeType() const { return m_cacheNodeType; }
133 inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; }
134 template <typename CacheNodeTypeT = Aws::String>
135 void SetCacheNodeType(CacheNodeTypeT&& value) {
136 m_cacheNodeTypeHasBeenSet = true;
137 m_cacheNodeType = std::forward<CacheNodeTypeT>(value);
138 }
139 template <typename CacheNodeTypeT = Aws::String>
141 SetCacheNodeType(std::forward<CacheNodeTypeT>(value));
142 return *this;
143 }
145
147
150 inline int GetDuration() const { return m_duration; }
151 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
152 inline void SetDuration(int value) {
153 m_durationHasBeenSet = true;
154 m_duration = value;
155 }
157 SetDuration(value);
158 return *this;
159 }
161
163
166 inline double GetFixedPrice() const { return m_fixedPrice; }
167 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
168 inline void SetFixedPrice(double value) {
169 m_fixedPriceHasBeenSet = true;
170 m_fixedPrice = value;
171 }
173 SetFixedPrice(value);
174 return *this;
175 }
177
179
182 inline double GetUsagePrice() const { return m_usagePrice; }
183 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
184 inline void SetUsagePrice(double value) {
185 m_usagePriceHasBeenSet = true;
186 m_usagePrice = value;
187 }
189 SetUsagePrice(value);
190 return *this;
191 }
193
195
198 inline const Aws::String& GetProductDescription() const { return m_productDescription; }
199 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
200 template <typename ProductDescriptionT = Aws::String>
201 void SetProductDescription(ProductDescriptionT&& value) {
202 m_productDescriptionHasBeenSet = true;
203 m_productDescription = std::forward<ProductDescriptionT>(value);
204 }
205 template <typename ProductDescriptionT = Aws::String>
207 SetProductDescription(std::forward<ProductDescriptionT>(value));
208 return *this;
209 }
211
213
216 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
217 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
218 template <typename OfferingTypeT = Aws::String>
219 void SetOfferingType(OfferingTypeT&& value) {
220 m_offeringTypeHasBeenSet = true;
221 m_offeringType = std::forward<OfferingTypeT>(value);
222 }
223 template <typename OfferingTypeT = Aws::String>
225 SetOfferingType(std::forward<OfferingTypeT>(value));
226 return *this;
227 }
229
231
234 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
235 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
236 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
237 void SetRecurringCharges(RecurringChargesT&& value) {
238 m_recurringChargesHasBeenSet = true;
239 m_recurringCharges = std::forward<RecurringChargesT>(value);
240 }
241 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
243 SetRecurringCharges(std::forward<RecurringChargesT>(value));
244 return *this;
245 }
246 template <typename RecurringChargesT = RecurringCharge>
248 m_recurringChargesHasBeenSet = true;
249 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
250 return *this;
251 }
253 private:
254 Aws::String m_reservedCacheNodesOfferingId;
255
256 Aws::String m_cacheNodeType;
257
258 int m_duration{0};
259
260 double m_fixedPrice{0.0};
261
262 double m_usagePrice{0.0};
263
264 Aws::String m_productDescription;
265
266 Aws::String m_offeringType;
267
268 Aws::Vector<RecurringCharge> m_recurringCharges;
269 bool m_reservedCacheNodesOfferingIdHasBeenSet = false;
270 bool m_cacheNodeTypeHasBeenSet = false;
271 bool m_durationHasBeenSet = false;
272 bool m_fixedPriceHasBeenSet = false;
273 bool m_usagePriceHasBeenSet = false;
274 bool m_productDescriptionHasBeenSet = false;
275 bool m_offeringTypeHasBeenSet = false;
276 bool m_recurringChargesHasBeenSet = false;
277};
278
279} // namespace Model
280} // namespace ElastiCache
281} // namespace Aws
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedCacheNodesOffering & WithOfferingType(OfferingTypeT &&value)
ReservedCacheNodesOffering & AddRecurringCharges(RecurringChargesT &&value)
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_ELASTICACHE_API ReservedCacheNodesOffering()=default
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
ReservedCacheNodesOffering & WithCacheNodeType(CacheNodeTypeT &&value)
ReservedCacheNodesOffering & WithFixedPrice(double value)
AWS_ELASTICACHE_API ReservedCacheNodesOffering & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedCacheNodesOffering & WithRecurringCharges(RecurringChargesT &&value)
ReservedCacheNodesOffering & WithUsagePrice(double value)
void SetReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT &&value)
AWS_ELASTICACHE_API ReservedCacheNodesOffering(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedCacheNodesOffering & WithProductDescription(ProductDescriptionT &&value)
ReservedCacheNodesOffering & WithReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT &&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