AWS SDK for C++  0.14.3
AWS SDK for C++
ReservedInstances.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
16 #include <aws/ec2/EC2_EXPORTS.h>
24 #include <aws/ec2/model/Tenancy.h>
27 #include <aws/ec2/model/Tag.h>
29 
30 namespace Aws
31 {
32 namespace Utils
33 {
34 namespace Xml
35 {
36  class XmlNode;
37 } // namespace Xml
38 } // namespace Utils
39 namespace EC2
40 {
41 namespace Model
42 {
43 
48  {
49  public:
52  ReservedInstances& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
53 
54  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
55  void OutputToStream(Aws::OStream& oStream, const char* location) const;
56 
60  inline const Aws::String& GetReservedInstancesId() const{ return m_reservedInstancesId; }
61 
65  inline void SetReservedInstancesId(const Aws::String& value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId = value; }
66 
70  inline void SetReservedInstancesId(Aws::String&& value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId = value; }
71 
75  inline void SetReservedInstancesId(const char* value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId.assign(value); }
76 
80  inline ReservedInstances& WithReservedInstancesId(const Aws::String& value) { SetReservedInstancesId(value); return *this;}
81 
85  inline ReservedInstances& WithReservedInstancesId(Aws::String&& value) { SetReservedInstancesId(value); return *this;}
86 
90  inline ReservedInstances& WithReservedInstancesId(const char* value) { SetReservedInstancesId(value); return *this;}
91 
95  inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
96 
100  inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
101 
105  inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
106 
110  inline ReservedInstances& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
111 
115  inline ReservedInstances& WithInstanceType(InstanceType&& value) { SetInstanceType(value); return *this;}
116 
120  inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
121 
125  inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
126 
130  inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
131 
135  inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
136 
140  inline ReservedInstances& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
141 
145  inline ReservedInstances& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(value); return *this;}
146 
150  inline ReservedInstances& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
151 
155  inline const Aws::Utils::DateTime& GetStart() const{ return m_start; }
156 
160  inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; }
161 
165  inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = value; }
166 
170  inline ReservedInstances& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;}
171 
175  inline ReservedInstances& WithStart(Aws::Utils::DateTime&& value) { SetStart(value); return *this;}
176 
180  inline const Aws::Utils::DateTime& GetEnd() const{ return m_end; }
181 
185  inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; }
186 
190  inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = value; }
191 
195  inline ReservedInstances& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;}
196 
200  inline ReservedInstances& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(value); return *this;}
201 
205  inline long long GetDuration() const{ return m_duration; }
206 
210  inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
211 
215  inline ReservedInstances& WithDuration(long long value) { SetDuration(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 ReservedInstances& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
231 
235  inline double GetFixedPrice() const{ return m_fixedPrice; }
236 
240  inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
241 
245  inline ReservedInstances& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
246 
250  inline int GetInstanceCount() const{ return m_instanceCount; }
251 
255  inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
256 
260  inline ReservedInstances& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
261 
265  inline const RIProductDescription& GetProductDescription() const{ return m_productDescription; }
266 
270  inline void SetProductDescription(const RIProductDescription& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
271 
275  inline void SetProductDescription(RIProductDescription&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
276 
280  inline ReservedInstances& WithProductDescription(const RIProductDescription& value) { SetProductDescription(value); return *this;}
281 
285  inline ReservedInstances& WithProductDescription(RIProductDescription&& value) { SetProductDescription(value); return *this;}
286 
290  inline const ReservedInstanceState& GetState() const{ return m_state; }
291 
295  inline void SetState(const ReservedInstanceState& value) { m_stateHasBeenSet = true; m_state = value; }
296 
300  inline void SetState(ReservedInstanceState&& value) { m_stateHasBeenSet = true; m_state = value; }
301 
305  inline ReservedInstances& WithState(const ReservedInstanceState& value) { SetState(value); return *this;}
306 
310  inline ReservedInstances& WithState(ReservedInstanceState&& value) { SetState(value); return *this;}
311 
315  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
316 
320  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
321 
325  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
326 
330  inline ReservedInstances& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
331 
335  inline ReservedInstances& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
336 
340  inline ReservedInstances& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
341 
345  inline ReservedInstances& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
346 
350  inline const Tenancy& GetInstanceTenancy() const{ return m_instanceTenancy; }
351 
355  inline void SetInstanceTenancy(const Tenancy& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
356 
360  inline void SetInstanceTenancy(Tenancy&& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
361 
365  inline ReservedInstances& WithInstanceTenancy(const Tenancy& value) { SetInstanceTenancy(value); return *this;}
366 
370  inline ReservedInstances& WithInstanceTenancy(Tenancy&& value) { SetInstanceTenancy(value); return *this;}
371 
377  inline const CurrencyCodeValues& GetCurrencyCode() const{ return m_currencyCode; }
378 
384  inline void SetCurrencyCode(const CurrencyCodeValues& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
385 
391  inline void SetCurrencyCode(CurrencyCodeValues&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
392 
398  inline ReservedInstances& WithCurrencyCode(const CurrencyCodeValues& value) { SetCurrencyCode(value); return *this;}
399 
405  inline ReservedInstances& WithCurrencyCode(CurrencyCodeValues&& value) { SetCurrencyCode(value); return *this;}
406 
410  inline const OfferingTypeValues& GetOfferingType() const{ return m_offeringType; }
411 
415  inline void SetOfferingType(const OfferingTypeValues& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
416 
420  inline void SetOfferingType(OfferingTypeValues&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
421 
425  inline ReservedInstances& WithOfferingType(const OfferingTypeValues& value) { SetOfferingType(value); return *this;}
426 
430  inline ReservedInstances& WithOfferingType(OfferingTypeValues&& value) { SetOfferingType(value); return *this;}
431 
435  inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
436 
440  inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
441 
445  inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
446 
450  inline ReservedInstances& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
451 
455  inline ReservedInstances& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(value); return *this;}
456 
460  inline ReservedInstances& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
461 
465  inline ReservedInstances& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
466 
467  private:
468  Aws::String m_reservedInstancesId;
469  bool m_reservedInstancesIdHasBeenSet;
470  InstanceType m_instanceType;
471  bool m_instanceTypeHasBeenSet;
472  Aws::String m_availabilityZone;
473  bool m_availabilityZoneHasBeenSet;
474  Aws::Utils::DateTime m_start;
475  bool m_startHasBeenSet;
476  Aws::Utils::DateTime m_end;
477  bool m_endHasBeenSet;
478  long long m_duration;
479  bool m_durationHasBeenSet;
480  double m_usagePrice;
481  bool m_usagePriceHasBeenSet;
482  double m_fixedPrice;
483  bool m_fixedPriceHasBeenSet;
484  int m_instanceCount;
485  bool m_instanceCountHasBeenSet;
486  RIProductDescription m_productDescription;
487  bool m_productDescriptionHasBeenSet;
488  ReservedInstanceState m_state;
489  bool m_stateHasBeenSet;
490  Aws::Vector<Tag> m_tags;
491  bool m_tagsHasBeenSet;
492  Tenancy m_instanceTenancy;
493  bool m_instanceTenancyHasBeenSet;
494  CurrencyCodeValues m_currencyCode;
495  bool m_currencyCodeHasBeenSet;
496  OfferingTypeValues m_offeringType;
497  bool m_offeringTypeHasBeenSet;
498  Aws::Vector<RecurringCharge> m_recurringCharges;
499  bool m_recurringChargesHasBeenSet;
500  };
501 
502 } // namespace Model
503 } // namespace EC2
504 } // namespace Aws
ReservedInstances & WithRecurringCharges(const Aws::Vector< RecurringCharge > &value)
const Tenancy & GetInstanceTenancy() const
const Aws::String & GetReservedInstancesId() const
void SetRecurringCharges(const Aws::Vector< RecurringCharge > &value)
void SetInstanceType(const InstanceType &value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
ReservedInstances & AddTags(Tag &&value)
void SetAvailabilityZone(Aws::String &&value)
ReservedInstances & WithDuration(long long value)
ReservedInstances & WithInstanceType(const InstanceType &value)
ReservedInstances & WithProductDescription(const RIProductDescription &value)
ReservedInstances & WithEnd(Aws::Utils::DateTime &&value)
ReservedInstances & WithInstanceCount(int value)
ReservedInstances & WithState(const ReservedInstanceState &value)
const InstanceType & GetInstanceType() const
void SetStart(Aws::Utils::DateTime &&value)
ReservedInstances & WithRecurringCharges(Aws::Vector< RecurringCharge > &&value)
ReservedInstances & AddTags(const Tag &value)
ReservedInstances & WithReservedInstancesId(Aws::String &&value)
void SetState(ReservedInstanceState &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetInstanceType(InstanceType &&value)
const RIProductDescription & GetProductDescription() const
void SetReservedInstancesId(const Aws::String &value)
void SetProductDescription(const RIProductDescription &value)
ReservedInstances & WithUsagePrice(double value)
const Aws::Vector< Tag > & GetTags() const
void SetProductDescription(RIProductDescription &&value)
const CurrencyCodeValues & GetCurrencyCode() const
ReservedInstances & WithReservedInstancesId(const Aws::String &value)
const Aws::Utils::DateTime & GetEnd() const
void SetOfferingType(OfferingTypeValues &&value)
ReservedInstances & WithInstanceTenancy(const Tenancy &value)
void SetCurrencyCode(const CurrencyCodeValues &value)
ReservedInstances & WithStart(Aws::Utils::DateTime &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
ReservedInstances & WithOfferingType(OfferingTypeValues &&value)
ReservedInstances & WithAvailabilityZone(const char *value)
void SetTags(const Aws::Vector< Tag > &value)
void SetOfferingType(const OfferingTypeValues &value)
void SetAvailabilityZone(const Aws::String &value)
ReservedInstances & AddRecurringCharges(RecurringCharge &&value)
void SetStart(const Aws::Utils::DateTime &value)
const ReservedInstanceState & GetState() const
ReservedInstances & WithCurrencyCode(CurrencyCodeValues &&value)
ReservedInstances & WithProductDescription(RIProductDescription &&value)
ReservedInstances & WithReservedInstancesId(const char *value)
const OfferingTypeValues & GetOfferingType() const
ReservedInstances & WithAvailabilityZone(const Aws::String &value)
void SetReservedInstancesId(const char *value)
const Aws::Utils::DateTime & GetStart() const
ReservedInstances & WithEnd(const Aws::Utils::DateTime &value)
ReservedInstances & WithCurrencyCode(const CurrencyCodeValues &value)
ReservedInstances & WithOfferingType(const OfferingTypeValues &value)
ReservedInstances & WithState(ReservedInstanceState &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ReservedInstances & WithTags(const Aws::Vector< Tag > &value)
void SetCurrencyCode(CurrencyCodeValues &&value)
const Aws::String & GetAvailabilityZone() const
void SetEnd(Aws::Utils::DateTime &&value)
void SetInstanceTenancy(Tenancy &&value)
void SetEnd(const Aws::Utils::DateTime &value)
void SetReservedInstancesId(Aws::String &&value)
void SetRecurringCharges(Aws::Vector< RecurringCharge > &&value)
ReservedInstances & AddRecurringCharges(const RecurringCharge &value)
ReservedInstances & WithFixedPrice(double value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
ReservedInstances & WithStart(const Aws::Utils::DateTime &value)
void SetAvailabilityZone(const char *value)
ReservedInstances & WithInstanceType(InstanceType &&value)
ReservedInstances & WithInstanceTenancy(Tenancy &&value)
void SetState(const ReservedInstanceState &value)
ReservedInstances & WithTags(Aws::Vector< Tag > &&value)
JSON (JavaScript Object Notation).
void SetTags(Aws::Vector< Tag > &&value)
ReservedInstances & WithAvailabilityZone(Aws::String &&value)
void SetInstanceTenancy(const Tenancy &value)