Class ReservedCacheNodesOffering

java.lang.Object
software.amazon.awssdk.services.elasticache.model.ReservedCacheNodesOffering
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ReservedCacheNodesOffering.Builder,ReservedCacheNodesOffering>

@Generated("software.amazon.awssdk:codegen") public final class ReservedCacheNodesOffering extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ReservedCacheNodesOffering.Builder,ReservedCacheNodesOffering>

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

See Also:
  • Method Details

    • reservedCacheNodesOfferingId

      public final String reservedCacheNodesOfferingId()

      A unique identifier for the reserved cache node offering.

      Returns:
      A unique identifier for the reserved cache node offering.
    • cacheNodeType

      public final String cacheNodeType()

      The cache node type for the reserved cache node.

      The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

      • General purpose:

        • Current generation:

          M7g node types: cache.m7g.large, cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, cache.m7g.12xlarge, cache.m7g.16xlarge

          For region availability, see Supported Node Types

          M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

          M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

          M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

          T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium

          T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

          T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          T1 node types: cache.t1.micro

          M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

          M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      • Compute optimized:

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          C1 node types: cache.c1.xlarge

      • Memory optimized:

        • Current generation:

          R7g node types: cache.r7g.large, cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, cache.r7g.12xlarge, cache.r7g.16xlarge

          For region availability, see Supported Node Types

          R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

          R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

          R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

          R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      Additional node type info

      • All current generation instance types are created in Amazon VPC by default.

      • Redis append-only files (AOF) are not supported for T1 or T2 instances.

      • Redis Multi-AZ with automatic failover is not supported on T1 instances.

      • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

      Returns:
      The cache node type for the reserved cache node.

      The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

      • General purpose:

        • Current generation:

          M7g node types: cache.m7g.large, cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, cache.m7g.12xlarge, cache.m7g.16xlarge

          For region availability, see Supported Node Types

          M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

          M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

          M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

          T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium

          T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

          T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          T1 node types: cache.t1.micro

          M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

          M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      • Compute optimized:

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          C1 node types: cache.c1.xlarge

      • Memory optimized:

        • Current generation:

          R7g node types: cache.r7g.large, cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, cache.r7g.12xlarge, cache.r7g.16xlarge

          For region availability, see Supported Node Types

          R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

          R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

          R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

        • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

          M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

          R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      Additional node type info

      • All current generation instance types are created in Amazon VPC by default.

      • Redis append-only files (AOF) are not supported for T1 or T2 instances.

      • Redis Multi-AZ with automatic failover is not supported on T1 instances.

      • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

    • duration

      public final Integer duration()

      The duration of the offering. in seconds.

      Returns:
      The duration of the offering. in seconds.
    • fixedPrice

      public final Double fixedPrice()

      The fixed price charged for this offering.

      Returns:
      The fixed price charged for this offering.
    • usagePrice

      public final Double usagePrice()

      The hourly price charged for this offering.

      Returns:
      The hourly price charged for this offering.
    • productDescription

      public final String productDescription()

      The cache engine used by the offering.

      Returns:
      The cache engine used by the offering.
    • offeringType

      public final String offeringType()

      The offering type.

      Returns:
      The offering type.
    • hasRecurringCharges

      public final boolean hasRecurringCharges()
      For responses, this returns true if the service returned a value for the RecurringCharges property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • recurringCharges

      public final List<RecurringCharge> recurringCharges()

      The recurring price charged to run this reserved cache node.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRecurringCharges() method.

      Returns:
      The recurring price charged to run this reserved cache node.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ReservedCacheNodesOffering.Builder,ReservedCacheNodesOffering>
      Returns:
      a builder for type T
    • builder

      public static ReservedCacheNodesOffering.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ReservedCacheNodesOffering.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.