AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
ReservedNode.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/redshift/Redshift_EXPORTS.h>
12#include <aws/redshift/model/RecurringCharge.h>
13#include <aws/redshift/model/ReservedNodeOfferingType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace Redshift {
24namespace Model {
25
34 public:
35 AWS_REDSHIFT_API ReservedNode() = default;
36 AWS_REDSHIFT_API ReservedNode(const Aws::Utils::Xml::XmlNode& xmlNode);
37 AWS_REDSHIFT_API ReservedNode& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
46 inline const Aws::String& GetReservedNodeId() const { return m_reservedNodeId; }
47 inline bool ReservedNodeIdHasBeenSet() const { return m_reservedNodeIdHasBeenSet; }
48 template <typename ReservedNodeIdT = Aws::String>
49 void SetReservedNodeId(ReservedNodeIdT&& value) {
50 m_reservedNodeIdHasBeenSet = true;
51 m_reservedNodeId = std::forward<ReservedNodeIdT>(value);
52 }
53 template <typename ReservedNodeIdT = Aws::String>
54 ReservedNode& WithReservedNodeId(ReservedNodeIdT&& value) {
55 SetReservedNodeId(std::forward<ReservedNodeIdT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetReservedNodeOfferingId() const { return m_reservedNodeOfferingId; }
65 inline bool ReservedNodeOfferingIdHasBeenSet() const { return m_reservedNodeOfferingIdHasBeenSet; }
66 template <typename ReservedNodeOfferingIdT = Aws::String>
67 void SetReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) {
68 m_reservedNodeOfferingIdHasBeenSet = true;
69 m_reservedNodeOfferingId = std::forward<ReservedNodeOfferingIdT>(value);
70 }
71 template <typename ReservedNodeOfferingIdT = Aws::String>
72 ReservedNode& WithReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) {
73 SetReservedNodeOfferingId(std::forward<ReservedNodeOfferingIdT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::String& GetNodeType() const { return m_nodeType; }
83 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
84 template <typename NodeTypeT = Aws::String>
85 void SetNodeType(NodeTypeT&& value) {
86 m_nodeTypeHasBeenSet = true;
87 m_nodeType = std::forward<NodeTypeT>(value);
88 }
89 template <typename NodeTypeT = Aws::String>
90 ReservedNode& WithNodeType(NodeTypeT&& value) {
91 SetNodeType(std::forward<NodeTypeT>(value));
92 return *this;
93 }
95
97
101 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
102 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
103 template <typename StartTimeT = Aws::Utils::DateTime>
104 void SetStartTime(StartTimeT&& value) {
105 m_startTimeHasBeenSet = true;
106 m_startTime = std::forward<StartTimeT>(value);
107 }
108 template <typename StartTimeT = Aws::Utils::DateTime>
109 ReservedNode& WithStartTime(StartTimeT&& value) {
110 SetStartTime(std::forward<StartTimeT>(value));
111 return *this;
112 }
114
116
119 inline int GetDuration() const { return m_duration; }
120 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
121 inline void SetDuration(int value) {
122 m_durationHasBeenSet = true;
123 m_duration = value;
124 }
125 inline ReservedNode& WithDuration(int value) {
126 SetDuration(value);
127 return *this;
128 }
130
132
135 inline double GetFixedPrice() const { return m_fixedPrice; }
136 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
137 inline void SetFixedPrice(double value) {
138 m_fixedPriceHasBeenSet = true;
139 m_fixedPrice = value;
140 }
141 inline ReservedNode& WithFixedPrice(double value) {
142 SetFixedPrice(value);
143 return *this;
144 }
146
148
151 inline double GetUsagePrice() const { return m_usagePrice; }
152 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
153 inline void SetUsagePrice(double value) {
154 m_usagePriceHasBeenSet = true;
155 m_usagePrice = value;
156 }
157 inline ReservedNode& WithUsagePrice(double value) {
158 SetUsagePrice(value);
159 return *this;
160 }
162
164
167 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
168 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
169 template <typename CurrencyCodeT = Aws::String>
170 void SetCurrencyCode(CurrencyCodeT&& value) {
171 m_currencyCodeHasBeenSet = true;
172 m_currencyCode = std::forward<CurrencyCodeT>(value);
173 }
174 template <typename CurrencyCodeT = Aws::String>
175 ReservedNode& WithCurrencyCode(CurrencyCodeT&& value) {
176 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
177 return *this;
178 }
180
182
185 inline int GetNodeCount() const { return m_nodeCount; }
186 inline bool NodeCountHasBeenSet() const { return m_nodeCountHasBeenSet; }
187 inline void SetNodeCount(int value) {
188 m_nodeCountHasBeenSet = true;
189 m_nodeCount = value;
190 }
191 inline ReservedNode& WithNodeCount(int value) {
192 SetNodeCount(value);
193 return *this;
194 }
196
198
208 inline const Aws::String& GetState() const { return m_state; }
209 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
210 template <typename StateT = Aws::String>
211 void SetState(StateT&& value) {
212 m_stateHasBeenSet = true;
213 m_state = std::forward<StateT>(value);
214 }
215 template <typename StateT = Aws::String>
216 ReservedNode& WithState(StateT&& value) {
217 SetState(std::forward<StateT>(value));
218 return *this;
219 }
221
223
227 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
228 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
229 template <typename OfferingTypeT = Aws::String>
230 void SetOfferingType(OfferingTypeT&& value) {
231 m_offeringTypeHasBeenSet = true;
232 m_offeringType = std::forward<OfferingTypeT>(value);
233 }
234 template <typename OfferingTypeT = Aws::String>
235 ReservedNode& WithOfferingType(OfferingTypeT&& value) {
236 SetOfferingType(std::forward<OfferingTypeT>(value));
237 return *this;
238 }
240
242
245 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
246 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
247 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
248 void SetRecurringCharges(RecurringChargesT&& value) {
249 m_recurringChargesHasBeenSet = true;
250 m_recurringCharges = std::forward<RecurringChargesT>(value);
251 }
252 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
253 ReservedNode& WithRecurringCharges(RecurringChargesT&& value) {
254 SetRecurringCharges(std::forward<RecurringChargesT>(value));
255 return *this;
256 }
257 template <typename RecurringChargesT = RecurringCharge>
258 ReservedNode& AddRecurringCharges(RecurringChargesT&& value) {
259 m_recurringChargesHasBeenSet = true;
260 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
261 return *this;
262 }
264
266
269 inline ReservedNodeOfferingType GetReservedNodeOfferingType() const { return m_reservedNodeOfferingType; }
270 inline bool ReservedNodeOfferingTypeHasBeenSet() const { return m_reservedNodeOfferingTypeHasBeenSet; }
272 m_reservedNodeOfferingTypeHasBeenSet = true;
273 m_reservedNodeOfferingType = value;
274 }
277 return *this;
278 }
280 private:
281 Aws::String m_reservedNodeId;
282
283 Aws::String m_reservedNodeOfferingId;
284
285 Aws::String m_nodeType;
286
287 Aws::Utils::DateTime m_startTime{};
288
289 int m_duration{0};
290
291 double m_fixedPrice{0.0};
292
293 double m_usagePrice{0.0};
294
295 Aws::String m_currencyCode;
296
297 int m_nodeCount{0};
298
299 Aws::String m_state;
300
301 Aws::String m_offeringType;
302
303 Aws::Vector<RecurringCharge> m_recurringCharges;
304
306 bool m_reservedNodeIdHasBeenSet = false;
307 bool m_reservedNodeOfferingIdHasBeenSet = false;
308 bool m_nodeTypeHasBeenSet = false;
309 bool m_startTimeHasBeenSet = false;
310 bool m_durationHasBeenSet = false;
311 bool m_fixedPriceHasBeenSet = false;
312 bool m_usagePriceHasBeenSet = false;
313 bool m_currencyCodeHasBeenSet = false;
314 bool m_nodeCountHasBeenSet = false;
315 bool m_stateHasBeenSet = false;
316 bool m_offeringTypeHasBeenSet = false;
317 bool m_recurringChargesHasBeenSet = false;
318 bool m_reservedNodeOfferingTypeHasBeenSet = false;
319};
320
321} // namespace Model
322} // namespace Redshift
323} // namespace Aws
ReservedNode & WithState(StateT &&value)
ReservedNode & WithOfferingType(OfferingTypeT &&value)
ReservedNode & WithReservedNodeOfferingType(ReservedNodeOfferingType value)
ReservedNode & WithNodeType(NodeTypeT &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedNode & WithFixedPrice(double value)
const Aws::String & GetCurrencyCode() const
const Aws::String & GetReservedNodeId() const
ReservedNode & WithDuration(int value)
ReservedNode & WithRecurringCharges(RecurringChargesT &&value)
AWS_REDSHIFT_API ReservedNode()=default
const Aws::Utils::DateTime & GetStartTime() const
void SetRecurringCharges(RecurringChargesT &&value)
ReservedNode & WithReservedNodeOfferingId(ReservedNodeOfferingIdT &&value)
ReservedNode & WithReservedNodeId(ReservedNodeIdT &&value)
void SetStartTime(StartTimeT &&value)
void SetReservedNodeOfferingType(ReservedNodeOfferingType value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
void SetReservedNodeId(ReservedNodeIdT &&value)
ReservedNode & WithCurrencyCode(CurrencyCodeT &&value)
const Aws::String & GetReservedNodeOfferingId() const
void SetReservedNodeOfferingId(ReservedNodeOfferingIdT &&value)
AWS_REDSHIFT_API ReservedNode(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API ReservedNode & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetOfferingType() const
ReservedNode & AddRecurringCharges(RecurringChargesT &&value)
void SetOfferingType(OfferingTypeT &&value)
const Aws::String & GetNodeType() const
void SetNodeType(NodeTypeT &&value)
const Aws::String & GetState() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCurrencyCode(CurrencyCodeT &&value)
ReservedNode & WithUsagePrice(double value)
ReservedNode & WithNodeCount(int value)
ReservedNode & WithStartTime(StartTimeT &&value)
ReservedNodeOfferingType GetReservedNodeOfferingType() 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