/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a reserved node. You can call the
* DescribeReservedNodeOfferings API to obtain the available reserved node
* offerings. See Also:
AWS
* API Reference
The unique identifier for the reservation.
*/ inline const Aws::String& GetReservedNodeId() const{ return m_reservedNodeId; } /** *The unique identifier for the reservation.
*/ inline bool ReservedNodeIdHasBeenSet() const { return m_reservedNodeIdHasBeenSet; } /** *The unique identifier for the reservation.
*/ inline void SetReservedNodeId(const Aws::String& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = value; } /** *The unique identifier for the reservation.
*/ inline void SetReservedNodeId(Aws::String&& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = std::move(value); } /** *The unique identifier for the reservation.
*/ inline void SetReservedNodeId(const char* value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId.assign(value); } /** *The unique identifier for the reservation.
*/ inline ReservedNode& WithReservedNodeId(const Aws::String& value) { SetReservedNodeId(value); return *this;} /** *The unique identifier for the reservation.
*/ inline ReservedNode& WithReservedNodeId(Aws::String&& value) { SetReservedNodeId(std::move(value)); return *this;} /** *The unique identifier for the reservation.
*/ inline ReservedNode& WithReservedNodeId(const char* value) { SetReservedNodeId(value); return *this;} /** *The identifier for the reserved node offering.
*/ inline const Aws::String& GetReservedNodeOfferingId() const{ return m_reservedNodeOfferingId; } /** *The identifier for the reserved node offering.
*/ inline bool ReservedNodeOfferingIdHasBeenSet() const { return m_reservedNodeOfferingIdHasBeenSet; } /** *The identifier for the reserved node offering.
*/ inline void SetReservedNodeOfferingId(const Aws::String& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = value; } /** *The identifier for the reserved node offering.
*/ inline void SetReservedNodeOfferingId(Aws::String&& value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId = std::move(value); } /** *The identifier for the reserved node offering.
*/ inline void SetReservedNodeOfferingId(const char* value) { m_reservedNodeOfferingIdHasBeenSet = true; m_reservedNodeOfferingId.assign(value); } /** *The identifier for the reserved node offering.
*/ inline ReservedNode& WithReservedNodeOfferingId(const Aws::String& value) { SetReservedNodeOfferingId(value); return *this;} /** *The identifier for the reserved node offering.
*/ inline ReservedNode& WithReservedNodeOfferingId(Aws::String&& value) { SetReservedNodeOfferingId(std::move(value)); return *this;} /** *The identifier for the reserved node offering.
*/ inline ReservedNode& WithReservedNodeOfferingId(const char* value) { SetReservedNodeOfferingId(value); return *this;} /** *The node type of the reserved node.
*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *The node type of the reserved node.
*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *The node type of the reserved node.
*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *The node type of the reserved node.
*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *The node type of the reserved node.
*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *The node type of the reserved node.
*/ inline ReservedNode& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *The node type of the reserved node.
*/ inline ReservedNode& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *The node type of the reserved node.
*/ inline ReservedNode& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline ReservedNode& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The time the reservation started. You purchase a reserved node offering for a * duration. This is the start time of that duration.
*/ inline ReservedNode& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The duration of the node reservation in seconds.
*/ inline int GetDuration() const{ return m_duration; } /** *The duration of the node reservation in seconds.
*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *The duration of the node reservation in seconds.
*/ inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } /** *The duration of the node reservation in seconds.
*/ inline ReservedNode& WithDuration(int value) { SetDuration(value); return *this;} /** *The fixed cost Amazon Redshift charges you for this reserved node.
*/ inline double GetFixedPrice() const{ return m_fixedPrice; } /** *The fixed cost Amazon Redshift charges you for this reserved node.
*/ inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; } /** *The fixed cost Amazon Redshift charges you for this reserved node.
*/ inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; } /** *The fixed cost Amazon Redshift charges you for this reserved node.
*/ inline ReservedNode& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} /** *The hourly rate Amazon Redshift charges you for this reserved node.
*/ inline double GetUsagePrice() const{ return m_usagePrice; } /** *The hourly rate Amazon Redshift charges you for this reserved node.
*/ inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; } /** *The hourly rate Amazon Redshift charges you for this reserved node.
*/ inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; } /** *The hourly rate Amazon Redshift charges you for this reserved node.
*/ inline ReservedNode& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} /** *The currency code for the reserved cluster.
*/ inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } /** *The currency code for the reserved cluster.
*/ inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } /** *The currency code for the reserved cluster.
*/ inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } /** *The currency code for the reserved cluster.
*/ inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } /** *The currency code for the reserved cluster.
*/ inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); } /** *The currency code for the reserved cluster.
*/ inline ReservedNode& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} /** *The currency code for the reserved cluster.
*/ inline ReservedNode& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} /** *The currency code for the reserved cluster.
*/ inline ReservedNode& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} /** *The number of reserved compute nodes.
*/ inline int GetNodeCount() const{ return m_nodeCount; } /** *The number of reserved compute nodes.
*/ inline bool NodeCountHasBeenSet() const { return m_nodeCountHasBeenSet; } /** *The number of reserved compute nodes.
*/ inline void SetNodeCount(int value) { m_nodeCountHasBeenSet = true; m_nodeCount = value; } /** *The number of reserved compute nodes.
*/ inline ReservedNode& WithNodeCount(int value) { SetNodeCount(value); return *this;} /** *The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The state of the reserved compute node.
Possible Values:
pending-payment-This reserved node has recently been purchased, and the sale * has been approved, but payment has not yet been confirmed.
active-This reserved node is owned by the caller and is available for * use.
payment-failed-Payment failed for the purchase * attempt.
retired-The reserved node is no longer available. *
exchanging-The owner is exchanging the reserved node for * another reserved node.
The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline const Aws::String& GetOfferingType() const{ return m_offeringType; } /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; } /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; } /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); } /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); } /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline ReservedNode& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;} /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline ReservedNode& WithOfferingType(Aws::String&& value) { SetOfferingType(std::move(value)); return *this;} /** *The anticipated utilization of the reserved node, as defined in the reserved * node offering.
*/ inline ReservedNode& WithOfferingType(const char* value) { SetOfferingType(value); return *this;} /** *The recurring charges for the reserved node.
*/ inline const Aws::VectorThe recurring charges for the reserved node.
*/ inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; } /** *The recurring charges for the reserved node.
*/ inline void SetRecurringCharges(const Aws::VectorThe recurring charges for the reserved node.
*/ inline void SetRecurringCharges(Aws::VectorThe recurring charges for the reserved node.
*/ inline ReservedNode& WithRecurringCharges(const Aws::VectorThe recurring charges for the reserved node.
*/ inline ReservedNode& WithRecurringCharges(Aws::VectorThe recurring charges for the reserved node.
*/ inline ReservedNode& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; } /** *The recurring charges for the reserved node.
*/ inline ReservedNode& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; } /** * */ inline const ReservedNodeOfferingType& GetReservedNodeOfferingType() const{ return m_reservedNodeOfferingType; } /** * */ inline bool ReservedNodeOfferingTypeHasBeenSet() const { return m_reservedNodeOfferingTypeHasBeenSet; } /** * */ inline void SetReservedNodeOfferingType(const ReservedNodeOfferingType& value) { m_reservedNodeOfferingTypeHasBeenSet = true; m_reservedNodeOfferingType = value; } /** * */ inline void SetReservedNodeOfferingType(ReservedNodeOfferingType&& value) { m_reservedNodeOfferingTypeHasBeenSet = true; m_reservedNodeOfferingType = std::move(value); } /** * */ inline ReservedNode& WithReservedNodeOfferingType(const ReservedNodeOfferingType& value) { SetReservedNodeOfferingType(value); return *this;} /** * */ inline ReservedNode& WithReservedNodeOfferingType(ReservedNodeOfferingType&& value) { SetReservedNodeOfferingType(std::move(value)); return *this;} private: Aws::String m_reservedNodeId; bool m_reservedNodeIdHasBeenSet = false; Aws::String m_reservedNodeOfferingId; bool m_reservedNodeOfferingIdHasBeenSet = false; Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; int m_duration; bool m_durationHasBeenSet = false; double m_fixedPrice; bool m_fixedPriceHasBeenSet = false; double m_usagePrice; bool m_usagePriceHasBeenSet = false; Aws::String m_currencyCode; bool m_currencyCodeHasBeenSet = false; int m_nodeCount; bool m_nodeCountHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; Aws::String m_offeringType; bool m_offeringTypeHasBeenSet = false; Aws::Vector