describeReservedCacheNodesOfferings method

Future<ReservedCacheNodesOfferingMessage> describeReservedCacheNodesOfferings({
  1. String? cacheNodeType,
  2. String? duration,
  3. String? marker,
  4. int? maxRecords,
  5. String? offeringType,
  6. String? productDescription,
  7. String? reservedCacheNodesOfferingId,
})

Lists available reserved cache node offerings.

May throw ReservedCacheNodesOfferingNotFoundFault. May throw InvalidParameterValueException. May throw InvalidParameterCombinationException.

Parameter cacheNodeType : The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

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:

      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

      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)

      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)

      C1 node types: cache.c1.xlarge

  • Memory optimized:
    • Current generation:

      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)

      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.

Parameter duration : Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

Valid Values: 1 | 3 | 31536000 | 94608000

Parameter marker : An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Parameter maxRecords : The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

Parameter offeringType : The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All Upfront"|"Partial Upfront"| "No Upfront"

Parameter productDescription : The product description filter value. Use this parameter to show only the available offerings matching the specified product description.

Parameter reservedCacheNodesOfferingId : The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

Implementation

Future<ReservedCacheNodesOfferingMessage>
    describeReservedCacheNodesOfferings({
  String? cacheNodeType,
  String? duration,
  String? marker,
  int? maxRecords,
  String? offeringType,
  String? productDescription,
  String? reservedCacheNodesOfferingId,
}) async {
  final $request = <String, dynamic>{};
  cacheNodeType?.also((arg) => $request['CacheNodeType'] = arg);
  duration?.also((arg) => $request['Duration'] = arg);
  marker?.also((arg) => $request['Marker'] = arg);
  maxRecords?.also((arg) => $request['MaxRecords'] = arg);
  offeringType?.also((arg) => $request['OfferingType'] = arg);
  productDescription?.also((arg) => $request['ProductDescription'] = arg);
  reservedCacheNodesOfferingId
      ?.also((arg) => $request['ReservedCacheNodesOfferingId'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'DescribeReservedCacheNodesOfferings',
    version: '2015-02-02',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DescribeReservedCacheNodesOfferingsMessage'],
    shapes: shapes,
    resultWrapper: 'DescribeReservedCacheNodesOfferingsResult',
  );
  return ReservedCacheNodesOfferingMessage.fromXml($result);
}