/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a Reserved Instance offering.See Also:
AWS
* API Reference
The Availability Zone in which the Reserved Instance can be used.
*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline ReservedInstancesOffering& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline ReservedInstancesOffering& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline ReservedInstancesOffering& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *The duration of the Reserved Instance, in seconds.
*/ inline long long GetDuration() const{ return m_duration; } /** *The duration of the Reserved Instance, in seconds.
*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *The duration of the Reserved Instance, in seconds.
*/ inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } /** *The duration of the Reserved Instance, in seconds.
*/ inline ReservedInstancesOffering& WithDuration(long long value) { SetDuration(value); return *this;} /** *The purchase price of the Reserved Instance.
*/ inline double GetFixedPrice() const{ return m_fixedPrice; } /** *The purchase price of the Reserved Instance.
*/ inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; } /** *The purchase price of the Reserved Instance.
*/ inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; } /** *The purchase price of the Reserved Instance.
*/ inline ReservedInstancesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} /** *The instance type on which the Reserved Instance can be used.
*/ inline const InstanceType& GetInstanceType() const{ return m_instanceType; } /** *The instance type on which the Reserved Instance can be used.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type on which the Reserved Instance can be used.
*/ inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type on which the Reserved Instance can be used.
*/ inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type on which the Reserved Instance can be used.
*/ inline ReservedInstancesOffering& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;} /** *The instance type on which the Reserved Instance can be used.
*/ inline ReservedInstancesOffering& WithInstanceType(InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *The Reserved Instance product platform description.
*/ inline const RIProductDescription& GetProductDescription() const{ return m_productDescription; } /** *The Reserved Instance product platform description.
*/ inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; } /** *The Reserved Instance product platform description.
*/ inline void SetProductDescription(const RIProductDescription& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; } /** *The Reserved Instance product platform description.
*/ inline void SetProductDescription(RIProductDescription&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); } /** *The Reserved Instance product platform description.
*/ inline ReservedInstancesOffering& WithProductDescription(const RIProductDescription& value) { SetProductDescription(value); return *this;} /** *The Reserved Instance product platform description.
*/ inline ReservedInstancesOffering& WithProductDescription(RIProductDescription&& value) { SetProductDescription(std::move(value)); return *this;} /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline const Aws::String& GetReservedInstancesOfferingId() const{ return m_reservedInstancesOfferingId; } /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline bool ReservedInstancesOfferingIdHasBeenSet() const { return m_reservedInstancesOfferingIdHasBeenSet; } /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline void SetReservedInstancesOfferingId(const Aws::String& value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId = value; } /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline void SetReservedInstancesOfferingId(Aws::String&& value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId = std::move(value); } /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline void SetReservedInstancesOfferingId(const char* value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId.assign(value); } /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline ReservedInstancesOffering& WithReservedInstancesOfferingId(const Aws::String& value) { SetReservedInstancesOfferingId(value); return *this;} /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline ReservedInstancesOffering& WithReservedInstancesOfferingId(Aws::String&& value) { SetReservedInstancesOfferingId(std::move(value)); return *this;} /** *The ID of the Reserved Instance offering. This is the offering ID used in * GetReservedInstancesExchangeQuote to confirm that an exchange can be * made.
*/ inline ReservedInstancesOffering& WithReservedInstancesOfferingId(const char* value) { SetReservedInstancesOfferingId(value); return *this;} /** *The usage price of the Reserved Instance, per hour.
*/ inline double GetUsagePrice() const{ return m_usagePrice; } /** *The usage price of the Reserved Instance, per hour.
*/ inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; } /** *The usage price of the Reserved Instance, per hour.
*/ inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; } /** *The usage price of the Reserved Instance, per hour.
*/ inline ReservedInstancesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} /** *The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The currency of the Reserved Instance offering you are purchasing. It's
* specified using ISO 4217 standard currency codes. At this time, the only
* supported currency is USD
.
The tenancy of the instance.
*/ inline const Tenancy& GetInstanceTenancy() const{ return m_instanceTenancy; } /** *The tenancy of the instance.
*/ inline bool InstanceTenancyHasBeenSet() const { return m_instanceTenancyHasBeenSet; } /** *The tenancy of the instance.
*/ inline void SetInstanceTenancy(const Tenancy& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; } /** *The tenancy of the instance.
*/ inline void SetInstanceTenancy(Tenancy&& value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = std::move(value); } /** *The tenancy of the instance.
*/ inline ReservedInstancesOffering& WithInstanceTenancy(const Tenancy& value) { SetInstanceTenancy(value); return *this;} /** *The tenancy of the instance.
*/ inline ReservedInstancesOffering& WithInstanceTenancy(Tenancy&& value) { SetInstanceTenancy(std::move(value)); return *this;} /** *Indicates whether the offering is available through the Reserved Instance
* Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance
* Marketplace offering, this is true
.
Indicates whether the offering is available through the Reserved Instance
* Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance
* Marketplace offering, this is true
.
Indicates whether the offering is available through the Reserved Instance
* Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance
* Marketplace offering, this is true
.
Indicates whether the offering is available through the Reserved Instance
* Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance
* Marketplace offering, this is true
.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
If convertible
it can be exchanged for Reserved Instances of the
* same or higher monetary value, with different configurations. If
* standard
, it is not possible to perform an exchange.
The Reserved Instance offering type.
*/ inline const OfferingTypeValues& GetOfferingType() const{ return m_offeringType; } /** *The Reserved Instance offering type.
*/ inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; } /** *The Reserved Instance offering type.
*/ inline void SetOfferingType(const OfferingTypeValues& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; } /** *The Reserved Instance offering type.
*/ inline void SetOfferingType(OfferingTypeValues&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); } /** *The Reserved Instance offering type.
*/ inline ReservedInstancesOffering& WithOfferingType(const OfferingTypeValues& value) { SetOfferingType(value); return *this;} /** *The Reserved Instance offering type.
*/ inline ReservedInstancesOffering& WithOfferingType(OfferingTypeValues&& value) { SetOfferingType(std::move(value)); return *this;} /** *The pricing details of the Reserved Instance offering.
*/ inline const Aws::VectorThe pricing details of the Reserved Instance offering.
*/ inline bool PricingDetailsHasBeenSet() const { return m_pricingDetailsHasBeenSet; } /** *The pricing details of the Reserved Instance offering.
*/ inline void SetPricingDetails(const Aws::VectorThe pricing details of the Reserved Instance offering.
*/ inline void SetPricingDetails(Aws::VectorThe pricing details of the Reserved Instance offering.
*/ inline ReservedInstancesOffering& WithPricingDetails(const Aws::VectorThe pricing details of the Reserved Instance offering.
*/ inline ReservedInstancesOffering& WithPricingDetails(Aws::VectorThe pricing details of the Reserved Instance offering.
*/ inline ReservedInstancesOffering& AddPricingDetails(const PricingDetail& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails.push_back(value); return *this; } /** *The pricing details of the Reserved Instance offering.
*/ inline ReservedInstancesOffering& AddPricingDetails(PricingDetail&& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails.push_back(std::move(value)); return *this; } /** *The recurring charge tag assigned to the resource.
*/ inline const Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; } /** *The recurring charge tag assigned to the resource.
*/ inline void SetRecurringCharges(const Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline void SetRecurringCharges(Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline ReservedInstancesOffering& WithRecurringCharges(const Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline ReservedInstancesOffering& WithRecurringCharges(Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline ReservedInstancesOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; } /** *The recurring charge tag assigned to the resource.
*/ inline ReservedInstancesOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; } /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline const Scope& GetScope() const{ return m_scope; } /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline ReservedInstancesOffering& WithScope(const Scope& value) { SetScope(value); return *this;} /** *Whether the Reserved Instance is applied to instances in a Region or an * Availability Zone.
*/ inline ReservedInstancesOffering& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;} private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; long long m_duration; bool m_durationHasBeenSet = false; double m_fixedPrice; bool m_fixedPriceHasBeenSet = false; InstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; RIProductDescription m_productDescription; bool m_productDescriptionHasBeenSet = false; Aws::String m_reservedInstancesOfferingId; bool m_reservedInstancesOfferingIdHasBeenSet = false; double m_usagePrice; bool m_usagePriceHasBeenSet = false; CurrencyCodeValues m_currencyCode; bool m_currencyCodeHasBeenSet = false; Tenancy m_instanceTenancy; bool m_instanceTenancyHasBeenSet = false; bool m_marketplace; bool m_marketplaceHasBeenSet = false; OfferingClassType m_offeringClass; bool m_offeringClassHasBeenSet = false; OfferingTypeValues m_offeringType; bool m_offeringTypeHasBeenSet = false; Aws::Vector