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.16xlargeNote
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.2xlargeCompute optimized:
cache.c1.xlargeMemory optimized:
cache.r6g.large , cache.r6g.xlarge , cache.r6g.2xlarge , cache.r6g.4xlarge , cache.r6g.8xlarge , cache.r6g.12xlarge , cache.r6g.16xlargeNote
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.8xlargeAdditional 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.ReservedCacheNodesOfferingNotFoundFaultElastiCache.Client.exceptions.ReservedCacheNodeAlreadyExistsFaultElastiCache.Client.exceptions.ReservedCacheNodeQuotaExceededFaultElastiCache.Client.exceptions.TagQuotaPerResourceExceededElastiCache.Client.exceptions.InvalidParameterValueExceptionElastiCache.Client.exceptions.InvalidParameterCombinationExceptionExamples
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': {
'...': '...',
},
}