ElastiCache.Client.
purchase_reserved_cache_nodes_offering
(**kwargs)¶Allows you to purchase a reserved cache node offering. Reserved nodes are not eligible for cancellation and are non-refundable. For more information, see Managing Costs with Reserved Nodes for Redis or Managing Costs with Reserved Nodes for Memcached.
See also: AWS API Documentation
Request Syntax
response = client.purchase_reserved_cache_nodes_offering(
ReservedCacheNodesOfferingId='string',
ReservedCacheNodeId='string',
CacheNodeCount=123,
Tags=[
{
'Key': 'string',
'Value': 'string'
},
]
)
[REQUIRED]
The ID of the reserved cache node offering to purchase.
Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
A customer-specified identifier to track this reservation.
Note
The Reserved Cache Node ID is an unique customer-specified identifier to track this reservation. If this parameter is not specified, ElastiCache automatically generates an identifier for the reservation.
Example: myreservationID
The number of cache node instances to reserve.
Default: 1
A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
A tag that can be added to an ElastiCache cluster or replication group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your ElastiCache resources, with the exception of global replication group. When you add or remove tags on replication groups, those actions will be replicated to all nodes in the replication group. A tag with a null Value is permitted.
The key for the tag. May not be null.
The tag's value. May be null.
dict
Response Syntax
{
'ReservedCacheNode': {
'ReservedCacheNodeId': 'string',
'ReservedCacheNodesOfferingId': 'string',
'CacheNodeType': 'string',
'StartTime': datetime(2015, 1, 1),
'Duration': 123,
'FixedPrice': 123.0,
'UsagePrice': 123.0,
'CacheNodeCount': 123,
'ProductDescription': 'string',
'OfferingType': 'string',
'State': 'string',
'RecurringCharges': [
{
'RecurringChargeAmount': 123.0,
'RecurringChargeFrequency': 'string'
},
],
'ReservationARN': 'string'
}
}
Response Structure
(dict) --
ReservedCacheNode (dict) --
Represents the output of a PurchaseReservedCacheNodesOffering
operation.
ReservedCacheNodeId (string) --
The unique identifier for the reservation.
ReservedCacheNodesOfferingId (string) --
The offering identifier.
CacheNodeType (string) --
The cache node type for the reserved cache nodes.
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:
cache.m6g.large
, cache.m6g.xlarge
, cache.m6g.2xlarge
, cache.m6g.4xlarge
, cache.m6g.8xlarge
, cache.m6g.12xlarge
, cache.m6g.16xlarge
Note
For region availability, see Supported Node Types
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
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:
cache.c1.xlarge
Memory optimized:
cache.r6g.large
, cache.r6g.xlarge
, cache.r6g.2xlarge
, cache.r6g.4xlarge
, cache.r6g.8xlarge
, cache.r6g.12xlarge
, cache.r6g.16xlarge
Note
For region availability, see Supported Node Types
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
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
appendonly
and appendfsync
are not supported on Redis version 2.8.22 and later.StartTime (datetime) --
The time the reservation started.
Duration (integer) --
The duration of the reservation in seconds.
FixedPrice (float) --
The fixed price charged for this reserved cache node.
UsagePrice (float) --
The hourly price charged for this reserved cache node.
CacheNodeCount (integer) --
The number of cache nodes that have been reserved.
ProductDescription (string) --
The description of the reserved cache node.
OfferingType (string) --
The offering type of this reserved cache node.
State (string) --
The state of the reserved cache node.
RecurringCharges (list) --
The recurring price charged to run this reserved cache node.
(dict) --
Contains the specific price and frequency of a recurring charges for a reserved cache node, or for a reserved cache node offering.
RecurringChargeAmount (float) --
The monetary amount of the recurring charge.
RecurringChargeFrequency (string) --
The frequency of the recurring charge.
ReservationARN (string) --
The Amazon Resource Name (ARN) of the reserved cache node.
Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582
Exceptions
ElastiCache.Client.exceptions.ReservedCacheNodesOfferingNotFoundFault
ElastiCache.Client.exceptions.ReservedCacheNodeAlreadyExistsFault
ElastiCache.Client.exceptions.ReservedCacheNodeQuotaExceededFault
ElastiCache.Client.exceptions.TagQuotaPerResourceExceeded
ElastiCache.Client.exceptions.InvalidParameterValueException
ElastiCache.Client.exceptions.InvalidParameterCombinationException
Examples
Allows you to purchase a reserved cache node offering.
response = client.purchase_reserved_cache_nodes_offering(
ReservedCacheNodesOfferingId='1ef01f5b-94ff-433f-a530-61a56bfc8e7a',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}