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

com.amazonaws.services.elasticache.model.CacheNode 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;

/**
 * 

* Represents an individual cache node within a cache cluster. Each cache node * runs its own instance of the cluster's protocol-compliant caching software - * either Memcached or Redis. *

*

* 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 either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

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

* The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies * every cache node used in a customer's AWS account. *

*/ private String cacheNodeId; /** *

* The current state of this cache node. *

*/ private String cacheNodeStatus; /** *

* The date and time when the cache node was created. *

*/ private java.util.Date cacheNodeCreateTime; /** *

* The hostname for connecting to this cache node. *

*/ private Endpoint endpoint; /** *

* The status of the parameter group applied to this cache node. *

*/ private String parameterGroupStatus; /** *

* The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not associated * with a primary cache cluster. *

*/ private String sourceCacheNodeId; /** *

* The Availability Zone where this node was created and now resides. *

*/ private String customerAvailabilityZone; /** *

* The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies * every cache node used in a customer's AWS account. *

* * @param cacheNodeId * The cache node identifier. A node ID is a numeric identifier * (0001, 0002, etc.). The combination of cluster ID and node ID * uniquely identifies every cache node used in a customer's AWS * account. */ public void setCacheNodeId(String cacheNodeId) { this.cacheNodeId = cacheNodeId; } /** *

* The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies * every cache node used in a customer's AWS account. *

* * @return The cache node identifier. A node ID is a numeric identifier * (0001, 0002, etc.). The combination of cluster ID and node ID * uniquely identifies every cache node used in a customer's AWS * account. */ public String getCacheNodeId() { return this.cacheNodeId; } /** *

* The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies * every cache node used in a customer's AWS account. *

* * @param cacheNodeId * The cache node identifier. A node ID is a numeric identifier * (0001, 0002, etc.). The combination of cluster ID and node ID * uniquely identifies every cache node used in a customer's AWS * account. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withCacheNodeId(String cacheNodeId) { setCacheNodeId(cacheNodeId); return this; } /** *

* The current state of this cache node. *

* * @param cacheNodeStatus * The current state of this cache node. */ public void setCacheNodeStatus(String cacheNodeStatus) { this.cacheNodeStatus = cacheNodeStatus; } /** *

* The current state of this cache node. *

* * @return The current state of this cache node. */ public String getCacheNodeStatus() { return this.cacheNodeStatus; } /** *

* The current state of this cache node. *

* * @param cacheNodeStatus * The current state of this cache node. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withCacheNodeStatus(String cacheNodeStatus) { setCacheNodeStatus(cacheNodeStatus); return this; } /** *

* The date and time when the cache node was created. *

* * @param cacheNodeCreateTime * The date and time when the cache node was created. */ public void setCacheNodeCreateTime(java.util.Date cacheNodeCreateTime) { this.cacheNodeCreateTime = cacheNodeCreateTime; } /** *

* The date and time when the cache node was created. *

* * @return The date and time when the cache node was created. */ public java.util.Date getCacheNodeCreateTime() { return this.cacheNodeCreateTime; } /** *

* The date and time when the cache node was created. *

* * @param cacheNodeCreateTime * The date and time when the cache node was created. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withCacheNodeCreateTime(java.util.Date cacheNodeCreateTime) { setCacheNodeCreateTime(cacheNodeCreateTime); return this; } /** *

* The hostname for connecting to this cache node. *

* * @param endpoint * The hostname for connecting to this cache node. */ public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; } /** *

* The hostname for connecting to this cache node. *

* * @return The hostname for connecting to this cache node. */ public Endpoint getEndpoint() { return this.endpoint; } /** *

* The hostname for connecting to this cache node. *

* * @param endpoint * The hostname for connecting to this cache node. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withEndpoint(Endpoint endpoint) { setEndpoint(endpoint); return this; } /** *

* The status of the parameter group applied to this cache node. *

* * @param parameterGroupStatus * The status of the parameter group applied to this cache node. */ public void setParameterGroupStatus(String parameterGroupStatus) { this.parameterGroupStatus = parameterGroupStatus; } /** *

* The status of the parameter group applied to this cache node. *

* * @return The status of the parameter group applied to this cache node. */ public String getParameterGroupStatus() { return this.parameterGroupStatus; } /** *

* The status of the parameter group applied to this cache node. *

* * @param parameterGroupStatus * The status of the parameter group applied to this cache node. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withParameterGroupStatus(String parameterGroupStatus) { setParameterGroupStatus(parameterGroupStatus); return this; } /** *

* The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not associated * with a primary cache cluster. *

* * @param sourceCacheNodeId * The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not * associated with a primary cache cluster. */ public void setSourceCacheNodeId(String sourceCacheNodeId) { this.sourceCacheNodeId = sourceCacheNodeId; } /** *

* The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not associated * with a primary cache cluster. *

* * @return The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not * associated with a primary cache cluster. */ public String getSourceCacheNodeId() { return this.sourceCacheNodeId; } /** *

* The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not associated * with a primary cache cluster. *

* * @param sourceCacheNodeId * The ID of the primary node to which this read replica node is * synchronized. If this field is empty, then this node is not * associated with a primary cache cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withSourceCacheNodeId(String sourceCacheNodeId) { setSourceCacheNodeId(sourceCacheNodeId); return this; } /** *

* The Availability Zone where this node was created and now resides. *

* * @param customerAvailabilityZone * The Availability Zone where this node was created and now resides. */ public void setCustomerAvailabilityZone(String customerAvailabilityZone) { this.customerAvailabilityZone = customerAvailabilityZone; } /** *

* The Availability Zone where this node was created and now resides. *

* * @return The Availability Zone where this node was created and now * resides. */ public String getCustomerAvailabilityZone() { return this.customerAvailabilityZone; } /** *

* The Availability Zone where this node was created and now resides. *

* * @param customerAvailabilityZone * The Availability Zone where this node was created and now resides. * @return Returns a reference to this object so that method calls can be * chained together. */ public CacheNode withCustomerAvailabilityZone( String customerAvailabilityZone) { setCustomerAvailabilityZone(customerAvailabilityZone); 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 (getCacheNodeId() != null) sb.append("CacheNodeId: " + getCacheNodeId() + ","); if (getCacheNodeStatus() != null) sb.append("CacheNodeStatus: " + getCacheNodeStatus() + ","); if (getCacheNodeCreateTime() != null) sb.append("CacheNodeCreateTime: " + getCacheNodeCreateTime() + ","); if (getEndpoint() != null) sb.append("Endpoint: " + getEndpoint() + ","); if (getParameterGroupStatus() != null) sb.append("ParameterGroupStatus: " + getParameterGroupStatus() + ","); if (getSourceCacheNodeId() != null) sb.append("SourceCacheNodeId: " + getSourceCacheNodeId() + ","); if (getCustomerAvailabilityZone() != null) sb.append("CustomerAvailabilityZone: " + getCustomerAvailabilityZone()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CacheNode == false) return false; CacheNode other = (CacheNode) obj; if (other.getCacheNodeId() == null ^ this.getCacheNodeId() == null) return false; if (other.getCacheNodeId() != null && other.getCacheNodeId().equals(this.getCacheNodeId()) == false) return false; if (other.getCacheNodeStatus() == null ^ this.getCacheNodeStatus() == null) return false; if (other.getCacheNodeStatus() != null && other.getCacheNodeStatus().equals(this.getCacheNodeStatus()) == false) return false; if (other.getCacheNodeCreateTime() == null ^ this.getCacheNodeCreateTime() == null) return false; if (other.getCacheNodeCreateTime() != null && other.getCacheNodeCreateTime().equals( this.getCacheNodeCreateTime()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getParameterGroupStatus() == null ^ this.getParameterGroupStatus() == null) return false; if (other.getParameterGroupStatus() != null && other.getParameterGroupStatus().equals( this.getParameterGroupStatus()) == false) return false; if (other.getSourceCacheNodeId() == null ^ this.getSourceCacheNodeId() == null) return false; if (other.getSourceCacheNodeId() != null && other.getSourceCacheNodeId().equals( this.getSourceCacheNodeId()) == false) return false; if (other.getCustomerAvailabilityZone() == null ^ this.getCustomerAvailabilityZone() == null) return false; if (other.getCustomerAvailabilityZone() != null && other.getCustomerAvailabilityZone().equals( this.getCustomerAvailabilityZone()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCacheNodeId() == null) ? 0 : getCacheNodeId().hashCode()); hashCode = prime * hashCode + ((getCacheNodeStatus() == null) ? 0 : getCacheNodeStatus() .hashCode()); hashCode = prime * hashCode + ((getCacheNodeCreateTime() == null) ? 0 : getCacheNodeCreateTime().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getParameterGroupStatus() == null) ? 0 : getParameterGroupStatus().hashCode()); hashCode = prime * hashCode + ((getSourceCacheNodeId() == null) ? 0 : getSourceCacheNodeId().hashCode()); hashCode = prime * hashCode + ((getCustomerAvailabilityZone() == null) ? 0 : getCustomerAvailabilityZone().hashCode()); return hashCode; } @Override public CacheNode clone() { try { return (CacheNode) 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