/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a Reserved Instance.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 ReservedInstances& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline ReservedInstances& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone in which the Reserved Instance can be used.
*/ inline ReservedInstances& 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 ReservedInstances& WithDuration(long long value) { SetDuration(value); return *this;} /** *The time when the Reserved Instance expires.
*/ inline const Aws::Utils::DateTime& GetEnd() const{ return m_end; } /** *The time when the Reserved Instance expires.
*/ inline bool EndHasBeenSet() const { return m_endHasBeenSet; } /** *The time when the Reserved Instance expires.
*/ inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; } /** *The time when the Reserved Instance expires.
*/ inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = std::move(value); } /** *The time when the Reserved Instance expires.
*/ inline ReservedInstances& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;} /** *The time when the Reserved Instance expires.
*/ inline ReservedInstances& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(std::move(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 ReservedInstances& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} /** *The number of reservations purchased.
*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *The number of reservations purchased.
*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *The number of reservations purchased.
*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *The number of reservations purchased.
*/ inline ReservedInstances& WithInstanceCount(int value) { SetInstanceCount(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 ReservedInstances& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;} /** *The instance type on which the Reserved Instance can be used.
*/ inline ReservedInstances& 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 ReservedInstances& WithProductDescription(const RIProductDescription& value) { SetProductDescription(value); return *this;} /** *The Reserved Instance product platform description.
*/ inline ReservedInstances& WithProductDescription(RIProductDescription&& value) { SetProductDescription(std::move(value)); return *this;} /** *The ID of the Reserved Instance.
*/ inline const Aws::String& GetReservedInstancesId() const{ return m_reservedInstancesId; } /** *The ID of the Reserved Instance.
*/ inline bool ReservedInstancesIdHasBeenSet() const { return m_reservedInstancesIdHasBeenSet; } /** *The ID of the Reserved Instance.
*/ inline void SetReservedInstancesId(const Aws::String& value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId = value; } /** *The ID of the Reserved Instance.
*/ inline void SetReservedInstancesId(Aws::String&& value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId = std::move(value); } /** *The ID of the Reserved Instance.
*/ inline void SetReservedInstancesId(const char* value) { m_reservedInstancesIdHasBeenSet = true; m_reservedInstancesId.assign(value); } /** *The ID of the Reserved Instance.
*/ inline ReservedInstances& WithReservedInstancesId(const Aws::String& value) { SetReservedInstancesId(value); return *this;} /** *The ID of the Reserved Instance.
*/ inline ReservedInstances& WithReservedInstancesId(Aws::String&& value) { SetReservedInstancesId(std::move(value)); return *this;} /** *The ID of the Reserved Instance.
*/ inline ReservedInstances& WithReservedInstancesId(const char* value) { SetReservedInstancesId(value); return *this;} /** *The date and time the Reserved Instance started.
*/ inline const Aws::Utils::DateTime& GetStart() const{ return m_start; } /** *The date and time the Reserved Instance started.
*/ inline bool StartHasBeenSet() const { return m_startHasBeenSet; } /** *The date and time the Reserved Instance started.
*/ inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; } /** *The date and time the Reserved Instance started.
*/ inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = std::move(value); } /** *The date and time the Reserved Instance started.
*/ inline ReservedInstances& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;} /** *The date and time the Reserved Instance started.
*/ inline ReservedInstances& WithStart(Aws::Utils::DateTime&& value) { SetStart(std::move(value)); return *this;} /** *The state of the Reserved Instance purchase.
*/ inline const ReservedInstanceState& GetState() const{ return m_state; } /** *The state of the Reserved Instance purchase.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The state of the Reserved Instance purchase.
*/ inline void SetState(const ReservedInstanceState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The state of the Reserved Instance purchase.
*/ inline void SetState(ReservedInstanceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The state of the Reserved Instance purchase.
*/ inline ReservedInstances& WithState(const ReservedInstanceState& value) { SetState(value); return *this;} /** *The state of the Reserved Instance purchase.
*/ inline ReservedInstances& WithState(ReservedInstanceState&& value) { SetState(std::move(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 ReservedInstances& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} /** *The currency of the Reserved Instance. It's specified using ISO 4217 standard
* currency codes. At this time, the only supported currency is
* USD
.
The currency of the Reserved Instance. It's specified using ISO 4217 standard
* currency codes. At this time, the only supported currency is
* USD
.
The currency of the Reserved Instance. It's specified using ISO 4217 standard
* currency codes. At this time, the only supported currency is
* USD
.
The currency of the Reserved Instance. It's specified using ISO 4217 standard
* currency codes. At this time, the only supported currency is
* USD
.
The currency of the Reserved Instance. It's specified using ISO 4217 standard
* currency codes. At this time, the only supported currency is
* USD
.
The currency of the Reserved Instance. 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 ReservedInstances& WithInstanceTenancy(const Tenancy& value) { SetInstanceTenancy(value); return *this;} /** *The tenancy of the instance.
*/ inline ReservedInstances& WithInstanceTenancy(Tenancy&& value) { SetInstanceTenancy(std::move(value)); return *this;} /** *The offering class of the Reserved Instance.
*/ inline const OfferingClassType& GetOfferingClass() const{ return m_offeringClass; } /** *The offering class of the Reserved Instance.
*/ inline bool OfferingClassHasBeenSet() const { return m_offeringClassHasBeenSet; } /** *The offering class of the Reserved Instance.
*/ inline void SetOfferingClass(const OfferingClassType& value) { m_offeringClassHasBeenSet = true; m_offeringClass = value; } /** *The offering class of the Reserved Instance.
*/ inline void SetOfferingClass(OfferingClassType&& value) { m_offeringClassHasBeenSet = true; m_offeringClass = std::move(value); } /** *The offering class of the Reserved Instance.
*/ inline ReservedInstances& WithOfferingClass(const OfferingClassType& value) { SetOfferingClass(value); return *this;} /** *The offering class of the Reserved Instance.
*/ inline ReservedInstances& WithOfferingClass(OfferingClassType&& value) { SetOfferingClass(std::move(value)); return *this;} /** *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 ReservedInstances& WithOfferingType(const OfferingTypeValues& value) { SetOfferingType(value); return *this;} /** *The Reserved Instance offering type.
*/ inline ReservedInstances& WithOfferingType(OfferingTypeValues&& value) { SetOfferingType(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 ReservedInstances& WithRecurringCharges(const Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline ReservedInstances& WithRecurringCharges(Aws::VectorThe recurring charge tag assigned to the resource.
*/ inline ReservedInstances& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; } /** *The recurring charge tag assigned to the resource.
*/ inline ReservedInstances& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; } /** *The scope of the Reserved Instance.
*/ inline const Scope& GetScope() const{ return m_scope; } /** *The scope of the Reserved Instance.
*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *The scope of the Reserved Instance.
*/ inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *The scope of the Reserved Instance.
*/ inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *The scope of the Reserved Instance.
*/ inline ReservedInstances& WithScope(const Scope& value) { SetScope(value); return *this;} /** *The scope of the Reserved Instance.
*/ inline ReservedInstances& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;} /** *Any tags assigned to the resource.
*/ inline const Aws::VectorAny tags assigned to the resource.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *Any tags assigned to the resource.
*/ inline void SetTags(const Aws::VectorAny tags assigned to the resource.
*/ inline void SetTags(Aws::VectorAny tags assigned to the resource.
*/ inline ReservedInstances& WithTags(const Aws::VectorAny tags assigned to the resource.
*/ inline ReservedInstances& WithTags(Aws::VectorAny tags assigned to the resource.
*/ inline ReservedInstances& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *Any tags assigned to the resource.
*/ inline ReservedInstances& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; long long m_duration; bool m_durationHasBeenSet = false; Aws::Utils::DateTime m_end; bool m_endHasBeenSet = false; double m_fixedPrice; bool m_fixedPriceHasBeenSet = false; int m_instanceCount; bool m_instanceCountHasBeenSet = false; InstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; RIProductDescription m_productDescription; bool m_productDescriptionHasBeenSet = false; Aws::String m_reservedInstancesId; bool m_reservedInstancesIdHasBeenSet = false; Aws::Utils::DateTime m_start; bool m_startHasBeenSet = false; ReservedInstanceState m_state; bool m_stateHasBeenSet = false; double m_usagePrice; bool m_usagePriceHasBeenSet = false; CurrencyCodeValues m_currencyCode; bool m_currencyCodeHasBeenSet = false; Tenancy m_instanceTenancy; bool m_instanceTenancyHasBeenSet = false; OfferingClassType m_offeringClass; bool m_offeringClassHasBeenSet = false; OfferingTypeValues m_offeringType; bool m_offeringTypeHasBeenSet = false; Aws::Vector