AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ReservedNode.h
1
6#pragma once
7#include <aws/redshift/Redshift_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/redshift/model/ReservedNodeOfferingType.h>
13#include <aws/redshift/model/RecurringCharge.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace Redshift
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_REDSHIFT_API ReservedNode() = default;
41 AWS_REDSHIFT_API ReservedNode(const Aws::Utils::Xml::XmlNode& xmlNode);
42 AWS_REDSHIFT_API ReservedNode& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
43
44 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
46
47
49
52 inline const Aws::String& GetReservedNodeId() const { return m_reservedNodeId; }
53 inline bool ReservedNodeIdHasBeenSet() const { return m_reservedNodeIdHasBeenSet; }
54 template<typename ReservedNodeIdT = Aws::String>
55 void SetReservedNodeId(ReservedNodeIdT&& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = std::forward<ReservedNodeIdT>(value); }
56 template<typename ReservedNodeIdT = Aws::String>
57 ReservedNode& WithReservedNodeId(ReservedNodeIdT&& value) { SetReservedNodeId(std::forward<ReservedNodeIdT>(value)); return *this;}
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) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = std::forward<ReservedNodeOfferingIdT>(value); }
68 template<typename ReservedNodeOfferingIdT = Aws::String>
69 ReservedNode& WithReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) { SetReservedNodeOfferingId(std::forward<ReservedNodeOfferingIdT>(value)); return *this;}
71
73
76 inline const Aws::String& GetNodeType() const { return m_nodeType; }
77 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
78 template<typename NodeTypeT = Aws::String>
79 void SetNodeType(NodeTypeT&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::forward<NodeTypeT>(value); }
80 template<typename NodeTypeT = Aws::String>
81 ReservedNode& WithNodeType(NodeTypeT&& value) { SetNodeType(std::forward<NodeTypeT>(value)); return *this;}
83
85
89 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
90 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
91 template<typename StartTimeT = Aws::Utils::DateTime>
92 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet = true; m_startTime = std::forward<StartTimeT>(value); }
93 template<typename StartTimeT = Aws::Utils::DateTime>
94 ReservedNode& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
96
98
101 inline int GetDuration() const { return m_duration; }
102 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
103 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
104 inline ReservedNode& WithDuration(int value) { SetDuration(value); return *this;}
106
108
111 inline double GetFixedPrice() const { return m_fixedPrice; }
112 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
113 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
114 inline ReservedNode& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
116
118
121 inline double GetUsagePrice() const { return m_usagePrice; }
122 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
123 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
124 inline ReservedNode& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
126
128
131 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
132 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
133 template<typename CurrencyCodeT = Aws::String>
134 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
135 template<typename CurrencyCodeT = Aws::String>
136 ReservedNode& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
138
140
143 inline int GetNodeCount() const { return m_nodeCount; }
144 inline bool NodeCountHasBeenSet() const { return m_nodeCountHasBeenSet; }
145 inline void SetNodeCount(int value) { m_nodeCountHasBeenSet = true; m_nodeCount = value; }
146 inline ReservedNode& WithNodeCount(int value) { SetNodeCount(value); return *this;}
148
150
160 inline const Aws::String& GetState() const { return m_state; }
161 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
162 template<typename StateT = Aws::String>
163 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
164 template<typename StateT = Aws::String>
165 ReservedNode& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
167
169
173 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
174 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
175 template<typename OfferingTypeT = Aws::String>
176 void SetOfferingType(OfferingTypeT&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::forward<OfferingTypeT>(value); }
177 template<typename OfferingTypeT = Aws::String>
178 ReservedNode& WithOfferingType(OfferingTypeT&& value) { SetOfferingType(std::forward<OfferingTypeT>(value)); return *this;}
180
182
185 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
186 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
187 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
188 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
189 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
190 ReservedNode& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
191 template<typename RecurringChargesT = RecurringCharge>
192 ReservedNode& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
194
196
199 inline ReservedNodeOfferingType GetReservedNodeOfferingType() const { return m_reservedNodeOfferingType; }
200 inline bool ReservedNodeOfferingTypeHasBeenSet() const { return m_reservedNodeOfferingTypeHasBeenSet; }
201 inline void SetReservedNodeOfferingType(ReservedNodeOfferingType value) { m_reservedNodeOfferingTypeHasBeenSet = true; m_reservedNodeOfferingType = value; }
204 private:
205
206 Aws::String m_reservedNodeId;
207 bool m_reservedNodeIdHasBeenSet = false;
208
209 Aws::String m_reservedNodeOfferingId;
210 bool m_reservedNodeOfferingIdHasBeenSet = false;
211
212 Aws::String m_nodeType;
213 bool m_nodeTypeHasBeenSet = false;
214
215 Aws::Utils::DateTime m_startTime{};
216 bool m_startTimeHasBeenSet = false;
217
218 int m_duration{0};
219 bool m_durationHasBeenSet = false;
220
221 double m_fixedPrice{0.0};
222 bool m_fixedPriceHasBeenSet = false;
223
224 double m_usagePrice{0.0};
225 bool m_usagePriceHasBeenSet = false;
226
227 Aws::String m_currencyCode;
228 bool m_currencyCodeHasBeenSet = false;
229
230 int m_nodeCount{0};
231 bool m_nodeCountHasBeenSet = false;
232
233 Aws::String m_state;
234 bool m_stateHasBeenSet = false;
235
236 Aws::String m_offeringType;
237 bool m_offeringTypeHasBeenSet = false;
238
239 Aws::Vector<RecurringCharge> m_recurringCharges;
240 bool m_recurringChargesHasBeenSet = false;
241
243 bool m_reservedNodeOfferingTypeHasBeenSet = false;
244 };
245
246} // namespace Model
247} // namespace Redshift
248} // 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