AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ReservedNodeOffering.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/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/RecurringCharge.h>
12#include <aws/redshift/model/ReservedNodeOfferingType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace Redshift {
23namespace Model {
24
31 public:
32 AWS_REDSHIFT_API ReservedNodeOffering() = default;
33 AWS_REDSHIFT_API ReservedNodeOffering(const Aws::Utils::Xml::XmlNode& xmlNode);
34 AWS_REDSHIFT_API ReservedNodeOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
35
36 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetReservedNodeOfferingId() const { return m_reservedNodeOfferingId; }
44 inline bool ReservedNodeOfferingIdHasBeenSet() const { return m_reservedNodeOfferingIdHasBeenSet; }
45 template <typename ReservedNodeOfferingIdT = Aws::String>
46 void SetReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) {
47 m_reservedNodeOfferingIdHasBeenSet = true;
48 m_reservedNodeOfferingId = std::forward<ReservedNodeOfferingIdT>(value);
49 }
50 template <typename ReservedNodeOfferingIdT = Aws::String>
51 ReservedNodeOffering& WithReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) {
52 SetReservedNodeOfferingId(std::forward<ReservedNodeOfferingIdT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetNodeType() const { return m_nodeType; }
62 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
63 template <typename NodeTypeT = Aws::String>
64 void SetNodeType(NodeTypeT&& value) {
65 m_nodeTypeHasBeenSet = true;
66 m_nodeType = std::forward<NodeTypeT>(value);
67 }
68 template <typename NodeTypeT = Aws::String>
69 ReservedNodeOffering& WithNodeType(NodeTypeT&& value) {
70 SetNodeType(std::forward<NodeTypeT>(value));
71 return *this;
72 }
74
76
79 inline int GetDuration() const { return m_duration; }
80 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
81 inline void SetDuration(int value) {
82 m_durationHasBeenSet = true;
83 m_duration = value;
84 }
86 SetDuration(value);
87 return *this;
88 }
90
92
96 inline double GetFixedPrice() const { return m_fixedPrice; }
97 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
98 inline void SetFixedPrice(double value) {
99 m_fixedPriceHasBeenSet = true;
100 m_fixedPrice = value;
101 }
102 inline ReservedNodeOffering& WithFixedPrice(double value) {
103 SetFixedPrice(value);
104 return *this;
105 }
107
109
113 inline double GetUsagePrice() const { return m_usagePrice; }
114 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
115 inline void SetUsagePrice(double value) {
116 m_usagePriceHasBeenSet = true;
117 m_usagePrice = value;
118 }
119 inline ReservedNodeOffering& WithUsagePrice(double value) {
120 SetUsagePrice(value);
121 return *this;
122 }
124
126
129 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
130 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
131 template <typename CurrencyCodeT = Aws::String>
132 void SetCurrencyCode(CurrencyCodeT&& value) {
133 m_currencyCodeHasBeenSet = true;
134 m_currencyCode = std::forward<CurrencyCodeT>(value);
135 }
136 template <typename CurrencyCodeT = Aws::String>
137 ReservedNodeOffering& WithCurrencyCode(CurrencyCodeT&& value) {
138 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
139 return *this;
140 }
142
144
148 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
149 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
150 template <typename OfferingTypeT = Aws::String>
151 void SetOfferingType(OfferingTypeT&& value) {
152 m_offeringTypeHasBeenSet = true;
153 m_offeringType = std::forward<OfferingTypeT>(value);
154 }
155 template <typename OfferingTypeT = Aws::String>
156 ReservedNodeOffering& WithOfferingType(OfferingTypeT&& value) {
157 SetOfferingType(std::forward<OfferingTypeT>(value));
158 return *this;
159 }
161
163
168 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
169 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
170 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
171 void SetRecurringCharges(RecurringChargesT&& value) {
172 m_recurringChargesHasBeenSet = true;
173 m_recurringCharges = std::forward<RecurringChargesT>(value);
174 }
175 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
176 ReservedNodeOffering& WithRecurringCharges(RecurringChargesT&& value) {
177 SetRecurringCharges(std::forward<RecurringChargesT>(value));
178 return *this;
179 }
180 template <typename RecurringChargesT = RecurringCharge>
181 ReservedNodeOffering& AddRecurringCharges(RecurringChargesT&& value) {
182 m_recurringChargesHasBeenSet = true;
183 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
184 return *this;
185 }
187
189
192 inline ReservedNodeOfferingType GetReservedNodeOfferingType() const { return m_reservedNodeOfferingType; }
193 inline bool ReservedNodeOfferingTypeHasBeenSet() const { return m_reservedNodeOfferingTypeHasBeenSet; }
195 m_reservedNodeOfferingTypeHasBeenSet = true;
196 m_reservedNodeOfferingType = value;
197 }
200 return *this;
201 }
203 private:
204 Aws::String m_reservedNodeOfferingId;
205
206 Aws::String m_nodeType;
207
208 int m_duration{0};
209
210 double m_fixedPrice{0.0};
211
212 double m_usagePrice{0.0};
213
214 Aws::String m_currencyCode;
215
216 Aws::String m_offeringType;
217
218 Aws::Vector<RecurringCharge> m_recurringCharges;
219
221 bool m_reservedNodeOfferingIdHasBeenSet = false;
222 bool m_nodeTypeHasBeenSet = false;
223 bool m_durationHasBeenSet = false;
224 bool m_fixedPriceHasBeenSet = false;
225 bool m_usagePriceHasBeenSet = false;
226 bool m_currencyCodeHasBeenSet = false;
227 bool m_offeringTypeHasBeenSet = false;
228 bool m_recurringChargesHasBeenSet = false;
229 bool m_reservedNodeOfferingTypeHasBeenSet = false;
230};
231
232} // namespace Model
233} // namespace Redshift
234} // namespace Aws
ReservedNodeOffering & WithCurrencyCode(CurrencyCodeT &&value)
ReservedNodeOffering & WithUsagePrice(double value)
ReservedNodeOffering & WithReservedNodeOfferingId(ReservedNodeOfferingIdT &&value)
ReservedNodeOffering & WithReservedNodeOfferingType(ReservedNodeOfferingType value)
AWS_REDSHIFT_API ReservedNodeOffering(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedNodeOffering & WithDuration(int value)
ReservedNodeOffering & AddRecurringCharges(RecurringChargesT &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
void SetReservedNodeOfferingType(ReservedNodeOfferingType value)
const Aws::String & GetReservedNodeOfferingId() const
void SetRecurringCharges(RecurringChargesT &&value)
ReservedNodeOffering & WithNodeType(NodeTypeT &&value)
ReservedNodeOfferingType GetReservedNodeOfferingType() const
ReservedNodeOffering & WithRecurringCharges(RecurringChargesT &&value)
void SetReservedNodeOfferingId(ReservedNodeOfferingIdT &&value)
ReservedNodeOffering & WithFixedPrice(double value)
AWS_REDSHIFT_API ReservedNodeOffering & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ReservedNodeOffering & WithOfferingType(OfferingTypeT &&value)
AWS_REDSHIFT_API ReservedNodeOffering()=default
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