AWS SDK for C++  0.14.3
AWS SDK for C++
ReservedNode.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
22 
23 namespace Aws
24 {
25 namespace Utils
26 {
27 namespace Xml
28 {
29  class XmlNode;
30 } // namespace Xml
31 } // namespace Utils
32 namespace Redshift
33 {
34 namespace Model
35 {
36 
43  {
44  public:
45  ReservedNode();
46  ReservedNode(const Aws::Utils::Xml::XmlNode& xmlNode);
47  ReservedNode& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48 
49  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50  void OutputToStream(Aws::OStream& oStream, const char* location) const;
51 
55  inline const Aws::String& GetReservedNodeId() const{ return m_reservedNodeId; }
56 
60  inline void SetReservedNodeId(const Aws::String& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = value; }
61 
65  inline void SetReservedNodeId(Aws::String&& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = value; }
66 
70  inline void SetReservedNodeId(const char* value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId.assign(value); }
71 
75  inline ReservedNode& WithReservedNodeId(const Aws::String& value) { SetReservedNodeId(value); return *this;}
76 
80  inline ReservedNode& WithReservedNodeId(Aws::String&& value) { SetReservedNodeId(value); return *this;}
81 
85  inline ReservedNode& WithReservedNodeId(const char* value) { SetReservedNodeId(value); return *this;}
86 
90  inline const Aws::String& GetReservedNodeOfferingId() const{ return m_reservedNodeOfferingId; }
91 
95  inline void SetReservedNodeOfferingId(const Aws::String& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = value; }
96 
100  inline void SetReservedNodeOfferingId(Aws::String&& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = value; }
101 
105  inline void SetReservedNodeOfferingId(const char* value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId.assign(value); }
106 
110  inline ReservedNode& WithReservedNodeOfferingId(const Aws::String& value) { SetReservedNodeOfferingId(value); return *this;}
111 
115  inline ReservedNode& WithReservedNodeOfferingId(Aws::String&& value) { SetReservedNodeOfferingId(value); return *this;}
116 
120  inline ReservedNode& WithReservedNodeOfferingId(const char* value) { SetReservedNodeOfferingId(value); return *this;}
121 
125  inline const Aws::String& GetNodeType() const{ return m_nodeType; }
126 
130  inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
131 
135  inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
136 
140  inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); }
141 
145  inline ReservedNode& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;}
146 
150  inline ReservedNode& WithNodeType(Aws::String&& value) { SetNodeType(value); return *this;}
151 
155  inline ReservedNode& WithNodeType(const char* value) { SetNodeType(value); return *this;}
156 
161  inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
162 
167  inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
168 
173  inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
174 
179  inline ReservedNode& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
180 
185  inline ReservedNode& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(value); return *this;}
186 
190  inline int GetDuration() const{ return m_duration; }
191 
195  inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
196 
200  inline ReservedNode& WithDuration(int value) { SetDuration(value); return *this;}
201 
205  inline double GetFixedPrice() const{ return m_fixedPrice; }
206 
210  inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
211 
215  inline ReservedNode& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
216 
220  inline double GetUsagePrice() const{ return m_usagePrice; }
221 
225  inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
226 
230  inline ReservedNode& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
231 
235  inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; }
236 
240  inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
241 
245  inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
246 
250  inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); }
251 
255  inline ReservedNode& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;}
256 
260  inline ReservedNode& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(value); return *this;}
261 
265  inline ReservedNode& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;}
266 
270  inline int GetNodeCount() const{ return m_nodeCount; }
271 
275  inline void SetNodeCount(int value) { m_nodeCountHasBeenSet = true; m_nodeCount = value; }
276 
280  inline ReservedNode& WithNodeCount(int value) { SetNodeCount(value); return *this;}
281 
289  inline const Aws::String& GetState() const{ return m_state; }
290 
298  inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; }
299 
307  inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = value; }
308 
316  inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); }
317 
325  inline ReservedNode& WithState(const Aws::String& value) { SetState(value); return *this;}
326 
334  inline ReservedNode& WithState(Aws::String&& value) { SetState(value); return *this;}
335 
343  inline ReservedNode& WithState(const char* value) { SetState(value); return *this;}
344 
349  inline const Aws::String& GetOfferingType() const{ return m_offeringType; }
350 
355  inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
356 
361  inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
362 
367  inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); }
368 
373  inline ReservedNode& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;}
374 
379  inline ReservedNode& WithOfferingType(Aws::String&& value) { SetOfferingType(value); return *this;}
380 
385  inline ReservedNode& WithOfferingType(const char* value) { SetOfferingType(value); return *this;}
386 
390  inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
391 
395  inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
396 
400  inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
401 
405  inline ReservedNode& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
406 
410  inline ReservedNode& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(value); return *this;}
411 
415  inline ReservedNode& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
416 
420  inline ReservedNode& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
421 
422  private:
423  Aws::String m_reservedNodeId;
424  bool m_reservedNodeIdHasBeenSet;
425  Aws::String m_reservedNodeOfferingId;
426  bool m_reservedNodeOfferingIdHasBeenSet;
427  Aws::String m_nodeType;
428  bool m_nodeTypeHasBeenSet;
429  Aws::Utils::DateTime m_startTime;
430  bool m_startTimeHasBeenSet;
431  int m_duration;
432  bool m_durationHasBeenSet;
433  double m_fixedPrice;
434  bool m_fixedPriceHasBeenSet;
435  double m_usagePrice;
436  bool m_usagePriceHasBeenSet;
437  Aws::String m_currencyCode;
438  bool m_currencyCodeHasBeenSet;
439  int m_nodeCount;
440  bool m_nodeCountHasBeenSet;
441  Aws::String m_state;
442  bool m_stateHasBeenSet;
443  Aws::String m_offeringType;
444  bool m_offeringTypeHasBeenSet;
445  Aws::Vector<RecurringCharge> m_recurringCharges;
446  bool m_recurringChargesHasBeenSet;
447  };
448 
449 } // namespace Model
450 } // namespace Redshift
451 } // namespace Aws
const Aws::String & GetOfferingType() const
Definition: ReservedNode.h:349
ReservedNode & WithCurrencyCode(const char *value)
Definition: ReservedNode.h:265
const Aws::String & GetReservedNodeOfferingId() const
Definition: ReservedNode.h:90
ReservedNode & WithNodeType(const char *value)
Definition: ReservedNode.h:155
ReservedNode & WithUsagePrice(double value)
Definition: ReservedNode.h:230
void SetRecurringCharges(Aws::Vector< RecurringCharge > &&value)
Definition: ReservedNode.h:400
const Aws::String & GetNodeType() const
Definition: ReservedNode.h:125
ReservedNode & AddRecurringCharges(RecurringCharge &&value)
Definition: ReservedNode.h:420
ReservedNode & WithReservedNodeId(const char *value)
Definition: ReservedNode.h:85
void SetReservedNodeOfferingId(Aws::String &&value)
Definition: ReservedNode.h:100
const Aws::String & GetState() const
Definition: ReservedNode.h:289
void SetCurrencyCode(const char *value)
Definition: ReservedNode.h:250
void SetReservedNodeOfferingId(const char *value)
Definition: ReservedNode.h:105
ReservedNode & WithNodeType(Aws::String &&value)
Definition: ReservedNode.h:150
ReservedNode & WithDuration(int value)
Definition: ReservedNode.h:200
void SetNodeType(const Aws::String &value)
Definition: ReservedNode.h:130
ReservedNode & WithReservedNodeOfferingId(const char *value)
Definition: ReservedNode.h:120
ReservedNode & WithReservedNodeOfferingId(Aws::String &&value)
Definition: ReservedNode.h:115
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
ReservedNode & WithNodeCount(int value)
Definition: ReservedNode.h:280
void SetState(const char *value)
Definition: ReservedNode.h:316
void SetState(const Aws::String &value)
Definition: ReservedNode.h:298
void SetOfferingType(const char *value)
Definition: ReservedNode.h:367
ReservedNode & WithReservedNodeId(const Aws::String &value)
Definition: ReservedNode.h:75
ReservedNode & WithOfferingType(Aws::String &&value)
Definition: ReservedNode.h:379
void SetCurrencyCode(Aws::String &&value)
Definition: ReservedNode.h:245
ReservedNode & WithReservedNodeId(Aws::String &&value)
Definition: ReservedNode.h:80
ReservedNode & WithOfferingType(const char *value)
Definition: ReservedNode.h:385
void SetNodeType(const char *value)
Definition: ReservedNode.h:140
void SetStartTime(Aws::Utils::DateTime &&value)
Definition: ReservedNode.h:173
ReservedNode & WithCurrencyCode(Aws::String &&value)
Definition: ReservedNode.h:260
ReservedNode & WithNodeType(const Aws::String &value)
Definition: ReservedNode.h:145
void SetNodeType(Aws::String &&value)
Definition: ReservedNode.h:135
ReservedNode & WithRecurringCharges(Aws::Vector< RecurringCharge > &&value)
Definition: ReservedNode.h:410
ReservedNode & WithStartTime(const Aws::Utils::DateTime &value)
Definition: ReservedNode.h:179
#define AWS_REDSHIFT_API
void SetReservedNodeId(const Aws::String &value)
Definition: ReservedNode.h:60
ReservedNode & WithReservedNodeOfferingId(const Aws::String &value)
Definition: ReservedNode.h:110
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
Definition: ReservedNode.h:390
ReservedNode & WithCurrencyCode(const Aws::String &value)
Definition: ReservedNode.h:255
ReservedNode & WithRecurringCharges(const Aws::Vector< RecurringCharge > &value)
Definition: ReservedNode.h:405
ReservedNode & WithFixedPrice(double value)
Definition: ReservedNode.h:215
void SetReservedNodeId(Aws::String &&value)
Definition: ReservedNode.h:65
void SetStartTime(const Aws::Utils::DateTime &value)
Definition: ReservedNode.h:167
void SetReservedNodeOfferingId(const Aws::String &value)
Definition: ReservedNode.h:95
const Aws::Utils::DateTime & GetStartTime() const
Definition: ReservedNode.h:161
ReservedNode & AddRecurringCharges(const RecurringCharge &value)
Definition: ReservedNode.h:415
void SetReservedNodeId(const char *value)
Definition: ReservedNode.h:70
ReservedNode & WithOfferingType(const Aws::String &value)
Definition: ReservedNode.h:373
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::String & GetReservedNodeId() const
Definition: ReservedNode.h:55
void SetState(Aws::String &&value)
Definition: ReservedNode.h:307
void SetOfferingType(const Aws::String &value)
Definition: ReservedNode.h:355
void SetOfferingType(Aws::String &&value)
Definition: ReservedNode.h:361
const Aws::String & GetCurrencyCode() const
Definition: ReservedNode.h:235
void SetCurrencyCode(const Aws::String &value)
Definition: ReservedNode.h:240
ReservedNode & WithStartTime(Aws::Utils::DateTime &&value)
Definition: ReservedNode.h:185
void SetRecurringCharges(const Aws::Vector< RecurringCharge > &value)
Definition: ReservedNode.h:395
ReservedNode & WithState(const char *value)
Definition: ReservedNode.h:343
ReservedNode & WithState(Aws::String &&value)
Definition: ReservedNode.h:334
ReservedNode & WithState(const Aws::String &value)
Definition: ReservedNode.h:325
JSON (JavaScript Object Notation).