/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.redshift.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved * node offerings. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ReservedNode implements Serializable, Cloneable { /** ** The unique identifier for the reservation. *
*/ private String reservedNodeId; /** ** The identifier for the reserved node offering. *
*/ private String reservedNodeOfferingId; /** ** The node type of the reserved node. *
*/ private String nodeType; /** ** The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of * that duration. *
*/ private java.util.Date startTime; /** ** The duration of the node reservation in seconds. *
*/ private Integer duration; /** ** The fixed cost Amazon Redshift charges you for this reserved node. *
*/ private Double fixedPrice; /** ** The hourly rate Amazon Redshift charges you for this reserved node. *
*/ private Double usagePrice; /** ** The currency code for the reserved cluster. *
*/ private String currencyCode; /** ** The number of reserved compute nodes. *
*/ private Integer nodeCount; /** ** 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. *
*/ private String offeringType; /** ** The recurring charges for the reserved node. *
*/ private com.amazonaws.internal.SdkInternalList* The unique identifier for the reservation. *
* * @param reservedNodeId * The unique identifier for the reservation. */ public void setReservedNodeId(String reservedNodeId) { this.reservedNodeId = reservedNodeId; } /** ** The unique identifier for the reservation. *
* * @return The unique identifier for the reservation. */ public String getReservedNodeId() { return this.reservedNodeId; } /** ** The unique identifier for the reservation. *
* * @param reservedNodeId * The unique identifier for the reservation. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withReservedNodeId(String reservedNodeId) { setReservedNodeId(reservedNodeId); return this; } /** ** The identifier for the reserved node offering. *
* * @param reservedNodeOfferingId * The identifier for the reserved node offering. */ public void setReservedNodeOfferingId(String reservedNodeOfferingId) { this.reservedNodeOfferingId = reservedNodeOfferingId; } /** ** The identifier for the reserved node offering. *
* * @return The identifier for the reserved node offering. */ public String getReservedNodeOfferingId() { return this.reservedNodeOfferingId; } /** ** The identifier for the reserved node offering. *
* * @param reservedNodeOfferingId * The identifier for the reserved node offering. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withReservedNodeOfferingId(String reservedNodeOfferingId) { setReservedNodeOfferingId(reservedNodeOfferingId); return this; } /** ** The node type of the reserved node. *
* * @param nodeType * The node type of the reserved node. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** ** The node type of the reserved node. *
* * @return The node type of the reserved node. */ public String getNodeType() { return this.nodeType; } /** ** The node type of the reserved node. *
* * @param nodeType * The node type of the reserved node. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** ** The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of * that duration. *
* * @param startTime * The time the reservation started. You purchase a reserved node offering for a duration. This is the start * time of that duration. */ public void setStartTime(java.util.Date startTime) { this.startTime = startTime; } /** ** The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of * that duration. *
* * @return The time the reservation started. You purchase a reserved node offering for a duration. This is the start * time of that duration. */ public java.util.Date getStartTime() { return this.startTime; } /** ** The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of * that duration. *
* * @param startTime * The time the reservation started. You purchase a reserved node offering for a duration. This is the start * time of that duration. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withStartTime(java.util.Date startTime) { setStartTime(startTime); return this; } /** ** The duration of the node reservation in seconds. *
* * @param duration * The duration of the node reservation in seconds. */ public void setDuration(Integer duration) { this.duration = duration; } /** ** The duration of the node reservation in seconds. *
* * @return The duration of the node reservation in seconds. */ public Integer getDuration() { return this.duration; } /** ** The duration of the node reservation in seconds. *
* * @param duration * The duration of the node reservation in seconds. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withDuration(Integer duration) { setDuration(duration); return this; } /** ** The fixed cost Amazon Redshift charges you for this reserved node. *
* * @param fixedPrice * The fixed cost Amazon Redshift charges you for this reserved node. */ public void setFixedPrice(Double fixedPrice) { this.fixedPrice = fixedPrice; } /** ** The fixed cost Amazon Redshift charges you for this reserved node. *
* * @return The fixed cost Amazon Redshift charges you for this reserved node. */ public Double getFixedPrice() { return this.fixedPrice; } /** ** The fixed cost Amazon Redshift charges you for this reserved node. *
* * @param fixedPrice * The fixed cost Amazon Redshift charges you for this reserved node. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withFixedPrice(Double fixedPrice) { setFixedPrice(fixedPrice); return this; } /** ** The hourly rate Amazon Redshift charges you for this reserved node. *
* * @param usagePrice * The hourly rate Amazon Redshift charges you for this reserved node. */ public void setUsagePrice(Double usagePrice) { this.usagePrice = usagePrice; } /** ** The hourly rate Amazon Redshift charges you for this reserved node. *
* * @return The hourly rate Amazon Redshift charges you for this reserved node. */ public Double getUsagePrice() { return this.usagePrice; } /** ** The hourly rate Amazon Redshift charges you for this reserved node. *
* * @param usagePrice * The hourly rate Amazon Redshift charges you for this reserved node. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withUsagePrice(Double usagePrice) { setUsagePrice(usagePrice); return this; } /** ** The currency code for the reserved cluster. *
* * @param currencyCode * The currency code for the reserved cluster. */ public void setCurrencyCode(String currencyCode) { this.currencyCode = currencyCode; } /** ** The currency code for the reserved cluster. *
* * @return The currency code for the reserved cluster. */ public String getCurrencyCode() { return this.currencyCode; } /** ** The currency code for the reserved cluster. *
* * @param currencyCode * The currency code for the reserved cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withCurrencyCode(String currencyCode) { setCurrencyCode(currencyCode); return this; } /** ** The number of reserved compute nodes. *
* * @param nodeCount * The number of reserved compute nodes. */ public void setNodeCount(Integer nodeCount) { this.nodeCount = nodeCount; } /** ** The number of reserved compute nodes. *
* * @return The number of reserved compute nodes. */ public Integer getNodeCount() { return this.nodeCount; } /** ** The number of reserved compute nodes. *
* * @param nodeCount * The number of reserved compute nodes. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withNodeCount(Integer nodeCount) { setNodeCount(nodeCount); 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. *
** 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. *
** 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. *
** 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. *
* * @param offeringType * The anticipated utilization of the reserved node, as defined in the reserved node offering. */ public void setOfferingType(String offeringType) { this.offeringType = offeringType; } /** ** The anticipated utilization of the reserved node, as defined in the reserved node offering. *
* * @return The anticipated utilization of the reserved node, as defined in the reserved node offering. */ public String getOfferingType() { return this.offeringType; } /** ** The anticipated utilization of the reserved node, as defined in the reserved node offering. *
* * @param offeringType * The anticipated utilization of the reserved node, as defined in the reserved node offering. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withOfferingType(String offeringType) { setOfferingType(offeringType); return this; } /** ** The recurring charges for the reserved node. *
* * @return The recurring charges for the reserved node. */ public java.util.List* The recurring charges for the reserved node. *
* * @param recurringCharges * The recurring charges for the reserved node. */ public void setRecurringCharges(java.util.Collection* The recurring charges for the reserved node. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setRecurringCharges(java.util.Collection)} or {@link #withRecurringCharges(java.util.Collection)} if you * want to override the existing values. *
* * @param recurringCharges * The recurring charges for the reserved node. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withRecurringCharges(RecurringCharge... recurringCharges) { if (this.recurringCharges == null) { setRecurringCharges(new com.amazonaws.internal.SdkInternalList* The recurring charges for the reserved node. *
* * @param recurringCharges * The recurring charges for the reserved node. * @return Returns a reference to this object so that method calls can be chained together. */ public ReservedNode withRecurringCharges(java.util.Collection