AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ReservedNodeOffering.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/memory/stl/AWSVector.h>
11#include <aws/redshift/model/ReservedNodeOfferingType.h>
12#include <aws/redshift/model/RecurringCharge.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace Redshift
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_REDSHIFT_API ReservedNodeOffering() = default;
38 AWS_REDSHIFT_API ReservedNodeOffering(const Aws::Utils::Xml::XmlNode& xmlNode);
39 AWS_REDSHIFT_API ReservedNodeOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
44
46
49 inline const Aws::String& GetReservedNodeOfferingId() const { return m_reservedNodeOfferingId; }
50 inline bool ReservedNodeOfferingIdHasBeenSet() const { return m_reservedNodeOfferingIdHasBeenSet; }
51 template<typename ReservedNodeOfferingIdT = Aws::String>
52 void SetReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = std::forward<ReservedNodeOfferingIdT>(value); }
53 template<typename ReservedNodeOfferingIdT = Aws::String>
54 ReservedNodeOffering& WithReservedNodeOfferingId(ReservedNodeOfferingIdT&& value) { SetReservedNodeOfferingId(std::forward<ReservedNodeOfferingIdT>(value)); return *this;}
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) { m_nodeTypeHasBeenSet = true; m_nodeType = std::forward<NodeTypeT>(value); }
65 template<typename NodeTypeT = Aws::String>
66 ReservedNodeOffering& WithNodeType(NodeTypeT&& value) { SetNodeType(std::forward<NodeTypeT>(value)); return *this;}
68
70
73 inline int GetDuration() const { return m_duration; }
74 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
75 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
76 inline ReservedNodeOffering& WithDuration(int value) { SetDuration(value); return *this;}
78
80
84 inline double GetFixedPrice() const { return m_fixedPrice; }
85 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
86 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
87 inline ReservedNodeOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
89
91
95 inline double GetUsagePrice() const { return m_usagePrice; }
96 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
97 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
98 inline ReservedNodeOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
100
102
105 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
106 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
107 template<typename CurrencyCodeT = Aws::String>
108 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
109 template<typename CurrencyCodeT = Aws::String>
110 ReservedNodeOffering& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
112
114
118 inline const Aws::String& GetOfferingType() const { return m_offeringType; }
119 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
120 template<typename OfferingTypeT = Aws::String>
121 void SetOfferingType(OfferingTypeT&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::forward<OfferingTypeT>(value); }
122 template<typename OfferingTypeT = Aws::String>
123 ReservedNodeOffering& WithOfferingType(OfferingTypeT&& value) { SetOfferingType(std::forward<OfferingTypeT>(value)); return *this;}
125
127
132 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
133 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
134 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
135 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
136 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
137 ReservedNodeOffering& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
138 template<typename RecurringChargesT = RecurringCharge>
139 ReservedNodeOffering& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
141
143
146 inline ReservedNodeOfferingType GetReservedNodeOfferingType() const { return m_reservedNodeOfferingType; }
147 inline bool ReservedNodeOfferingTypeHasBeenSet() const { return m_reservedNodeOfferingTypeHasBeenSet; }
148 inline void SetReservedNodeOfferingType(ReservedNodeOfferingType value) { m_reservedNodeOfferingTypeHasBeenSet = true; m_reservedNodeOfferingType = value; }
151 private:
152
153 Aws::String m_reservedNodeOfferingId;
154 bool m_reservedNodeOfferingIdHasBeenSet = false;
155
156 Aws::String m_nodeType;
157 bool m_nodeTypeHasBeenSet = false;
158
159 int m_duration{0};
160 bool m_durationHasBeenSet = false;
161
162 double m_fixedPrice{0.0};
163 bool m_fixedPriceHasBeenSet = false;
164
165 double m_usagePrice{0.0};
166 bool m_usagePriceHasBeenSet = false;
167
168 Aws::String m_currencyCode;
169 bool m_currencyCodeHasBeenSet = false;
170
171 Aws::String m_offeringType;
172 bool m_offeringTypeHasBeenSet = false;
173
174 Aws::Vector<RecurringCharge> m_recurringCharges;
175 bool m_recurringChargesHasBeenSet = false;
176
178 bool m_reservedNodeOfferingTypeHasBeenSet = false;
179 };
180
181} // namespace Model
182} // namespace Redshift
183} // 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