AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ReservedCacheNodesOffering.h
1
6#pragma once
7#include <aws/elasticache/ElastiCache_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/elasticache/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 ElastiCache
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_ELASTICACHE_API ReservedCacheNodesOffering() = default;
38 AWS_ELASTICACHE_API ReservedCacheNodesOffering(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
44
46
49 inline const Aws::String& GetReservedCacheNodesOfferingId() const { return m_reservedCacheNodesOfferingId; }
50 inline bool ReservedCacheNodesOfferingIdHasBeenSet() const { return m_reservedCacheNodesOfferingIdHasBeenSet; }
51 template<typename ReservedCacheNodesOfferingIdT = Aws::String>
52 void SetReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT&& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = std::forward<ReservedCacheNodesOfferingIdT>(value); }
53 template<typename ReservedCacheNodesOfferingIdT = Aws::String>
54 ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(ReservedCacheNodesOfferingIdT&& value) { SetReservedCacheNodesOfferingId(std::forward<ReservedCacheNodesOfferingIdT>(value)); return *this;}
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) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::forward<CacheNodeTypeT>(value); }
136 template<typename CacheNodeTypeT = Aws::String>
137 ReservedCacheNodesOffering& WithCacheNodeType(CacheNodeTypeT&& value) { SetCacheNodeType(std::forward<CacheNodeTypeT>(value)); return *this;}
139
141
144 inline int GetDuration() const { return m_duration; }
145 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
146 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
147 inline ReservedCacheNodesOffering& WithDuration(int value) { SetDuration(value); return *this;}
149
151
154 inline double GetFixedPrice() const { return m_fixedPrice; }
155 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
156 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
157 inline ReservedCacheNodesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
159
161
164 inline double GetUsagePrice() const { return m_usagePrice; }
165 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
166 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
167 inline ReservedCacheNodesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
169
171
174 inline const Aws::String& GetProductDescription() const { return m_productDescription; }
175 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
176 template<typename ProductDescriptionT = Aws::String>
177 void SetProductDescription(ProductDescriptionT&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::forward<ProductDescriptionT>(value); }
178 template<typename ProductDescriptionT = Aws::String>
179 ReservedCacheNodesOffering& WithProductDescription(ProductDescriptionT&& value) { SetProductDescription(std::forward<ProductDescriptionT>(value)); return *this;}
181
183
186 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
187 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
188 template<typename OfferingTypeT = Aws::String>
189 void SetOfferingType(OfferingTypeT&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::forward<OfferingTypeT>(value); }
190 template<typename OfferingTypeT = Aws::String>
191 ReservedCacheNodesOffering& WithOfferingType(OfferingTypeT&& value) { SetOfferingType(std::forward<OfferingTypeT>(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 ReservedCacheNodesOffering& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
204 template<typename RecurringChargesT = RecurringCharge>
205 ReservedCacheNodesOffering& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
207 private:
208
209 Aws::String m_reservedCacheNodesOfferingId;
210 bool m_reservedCacheNodesOfferingIdHasBeenSet = false;
211
212 Aws::String m_cacheNodeType;
213 bool m_cacheNodeTypeHasBeenSet = false;
214
215 int m_duration{0};
216 bool m_durationHasBeenSet = false;
217
218 double m_fixedPrice{0.0};
219 bool m_fixedPriceHasBeenSet = false;
220
221 double m_usagePrice{0.0};
222 bool m_usagePriceHasBeenSet = false;
223
224 Aws::String m_productDescription;
225 bool m_productDescriptionHasBeenSet = false;
226
227 Aws::String m_offeringType;
228 bool m_offeringTypeHasBeenSet = false;
229
230 Aws::Vector<RecurringCharge> m_recurringCharges;
231 bool m_recurringChargesHasBeenSet = false;
232 };
233
234} // namespace Model
235} // namespace ElastiCache
236} // 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