AWS SDK for C++  0.14.3
AWS SDK for C++
ReservedNodeOffering.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Xml
27 {
28  class XmlNode;
29 } // namespace Xml
30 } // namespace Utils
31 namespace Redshift
32 {
33 namespace Model
34 {
35 
40  {
41  public:
44  ReservedNodeOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
45 
46  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47  void OutputToStream(Aws::OStream& oStream, const char* location) const;
48 
52  inline const Aws::String& GetReservedNodeOfferingId() const{ return m_reservedNodeOfferingId; }
53 
57  inline void SetReservedNodeOfferingId(const Aws::String& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = value; }
58 
62  inline void SetReservedNodeOfferingId(Aws::String&& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = value; }
63 
67  inline void SetReservedNodeOfferingId(const char* value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId.assign(value); }
68 
72  inline ReservedNodeOffering& WithReservedNodeOfferingId(const Aws::String& value) { SetReservedNodeOfferingId(value); return *this;}
73 
77  inline ReservedNodeOffering& WithReservedNodeOfferingId(Aws::String&& value) { SetReservedNodeOfferingId(value); return *this;}
78 
82  inline ReservedNodeOffering& WithReservedNodeOfferingId(const char* value) { SetReservedNodeOfferingId(value); return *this;}
83 
87  inline const Aws::String& GetNodeType() const{ return m_nodeType; }
88 
92  inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
93 
97  inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
98 
102  inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); }
103 
107  inline ReservedNodeOffering& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;}
108 
112  inline ReservedNodeOffering& WithNodeType(Aws::String&& value) { SetNodeType(value); return *this;}
113 
117  inline ReservedNodeOffering& WithNodeType(const char* value) { SetNodeType(value); return *this;}
118 
122  inline int GetDuration() const{ return m_duration; }
123 
127  inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
128 
132  inline ReservedNodeOffering& WithDuration(int value) { SetDuration(value); return *this;}
133 
138  inline double GetFixedPrice() const{ return m_fixedPrice; }
139 
144  inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
145 
150  inline ReservedNodeOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
151 
156  inline double GetUsagePrice() const{ return m_usagePrice; }
157 
162  inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
163 
168  inline ReservedNodeOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
169 
173  inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; }
174 
178  inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
179 
183  inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
184 
188  inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); }
189 
193  inline ReservedNodeOffering& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;}
194 
198  inline ReservedNodeOffering& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(value); return *this;}
199 
203  inline ReservedNodeOffering& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;}
204 
209  inline const Aws::String& GetOfferingType() const{ return m_offeringType; }
210 
215  inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
216 
221  inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
222 
227  inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); }
228 
233  inline ReservedNodeOffering& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;}
234 
239  inline ReservedNodeOffering& WithOfferingType(Aws::String&& value) { SetOfferingType(value); return *this;}
240 
245  inline ReservedNodeOffering& WithOfferingType(const char* value) { SetOfferingType(value); return *this;}
246 
252  inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
253 
259  inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
260 
266  inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
267 
273  inline ReservedNodeOffering& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
274 
280  inline ReservedNodeOffering& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(value); return *this;}
281 
287  inline ReservedNodeOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
288 
294  inline ReservedNodeOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
295 
296  private:
297  Aws::String m_reservedNodeOfferingId;
298  bool m_reservedNodeOfferingIdHasBeenSet;
299  Aws::String m_nodeType;
300  bool m_nodeTypeHasBeenSet;
301  int m_duration;
302  bool m_durationHasBeenSet;
303  double m_fixedPrice;
304  bool m_fixedPriceHasBeenSet;
305  double m_usagePrice;
306  bool m_usagePriceHasBeenSet;
307  Aws::String m_currencyCode;
308  bool m_currencyCodeHasBeenSet;
309  Aws::String m_offeringType;
310  bool m_offeringTypeHasBeenSet;
311  Aws::Vector<RecurringCharge> m_recurringCharges;
312  bool m_recurringChargesHasBeenSet;
313  };
314 
315 } // namespace Model
316 } // namespace Redshift
317 } // namespace Aws
ReservedNodeOffering & WithNodeType(const char *value)
ReservedNodeOffering & WithCurrencyCode(const Aws::String &value)
ReservedNodeOffering & WithOfferingType(const char *value)
void SetNodeType(const Aws::String &value)
ReservedNodeOffering & WithUsagePrice(double value)
void SetReservedNodeOfferingId(Aws::String &&value)
ReservedNodeOffering & AddRecurringCharges(RecurringCharge &&value)
ReservedNodeOffering & WithRecurringCharges(Aws::Vector< RecurringCharge > &&value)
ReservedNodeOffering & WithFixedPrice(double value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetRecurringCharges(const Aws::Vector< RecurringCharge > &value)
ReservedNodeOffering & WithCurrencyCode(const char *value)
ReservedNodeOffering & WithReservedNodeOfferingId(const char *value)
ReservedNodeOffering & WithReservedNodeOfferingId(const Aws::String &value)
ReservedNodeOffering & WithDuration(int value)
#define AWS_REDSHIFT_API
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
ReservedNodeOffering & WithNodeType(Aws::String &&value)
ReservedNodeOffering & WithReservedNodeOfferingId(Aws::String &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
void SetReservedNodeOfferingId(const Aws::String &value)
ReservedNodeOffering & WithOfferingType(Aws::String &&value)
ReservedNodeOffering & WithRecurringCharges(const Aws::Vector< RecurringCharge > &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ReservedNodeOffering & AddRecurringCharges(const RecurringCharge &value)
void SetCurrencyCode(const Aws::String &value)
const Aws::String & GetReservedNodeOfferingId() const
ReservedNodeOffering & WithCurrencyCode(Aws::String &&value)
void SetRecurringCharges(Aws::Vector< RecurringCharge > &&value)
void SetOfferingType(const Aws::String &value)
ReservedNodeOffering & WithNodeType(const Aws::String &value)
JSON (JavaScript Object Notation).
ReservedNodeOffering & WithOfferingType(const Aws::String &value)