All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticache.model.ReservedCacheNodesOffering Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.elasticache.model;

import java.io.Serializable;

/**
 * 

* Describes all of the attributes of a reserved cache node offering. *

*/ public class ReservedCacheNodesOffering implements Serializable, Cloneable { /** *

* A unique identifier for the reserved cache node offering. *

*/ private String reservedCacheNodesOfferingId; /** *

* The cache node type for the reserved cache node. *

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for t1 or t2 * instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see Amazon ElastiCache * Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

*/ private String cacheNodeType; /** *

* The duration of the offering. in seconds. *

*/ private Integer duration; /** *

* The fixed price charged for this offering. *

*/ private Double fixedPrice; /** *

* The hourly price charged for this offering. *

*/ private Double usagePrice; /** *

* The cache engine used by the offering. *

*/ private String productDescription; /** *

* The offering type. *

*/ private String offeringType; /** *

* The recurring price charged to run this reserved cache node. *

*/ private com.amazonaws.internal.SdkInternalList recurringCharges; /** *

* A unique identifier for the reserved cache node offering. *

* * @param reservedCacheNodesOfferingId * A unique identifier for the reserved cache node offering. */ public void setReservedCacheNodesOfferingId( String reservedCacheNodesOfferingId) { this.reservedCacheNodesOfferingId = reservedCacheNodesOfferingId; } /** *

* A unique identifier for the reserved cache node offering. *

* * @return A unique identifier for the reserved cache node offering. */ public String getReservedCacheNodesOfferingId() { return this.reservedCacheNodesOfferingId; } /** *

* A unique identifier for the reserved cache node offering. *

* * @param reservedCacheNodesOfferingId * A unique identifier for the reserved cache node offering. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withReservedCacheNodesOfferingId( String reservedCacheNodesOfferingId) { setReservedCacheNodesOfferingId(reservedCacheNodesOfferingId); return this; } /** *

* The cache node type for the reserved cache node. *

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for t1 or t2 * instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see Amazon ElastiCache * Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @param cacheNodeType * The cache node type for the reserved cache node.

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud * (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for * t1 or t2 instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see * Amazon * ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. */ public void setCacheNodeType(String cacheNodeType) { this.cacheNodeType = cacheNodeType; } /** *

* The cache node type for the reserved cache node. *

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for t1 or t2 * instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see Amazon ElastiCache * Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @return The cache node type for the reserved cache node.

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud * (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for * t1 or t2 instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, * see Amazon * ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. */ public String getCacheNodeType() { return this.cacheNodeType; } /** *

* The cache node type for the reserved cache node. *

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for t1 or t2 * instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see Amazon ElastiCache * Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @param cacheNodeType * The cache node type for the reserved cache node.

*

* Valid node types are as follows: *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: cache.t2.micro, * cache.t2.small, cache.t2.medium, * cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *
    • *
    • *

      * Previous generation: cache.t1.micro, * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: cache.c1.xlarge *

    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: cache.r3.large, * cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: cache.m2.xlarge, * cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All t2 instances are created in an Amazon Virtual Private Cloud * (VPC). *

    *
  • *
  • *

    * Redis backup/restore is not supported for t2 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for * t1 or t2 instances. *

    *
  • *
*

* For a complete listing of cache node types and specifications, see * Amazon * ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withCacheNodeType(String cacheNodeType) { setCacheNodeType(cacheNodeType); return this; } /** *

* The duration of the offering. in seconds. *

* * @param duration * The duration of the offering. in seconds. */ public void setDuration(Integer duration) { this.duration = duration; } /** *

* The duration of the offering. in seconds. *

* * @return The duration of the offering. in seconds. */ public Integer getDuration() { return this.duration; } /** *

* The duration of the offering. in seconds. *

* * @param duration * The duration of the offering. in seconds. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withDuration(Integer duration) { setDuration(duration); return this; } /** *

* The fixed price charged for this offering. *

* * @param fixedPrice * The fixed price charged for this offering. */ public void setFixedPrice(Double fixedPrice) { this.fixedPrice = fixedPrice; } /** *

* The fixed price charged for this offering. *

* * @return The fixed price charged for this offering. */ public Double getFixedPrice() { return this.fixedPrice; } /** *

* The fixed price charged for this offering. *

* * @param fixedPrice * The fixed price charged for this offering. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withFixedPrice(Double fixedPrice) { setFixedPrice(fixedPrice); return this; } /** *

* The hourly price charged for this offering. *

* * @param usagePrice * The hourly price charged for this offering. */ public void setUsagePrice(Double usagePrice) { this.usagePrice = usagePrice; } /** *

* The hourly price charged for this offering. *

* * @return The hourly price charged for this offering. */ public Double getUsagePrice() { return this.usagePrice; } /** *

* The hourly price charged for this offering. *

* * @param usagePrice * The hourly price charged for this offering. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withUsagePrice(Double usagePrice) { setUsagePrice(usagePrice); return this; } /** *

* The cache engine used by the offering. *

* * @param productDescription * The cache engine used by the offering. */ public void setProductDescription(String productDescription) { this.productDescription = productDescription; } /** *

* The cache engine used by the offering. *

* * @return The cache engine used by the offering. */ public String getProductDescription() { return this.productDescription; } /** *

* The cache engine used by the offering. *

* * @param productDescription * The cache engine used by the offering. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withProductDescription( String productDescription) { setProductDescription(productDescription); return this; } /** *

* The offering type. *

* * @param offeringType * The offering type. */ public void setOfferingType(String offeringType) { this.offeringType = offeringType; } /** *

* The offering type. *

* * @return The offering type. */ public String getOfferingType() { return this.offeringType; } /** *

* The offering type. *

* * @param offeringType * The offering type. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withOfferingType(String offeringType) { setOfferingType(offeringType); return this; } /** *

* The recurring price charged to run this reserved cache node. *

* * @return The recurring price charged to run this reserved cache node. */ public java.util.List getRecurringCharges() { if (recurringCharges == null) { recurringCharges = new com.amazonaws.internal.SdkInternalList(); } return recurringCharges; } /** *

* The recurring price charged to run this reserved cache node. *

* * @param recurringCharges * The recurring price charged to run this reserved cache node. */ public void setRecurringCharges( java.util.Collection recurringCharges) { if (recurringCharges == null) { this.recurringCharges = null; return; } this.recurringCharges = new com.amazonaws.internal.SdkInternalList( recurringCharges); } /** *

* The recurring price charged to run this reserved cache 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 price charged to run this reserved cache node. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withRecurringCharges( RecurringCharge... recurringCharges) { if (this.recurringCharges == null) { setRecurringCharges(new com.amazonaws.internal.SdkInternalList( recurringCharges.length)); } for (RecurringCharge ele : recurringCharges) { this.recurringCharges.add(ele); } return this; } /** *

* The recurring price charged to run this reserved cache node. *

* * @param recurringCharges * The recurring price charged to run this reserved cache node. * @return Returns a reference to this object so that method calls can be * chained together. */ public ReservedCacheNodesOffering withRecurringCharges( java.util.Collection recurringCharges) { setRecurringCharges(recurringCharges); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getReservedCacheNodesOfferingId() != null) sb.append("ReservedCacheNodesOfferingId: " + getReservedCacheNodesOfferingId() + ","); if (getCacheNodeType() != null) sb.append("CacheNodeType: " + getCacheNodeType() + ","); if (getDuration() != null) sb.append("Duration: " + getDuration() + ","); if (getFixedPrice() != null) sb.append("FixedPrice: " + getFixedPrice() + ","); if (getUsagePrice() != null) sb.append("UsagePrice: " + getUsagePrice() + ","); if (getProductDescription() != null) sb.append("ProductDescription: " + getProductDescription() + ","); if (getOfferingType() != null) sb.append("OfferingType: " + getOfferingType() + ","); if (getRecurringCharges() != null) sb.append("RecurringCharges: " + getRecurringCharges()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ReservedCacheNodesOffering == false) return false; ReservedCacheNodesOffering other = (ReservedCacheNodesOffering) obj; if (other.getReservedCacheNodesOfferingId() == null ^ this.getReservedCacheNodesOfferingId() == null) return false; if (other.getReservedCacheNodesOfferingId() != null && other.getReservedCacheNodesOfferingId().equals( this.getReservedCacheNodesOfferingId()) == false) return false; if (other.getCacheNodeType() == null ^ this.getCacheNodeType() == null) return false; if (other.getCacheNodeType() != null && other.getCacheNodeType().equals(this.getCacheNodeType()) == false) return false; if (other.getDuration() == null ^ this.getDuration() == null) return false; if (other.getDuration() != null && other.getDuration().equals(this.getDuration()) == false) return false; if (other.getFixedPrice() == null ^ this.getFixedPrice() == null) return false; if (other.getFixedPrice() != null && other.getFixedPrice().equals(this.getFixedPrice()) == false) return false; if (other.getUsagePrice() == null ^ this.getUsagePrice() == null) return false; if (other.getUsagePrice() != null && other.getUsagePrice().equals(this.getUsagePrice()) == false) return false; if (other.getProductDescription() == null ^ this.getProductDescription() == null) return false; if (other.getProductDescription() != null && other.getProductDescription().equals( this.getProductDescription()) == false) return false; if (other.getOfferingType() == null ^ this.getOfferingType() == null) return false; if (other.getOfferingType() != null && other.getOfferingType().equals(this.getOfferingType()) == false) return false; if (other.getRecurringCharges() == null ^ this.getRecurringCharges() == null) return false; if (other.getRecurringCharges() != null && other.getRecurringCharges().equals( this.getRecurringCharges()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getReservedCacheNodesOfferingId() == null) ? 0 : getReservedCacheNodesOfferingId().hashCode()); hashCode = prime * hashCode + ((getCacheNodeType() == null) ? 0 : getCacheNodeType() .hashCode()); hashCode = prime * hashCode + ((getDuration() == null) ? 0 : getDuration().hashCode()); hashCode = prime * hashCode + ((getFixedPrice() == null) ? 0 : getFixedPrice().hashCode()); hashCode = prime * hashCode + ((getUsagePrice() == null) ? 0 : getUsagePrice().hashCode()); hashCode = prime * hashCode + ((getProductDescription() == null) ? 0 : getProductDescription().hashCode()); hashCode = prime * hashCode + ((getOfferingType() == null) ? 0 : getOfferingType() .hashCode()); hashCode = prime * hashCode + ((getRecurringCharges() == null) ? 0 : getRecurringCharges() .hashCode()); return hashCode; } @Override public ReservedCacheNodesOffering clone() { try { return (ReservedCacheNodesOffering) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy