AWS SDK for C++  0.14.3
AWS SDK for C++
ReservedInstancesOffering.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>
21 #include <aws/ec2/model/Tenancy.h>
27 
28 namespace Aws
29 {
30 namespace Utils
31 {
32 namespace Xml
33 {
34  class XmlNode;
35 } // namespace Xml
36 } // namespace Utils
37 namespace EC2
38 {
39 namespace Model
40 {
41 
46  {
47  public:
50  ReservedInstancesOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
51 
52  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
53  void OutputToStream(Aws::OStream& oStream, const char* location) const;
54 
58  inline const Aws::String& GetReservedInstancesOfferingId() const{ return m_reservedInstancesOfferingId; }
59 
63  inline void SetReservedInstancesOfferingId(const Aws::String& value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId = value; }
64 
68  inline void SetReservedInstancesOfferingId(Aws::String&& value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId = value; }
69 
73  inline void SetReservedInstancesOfferingId(const char* value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId.assign(value); }
74 
78  inline ReservedInstancesOffering& WithReservedInstancesOfferingId(const Aws::String& value) { SetReservedInstancesOfferingId(value); return *this;}
79 
83  inline ReservedInstancesOffering& WithReservedInstancesOfferingId(Aws::String&& value) { SetReservedInstancesOfferingId(value); return *this;}
84 
88  inline ReservedInstancesOffering& WithReservedInstancesOfferingId(const char* value) { SetReservedInstancesOfferingId(value); return *this;}
89 
93  inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
94 
98  inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
99 
103  inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
104 
108  inline ReservedInstancesOffering& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
109 
113  inline ReservedInstancesOffering& WithInstanceType(InstanceType&& value) { SetInstanceType(value); return *this;}
114 
118  inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
119 
123  inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
124 
128  inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
129 
133  inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
134 
138  inline ReservedInstancesOffering& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
139 
143  inline ReservedInstancesOffering& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(value); return *this;}
144 
148  inline ReservedInstancesOffering& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
149 
153  inline long long GetDuration() const{ return m_duration; }
154 
158  inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
159 
163  inline ReservedInstancesOffering& WithDuration(long long value) { SetDuration(value); return *this;}
164 
168  inline double GetUsagePrice() const{ return m_usagePrice; }
169 
173  inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
174 
178  inline ReservedInstancesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
179 
183  inline double GetFixedPrice() const{ return m_fixedPrice; }
184 
188  inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
189 
193  inline ReservedInstancesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
194 
198  inline const RIProductDescription& GetProductDescription() const{ return m_productDescription; }
199 
203  inline void SetProductDescription(const RIProductDescription& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
204 
208  inline void SetProductDescription(RIProductDescription&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
209 
213  inline ReservedInstancesOffering& WithProductDescription(const RIProductDescription& value) { SetProductDescription(value); return *this;}
214 
218  inline ReservedInstancesOffering& WithProductDescription(RIProductDescription&& value) { SetProductDescription(value); return *this;}
219 
223  inline const Tenancy& GetInstanceTenancy() const{ return m_instanceTenancy; }
224 
228  inline void SetInstanceTenancy(const Tenancy& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
229 
233  inline void SetInstanceTenancy(Tenancy&& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
234 
238  inline ReservedInstancesOffering& WithInstanceTenancy(const Tenancy& value) { SetInstanceTenancy(value); return *this;}
239 
243  inline ReservedInstancesOffering& WithInstanceTenancy(Tenancy&& value) { SetInstanceTenancy(value); return *this;}
244 
250  inline const CurrencyCodeValues& GetCurrencyCode() const{ return m_currencyCode; }
251 
257  inline void SetCurrencyCode(const CurrencyCodeValues& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
258 
264  inline void SetCurrencyCode(CurrencyCodeValues&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
265 
271  inline ReservedInstancesOffering& WithCurrencyCode(const CurrencyCodeValues& value) { SetCurrencyCode(value); return *this;}
272 
278  inline ReservedInstancesOffering& WithCurrencyCode(CurrencyCodeValues&& value) { SetCurrencyCode(value); return *this;}
279 
283  inline const OfferingTypeValues& GetOfferingType() const{ return m_offeringType; }
284 
288  inline void SetOfferingType(const OfferingTypeValues& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
289 
293  inline void SetOfferingType(OfferingTypeValues&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
294 
298  inline ReservedInstancesOffering& WithOfferingType(const OfferingTypeValues& value) { SetOfferingType(value); return *this;}
299 
303  inline ReservedInstancesOffering& WithOfferingType(OfferingTypeValues&& value) { SetOfferingType(value); return *this;}
304 
308  inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
309 
313  inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
314 
318  inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
319 
323  inline ReservedInstancesOffering& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
324 
328  inline ReservedInstancesOffering& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(value); return *this;}
329 
333  inline ReservedInstancesOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
334 
338  inline ReservedInstancesOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
339 
345  inline bool GetMarketplace() const{ return m_marketplace; }
346 
352  inline void SetMarketplace(bool value) { m_marketplaceHasBeenSet = true; m_marketplace = value; }
353 
359  inline ReservedInstancesOffering& WithMarketplace(bool value) { SetMarketplace(value); return *this;}
360 
364  inline const Aws::Vector<PricingDetail>& GetPricingDetails() const{ return m_pricingDetails; }
365 
369  inline void SetPricingDetails(const Aws::Vector<PricingDetail>& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails = value; }
370 
374  inline void SetPricingDetails(Aws::Vector<PricingDetail>&& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails = value; }
375 
379  inline ReservedInstancesOffering& WithPricingDetails(const Aws::Vector<PricingDetail>& value) { SetPricingDetails(value); return *this;}
380 
384  inline ReservedInstancesOffering& WithPricingDetails(Aws::Vector<PricingDetail>&& value) { SetPricingDetails(value); return *this;}
385 
389  inline ReservedInstancesOffering& AddPricingDetails(const PricingDetail& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails.push_back(value); return *this; }
390 
394  inline ReservedInstancesOffering& AddPricingDetails(PricingDetail&& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails.push_back(value); return *this; }
395 
396  private:
397  Aws::String m_reservedInstancesOfferingId;
398  bool m_reservedInstancesOfferingIdHasBeenSet;
399  InstanceType m_instanceType;
400  bool m_instanceTypeHasBeenSet;
401  Aws::String m_availabilityZone;
402  bool m_availabilityZoneHasBeenSet;
403  long long m_duration;
404  bool m_durationHasBeenSet;
405  double m_usagePrice;
406  bool m_usagePriceHasBeenSet;
407  double m_fixedPrice;
408  bool m_fixedPriceHasBeenSet;
409  RIProductDescription m_productDescription;
410  bool m_productDescriptionHasBeenSet;
411  Tenancy m_instanceTenancy;
412  bool m_instanceTenancyHasBeenSet;
413  CurrencyCodeValues m_currencyCode;
414  bool m_currencyCodeHasBeenSet;
415  OfferingTypeValues m_offeringType;
416  bool m_offeringTypeHasBeenSet;
417  Aws::Vector<RecurringCharge> m_recurringCharges;
418  bool m_recurringChargesHasBeenSet;
419  bool m_marketplace;
420  bool m_marketplaceHasBeenSet;
421  Aws::Vector<PricingDetail> m_pricingDetails;
422  bool m_pricingDetailsHasBeenSet;
423  };
424 
425 } // namespace Model
426 } // namespace EC2
427 } // namespace Aws
const RIProductDescription & GetProductDescription() const
void SetProductDescription(const RIProductDescription &value)
ReservedInstancesOffering & WithRecurringCharges(const Aws::Vector< RecurringCharge > &value)
ReservedInstancesOffering & WithInstanceType(const InstanceType &value)
void SetRecurringCharges(const Aws::Vector< RecurringCharge > &value)
ReservedInstancesOffering & WithInstanceTenancy(const Tenancy &value)
void SetPricingDetails(Aws::Vector< PricingDetail > &&value)
ReservedInstancesOffering & AddPricingDetails(PricingDetail &&value)
void SetRecurringCharges(Aws::Vector< RecurringCharge > &&value)
void SetCurrencyCode(CurrencyCodeValues &&value)
ReservedInstancesOffering & WithPricingDetails(const Aws::Vector< PricingDetail > &value)
void SetCurrencyCode(const CurrencyCodeValues &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetOfferingType(const OfferingTypeValues &value)
ReservedInstancesOffering & WithRecurringCharges(Aws::Vector< RecurringCharge > &&value)
ReservedInstancesOffering & WithFixedPrice(double value)
ReservedInstancesOffering & WithInstanceTenancy(Tenancy &&value)
void SetProductDescription(RIProductDescription &&value)
void SetPricingDetails(const Aws::Vector< PricingDetail > &value)
ReservedInstancesOffering & WithAvailabilityZone(const char *value)
ReservedInstancesOffering & WithAvailabilityZone(const Aws::String &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
ReservedInstancesOffering & WithReservedInstancesOfferingId(const Aws::String &value)
ReservedInstancesOffering & WithReservedInstancesOfferingId(const char *value)
void SetOfferingType(OfferingTypeValues &&value)
ReservedInstancesOffering & WithPricingDetails(Aws::Vector< PricingDetail > &&value)
ReservedInstancesOffering & AddRecurringCharges(RecurringCharge &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
ReservedInstancesOffering & WithCurrencyCode(CurrencyCodeValues &&value)
ReservedInstancesOffering & WithOfferingType(const OfferingTypeValues &value)
ReservedInstancesOffering & WithMarketplace(bool value)
ReservedInstancesOffering & WithOfferingType(OfferingTypeValues &&value)
ReservedInstancesOffering & WithUsagePrice(double value)
ReservedInstancesOffering & WithInstanceType(InstanceType &&value)
const OfferingTypeValues & GetOfferingType() const
ReservedInstancesOffering & WithProductDescription(RIProductDescription &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ReservedInstancesOffering & WithDuration(long long value)
const Aws::Vector< PricingDetail > & GetPricingDetails() const
ReservedInstancesOffering & WithAvailabilityZone(Aws::String &&value)
ReservedInstancesOffering & WithReservedInstancesOfferingId(Aws::String &&value)
ReservedInstancesOffering & WithCurrencyCode(const CurrencyCodeValues &value)
void SetReservedInstancesOfferingId(const Aws::String &value)
ReservedInstancesOffering & AddPricingDetails(const PricingDetail &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
const CurrencyCodeValues & GetCurrencyCode() const
ReservedInstancesOffering & WithProductDescription(const RIProductDescription &value)
const Aws::String & GetReservedInstancesOfferingId() const
ReservedInstancesOffering & AddRecurringCharges(const RecurringCharge &value)
JSON (JavaScript Object Notation).