Amazon ElastiCache 2015-02-02
- Client: Aws\ElastiCache\ElastiCacheClient
- Service ID: elasticache
- Version: 2015-02-02
This page describes the parameters and results for the operations of the Amazon ElastiCache (2015-02-02), and shows how to use the Aws\ElastiCache\ElastiCacheClient object to call the described operations. This documentation is specific to the 2015-02-02 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName')
, where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */)
.
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */)
.
- AddTagsToResource ( array $params = [] )
- A tag is a key-value pair where the key and value are case-sensitive.
- AuthorizeCacheSecurityGroupIngress ( array $params = [] )
- Allows network ingress to a cache security group.
- BatchApplyUpdateAction ( array $params = [] )
- Apply the service update.
- BatchStopUpdateAction ( array $params = [] )
- Stop the service update.
- CompleteMigration ( array $params = [] )
- Complete the migration of data.
- CopyServerlessCacheSnapshot ( array $params = [] )
- Creates a copy of an existing serverless cache’s snapshot.
- CopySnapshot ( array $params = [] )
- Makes a copy of an existing snapshot.
- CreateCacheCluster ( array $params = [] )
- Creates a cluster.
- CreateCacheParameterGroup ( array $params = [] )
- Creates a new Amazon ElastiCache cache parameter group.
- CreateCacheSecurityGroup ( array $params = [] )
- Creates a new cache security group.
- CreateCacheSubnetGroup ( array $params = [] )
- Creates a new cache subnet group.
- CreateGlobalReplicationGroup ( array $params = [] )
- Global Datastore offers fully managed, fast, reliable and secure cross-region replication.
- CreateReplicationGroup ( array $params = [] )
- Creates a Valkey or Redis OSS (cluster mode disabled) or a Valkey or Redis OSS (cluster mode enabled) replication group.
- CreateServerlessCache ( array $params = [] )
- Creates a serverless cache.
- CreateServerlessCacheSnapshot ( array $params = [] )
- This API creates a copy of an entire ServerlessCache at a specific moment in time.
- CreateSnapshot ( array $params = [] )
- Creates a copy of an entire cluster or replication group at a specific moment in time.
- CreateUser ( array $params = [] )
- For Valkey engine version 7.
- CreateUserGroup ( array $params = [] )
- For Valkey engine version 7.
- DecreaseNodeGroupsInGlobalReplicationGroup ( array $params = [] )
- Decreases the number of node groups in a Global datastore
- DecreaseReplicaCount ( array $params = [] )
- Dynamically decreases the number of replicas in a Valkey or Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Valkey or Redis OSS (cluster mode enabled) replication group.
- DeleteCacheCluster ( array $params = [] )
- Deletes a previously provisioned cluster.
- DeleteCacheParameterGroup ( array $params = [] )
- Deletes the specified cache parameter group.
- DeleteCacheSecurityGroup ( array $params = [] )
- Deletes a cache security group.
- DeleteCacheSubnetGroup ( array $params = [] )
- Deletes a cache subnet group.
- DeleteGlobalReplicationGroup ( array $params = [] )
- Deleting a Global datastore is a two-step process: First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global datastore.
- DeleteReplicationGroup ( array $params = [] )
- Deletes an existing replication group.
- DeleteServerlessCache ( array $params = [] )
- Deletes a specified existing serverless cache.
- DeleteServerlessCacheSnapshot ( array $params = [] )
- Deletes an existing serverless cache snapshot.
- DeleteSnapshot ( array $params = [] )
- Deletes an existing snapshot.
- DeleteUser ( array $params = [] )
- For Valkey engine version 7.
- DeleteUserGroup ( array $params = [] )
- For Valkey engine version 7.
- DescribeCacheClusters ( array $params = [] )
- Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.
- DescribeCacheEngineVersions ( array $params = [] )
- Returns a list of the available cache engines and their versions.
- DescribeCacheParameterGroups ( array $params = [] )
- Returns a list of cache parameter group descriptions.
- DescribeCacheParameters ( array $params = [] )
- Returns the detailed parameter list for a particular cache parameter group.
- DescribeCacheSecurityGroups ( array $params = [] )
- Returns a list of cache security group descriptions.
- DescribeCacheSubnetGroups ( array $params = [] )
- Returns a list of cache subnet group descriptions.
- DescribeEngineDefaultParameters ( array $params = [] )
- Returns the default engine and system parameter information for the specified cache engine.
- DescribeEvents ( array $params = [] )
- Returns events related to clusters, cache security groups, and cache parameter groups.
- DescribeGlobalReplicationGroups ( array $params = [] )
- Returns information about a particular global replication group.
- DescribeReplicationGroups ( array $params = [] )
- Returns information about a particular replication group.
- DescribeReservedCacheNodes ( array $params = [] )
- Returns information about reserved cache nodes for this account, or about a specified reserved cache node.
- DescribeReservedCacheNodesOfferings ( array $params = [] )
- Lists available reserved cache node offerings.
- DescribeServerlessCacheSnapshots ( array $params = [] )
- Returns information about serverless cache snapshots.
- DescribeServerlessCaches ( array $params = [] )
- Returns information about a specific serverless cache.
- DescribeServiceUpdates ( array $params = [] )
- Returns details of the service updates
- DescribeSnapshots ( array $params = [] )
- Returns information about cluster or replication group snapshots.
- DescribeUpdateActions ( array $params = [] )
- Returns details of the update actions
- DescribeUserGroups ( array $params = [] )
- Returns a list of user groups.
- DescribeUsers ( array $params = [] )
- Returns a list of users.
- DisassociateGlobalReplicationGroup ( array $params = [] )
- Remove a secondary cluster from the Global datastore using the Global datastore name.
- ExportServerlessCacheSnapshot ( array $params = [] )
- Provides the functionality to export the serverless cache snapshot data to Amazon S3.
- FailoverGlobalReplicationGroup ( array $params = [] )
- Used to failover the primary region to a secondary region.
- IncreaseNodeGroupsInGlobalReplicationGroup ( array $params = [] )
- Increase the number of node groups in the Global datastore
- IncreaseReplicaCount ( array $params = [] )
- Dynamically increases the number of replicas in a Valkey or Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Valkey or Redis OSS (cluster mode enabled) replication group.
- ListAllowedNodeTypeModifications ( array $params = [] )
- Lists all available node types that you can scale with your cluster's replication group's current node type.
- ListTagsForResource ( array $params = [] )
- Lists all tags currently on a named resource.
- ModifyCacheCluster ( array $params = [] )
- Modifies the settings for a cluster.
- ModifyCacheParameterGroup ( array $params = [] )
- Modifies the parameters of a cache parameter group.
- ModifyCacheSubnetGroup ( array $params = [] )
- Modifies an existing cache subnet group.
- ModifyGlobalReplicationGroup ( array $params = [] )
- Modifies the settings for a Global datastore.
- ModifyReplicationGroup ( array $params = [] )
- Modifies the settings for a replication group.
- ModifyReplicationGroupShardConfiguration ( array $params = [] )
- Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among existing shards.
- ModifyServerlessCache ( array $params = [] )
- This API modifies the attributes of a serverless cache.
- ModifyUser ( array $params = [] )
- Changes user password(s) and/or access string.
- ModifyUserGroup ( array $params = [] )
- Changes the list of users that belong to the user group.
- PurchaseReservedCacheNodesOffering ( array $params = [] )
- Allows you to purchase a reserved cache node offering.
- RebalanceSlotsInGlobalReplicationGroup ( array $params = [] )
- Redistribute slots to ensure uniform distribution across existing shards in the cluster.
- RebootCacheCluster ( array $params = [] )
- Reboots some, or all, of the cache nodes within a provisioned cluster.
- RemoveTagsFromResource ( array $params = [] )
- Removes the tags identified by the TagKeys list from the named resource.
- ResetCacheParameterGroup ( array $params = [] )
- Modifies the parameters of a cache parameter group to the engine or system default value.
- RevokeCacheSecurityGroupIngress ( array $params = [] )
- Revokes ingress from a cache security group.
- StartMigration ( array $params = [] )
- Start the migration of data.
- TestFailover ( array $params = [] )
- Represents the input of a TestFailover operation which tests automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).
- TestMigration ( array $params = [] )
- Async API to test connection between source and target replication group.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
- DescribeCacheClusters
- DescribeCacheEngineVersions
- DescribeCacheParameterGroups
- DescribeCacheParameters
- DescribeCacheSecurityGroups
- DescribeCacheSubnetGroups
- DescribeEngineDefaultParameters
- DescribeEvents
- DescribeGlobalReplicationGroups
- DescribeReplicationGroups
- DescribeReservedCacheNodes
- DescribeReservedCacheNodesOfferings
- DescribeServerlessCacheSnapshots
- DescribeServerlessCaches
- DescribeServiceUpdates
- DescribeSnapshots
- DescribeUpdateActions
- DescribeUserGroups
- DescribeUsers
Waiters
Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:
Waiter name | API Operation | Delay | Max Attempts |
---|---|---|---|
CacheClusterAvailable | DescribeCacheClusters | 15 | 40 |
CacheClusterDeleted | DescribeCacheClusters | 15 | 40 |
ReplicationGroupAvailable | DescribeReplicationGroups | 15 | 40 |
ReplicationGroupDeleted | DescribeReplicationGroups | 15 | 40 |
Operations
AddTagsToResource
$result = $client->addTagsToResource
([/* ... */]); $promise = $client->addTagsToResourceAsync
([/* ... */]);
A tag is a key-value pair where the key and value are case-sensitive. 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. For more information, see Resource-level permissions.
For example, you can use cost-allocation tags to your ElastiCache resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services.
For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.
Parameter Syntax
$result = $client->addTagsToResource([ 'ResourceName' => '<string>', // REQUIRED 'Tags' => [ // REQUIRED [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- ResourceName
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example
arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
orarn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot
. ElastiCache resources are cluster and snapshot.For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.
- Tags
-
- Required: Yes
- Type: Array of Tag structures
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.
Result Syntax
[ 'TagList' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]
Result Details
Members
- TagList
-
- Type: Array of Tag structures
A list of tags as key-value pairs.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- ReservedCacheNodeNotFoundFault:
The requested reserved cache node was not found.
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- UserNotFoundFault:
The user does not exist or could not be found.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidARNFault:
The requested Amazon Resource Name (ARN) does not refer to an existing resource.
Examples
Example 1: AddTagsToResource
Adds up to 10 tags, key/value pairs, to a cluster or snapshot resource.
$result = $client->addTagsToResource([ 'ResourceName' => 'arn:aws:elasticache:us-east-1:1234567890:cluster:my-mem-cluster', 'Tags' => [ [ 'Key' => 'APIVersion', 'Value' => '20150202', ], [ 'Key' => 'Service', 'Value' => 'ElastiCache', ], ], ]);
Result syntax:
[ 'TagList' => [ [ 'Key' => 'APIVersion', 'Value' => '20150202', ], [ 'Key' => 'Service', 'Value' => 'ElastiCache', ], ], ]
AuthorizeCacheSecurityGroupIngress
$result = $client->authorizeCacheSecurityGroupIngress
([/* ... */]); $promise = $client->authorizeCacheSecurityGroupIngressAsync
([/* ... */]);
Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.
You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.
Parameter Syntax
$result = $client->authorizeCacheSecurityGroupIngress([ 'CacheSecurityGroupName' => '<string>', // REQUIRED 'EC2SecurityGroupName' => '<string>', // REQUIRED 'EC2SecurityGroupOwnerId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheSecurityGroupName
-
- Required: Yes
- Type: string
The cache security group that allows network ingress.
- EC2SecurityGroupName
-
- Required: Yes
- Type: string
The Amazon EC2 security group to be authorized for ingress to the cache security group.
- EC2SecurityGroupOwnerId
-
- Required: Yes
- Type: string
The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
Result Syntax
[ 'CacheSecurityGroup' => [ 'ARN' => '<string>', 'CacheSecurityGroupName' => '<string>', 'Description' => '<string>', 'EC2SecurityGroups' => [ [ 'EC2SecurityGroupName' => '<string>', 'EC2SecurityGroupOwnerId' => '<string>', 'Status' => '<string>', ], // ... ], 'OwnerId' => '<string>', ], ]
Result Details
Members
- CacheSecurityGroup
-
- Type: CacheSecurityGroup structure
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
Errors
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- InvalidCacheSecurityGroupStateFault:
The current state of the cache security group does not allow deletion.
- AuthorizationAlreadyExistsFault:
The specified Amazon EC2 security group is already authorized for the specified cache security group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: AuthorizeCacheCacheSecurityGroupIngress
Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2. Amazon EC2 security groups are used as the authorization mechanism.
$result = $client->authorizeCacheSecurityGroupIngress([ 'CacheSecurityGroupName' => 'my-sec-grp', 'EC2SecurityGroupName' => 'my-ec2-sec-grp', 'EC2SecurityGroupOwnerId' => '1234567890', ]);
BatchApplyUpdateAction
$result = $client->batchApplyUpdateAction
([/* ... */]); $promise = $client->batchApplyUpdateActionAsync
([/* ... */]);
Apply the service update. For more information on service updates and applying them, see Applying Service Updates.
Parameter Syntax
$result = $client->batchApplyUpdateAction([ 'CacheClusterIds' => ['<string>', ...], 'ReplicationGroupIds' => ['<string>', ...], 'ServiceUpdateName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheClusterIds
-
- Type: Array of strings
The cache cluster IDs
- ReplicationGroupIds
-
- Type: Array of strings
The replication group IDs
- ServiceUpdateName
-
- Required: Yes
- Type: string
The unique ID of the service update
Result Syntax
[ 'ProcessedUpdateActions' => [ [ 'CacheClusterId' => '<string>', 'ReplicationGroupId' => '<string>', 'ServiceUpdateName' => '<string>', 'UpdateActionStatus' => 'not-applied|waiting-to-start|in-progress|stopping|stopped|complete|scheduling|scheduled|not-applicable', ], // ... ], 'UnprocessedUpdateActions' => [ [ 'CacheClusterId' => '<string>', 'ErrorMessage' => '<string>', 'ErrorType' => '<string>', 'ReplicationGroupId' => '<string>', 'ServiceUpdateName' => '<string>', ], // ... ], ]
Result Details
Members
- ProcessedUpdateActions
-
- Type: Array of ProcessedUpdateAction structures
Update actions that have been processed successfully
- UnprocessedUpdateActions
-
- Type: Array of UnprocessedUpdateAction structures
Update actions that haven't been processed successfully
Errors
- ServiceUpdateNotFoundFault:
The service update doesn't exist
- InvalidParameterValueException:
The value for a parameter is invalid.
BatchStopUpdateAction
$result = $client->batchStopUpdateAction
([/* ... */]); $promise = $client->batchStopUpdateActionAsync
([/* ... */]);
Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates.
Parameter Syntax
$result = $client->batchStopUpdateAction([ 'CacheClusterIds' => ['<string>', ...], 'ReplicationGroupIds' => ['<string>', ...], 'ServiceUpdateName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheClusterIds
-
- Type: Array of strings
The cache cluster IDs
- ReplicationGroupIds
-
- Type: Array of strings
The replication group IDs
- ServiceUpdateName
-
- Required: Yes
- Type: string
The unique ID of the service update
Result Syntax
[ 'ProcessedUpdateActions' => [ [ 'CacheClusterId' => '<string>', 'ReplicationGroupId' => '<string>', 'ServiceUpdateName' => '<string>', 'UpdateActionStatus' => 'not-applied|waiting-to-start|in-progress|stopping|stopped|complete|scheduling|scheduled|not-applicable', ], // ... ], 'UnprocessedUpdateActions' => [ [ 'CacheClusterId' => '<string>', 'ErrorMessage' => '<string>', 'ErrorType' => '<string>', 'ReplicationGroupId' => '<string>', 'ServiceUpdateName' => '<string>', ], // ... ], ]
Result Details
Members
- ProcessedUpdateActions
-
- Type: Array of ProcessedUpdateAction structures
Update actions that have been processed successfully
- UnprocessedUpdateActions
-
- Type: Array of UnprocessedUpdateAction structures
Update actions that haven't been processed successfully
Errors
- ServiceUpdateNotFoundFault:
The service update doesn't exist
- InvalidParameterValueException:
The value for a parameter is invalid.
CompleteMigration
$result = $client->completeMigration
([/* ... */]); $promise = $client->completeMigrationAsync
([/* ... */]);
Complete the migration of data.
Parameter Syntax
$result = $client->completeMigration([ 'Force' => true || false, 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- Force
-
- Type: boolean
Forces the migration to stop without ensuring that data is in sync. It is recommended to use this option only to abort the migration and not recommended when application wants to continue migration to ElastiCache.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The ID of the replication group to which data is being migrated.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupNotUnderMigrationFault:
The designated replication group is not available for data migration.
CopyServerlessCacheSnapshot
$result = $client->copyServerlessCacheSnapshot
([/* ... */]); $promise = $client->copyServerlessCacheSnapshotAsync
([/* ... */]);
Creates a copy of an existing serverless cache’s snapshot. Available for Valkey, Redis OSS and Serverless Memcached only.
Parameter Syntax
$result = $client->copyServerlessCacheSnapshot([ 'KmsKeyId' => '<string>', 'SourceServerlessCacheSnapshotName' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'TargetServerlessCacheSnapshotName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- KmsKeyId
-
- Type: string
The identifier of the KMS key used to encrypt the target snapshot. Available for Valkey, Redis OSS and Serverless Memcached only.
- SourceServerlessCacheSnapshotName
-
- Required: Yes
- Type: string
The identifier of the existing serverless cache’s snapshot to be copied. Available for Valkey, Redis OSS and Serverless Memcached only.
- Tags
-
- Type: Array of Tag structures
A list of tags to be added to the target snapshot resource. A tag is a key-value pair. Available for Valkey, Redis OSS and Serverless Memcached only. Default: NULL
- TargetServerlessCacheSnapshotName
-
- Required: Yes
- Type: string
The identifier for the snapshot to be created. Available for Valkey, Redis OSS and Serverless Memcached only.
Result Syntax
[ 'ServerlessCacheSnapshot' => [ 'ARN' => '<string>', 'BytesUsedForCache' => '<string>', 'CreateTime' => <DateTime>, 'ExpiryTime' => <DateTime>, 'KmsKeyId' => '<string>', 'ServerlessCacheConfiguration' => [ 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'ServerlessCacheName' => '<string>', ], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', 'Status' => '<string>', ], ]
Result Details
Members
- ServerlessCacheSnapshot
-
- Type: ServerlessCacheSnapshot structure
The response for the attempt to copy the serverless cache snapshot. Available for Valkey, Redis OSS and Serverless Memcached only.
Errors
- ServerlessCacheSnapshotAlreadyExistsFault:
A serverless cache snapshot with this name already exists. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheSnapshotQuotaExceededFault:
The number of serverless cache snapshots exceeds the customer snapshot quota. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
CopySnapshot
$result = $client->copySnapshot
([/* ... */]); $promise = $client->copySnapshotAsync
([/* ... */]);
Makes a copy of an existing snapshot.
This operation is valid for Valkey or Redis OSS only.
Users or groups that have permissions to use the CopySnapshot
operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot
operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.
You could receive the following error messages.
Error Messages
-
Error Message: The S3 bucket %s is outside of the region.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
-
Error Message: The S3 bucket %s does not exist.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
-
Error Message: The S3 bucket %s is not owned by the authenticated user.
Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.
-
Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.
Solution: Contact your system administrator to get the needed permissions.
-
Error Message: The S3 bucket %s already contains an object with key %s.
Solution: Give the
TargetSnapshotName
a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value forTargetSnapshotName
. -
Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.
Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
-
Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.
Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
-
Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.
Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.
Parameter Syntax
$result = $client->copySnapshot([ 'KmsKeyId' => '<string>', 'SourceSnapshotName' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'TargetBucket' => '<string>', 'TargetSnapshotName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- KmsKeyId
-
- Type: string
The ID of the KMS key used to encrypt the target snapshot.
- SourceSnapshotName
-
- Required: Yes
- Type: string
The name of an existing snapshot from which to make a copy.
- Tags
-
- Type: Array of Tag structures
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.
- TargetBucket
-
- Type: string
The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.
When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.
For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.
- TargetSnapshotName
-
- Required: Yes
- Type: string
A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.
Result Syntax
[ 'Snapshot' => [ 'ARN' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSubnetGroupName' => '<string>', 'DataTiering' => 'enabled|disabled', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'NodeSnapshots' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheSize' => '<string>', 'NodeGroupConfiguration' => [ 'NodeGroupId' => '<string>', 'PrimaryAvailabilityZone' => '<string>', 'PrimaryOutpostArn' => '<string>', 'ReplicaAvailabilityZones' => ['<string>', ...], 'ReplicaCount' => <integer>, 'ReplicaOutpostArns' => ['<string>', ...], 'Slots' => '<string>', ], 'NodeGroupId' => '<string>', 'SnapshotCreateTime' => <DateTime>, ], // ... ], 'NumCacheNodes' => <integer>, 'NumNodeGroups' => <integer>, 'Port' => <integer>, 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupDescription' => '<string>', 'ReplicationGroupId' => '<string>', 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotSource' => '<string>', 'SnapshotStatus' => '<string>', 'SnapshotWindow' => '<string>', 'TopicArn' => '<string>', 'VpcId' => '<string>', ], ]
Result Details
Members
- Snapshot
-
- Type: Snapshot structure
Represents a copy of an entire Valkey or Redis OSS cluster as of the time when the snapshot was taken.
Errors
- SnapshotAlreadyExistsFault:
You already have a snapshot with the given name.
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- SnapshotQuotaExceededFault:
The request cannot be processed because it would exceed the maximum number of snapshots.
- InvalidSnapshotStateFault:
The current state of the snapshot does not allow the requested operation to occur.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: CopySnapshot
Copies a snapshot to a specified name.
$result = $client->copySnapshot([ 'SourceSnapshotName' => 'my-snapshot', 'TargetBucket' => '', 'TargetSnapshotName' => 'my-snapshot-copy', ]);
Result syntax:
[ 'Snapshot' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-redis4', 'CacheNodeType' => 'cache.m3.large', 'CacheParameterGroupName' => 'default.redis3.2', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheSize' => '3 MB', 'SnapshotCreateTime' => , ], ], 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-east-1c', 'PreferredMaintenanceWindow' => 'tue:09:30-tue:10:30', 'SnapshotName' => 'my-snapshot-copy', 'SnapshotRetentionLimit' => 7, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'creating', 'SnapshotWindow' => '07:00-08:00', 'VpcId' => 'vpc-3820329f3', ], ]
CreateCacheCluster
$result = $client->createCacheCluster
([/* ... */]); $promise = $client->createCacheClusterAsync
([/* ... */]);
Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached, Valkey or Redis OSS.
This operation is not supported for Valkey or Redis OSS (cluster mode enabled) clusters.
Parameter Syntax
$result = $client->createCacheCluster([ 'AZMode' => 'single-az|cross-az', 'AuthToken' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterId' => '<string>', // REQUIRED 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSecurityGroupNames' => ['<string>', ...], 'CacheSubnetGroupName' => '<string>', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'Enabled' => true || false, 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationTopicArn' => '<string>', 'NumCacheNodes' => <integer>, 'OutpostMode' => 'single-outpost|cross-outpost', 'Port' => <integer>, 'PreferredAvailabilityZone' => '<string>', 'PreferredAvailabilityZones' => ['<string>', ...], 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'PreferredOutpostArns' => ['<string>', ...], 'ReplicationGroupId' => '<string>', 'SecurityGroupIds' => ['<string>', ...], 'SnapshotArns' => ['<string>', ...], 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'TransitEncryptionEnabled' => true || false, ]);
Parameter Details
Members
- AZMode
-
- Type: string
Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.
This parameter is only supported for Memcached clusters.
If the
AZMode
andPreferredAvailabilityZones
are not specified, ElastiCache assumessingle-az
mode. - AuthToken
-
- Type: string
Reserved parameter. The password used to access a password protected server.
Password constraints:
-
Must be only printable ASCII characters.
-
Must be at least 16 characters and no more than 128 characters in length.
-
The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.
For more information, see AUTH password at http://redis.io/commands/AUTH.
- AutoMinorVersionUpgrade
-
- Type: boolean
 If you are running Valkey 7.2 and above or Redis OSS engine version 6.0 and above, set this parameter to yes to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.Â
- CacheClusterId
-
- Required: Yes
- Type: string
The node group (shard) identifier. This parameter is stored as a lowercase string.
Constraints:
-
A name must contain from 1 to 50 alphanumeric characters or hyphens.
-
The first character must be a letter.
-
A name cannot end with a hyphen or contain two consecutive hyphens.
- CacheNodeType
-
- Type: string
The compute and memory capacity of the nodes in the node group (shard).
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
- CacheParameterGroupName
-
- Type: string
The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has
cluster-enabled='yes'
when creating a cluster. - CacheSecurityGroupNames
-
- Type: Array of strings
A list of security group names to associate with this cluster.
Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).
- CacheSubnetGroupName
-
- Type: string
The name of the subnet group to be used for the cluster.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.
- Engine
-
- Type: string
The name of the cache engine to be used for this cluster.
Valid values for this parameter are:
memcached
|redis
- EngineVersion
-
- Type: string
The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.
Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.
- IpDiscovery
-
- Type: string
The network type you choose when modifying a cluster, either
ipv4
|ipv6
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - LogDeliveryConfigurations
-
- Type: Array of LogDeliveryConfigurationRequest structures
Specifies the destination, format and type of the logs.
- NetworkType
-
- Type: string
Must be either
ipv4
|ipv6
|dual_stack
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - NotificationTopicArn
-
- Type: string
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
The Amazon SNS topic owner must be the same as the cluster owner.
- NumCacheNodes
-
- Type: int
The initial number of cache nodes that the cluster has.
For clusters running Valkey or Redis OSS, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
If you need more than 40 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.
- OutpostMode
-
- Type: string
Specifies whether the nodes in the cluster are created in a single outpost or across multiple outposts.
- Port
-
- Type: int
The port number on which each of the cache nodes accepts connections.
- PreferredAvailabilityZone
-
- Type: string
The EC2 Availability Zone in which the cluster is created.
All nodes belonging to this cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use
PreferredAvailabilityZones
.Default: System chosen Availability Zone.
- PreferredAvailabilityZones
-
- Type: Array of strings
A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.
This option is only supported on Memcached.
If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.
The number of Availability Zones listed must equal the value of
NumCacheNodes
.If you want all the nodes in the same Availability Zone, use
PreferredAvailabilityZone
instead, or repeat the Availability Zone multiple times in the list.Default: System chosen Availability Zones.
- PreferredMaintenanceWindow
-
- Type: string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
- PreferredOutpostArn
-
- Type: string
The outpost ARN in which the cache cluster is created.
- PreferredOutpostArns
-
- Type: Array of strings
The outpost ARNs in which the cache cluster is created.
- ReplicationGroupId
-
- Type: string
The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.
This parameter is only valid if the
Engine
parameter isredis
. - SecurityGroupIds
-
- Type: Array of strings
One or more VPC security groups associated with the cluster.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
- SnapshotArns
-
- Type: Array of strings
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Valkey or Redis OSS RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.
This parameter is only valid if the
Engine
parameter isredis
.Example of an Amazon S3 ARN:
arn:aws:s3:::my_bucket/snapshot1.rdb
- SnapshotName
-
- Type: string
The name of a Valkey or Redis OSS snapshot from which to restore data into the new node group (shard). The snapshot status changes to
restoring
while the new node group (shard) is being created.This parameter is only valid if the
Engine
parameter isredis
. - SnapshotRetentionLimit
-
- Type: int
The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set
SnapshotRetentionLimit
to 5, a snapshot taken today is retained for 5 days before being deleted.This parameter is only valid if the
Engine
parameter isredis
.Default: 0 (i.e., automatic backups are disabled for this cache cluster).
- SnapshotWindow
-
- Type: string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
Example:
05:00-09:00
If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
This parameter is only valid if the
Engine
parameter isredis
. - Tags
-
- Type: Array of Tag structures
A list of tags to be added to this resource.
- TransitEncryptionEnabled
-
- Type: boolean
A flag that enables in-transit encryption when set to true.
Result Syntax
[ 'CacheCluster' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheClusterStatus' => '<string>', 'CacheNodeType' => '<string>', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheNodeStatus' => '<string>', 'CustomerAvailabilityZone' => '<string>', 'CustomerOutpostArn' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ParameterGroupStatus' => '<string>', 'SourceCacheNodeId' => '<string>', ], // ... ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => ['<string>', ...], 'CacheParameterGroupName' => '<string>', 'ParameterApplyStatus' => '<string>', ], 'CacheSecurityGroups' => [ [ 'CacheSecurityGroupName' => '<string>', 'Status' => '<string>', ], // ... ], 'CacheSubnetGroupName' => '<string>', 'ClientDownloadLandingPage' => '<string>', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationConfiguration' => [ 'TopicArn' => '<string>', 'TopicStatus' => '<string>', ], 'NumCacheNodes' => <integer>, 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'EngineVersion' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NumCacheNodes' => <integer>, 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupId' => '<string>', 'ReplicationGroupLogDeliveryEnabled' => true || false, 'SecurityGroups' => [ [ 'SecurityGroupId' => '<string>', 'Status' => '<string>', ], // ... ], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], ]
Result Details
Members
- CacheCluster
-
- Type: CacheCluster structure
Contains all of the attributes of a specific cluster.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- CacheClusterAlreadyExistsFault:
You already have a cluster with the given identifier.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- ClusterQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of clusters per customer.
- NodeQuotaForClusterExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: CreateCacheCluster
Creates a Memcached cluster with 2 nodes.
$result = $client->createCacheCluster([ 'AZMode' => 'cross-az', 'CacheClusterId' => 'my-memcached-cluster', 'CacheNodeType' => 'cache.r3.large', 'CacheSubnetGroupName' => 'default', 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'Port' => 11211, ]);
Result syntax:
[ 'CacheCluster' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterId' => 'my-memcached-cluster', 'CacheClusterStatus' => 'creating', 'CacheNodeType' => 'cache.r3.large', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.memcached1.4', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'Multiple', 'PreferredMaintenanceWindow' => 'wed:09:00-wed:10:00', ], ]
Example 2: CreateCacheCluster
Creates a Redis cluster with 1 node.
$result = $client->createCacheCluster([ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterId' => 'my-redis', 'CacheNodeType' => 'cache.r3.larage', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-east-1c', 'SnapshotRetentionLimit' => 7, ]);
Result syntax:
[ 'CacheCluster' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterId' => 'my-redis', 'CacheClusterStatus' => 'creating', 'CacheNodeType' => 'cache.m3.large', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.redis3.2', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https: //console.aws.amazon.com/elasticache/home#client-download: ', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NumCacheNodes' => 1, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'us-east-1c', 'PreferredMaintenanceWindow' => 'fri: 05: 30-fri: 06: 30', 'SnapshotRetentionLimit' => 7, 'SnapshotWindow' => '10: 00-11: 00', ], ]
CreateCacheParameterGroup
$result = $client->createCacheParameterGroup
([/* ... */]); $promise = $client->createCacheParameterGroupAsync
([/* ... */]);
Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.
A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:
-
ModifyCacheParameterGroup in the ElastiCache API Reference.
-
Parameters and Parameter Groups in the ElastiCache User Guide.
Parameter Syntax
$result = $client->createCacheParameterGroup([ 'CacheParameterGroupFamily' => '<string>', // REQUIRED 'CacheParameterGroupName' => '<string>', // REQUIRED 'Description' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheParameterGroupFamily
-
- Required: Yes
- Type: string
The name of the cache parameter group family that the cache parameter group can be used with.
Valid values are:
memcached1.4
|memcached1.5
|memcached1.6
|redis2.6
|redis2.8
|redis3.2
|redis4.0
|redis5.0
|redis6.x
|redis7
- CacheParameterGroupName
-
- Required: Yes
- Type: string
A user-specified name for the cache parameter group.
- Description
-
- Required: Yes
- Type: string
A user-specified description for the cache parameter group.
- Tags
-
- Type: Array of Tag structures
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.
Result Syntax
[ 'CacheParameterGroup' => [ 'ARN' => '<string>', 'CacheParameterGroupFamily' => '<string>', 'CacheParameterGroupName' => '<string>', 'Description' => '<string>', 'IsGlobal' => true || false, ], ]
Result Details
Members
- CacheParameterGroup
-
- Type: CacheParameterGroup structure
Represents the output of a
CreateCacheParameterGroup
operation.
Errors
- CacheParameterGroupQuotaExceededFault:
The request cannot be processed because it would exceed the maximum number of cache security groups.
- CacheParameterGroupAlreadyExistsFault:
A cache parameter group with the requested name already exists.
- InvalidCacheParameterGroupStateFault:
The current state of the cache parameter group does not allow the requested operation to occur.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: CreateCacheParameterGroup
Creates the Amazon ElastiCache parameter group custom-redis2-8.
$result = $client->createCacheParameterGroup([ 'CacheParameterGroupFamily' => 'redis2.8', 'CacheParameterGroupName' => 'custom-redis2-8', 'Description' => 'Custom Redis 2.8 parameter group.', ]);
Result syntax:
[ 'CacheParameterGroup' => [ 'CacheParameterGroupFamily' => 'redis2.8', 'CacheParameterGroupName' => 'custom-redis2-8', 'Description' => 'Custom Redis 2.8 parameter group.', ], ]
CreateCacheSecurityGroup
$result = $client->createCacheSecurityGroup
([/* ... */]); $promise = $client->createCacheSecurityGroupAsync
([/* ... */]);
Creates a new cache security group. Use a cache security group to control access to one or more clusters.
Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.
Parameter Syntax
$result = $client->createCacheSecurityGroup([ 'CacheSecurityGroupName' => '<string>', // REQUIRED 'Description' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheSecurityGroupName
-
- Required: Yes
- Type: string
A name for the cache security group. This value is stored as a lowercase string.
Constraints: Must contain no more than 255 alphanumeric characters. Cannot be the word "Default".
Example:
mysecuritygroup
- Description
-
- Required: Yes
- Type: string
A description for the cache security group.
- Tags
-
- Type: Array of Tag structures
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.
Result Syntax
[ 'CacheSecurityGroup' => [ 'ARN' => '<string>', 'CacheSecurityGroupName' => '<string>', 'Description' => '<string>', 'EC2SecurityGroups' => [ [ 'EC2SecurityGroupName' => '<string>', 'EC2SecurityGroupOwnerId' => '<string>', 'Status' => '<string>', ], // ... ], 'OwnerId' => '<string>', ], ]
Result Details
Members
- CacheSecurityGroup
-
- Type: CacheSecurityGroup structure
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
Errors
- CacheSecurityGroupAlreadyExistsFault:
A cache security group with the specified name already exists.
- CacheSecurityGroupQuotaExceededFault:
The request cannot be processed because it would exceed the allowed number of cache security groups.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: CreateCacheSecurityGroup
Creates an ElastiCache security group. ElastiCache security groups are only for clusters not running in an AWS VPC.
$result = $client->createCacheSecurityGroup([ 'CacheSecurityGroupName' => 'my-cache-sec-grp', 'Description' => 'Example ElastiCache security group.', ]);
CreateCacheSubnetGroup
$result = $client->createCacheSubnetGroup
([/* ... */]); $promise = $client->createCacheSubnetGroupAsync
([/* ... */]);
Creates a new cache subnet group.
Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).
Parameter Syntax
$result = $client->createCacheSubnetGroup([ 'CacheSubnetGroupDescription' => '<string>', // REQUIRED 'CacheSubnetGroupName' => '<string>', // REQUIRED 'SubnetIds' => ['<string>', ...], // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheSubnetGroupDescription
-
- Required: Yes
- Type: string
A description for the cache subnet group.
- CacheSubnetGroupName
-
- Required: Yes
- Type: string
A name for the cache subnet group. This value is stored as a lowercase string.
Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
Example:
mysubnetgroup
- SubnetIds
-
- Required: Yes
- Type: Array of strings
A list of VPC subnet IDs for the cache subnet group.
- Tags
-
- Type: Array of Tag structures
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.
Result Syntax
[ 'CacheSubnetGroup' => [ 'ARN' => '<string>', 'CacheSubnetGroupDescription' => '<string>', 'CacheSubnetGroupName' => '<string>', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => '<string>', ], 'SubnetIdentifier' => '<string>', 'SubnetOutpost' => [ 'SubnetOutpostArn' => '<string>', ], 'SupportedNetworkTypes' => ['<string>', ...], ], // ... ], 'SupportedNetworkTypes' => ['<string>', ...], 'VpcId' => '<string>', ], ]
Result Details
Members
- CacheSubnetGroup
-
- Type: CacheSubnetGroup structure
Represents the output of one of the following operations:
-
CreateCacheSubnetGroup
-
ModifyCacheSubnetGroup
Errors
- CacheSubnetGroupAlreadyExistsFault:
The requested cache subnet group name is already in use by an existing cache subnet group.
- CacheSubnetGroupQuotaExceededFault:
The request cannot be processed because it would exceed the allowed number of cache subnet groups.
- CacheSubnetQuotaExceededFault:
The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidSubnet:
An invalid subnet identifier was specified.
- SubnetNotAllowedFault:
At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a user sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets the subnet ID to an Outpost when not subscribed on this service.
Examples
Example 1: CreateCacheSubnet
Creates a new cache subnet group.
$result = $client->createCacheSubnetGroup([ 'CacheSubnetGroupDescription' => 'Sample subnet group', 'CacheSubnetGroupName' => 'my-sn-grp2', 'SubnetIds' => [ 'subnet-6f28c982', 'subnet-bcd382f3', 'subnet-845b3e7c0', ], ]);
Result syntax:
[ 'CacheSubnetGroup' => [ 'CacheSubnetGroupDescription' => 'My subnet group.', 'CacheSubnetGroupName' => 'my-sn-grp', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1a', ], 'SubnetIdentifier' => 'subnet-6f28c982', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1c', ], 'SubnetIdentifier' => 'subnet-bcd382f3', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1b', ], 'SubnetIdentifier' => 'subnet-845b3e7c0', ], ], 'VpcId' => 'vpc-91280df6', ], ]
CreateGlobalReplicationGroup
$result = $client->createGlobalReplicationGroup
([/* ... */]); $promise = $client->createGlobalReplicationGroupAsync
([/* ... */]);
Global Datastore offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore with Valkey or Redis OSS, you can create cross-region read replica clusters for ElastiCache to enable low-latency reads and disaster recovery across regions. For more information, see Replication Across Regions Using Global Datastore.
-
The GlobalReplicationGroupIdSuffix is the name of the Global datastore.
-
The PrimaryReplicationGroupId represents the name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.
Parameter Syntax
$result = $client->createGlobalReplicationGroup([ 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupIdSuffix' => '<string>', // REQUIRED 'PrimaryReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- GlobalReplicationGroupDescription
-
- Type: string
Provides details of the Global datastore
- GlobalReplicationGroupIdSuffix
-
- Required: Yes
- Type: string
The suffix name of a Global datastore. Amazon ElastiCache automatically applies a prefix to the Global datastore ID when it is created. Each Amazon Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.
For a full list of Amazon Regions and their respective Global datastore iD prefixes, see Using the Amazon CLI with Global datastores .
- PrimaryReplicationGroupId
-
- Required: Yes
- Type: string
The name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- GlobalReplicationGroupAlreadyExistsFault:
The Global datastore name already exists.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
CreateReplicationGroup
$result = $client->createReplicationGroup
([/* ... */]); $promise = $client->createReplicationGroupAsync
([/* ... */]);
Creates a Valkey or Redis OSS (cluster mode disabled) or a Valkey or Redis OSS (cluster mode enabled) replication group.
This API can be used to create a standalone regional replication group or a secondary replication group associated with a Global datastore.
A Valkey or Redis OSS (cluster mode disabled) replication group is a collection of nodes, where one of the nodes is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.
A Valkey or Redis OSS cluster-mode enabled cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 shards and 5 replicas, which is the maximum number or replicas allowed.
The node or shard limit can be increased to a maximum of 500 per cluster if the Valkey or Redis OSS engine version is 5.0.6 or higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet Group. For versions below 5.0.6, the limit is 250 per cluster.
To request a limit increase, see Amazon Service Limits and choose the limit type Nodes per cluster per instance type.
When a Valkey or Redis OSS (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. If you need to increase or decrease the number of node groups (console: shards), you can use scaling. For more information, see Scaling self-designed clusters in the ElastiCache User Guide.
This operation is valid for Valkey and Redis OSS only.
Parameter Syntax
$result = $client->createReplicationGroup([ 'AtRestEncryptionEnabled' => true || false, 'AuthToken' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailoverEnabled' => true || false, 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSecurityGroupNames' => ['<string>', ...], 'CacheSubnetGroupName' => '<string>', 'ClusterMode' => 'enabled|disabled|compatible', 'DataTieringEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'Enabled' => true || false, 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'MultiAZEnabled' => true || false, 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroupConfiguration' => [ [ 'NodeGroupId' => '<string>', 'PrimaryAvailabilityZone' => '<string>', 'PrimaryOutpostArn' => '<string>', 'ReplicaAvailabilityZones' => ['<string>', ...], 'ReplicaCount' => <integer>, 'ReplicaOutpostArns' => ['<string>', ...], 'Slots' => '<string>', ], // ... ], 'NotificationTopicArn' => '<string>', 'NumCacheClusters' => <integer>, 'NumNodeGroups' => <integer>, 'Port' => <integer>, 'PreferredCacheClusterAZs' => ['<string>', ...], 'PreferredMaintenanceWindow' => '<string>', 'PrimaryClusterId' => '<string>', 'ReplicasPerNodeGroup' => <integer>, 'ReplicationGroupDescription' => '<string>', // REQUIRED 'ReplicationGroupId' => '<string>', // REQUIRED 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotArns' => ['<string>', ...], 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ]);
Parameter Details
Members
- AtRestEncryptionEnabled
-
- Type: boolean
A flag that enables encryption at rest when set to
true
.You cannot modify the value of
AtRestEncryptionEnabled
after the replication group is created. To enable encryption at rest on a replication group you must setAtRestEncryptionEnabled
totrue
when you create the replication group.Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version
3.2.6
,4.x
or later.Default:
false
- AuthToken
-
- Type: string
Reserved parameter. The password used to access a password protected server.
AuthToken
can be specified only on replication groups whereTransitEncryptionEnabled
istrue
.For HIPAA compliance, you must specify
TransitEncryptionEnabled
astrue
, anAuthToken
, and aCacheSubnetGroup
.Password constraints:
-
Must be only printable ASCII characters.
-
Must be at least 16 characters and no more than 128 characters in length.
-
The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.
For more information, see AUTH password at http://redis.io/commands/AUTH.
- AutoMinorVersionUpgrade
-
- Type: boolean
 If you are running Valkey 7.2 and above or Redis OSS engine version 6.0 and above, set this parameter to yes to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.Â
- AutomaticFailoverEnabled
-
- Type: boolean
Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.
AutomaticFailoverEnabled
must be enabled for Valkey or Redis OSS (cluster mode enabled) replication groups.Default: false
- CacheNodeType
-
- Type: string
The compute and memory capacity of the nodes in the node group (shard).
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
- CacheParameterGroupName
-
- Type: string
The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.
If you are running Valkey or Redis OSS version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.
-
To create a Valkey or Redis OSS (cluster mode disabled) replication group, use
CacheParameterGroupName=default.redis3.2
. -
To create a Valkey or Redis OSS (cluster mode enabled) replication group, use
CacheParameterGroupName=default.redis3.2.cluster.on
.
- CacheSecurityGroupNames
-
- Type: Array of strings
A list of cache security group names to associate with this replication group.
- CacheSubnetGroupName
-
- Type: string
The name of the cache subnet group to be used for the replication group.
If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.
- ClusterMode
-
- Type: string
Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
- DataTieringEnabled
-
- Type: boolean
Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.
- Engine
-
- Type: string
The name of the cache engine to be used for the clusters in this replication group. The value must be set to
Redis
. - EngineVersion
-
- Type: string
The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the
DescribeCacheEngineVersions
operation.Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.
- GlobalReplicationGroupId
-
- Type: string
The name of the Global datastore
- IpDiscovery
-
- Type: string
The network type you choose when creating a replication group, either
ipv4
|ipv6
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - KmsKeyId
-
- Type: string
The ID of the KMS key used to encrypt the disk in the cluster.
- LogDeliveryConfigurations
-
- Type: Array of LogDeliveryConfigurationRequest structures
Specifies the destination, format and type of the logs.
- MultiAZEnabled
-
- Type: boolean
A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.
- NetworkType
-
- Type: string
Must be either
ipv4
|ipv6
|dual_stack
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - NodeGroupConfiguration
-
- Type: Array of NodeGroupConfiguration structures
A list of node group (shard) configuration options. Each node group (shard) configuration has the following members:
PrimaryAvailabilityZone
,ReplicaAvailabilityZones
,ReplicaCount
, andSlots
.If you're creating a Valkey or Redis OSS (cluster mode disabled) or a Valkey or Redis OSS (cluster mode enabled) replication group, you can use this parameter to individually configure each node group (shard), or you can omit this parameter. However, it is required when seeding a Valkey or Redis OSS (cluster mode enabled) cluster from a S3 rdb file. You must configure each node group (shard) using this parameter because you must specify the slots for each node group.
- NotificationTopicArn
-
- Type: string
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
The Amazon SNS topic owner must be the same as the cluster owner.
- NumCacheClusters
-
- Type: int
The number of clusters this replication group initially has.
This parameter is not used if there is more than one node group (shard). You should use
ReplicasPerNodeGroup
instead.If
AutomaticFailoverEnabled
istrue
, the value of this parameter must be at least 2. IfAutomaticFailoverEnabled
isfalse
you can omit this parameter (it will default to 1), or you can explicitly set it to a value between 2 and 6.The maximum permitted value for
NumCacheClusters
is 6 (1 primary plus 5 replicas). - NumNodeGroups
-
- Type: int
An optional parameter that specifies the number of node groups (shards) for this Valkey or Redis OSS (cluster mode enabled) replication group. For Valkey or Redis OSS (cluster mode disabled) either omit this parameter or set it to 1.
Default: 1
- Port
-
- Type: int
The port number on which each member of the replication group accepts connections.
- PreferredCacheClusterAZs
-
- Type: Array of strings
A list of EC2 Availability Zones in which the replication group's clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.
This parameter is not used if there is more than one node group (shard). You should use
NodeGroupConfiguration
instead.If you are creating your replication group in an Amazon VPC (recommended), you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group.
The number of Availability Zones listed must equal the value of
NumCacheClusters
.Default: system chosen Availability Zones.
- PreferredMaintenanceWindow
-
- Type: string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for
ddd
are:-
sun
-
mon
-
tue
-
wed
-
thu
-
fri
-
sat
Example:
sun:23:00-mon:01:30
- PrimaryClusterId
-
- Type: string
The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of
available
.This parameter is not required if
NumCacheClusters
,NumNodeGroups
, orReplicasPerNodeGroup
is specified. - ReplicasPerNodeGroup
-
- Type: int
An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.
- ReplicationGroupDescription
-
- Required: Yes
- Type: string
A user-created description for the replication group.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The replication group identifier. This parameter is stored as a lowercase string.
Constraints:
-
A name must contain from 1 to 40 alphanumeric characters or hyphens.
-
The first character must be a letter.
-
A name cannot end with a hyphen or contain two consecutive hyphens.
- SecurityGroupIds
-
- Type: Array of strings
One or more Amazon VPC security groups associated with this replication group.
Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).
- ServerlessCacheSnapshotName
-
- Type: string
The name of the snapshot used to create a replication group. Available for Valkey, Redis OSS only.
- SnapshotArns
-
- Type: Array of strings
A list of Amazon Resource Names (ARN) that uniquely identify the Valkey or Redis OSS RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.
Example of an Amazon S3 ARN:
arn:aws:s3:::my_bucket/snapshot1.rdb
- SnapshotName
-
- Type: string
The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to
restoring
while the new replication group is being created. - SnapshotRetentionLimit
-
- Type: int
The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set
SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.Default: 0 (i.e., automatic backups are disabled for this cluster).
- SnapshotWindow
-
- Type: string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
Example:
05:00-09:00
If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
- Tags
-
- Type: Array of Tag structures
A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=
myKey
, Value=myKeyValue
. You can include multiple tags as shown following: Key=myKey
, Value=myKeyValue
Key=mySecondKey
, Value=mySecondKeyValue
. Tags on replication groups will be replicated to all nodes. - TransitEncryptionEnabled
-
- Type: boolean
A flag that enables in-transit encryption when set to
true
.This parameter is valid only if the
Engine
parameter isredis
, theEngineVersion
parameter is3.2.6
,4.x
or later, and the cluster is being created in an Amazon VPC.If you enable in-transit encryption, you must also specify a value for
CacheSubnetGroup
.Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version
3.2.6
,4.x
or later.Default:
false
For HIPAA compliance, you must specify
TransitEncryptionEnabled
astrue
, anAuthToken
, and aCacheSubnetGroup
. - TransitEncryptionMode
-
- Type: string
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
When setting
TransitEncryptionEnabled
totrue
, you can set yourTransitEncryptionMode
topreferred
in the same request, to allow both encrypted and unencrypted connections at the same time. Once you migrate all your Valkey or Redis OSS clients to use encrypted connections you can modify the value torequired
to allow encrypted connections only.Setting
TransitEncryptionMode
torequired
is a two-step process that requires you to first set theTransitEncryptionMode
topreferred
, after that you can setTransitEncryptionMode
torequired
.This process will not trigger the replacement of the replication group.
- UserGroupIds
-
- Type: Array of strings
The user group to associate with the replication group.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- ReplicationGroupAlreadyExistsFault:
The specified replication group already exists.
- InvalidUserGroupStateFault:
The user group is not in an active state.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- ClusterQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of clusters per customer.
- NodeQuotaForClusterExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- NodeGroupsPerReplicationGroupQuotaExceededFault:
The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 90
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: CreateCacheReplicationGroup
Creates a Redis replication group with 3 nodes.
$result = $client->createReplicationGroup([ 'AutomaticFailoverEnabled' => 1, 'CacheNodeType' => 'cache.m3.medium', 'Engine' => 'redis', 'EngineVersion' => '2.8.24', 'NumCacheClusters' => 3, 'ReplicationGroupDescription' => 'A Redis replication group.', 'ReplicationGroupId' => 'my-redis-rg', 'SnapshotRetentionLimit' => 30, ]);
Result syntax:
[ 'ReplicationGroup' => [ 'AutomaticFailover' => 'enabling', 'Description' => 'A Redis replication group.', 'MemberClusters' => [ 'my-redis-rg-001', 'my-redis-rg-002', 'my-redis-rg-003', ], 'PendingModifiedValues' => [ ], 'ReplicationGroupId' => 'my-redis-rg', 'SnapshottingClusterId' => 'my-redis-rg-002', 'Status' => 'creating', ], ]
Example 2: CreateReplicationGroup
Creates a Redis (cluster mode enabled) replication group with two shards. One shard has one read replica node and the other shard has two read replicas.
$result = $client->createReplicationGroup([ 'AutoMinorVersionUpgrade' => 1, 'CacheNodeType' => 'cache.m3.medium', 'CacheParameterGroupName' => 'default.redis3.2.cluster.on', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeGroupConfiguration' => [ [ 'PrimaryAvailabilityZone' => 'us-east-1c', 'ReplicaAvailabilityZones' => [ 'us-east-1b', ], 'ReplicaCount' => 1, 'Slots' => '0-8999', ], [ 'PrimaryAvailabilityZone' => 'us-east-1a', 'ReplicaAvailabilityZones' => [ 'us-east-1a', 'us-east-1c', ], 'ReplicaCount' => 2, 'Slots' => '9000-16383', ], ], 'NumNodeGroups' => 2, 'ReplicationGroupDescription' => 'A multi-sharded replication group', 'ReplicationGroupId' => 'clustered-redis-rg', 'SnapshotRetentionLimit' => 8, ]);
Result syntax:
[ 'ReplicationGroup' => [ 'AutomaticFailover' => 'enabled', 'Description' => 'Sharded replication group', 'MemberClusters' => [ 'rc-rg3-0001-001', 'rc-rg3-0001-002', 'rc-rg3-0002-001', 'rc-rg3-0002-002', 'rc-rg3-0002-003', ], 'PendingModifiedValues' => [ ], 'ReplicationGroupId' => 'clustered-redis-rg', 'SnapshotRetentionLimit' => 8, 'SnapshotWindow' => '05:30-06:30', 'Status' => 'creating', ], ]
CreateServerlessCache
$result = $client->createServerlessCache
([/* ... */]); $promise = $client->createServerlessCacheAsync
([/* ... */]);
Creates a serverless cache.
Parameter Syntax
$result = $client->createServerlessCache([ 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', // REQUIRED ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Engine' => '<string>', // REQUIRED 'KmsKeyId' => '<string>', 'MajorEngineVersion' => '<string>', 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', // REQUIRED 'SnapshotArnsToRestore' => ['<string>', ...], 'SnapshotRetentionLimit' => <integer>, 'SubnetIds' => ['<string>', ...], 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'UserGroupId' => '<string>', ]);
Parameter Details
Members
- CacheUsageLimits
-
- Type: CacheUsageLimits structure
Sets the cache usage limits for storage and ElastiCache Processing Units for the cache.
- DailySnapshotTime
-
- Type: string
The daily time that snapshots will be created from the new serverless cache. By default this number is populated with 0, i.e. no snapshots will be created on an automatic daily basis. Available for Valkey, Redis OSS and Serverless Memcached only.
- Description
-
- Type: string
User-provided description for the serverless cache. The default is NULL, i.e. if no description is provided then an empty string will be returned. The maximum length is 255 characters.
- Engine
-
- Required: Yes
- Type: string
The name of the cache engine to be used for creating the serverless cache.
- KmsKeyId
-
- Type: string
ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.
- MajorEngineVersion
-
- Type: string
The version of the cache engine that will be used to create the serverless cache.
- SecurityGroupIds
-
- Type: Array of strings
A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.
- ServerlessCacheName
-
- Required: Yes
- Type: string
User-provided identifier for the serverless cache. This parameter is stored as a lowercase string.
- SnapshotArnsToRestore
-
- Type: Array of strings
The ARN(s) of the snapshot that the new serverless cache will be created from. Available for Valkey, Redis OSS and Serverless Memcached only.
- SnapshotRetentionLimit
-
- Type: int
The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Valkey, Redis OSS and Serverless Memcached only.
- SubnetIds
-
- Type: Array of strings
A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.
- Tags
-
- Type: Array of Tag structures
The list of tags (key, value) pairs to be added to the serverless cache resource. Default is NULL.
- UserGroupId
-
- Type: string
The identifier of the UserGroup to be associated with the serverless cache. Available for Valkey and Redis OSS only. Default is NULL.
Result Syntax
[ 'ServerlessCache' => [ 'ARN' => '<string>', 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'CreateTime' => <DateTime>, 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'FullEngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'MajorEngineVersion' => '<string>', 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'Status' => '<string>', 'SubnetIds' => ['<string>', ...], 'UserGroupId' => '<string>', ], ]
Result Details
Members
- ServerlessCache
-
- Type: ServerlessCache structure
The response for the attempt to create the serverless cache.
Errors
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheAlreadyExistsFault:
A serverless cache with this name already exists.
- ServerlessCacheQuotaForCustomerExceededFault:
The number of serverless caches exceeds the customer quota.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidCredentialsException:
You must enter valid credentials.
- InvalidUserGroupStateFault:
The user group is not in an active state.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
CreateServerlessCacheSnapshot
$result = $client->createServerlessCacheSnapshot
([/* ... */]); $promise = $client->createServerlessCacheSnapshotAsync
([/* ... */]);
This API creates a copy of an entire ServerlessCache at a specific moment in time. Available for Valkey, Redis OSS and Serverless Memcached only.
Parameter Syntax
$result = $client->createServerlessCacheSnapshot([ 'KmsKeyId' => '<string>', 'ServerlessCacheName' => '<string>', // REQUIRED 'ServerlessCacheSnapshotName' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- KmsKeyId
-
- Type: string
The ID of the KMS key used to encrypt the snapshot. Available for Valkey, Redis OSS and Serverless Memcached only. Default: NULL
- ServerlessCacheName
-
- Required: Yes
- Type: string
The name of an existing serverless cache. The snapshot is created from this cache. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheSnapshotName
-
- Required: Yes
- Type: string
The name for the snapshot being created. Must be unique for the customer account. Available for Valkey, Redis OSS and Serverless Memcached only. Must be between 1 and 255 characters.
- Tags
-
- Type: Array of Tag structures
A list of tags to be added to the snapshot resource. A tag is a key-value pair. Available for Valkey, Redis OSS and Serverless Memcached only.
Result Syntax
[ 'ServerlessCacheSnapshot' => [ 'ARN' => '<string>', 'BytesUsedForCache' => '<string>', 'CreateTime' => <DateTime>, 'ExpiryTime' => <DateTime>, 'KmsKeyId' => '<string>', 'ServerlessCacheConfiguration' => [ 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'ServerlessCacheName' => '<string>', ], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', 'Status' => '<string>', ], ]
Result Details
Members
- ServerlessCacheSnapshot
-
- Type: ServerlessCacheSnapshot structure
The state of a serverless cache snapshot at a specific point in time, to the millisecond. Available for Valkey, Redis OSS and Serverless Memcached only.
Errors
- ServerlessCacheSnapshotAlreadyExistsFault:
A serverless cache snapshot with this name already exists. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheSnapshotQuotaExceededFault:
The number of serverless cache snapshots exceeds the customer snapshot quota. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
CreateSnapshot
$result = $client->createSnapshot
([/* ... */]); $promise = $client->createSnapshotAsync
([/* ... */]);
Creates a copy of an entire cluster or replication group at a specific moment in time.
This operation is valid for Valkey or Redis OSS only.
Parameter Syntax
$result = $client->createSnapshot([ 'CacheClusterId' => '<string>', 'KmsKeyId' => '<string>', 'ReplicationGroupId' => '<string>', 'SnapshotName' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheClusterId
-
- Type: string
The identifier of an existing cluster. The snapshot is created from this cluster.
- KmsKeyId
-
- Type: string
The ID of the KMS key used to encrypt the snapshot.
- ReplicationGroupId
-
- Type: string
The identifier of an existing replication group. The snapshot is created from this replication group.
- SnapshotName
-
- Required: Yes
- Type: string
A name for the snapshot being created.
- Tags
-
- Type: Array of Tag structures
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.
Result Syntax
[ 'Snapshot' => [ 'ARN' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSubnetGroupName' => '<string>', 'DataTiering' => 'enabled|disabled', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'NodeSnapshots' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheSize' => '<string>', 'NodeGroupConfiguration' => [ 'NodeGroupId' => '<string>', 'PrimaryAvailabilityZone' => '<string>', 'PrimaryOutpostArn' => '<string>', 'ReplicaAvailabilityZones' => ['<string>', ...], 'ReplicaCount' => <integer>, 'ReplicaOutpostArns' => ['<string>', ...], 'Slots' => '<string>', ], 'NodeGroupId' => '<string>', 'SnapshotCreateTime' => <DateTime>, ], // ... ], 'NumCacheNodes' => <integer>, 'NumNodeGroups' => <integer>, 'Port' => <integer>, 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupDescription' => '<string>', 'ReplicationGroupId' => '<string>', 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotSource' => '<string>', 'SnapshotStatus' => '<string>', 'SnapshotWindow' => '<string>', 'TopicArn' => '<string>', 'VpcId' => '<string>', ], ]
Result Details
Members
- Snapshot
-
- Type: Snapshot structure
Represents a copy of an entire Valkey or Redis OSS cluster as of the time when the snapshot was taken.
Errors
- SnapshotAlreadyExistsFault:
You already have a snapshot with the given name.
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- SnapshotQuotaExceededFault:
The request cannot be processed because it would exceed the maximum number of snapshots.
- SnapshotFeatureNotSupportedFault:
You attempted one of the following operations:
-
Creating a snapshot of a Valkey or Redis OSS cluster running on a
cache.t1.micro
cache node. -
Creating a snapshot of a cluster that is running Memcached rather than Valkey or Redis OSS.
Neither of these are supported by ElastiCache.
-
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidParameterValueException:
The value for a parameter is invalid.
Examples
Example 1: CreateSnapshot - NonClustered Redis, no read-replicas
Creates a snapshot of a non-clustered Redis cluster that has only one node.
$result = $client->createSnapshot([ 'CacheClusterId' => 'onenoderedis', 'SnapshotName' => 'snapshot-1', ]);
Result syntax:
[ 'Snapshot' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'onenoderedis', 'CacheNodeType' => 'cache.m3.medium', 'CacheParameterGroupName' => 'default.redis3.2', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheSize' => '', ], ], 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-west-2c', 'PreferredMaintenanceWindow' => 'sat:08:00-sat:09:00', 'SnapshotName' => 'snapshot-1', 'SnapshotRetentionLimit' => 1, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'creating', 'SnapshotWindow' => '00:00-01:00', 'VpcId' => 'vpc-73c3cd17', ], ]
Example 2: CreateSnapshot - NonClustered Redis, 2 read-replicas
Creates a snapshot of a non-clustered Redis cluster that has only three nodes, primary and two read-replicas. CacheClusterId must be a specific node in the cluster.
$result = $client->createSnapshot([ 'CacheClusterId' => 'threenoderedis-001', 'SnapshotName' => 'snapshot-2', ]);
Result syntax:
[ 'Snapshot' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'threenoderedis-001', 'CacheNodeType' => 'cache.m3.medium', 'CacheParameterGroupName' => 'default.redis3.2', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheSize' => '', ], ], 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-west-2c', 'PreferredMaintenanceWindow' => 'sat:08:00-sat:09:00', 'SnapshotName' => 'snapshot-2', 'SnapshotRetentionLimit' => 1, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'creating', 'SnapshotWindow' => '00:00-01:00', 'VpcId' => 'vpc-73c3cd17', ], ]
Example 3: CreateSnapshot-clustered Redis
Creates a snapshot of a clustered Redis cluster that has 2 shards, each with a primary and 4 read-replicas.
$result = $client->createSnapshot([ 'ReplicationGroupId' => 'clusteredredis', 'SnapshotName' => 'snapshot-2x5', ]);
Result syntax:
[ 'Snapshot' => [ 'AutoMinorVersionUpgrade' => 1, 'AutomaticFailover' => 'enabled', 'CacheNodeType' => 'cache.m3.medium', 'CacheParameterGroupName' => 'default.redis3.2.cluster.on', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheSize' => '', 'NodeGroupId' => '0001', ], [ 'CacheSize' => '', 'NodeGroupId' => '0002', ], ], 'NumNodeGroups' => 2, 'Port' => 6379, 'PreferredMaintenanceWindow' => 'mon:09:30-mon:10:30', 'ReplicationGroupDescription' => 'Redis cluster with 2 shards.', 'ReplicationGroupId' => 'clusteredredis', 'SnapshotName' => 'snapshot-2x5', 'SnapshotRetentionLimit' => 1, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'creating', 'SnapshotWindow' => '12:00-13:00', 'VpcId' => 'vpc-73c3cd17', ], ]
CreateUser
$result = $client->createUser
([/* ... */]); $promise = $client->createUserAsync
([/* ... */]);
For Valkey engine version 7.2 onwards and Redis OSS 6.0 and onwards: Creates a user. For more information, see Using Role Based Access Control (RBAC).
Parameter Syntax
$result = $client->createUser([ 'AccessString' => '<string>', // REQUIRED 'AuthenticationMode' => [ 'Passwords' => ['<string>', ...], 'Type' => 'password|no-password-required|iam', ], 'Engine' => '<string>', // REQUIRED 'NoPasswordRequired' => true || false, 'Passwords' => ['<string>', ...], 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'UserId' => '<string>', // REQUIRED 'UserName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- AccessString
-
- Required: Yes
- Type: string
Access permissions string used for this user.
- AuthenticationMode
-
- Type: AuthenticationMode structure
Specifies how to authenticate the user.
- Engine
-
- Required: Yes
- Type: string
The current supported value is Redis.
- NoPasswordRequired
-
- Type: boolean
Indicates a password is not required for this user.
- Passwords
-
- Type: Array of strings
Passwords used for this user. You can create up to two passwords for each user.
- Tags
-
- Type: Array of Tag structures
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.
- UserId
-
- Required: Yes
- Type: string
The ID of the user.
- UserName
-
- Required: Yes
- Type: string
The username of the user.
Result Syntax
[ 'ARN' => '<string>', 'AccessString' => '<string>', 'Authentication' => [ 'PasswordCount' => <integer>, 'Type' => 'password|no-password|iam', ], 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'Status' => '<string>', 'UserGroupIds' => ['<string>', ...], 'UserId' => '<string>', 'UserName' => '<string>', ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user.
- AccessString
-
- Type: string
Access permissions string used for this user.
- Authentication
-
- Type: Authentication structure
Denotes whether the user requires a password to authenticate.
- Engine
-
- Type: string
The current supported value is Redis.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- Status
-
- Type: string
Indicates the user status. Can be "active", "modifying" or "deleting".
- UserGroupIds
-
- Type: Array of strings
Returns a list of the user group IDs the user belongs to.
- UserId
-
- Type: string
The ID of the user.
- UserName
-
- Type: string
The username of the user.
Errors
- UserAlreadyExistsFault:
A user with this ID already exists.
- UserQuotaExceededFault:
The quota of users has been exceeded.
- DuplicateUserNameFault:
A user with this username already exists.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
CreateUserGroup
$result = $client->createUserGroup
([/* ... */]); $promise = $client->createUserGroupAsync
([/* ... */]);
For Valkey engine version 7.2 onwards and Redis OSS 6.0 onwards: Creates a user group. For more information, see Using Role Based Access Control (RBAC)
Parameter Syntax
$result = $client->createUserGroup([ 'Engine' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], 'UserGroupId' => '<string>', // REQUIRED 'UserIds' => ['<string>', ...], ]);
Parameter Details
Members
- Engine
-
- Required: Yes
- Type: string
The current supported value is Redis user.
- Tags
-
- Type: Array of Tag structures
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. Available for Valkey and Redis OSS only.
- UserGroupId
-
- Required: Yes
- Type: string
The ID of the user group.
- UserIds
-
- Type: Array of strings
The list of user IDs that belong to the user group.
Result Syntax
[ 'ARN' => '<string>', 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'PendingChanges' => [ 'UserIdsToAdd' => ['<string>', ...], 'UserIdsToRemove' => ['<string>', ...], ], 'ReplicationGroups' => ['<string>', ...], 'ServerlessCaches' => ['<string>', ...], 'Status' => '<string>', 'UserGroupId' => '<string>', 'UserIds' => ['<string>', ...], ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user group.
- Engine
-
- Type: string
The current supported value is Redis user.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- PendingChanges
-
- Type: UserGroupPendingChanges structure
A list of updates being applied to the user group.
- ReplicationGroups
-
- Type: Array of strings
A list of replication groups that the user group can access.
- ServerlessCaches
-
- Type: Array of strings
Indicates which serverless caches the specified user group is associated with. Available for Valkey, Redis OSS and Serverless Memcached only.
- Status
-
- Type: string
Indicates user group status. Can be "creating", "active", "modifying", "deleting".
- UserGroupId
-
- Type: string
The ID of the user group.
- UserIds
-
- Type: Array of strings
The list of user IDs that belong to the user group.
Errors
- UserNotFoundFault:
The user does not exist or could not be found.
- DuplicateUserNameFault:
A user with this username already exists.
- UserGroupAlreadyExistsFault:
The user group with this ID already exists.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- DefaultUserRequired:
You must add default user to a user group.
- UserGroupQuotaExceededFault:
The number of users exceeds the user group limit.
- InvalidParameterValueException:
The value for a parameter is invalid.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
DecreaseNodeGroupsInGlobalReplicationGroup
$result = $client->decreaseNodeGroupsInGlobalReplicationGroup
([/* ... */]); $promise = $client->decreaseNodeGroupsInGlobalReplicationGroupAsync
([/* ... */]);
Decreases the number of node groups in a Global datastore
Parameter Syntax
$result = $client->decreaseNodeGroupsInGlobalReplicationGroup([ 'ApplyImmediately' => true || false, // REQUIRED 'GlobalNodeGroupsToRemove' => ['<string>', ...], 'GlobalNodeGroupsToRetain' => ['<string>', ...], 'GlobalReplicationGroupId' => '<string>', // REQUIRED 'NodeGroupCount' => <integer>, // REQUIRED ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.
- GlobalNodeGroupsToRemove
-
- Type: Array of strings
If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. GlobalNodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache will attempt to remove all node groups listed by GlobalNodeGroupsToRemove from the cluster.
- GlobalNodeGroupsToRetain
-
- Type: Array of strings
If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. GlobalNodeGroupsToRetain is a list of NodeGroupIds to retain from the cluster. ElastiCache will attempt to retain all node groups listed by GlobalNodeGroupsToRetain from the cluster.
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
- NodeGroupCount
-
- Required: Yes
- Type: int
The number of node groups (shards) that results from the modification of the shard configuration
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DecreaseReplicaCount
$result = $client->decreaseReplicaCount
([/* ... */]); $promise = $client->decreaseReplicaCountAsync
([/* ... */]);
Dynamically decreases the number of replicas in a Valkey or Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Valkey or Redis OSS (cluster mode enabled) replication group. This operation is performed with no cluster down time.
Parameter Syntax
$result = $client->decreaseReplicaCount([ 'ApplyImmediately' => true || false, // REQUIRED 'NewReplicaCount' => <integer>, 'ReplicaConfiguration' => [ [ 'NewReplicaCount' => <integer>, // REQUIRED 'NodeGroupId' => '<string>', // REQUIRED 'PreferredAvailabilityZones' => ['<string>', ...], 'PreferredOutpostArns' => ['<string>', ...], ], // ... ], 'ReplicasToRemove' => ['<string>', ...], 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
If
True
, the number of replica nodes is decreased immediately.ApplyImmediately=False
is not currently supported. - NewReplicaCount
-
- Type: int
The number of read replica nodes you want at the completion of this operation. For Valkey or Redis OSS (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Valkey or Redis OSS (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.
The minimum number of replicas in a shard or replication group is:
-
Valkey or Redis OSS (cluster mode disabled)
-
If Multi-AZ is enabled: 1
-
If Multi-AZ is not enabled: 0
-
-
Valkey or Redis OSS (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)
- ReplicaConfiguration
-
- Type: Array of ConfigureShard structures
A list of
ConfigureShard
objects that can be used to configure each shard in a Valkey or Redis OSS (cluster mode enabled) replication group. TheConfigureShard
has three members:NewReplicaCount
,NodeGroupId
, andPreferredAvailabilityZones
. - ReplicasToRemove
-
- Type: Array of strings
A list of the node ids to remove from the replication group or node group (shard).
- ReplicationGroupId
-
- Required: Yes
- Type: string
The id of the replication group from which you want to remove replica nodes.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- ClusterQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of clusters per customer.
- NodeGroupsPerReplicationGroupQuotaExceededFault:
The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 90
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- NoOperationFault:
The operation was not performed because no changes were required.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DeleteCacheCluster
$result = $client->deleteCacheCluster
([/* ... */]); $promise = $client->deleteCacheClusterAsync
([/* ... */]);
Deletes a previously provisioned cluster. DeleteCacheCluster
deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.
This operation is not valid for:
-
Valkey or Redis OSS (cluster mode enabled) clusters
-
Valkey or Redis OSS (cluster mode disabled) clusters
-
A cluster that is the last read replica of a replication group
-
A cluster that is the primary node of a replication group
-
A node group (shard) that has Multi-AZ mode enabled
-
A cluster from a Valkey or Redis OSS (cluster mode enabled) replication group
-
A cluster that is not in the
available
state
Parameter Syntax
$result = $client->deleteCacheCluster([ 'CacheClusterId' => '<string>', // REQUIRED 'FinalSnapshotIdentifier' => '<string>', ]);
Parameter Details
Members
- CacheClusterId
-
- Required: Yes
- Type: string
The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.
- FinalSnapshotIdentifier
-
- Type: string
The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.
Result Syntax
[ 'CacheCluster' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheClusterStatus' => '<string>', 'CacheNodeType' => '<string>', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheNodeStatus' => '<string>', 'CustomerAvailabilityZone' => '<string>', 'CustomerOutpostArn' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ParameterGroupStatus' => '<string>', 'SourceCacheNodeId' => '<string>', ], // ... ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => ['<string>', ...], 'CacheParameterGroupName' => '<string>', 'ParameterApplyStatus' => '<string>', ], 'CacheSecurityGroups' => [ [ 'CacheSecurityGroupName' => '<string>', 'Status' => '<string>', ], // ... ], 'CacheSubnetGroupName' => '<string>', 'ClientDownloadLandingPage' => '<string>', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationConfiguration' => [ 'TopicArn' => '<string>', 'TopicStatus' => '<string>', ], 'NumCacheNodes' => <integer>, 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'EngineVersion' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NumCacheNodes' => <integer>, 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupId' => '<string>', 'ReplicationGroupLogDeliveryEnabled' => true || false, 'SecurityGroups' => [ [ 'SecurityGroupId' => '<string>', 'Status' => '<string>', ], // ... ], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], ]
Result Details
Members
- CacheCluster
-
- Type: CacheCluster structure
Contains all of the attributes of a specific cluster.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- SnapshotAlreadyExistsFault:
You already have a snapshot with the given name.
- SnapshotFeatureNotSupportedFault:
You attempted one of the following operations:
-
Creating a snapshot of a Valkey or Redis OSS cluster running on a
cache.t1.micro
cache node. -
Creating a snapshot of a cluster that is running Memcached rather than Valkey or Redis OSS.
Neither of these are supported by ElastiCache.
-
- SnapshotQuotaExceededFault:
The request cannot be processed because it would exceed the maximum number of snapshots.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DeleteCacheCluster
Deletes an Amazon ElastiCache cluster.
$result = $client->deleteCacheCluster([ 'CacheClusterId' => 'my-memcached', ]);
Result syntax:
[ 'CacheCluster' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-memcached', 'CacheClusterStatus' => 'deleting', 'CacheNodeType' => 'cache.r3.large', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.memcached1.4', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'ConfigurationEndpoint' => [ 'Address' => 'my-memcached2.ameaqx.cfg.use1.cache.amazonaws.com', 'Port' => 11211, ], 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'Multiple', 'PreferredMaintenanceWindow' => 'tue:07:30-tue:08:30', ], ]
DeleteCacheParameterGroup
$result = $client->deleteCacheParameterGroup
([/* ... */]); $promise = $client->deleteCacheParameterGroupAsync
([/* ... */]);
Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters. You cannot delete the default cache parameter groups in your account.
Parameter Syntax
$result = $client->deleteCacheParameterGroup([ 'CacheParameterGroupName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheParameterGroupName
-
- Required: Yes
- Type: string
The name of the cache parameter group to delete.
The specified cache security group must not be associated with any clusters.
Result Syntax
[]
Result Details
Errors
- InvalidCacheParameterGroupStateFault:
The current state of the cache parameter group does not allow the requested operation to occur.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DeleteCacheParameterGroup
Deletes the Amazon ElastiCache parameter group custom-mem1-4.
$result = $client->deleteCacheParameterGroup([ 'CacheParameterGroupName' => 'custom-mem1-4', ]);
DeleteCacheSecurityGroup
$result = $client->deleteCacheSecurityGroup
([/* ... */]); $promise = $client->deleteCacheSecurityGroupAsync
([/* ... */]);
Deletes a cache security group.
You cannot delete a cache security group if it is associated with any clusters.
Parameter Syntax
$result = $client->deleteCacheSecurityGroup([ 'CacheSecurityGroupName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheSecurityGroupName
-
- Required: Yes
- Type: string
The name of the cache security group to delete.
You cannot delete the default security group.
Result Syntax
[]
Result Details
Errors
- InvalidCacheSecurityGroupStateFault:
The current state of the cache security group does not allow deletion.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DeleteCacheSecurityGroup
Deletes a cache security group.
$result = $client->deleteCacheSecurityGroup([ 'CacheSecurityGroupName' => 'my-sec-group', ]);
DeleteCacheSubnetGroup
$result = $client->deleteCacheSubnetGroup
([/* ... */]); $promise = $client->deleteCacheSubnetGroupAsync
([/* ... */]);
Deletes a cache subnet group.
You cannot delete a default cache subnet group or one that is associated with any clusters.
Parameter Syntax
$result = $client->deleteCacheSubnetGroup([ 'CacheSubnetGroupName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheSubnetGroupName
-
- Required: Yes
- Type: string
The name of the cache subnet group to delete.
Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
Result Syntax
[]
Result Details
Errors
- CacheSubnetGroupInUse:
The requested cache subnet group is currently in use.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
Examples
Example 1: DeleteCacheSubnetGroup
Deletes the Amazon ElastiCache subnet group my-subnet-group.
$result = $client->deleteCacheSubnetGroup([ 'CacheSubnetGroupName' => 'my-subnet-group', ]);
DeleteGlobalReplicationGroup
$result = $client->deleteGlobalReplicationGroup
([/* ... */]); $promise = $client->deleteGlobalReplicationGroupAsync
([/* ... */]);
Deleting a Global datastore is a two-step process:
-
First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global datastore.
-
Once the Global datastore contains only the primary cluster, you can use the
DeleteGlobalReplicationGroup
API to delete the Global datastore while retainining the primary cluster usingRetainPrimaryReplicationGroup=true
.
Since the Global Datastore has only a primary cluster, you can delete the Global Datastore while retaining the primary by setting RetainPrimaryReplicationGroup=true
. The primary cluster is never deleted when deleting a Global Datastore. It can only be deleted when it no longer is associated with any Global Datastore.
When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.
Parameter Syntax
$result = $client->deleteGlobalReplicationGroup([ 'GlobalReplicationGroupId' => '<string>', // REQUIRED 'RetainPrimaryReplicationGroup' => true || false, // REQUIRED ]);
Parameter Details
Members
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
- RetainPrimaryReplicationGroup
-
- Required: Yes
- Type: boolean
The primary replication group is retained as a standalone replication group.
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
DeleteReplicationGroup
$result = $client->deleteReplicationGroup
([/* ... */]); $promise = $client->deleteReplicationGroupAsync
([/* ... */]);
Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true
.
When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.
-
CreateSnapshot
permission is required to create a final snapshot. Without this permission, the API call will fail with anAccess Denied
exception. -
This operation is valid for Redis OSS only.
Parameter Syntax
$result = $client->deleteReplicationGroup([ 'FinalSnapshotIdentifier' => '<string>', 'ReplicationGroupId' => '<string>', // REQUIRED 'RetainPrimaryCluster' => true || false, ]);
Parameter Details
Members
- FinalSnapshotIdentifier
-
- Type: string
The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The identifier for the cluster to be deleted. This parameter is not case sensitive.
- RetainPrimaryCluster
-
- Type: boolean
If set to
true
, all of the read replicas are deleted, but the primary node is retained.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- SnapshotAlreadyExistsFault:
You already have a snapshot with the given name.
- SnapshotFeatureNotSupportedFault:
You attempted one of the following operations:
-
Creating a snapshot of a Valkey or Redis OSS cluster running on a
cache.t1.micro
cache node. -
Creating a snapshot of a cluster that is running Memcached rather than Valkey or Redis OSS.
Neither of these are supported by ElastiCache.
-
- SnapshotQuotaExceededFault:
The request cannot be processed because it would exceed the maximum number of snapshots.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DeleteReplicationGroup
Deletes the Amazon ElastiCache replication group my-redis-rg.
$result = $client->deleteReplicationGroup([ 'ReplicationGroupId' => 'my-redis-rg', 'RetainPrimaryCluster' => , ]);
Result syntax:
[ 'ReplicationGroup' => [ 'AutomaticFailover' => 'disabled', 'Description' => 'simple redis cluster', 'PendingModifiedValues' => [ ], 'ReplicationGroupId' => 'my-redis-rg', 'Status' => 'deleting', ], ]
DeleteServerlessCache
$result = $client->deleteServerlessCache
([/* ... */]); $promise = $client->deleteServerlessCacheAsync
([/* ... */]);
Deletes a specified existing serverless cache.
CreateServerlessCacheSnapshot
permission is required to create a final snapshot. Without this permission, the API call will fail with an Access Denied
exception.
Parameter Syntax
$result = $client->deleteServerlessCache([ 'FinalSnapshotName' => '<string>', 'ServerlessCacheName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- FinalSnapshotName
-
- Type: string
Name of the final snapshot to be taken before the serverless cache is deleted. Available for Valkey, Redis OSS and Serverless Memcached only. Default: NULL, i.e. a final snapshot is not taken.
- ServerlessCacheName
-
- Required: Yes
- Type: string
The identifier of the serverless cache to be deleted.
Result Syntax
[ 'ServerlessCache' => [ 'ARN' => '<string>', 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'CreateTime' => <DateTime>, 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'FullEngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'MajorEngineVersion' => '<string>', 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'Status' => '<string>', 'SubnetIds' => ['<string>', ...], 'UserGroupId' => '<string>', ], ]
Result Details
Members
- ServerlessCache
-
- Type: ServerlessCache structure
Provides the details of the specified serverless cache that is about to be deleted.
Errors
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheSnapshotAlreadyExistsFault:
A serverless cache snapshot with this name already exists. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidCredentialsException:
You must enter valid credentials.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
DeleteServerlessCacheSnapshot
$result = $client->deleteServerlessCacheSnapshot
([/* ... */]); $promise = $client->deleteServerlessCacheSnapshotAsync
([/* ... */]);
Deletes an existing serverless cache snapshot. Available for Valkey, Redis OSS and Serverless Memcached only.
Parameter Syntax
$result = $client->deleteServerlessCacheSnapshot([ 'ServerlessCacheSnapshotName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ServerlessCacheSnapshotName
-
- Required: Yes
- Type: string
Idenfitier of the snapshot to be deleted. Available for Valkey, Redis OSS and Serverless Memcached only.
Result Syntax
[ 'ServerlessCacheSnapshot' => [ 'ARN' => '<string>', 'BytesUsedForCache' => '<string>', 'CreateTime' => <DateTime>, 'ExpiryTime' => <DateTime>, 'KmsKeyId' => '<string>', 'ServerlessCacheConfiguration' => [ 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'ServerlessCacheName' => '<string>', ], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', 'Status' => '<string>', ], ]
Result Details
Members
- ServerlessCacheSnapshot
-
- Type: ServerlessCacheSnapshot structure
The snapshot to be deleted. Available for Valkey, Redis OSS and Serverless Memcached only.
Errors
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidParameterValueException:
The value for a parameter is invalid.
DeleteSnapshot
$result = $client->deleteSnapshot
([/* ... */]); $promise = $client->deleteSnapshotAsync
([/* ... */]);
Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.
This operation is valid for Valkey or Redis OSS only.
Parameter Syntax
$result = $client->deleteSnapshot([ 'SnapshotName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- SnapshotName
-
- Required: Yes
- Type: string
The name of the snapshot to be deleted.
Result Syntax
[ 'Snapshot' => [ 'ARN' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSubnetGroupName' => '<string>', 'DataTiering' => 'enabled|disabled', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'NodeSnapshots' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheSize' => '<string>', 'NodeGroupConfiguration' => [ 'NodeGroupId' => '<string>', 'PrimaryAvailabilityZone' => '<string>', 'PrimaryOutpostArn' => '<string>', 'ReplicaAvailabilityZones' => ['<string>', ...], 'ReplicaCount' => <integer>, 'ReplicaOutpostArns' => ['<string>', ...], 'Slots' => '<string>', ], 'NodeGroupId' => '<string>', 'SnapshotCreateTime' => <DateTime>, ], // ... ], 'NumCacheNodes' => <integer>, 'NumNodeGroups' => <integer>, 'Port' => <integer>, 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupDescription' => '<string>', 'ReplicationGroupId' => '<string>', 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotSource' => '<string>', 'SnapshotStatus' => '<string>', 'SnapshotWindow' => '<string>', 'TopicArn' => '<string>', 'VpcId' => '<string>', ], ]
Result Details
Members
- Snapshot
-
- Type: Snapshot structure
Represents a copy of an entire Valkey or Redis OSS cluster as of the time when the snapshot was taken.
Errors
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- InvalidSnapshotStateFault:
The current state of the snapshot does not allow the requested operation to occur.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DeleteSnapshot
Deletes the Redis snapshot snapshot-20160822.
$result = $client->deleteSnapshot([ 'SnapshotName' => 'snapshot-20161212', ]);
Result syntax:
[ 'Snapshot' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-redis5', 'CacheNodeType' => 'cache.m3.large', 'CacheParameterGroupName' => 'default.redis3.2', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheSize' => '3 MB', 'SnapshotCreateTime' => , ], ], 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-east-1c', 'PreferredMaintenanceWindow' => 'fri:05:30-fri:06:30', 'SnapshotName' => 'snapshot-20161212', 'SnapshotRetentionLimit' => 7, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'deleting', 'SnapshotWindow' => '10:00-11:00', 'VpcId' => 'vpc-91280df6', ], ]
DeleteUser
$result = $client->deleteUser
([/* ... */]); $promise = $client->deleteUserAsync
([/* ... */]);
For Valkey engine version 7.2 onwards and Redis OSS 6.0 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).
Parameter Syntax
$result = $client->deleteUser([ 'UserId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- UserId
-
- Required: Yes
- Type: string
The ID of the user.
Result Syntax
[ 'ARN' => '<string>', 'AccessString' => '<string>', 'Authentication' => [ 'PasswordCount' => <integer>, 'Type' => 'password|no-password|iam', ], 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'Status' => '<string>', 'UserGroupIds' => ['<string>', ...], 'UserId' => '<string>', 'UserName' => '<string>', ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user.
- AccessString
-
- Type: string
Access permissions string used for this user.
- Authentication
-
- Type: Authentication structure
Denotes whether the user requires a password to authenticate.
- Engine
-
- Type: string
The current supported value is Redis.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- Status
-
- Type: string
Indicates the user status. Can be "active", "modifying" or "deleting".
- UserGroupIds
-
- Type: Array of strings
Returns a list of the user group IDs the user belongs to.
- UserId
-
- Type: string
The ID of the user.
- UserName
-
- Type: string
The username of the user.
Errors
- InvalidUserStateFault:
The user is not in active state.
- UserNotFoundFault:
The user does not exist or could not be found.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
- DefaultUserAssociatedToUserGroupFault:
The default user assigned to the user group.
DeleteUserGroup
$result = $client->deleteUserGroup
([/* ... */]); $promise = $client->deleteUserGroupAsync
([/* ... */]);
For Valkey engine version 7.2 onwards and Redis OSS 6.0 onwards: Deletes a user group. The user group must first be disassociated from the replication group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).
Parameter Syntax
$result = $client->deleteUserGroup([ 'UserGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- UserGroupId
-
- Required: Yes
- Type: string
The ID of the user group.
Result Syntax
[ 'ARN' => '<string>', 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'PendingChanges' => [ 'UserIdsToAdd' => ['<string>', ...], 'UserIdsToRemove' => ['<string>', ...], ], 'ReplicationGroups' => ['<string>', ...], 'ServerlessCaches' => ['<string>', ...], 'Status' => '<string>', 'UserGroupId' => '<string>', 'UserIds' => ['<string>', ...], ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user group.
- Engine
-
- Type: string
The current supported value is Redis user.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- PendingChanges
-
- Type: UserGroupPendingChanges structure
A list of updates being applied to the user group.
- ReplicationGroups
-
- Type: Array of strings
A list of replication groups that the user group can access.
- ServerlessCaches
-
- Type: Array of strings
Indicates which serverless caches the specified user group is associated with. Available for Valkey, Redis OSS and Serverless Memcached only.
- Status
-
- Type: string
Indicates user group status. Can be "creating", "active", "modifying", "deleting".
- UserGroupId
-
- Type: string
The ID of the user group.
- UserIds
-
- Type: Array of strings
The list of user IDs that belong to the user group.
Errors
- UserGroupNotFoundFault:
The user group was not found or does not exist
- InvalidUserGroupStateFault:
The user group is not in an active state.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
DescribeCacheClusters
$result = $client->describeCacheClusters
([/* ... */]); $promise = $client->describeCacheClustersAsync
([/* ... */]);
Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.
By default, abbreviated information about the clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the clusters. These details include the DNS address and port for the cache node endpoint.
If the cluster is in the creating state, only cluster-level information is displayed until all of the nodes are successfully provisioned.
If the cluster is in the deleting state, only cluster-level information is displayed.
If cache nodes are currently being added to the cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cluster state is available, the cluster is ready for use.
If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is displayed.
Parameter Syntax
$result = $client->describeCacheClusters([ 'CacheClusterId' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ShowCacheClustersNotInReplicationGroups' => true || false, 'ShowCacheNodeInfo' => true || false, ]);
Parameter Details
Members
- CacheClusterId
-
- Type: string
The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn't case sensitive.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- ShowCacheClustersNotInReplicationGroups
-
- Type: boolean
An optional flag that can be included in the
DescribeCacheCluster
request to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this means Memcached and single node Valkey or Redis OSS clusters. - ShowCacheNodeInfo
-
- Type: boolean
An optional flag that can be included in the
DescribeCacheCluster
request to retrieve information about the individual cache nodes.
Result Syntax
[ 'CacheClusters' => [ [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheClusterStatus' => '<string>', 'CacheNodeType' => '<string>', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheNodeStatus' => '<string>', 'CustomerAvailabilityZone' => '<string>', 'CustomerOutpostArn' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ParameterGroupStatus' => '<string>', 'SourceCacheNodeId' => '<string>', ], // ... ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => ['<string>', ...], 'CacheParameterGroupName' => '<string>', 'ParameterApplyStatus' => '<string>', ], 'CacheSecurityGroups' => [ [ 'CacheSecurityGroupName' => '<string>', 'Status' => '<string>', ], // ... ], 'CacheSubnetGroupName' => '<string>', 'ClientDownloadLandingPage' => '<string>', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationConfiguration' => [ 'TopicArn' => '<string>', 'TopicStatus' => '<string>', ], 'NumCacheNodes' => <integer>, 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'EngineVersion' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NumCacheNodes' => <integer>, 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupId' => '<string>', 'ReplicationGroupLogDeliveryEnabled' => true || false, 'SecurityGroups' => [ [ 'SecurityGroupId' => '<string>', 'Status' => '<string>', ], // ... ], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- CacheClusters
-
- Type: Array of CacheCluster structures
A list of clusters. Each item in the list contains detailed information about one cluster.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeCacheClusters
Lists the details for up to 50 cache clusters.
$result = $client->describeCacheClusters([ 'CacheClusterId' => 'my-mem-cluster', ]);
Result syntax:
[ 'CacheClusters' => [ [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-mem-cluster', 'CacheClusterStatus' => 'available', 'CacheNodeType' => 'cache.t2.medium', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.memcached1.4', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'ConfigurationEndpoint' => [ 'Address' => 'my-mem-cluster.abcdef.cfg.use1.cache.amazonaws.com', 'Port' => 11211, ], 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'Multiple', 'PreferredMaintenanceWindow' => 'wed:06:00-wed:07:00', ], ], ]
Example 2: DescribeCacheClusters
Lists the details for the cache cluster my-mem-cluster.
$result = $client->describeCacheClusters([ 'CacheClusterId' => 'my-mem-cluster', 'ShowCacheNodeInfo' => 1, ]);
Result syntax:
[ 'CacheClusters' => [ [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-mem-cluster', 'CacheClusterStatus' => 'available', 'CacheNodeType' => 'cache.t2.medium', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheNodeStatus' => 'available', 'CustomerAvailabilityZone' => 'us-east-1b', 'Endpoint' => [ 'Address' => 'my-mem-cluster.ameaqx.0001.use1.cache.amazonaws.com', 'Port' => 11211, ], 'ParameterGroupStatus' => 'in-sync', ], [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0002', 'CacheNodeStatus' => 'available', 'CustomerAvailabilityZone' => 'us-east-1a', 'Endpoint' => [ 'Address' => 'my-mem-cluster.ameaqx.0002.use1.cache.amazonaws.com', 'Port' => 11211, ], 'ParameterGroupStatus' => 'in-sync', ], ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.memcached1.4', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'ConfigurationEndpoint' => [ 'Address' => 'my-mem-cluster.ameaqx.cfg.use1.cache.amazonaws.com', 'Port' => 11211, ], 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'Multiple', 'PreferredMaintenanceWindow' => 'wed:06:00-wed:07:00', ], ], ]
DescribeCacheEngineVersions
$result = $client->describeCacheEngineVersions
([/* ... */]); $promise = $client->describeCacheEngineVersionsAsync
([/* ... */]);
Returns a list of the available cache engines and their versions.
Parameter Syntax
$result = $client->describeCacheEngineVersions([ 'CacheParameterGroupFamily' => '<string>', 'DefaultOnly' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, ]);
Parameter Details
Members
- CacheParameterGroupFamily
-
- Type: string
The name of a specific cache parameter group family to return details for.
Valid values are:
memcached1.4
|memcached1.5
|memcached1.6
|redis2.6
|redis2.8
|redis3.2
|redis4.0
|redis5.0
|redis6.x
|redis6.2
|redis7
|valkey7
Constraints:
-
Must be 1 to 255 alphanumeric characters
-
First character must be a letter
-
Cannot end with a hyphen or contain two consecutive hyphens
- DefaultOnly
-
- Type: boolean
If
true
, specifies that only the default version of the specified engine or engine and major version combination is to be returned. - Engine
-
- Type: string
The cache engine to return. Valid values:
memcached
|redis
- EngineVersion
-
- Type: string
The cache engine version to return.
Example:
1.4.14
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
Result Syntax
[ 'CacheEngineVersions' => [ [ 'CacheEngineDescription' => '<string>', 'CacheEngineVersionDescription' => '<string>', 'CacheParameterGroupFamily' => '<string>', 'Engine' => '<string>', 'EngineVersion' => '<string>', ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- CacheEngineVersions
-
- Type: Array of CacheEngineVersion structures
A list of cache engine version details. Each element in the list contains detailed information about one cache engine version.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
There are no errors described for this operation.
Examples
Example 1: DescribeCacheEngineVersions
Lists the details for up to 25 Memcached and Redis cache engine versions.
$result = $client->describeCacheEngineVersions([ ]);
Result syntax:
[ 'CacheEngineVersions' => [ [ 'CacheEngineDescription' => 'memcached', 'CacheEngineVersionDescription' => 'memcached version 1.4.14', 'CacheParameterGroupFamily' => 'memcached1.4', 'Engine' => 'memcached', 'EngineVersion' => '1.4.14', ], [ 'CacheEngineDescription' => 'memcached', 'CacheEngineVersionDescription' => 'memcached version 1.4.24', 'CacheParameterGroupFamily' => 'memcached1.4', 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', ], [ 'CacheEngineDescription' => 'memcached', 'CacheEngineVersionDescription' => 'memcached version 1.4.33', 'CacheParameterGroupFamily' => 'memcached1.4', 'Engine' => 'memcached', 'EngineVersion' => '1.4.33', ], [ 'CacheEngineDescription' => 'memcached', 'CacheEngineVersionDescription' => 'memcached version 1.4.5', 'CacheParameterGroupFamily' => 'memcached1.4', 'Engine' => 'memcached', 'EngineVersion' => '1.4.5', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.6.13', 'CacheParameterGroupFamily' => 'redis2.6', 'Engine' => 'redis', 'EngineVersion' => '2.6.13', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.19', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.19', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.21', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.21', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.22 R5', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.22', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.23 R4', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.23', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.24 R3', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.24', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.6', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.6', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 3.2.4', 'CacheParameterGroupFamily' => 'redis3.2', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', ], ], ]
Example 2: DescribeCacheEngineVersions
Lists the details for up to 50 Redis cache engine versions.
$result = $client->describeCacheEngineVersions([ 'DefaultOnly' => , 'Engine' => 'redis', 'MaxRecords' => 50, ]);
Result syntax:
[ 'CacheEngineVersions' => [ [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.6.13', 'CacheParameterGroupFamily' => 'redis2.6', 'Engine' => 'redis', 'EngineVersion' => '2.6.13', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.19', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.19', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.21', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.21', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.22 R5', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.22', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.23 R4', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.23', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.24 R3', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.24', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 2.8.6', 'CacheParameterGroupFamily' => 'redis2.8', 'Engine' => 'redis', 'EngineVersion' => '2.8.6', ], [ 'CacheEngineDescription' => 'Redis', 'CacheEngineVersionDescription' => 'redis version 3.2.4', 'CacheParameterGroupFamily' => 'redis3.2', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', ], ], 'Marker' => '', ]
DescribeCacheParameterGroups
$result = $client->describeCacheParameterGroups
([/* ... */]); $promise = $client->describeCacheParameterGroupsAsync
([/* ... */]);
Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.
Parameter Syntax
$result = $client->describeCacheParameterGroups([ 'CacheParameterGroupName' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, ]);
Parameter Details
Members
- CacheParameterGroupName
-
- Type: string
The name of a specific cache parameter group to return details for.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
Result Syntax
[ 'CacheParameterGroups' => [ [ 'ARN' => '<string>', 'CacheParameterGroupFamily' => '<string>', 'CacheParameterGroupName' => '<string>', 'Description' => '<string>', 'IsGlobal' => true || false, ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- CacheParameterGroups
-
- Type: Array of CacheParameterGroup structures
A list of cache parameter groups. Each element in the list contains detailed information about one cache parameter group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeCacheParameterGroups
Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.
$result = $client->describeCacheParameterGroups([ 'CacheParameterGroupName' => 'custom-mem1-4', ]);
Result syntax:
[ 'CacheParameterGroups' => [ [ 'CacheParameterGroupFamily' => 'memcached1.4', 'CacheParameterGroupName' => 'custom-mem1-4', 'Description' => 'Custom memcache param group', ], ], ]
DescribeCacheParameters
$result = $client->describeCacheParameters
([/* ... */]); $promise = $client->describeCacheParametersAsync
([/* ... */]);
Returns the detailed parameter list for a particular cache parameter group.
Parameter Syntax
$result = $client->describeCacheParameters([ 'CacheParameterGroupName' => '<string>', // REQUIRED 'Marker' => '<string>', 'MaxRecords' => <integer>, 'Source' => '<string>', ]);
Parameter Details
Members
- CacheParameterGroupName
-
- Required: Yes
- Type: string
The name of a specific cache parameter group to return details for.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- Source
-
- Type: string
The parameter types to return.
Valid values:
user
|system
|engine-default
Result Syntax
[ 'CacheNodeTypeSpecificParameters' => [ [ 'AllowedValues' => '<string>', 'CacheNodeTypeSpecificValues' => [ [ 'CacheNodeType' => '<string>', 'Value' => '<string>', ], // ... ], 'ChangeType' => 'immediate|requires-reboot', 'DataType' => '<string>', 'Description' => '<string>', 'IsModifiable' => true || false, 'MinimumEngineVersion' => '<string>', 'ParameterName' => '<string>', 'Source' => '<string>', ], // ... ], 'Marker' => '<string>', 'Parameters' => [ [ 'AllowedValues' => '<string>', 'ChangeType' => 'immediate|requires-reboot', 'DataType' => '<string>', 'Description' => '<string>', 'IsModifiable' => true || false, 'MinimumEngineVersion' => '<string>', 'ParameterName' => '<string>', 'ParameterValue' => '<string>', 'Source' => '<string>', ], // ... ], ]
Result Details
Members
- CacheNodeTypeSpecificParameters
-
- Type: Array of CacheNodeTypeSpecificParameter structures
A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
- Parameters
-
- Type: Array of Parameter structures
A list of Parameter instances.
Errors
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeCacheParameters
Lists up to 100 user parameter values for the parameter group custom.redis2.8.
$result = $client->describeCacheParameters([ 'CacheParameterGroupName' => 'custom-redis2-8', 'MaxRecords' => 100, 'Source' => 'user', ]);
Result syntax:
[ 'Marker' => '', 'Parameters' => [ [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'requires-reboot', 'DataType' => 'string', 'Description' => 'Apply rehashing or not.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'activerehashing', 'ParameterValue' => 'yes', 'Source' => 'system', ], [ 'AllowedValues' => 'always,everysec,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'fsync policy for AOF persistence', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'appendfsync', 'ParameterValue' => 'everysec', 'Source' => 'system', ], [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'Enable Redis persistence.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'appendonly', 'ParameterValue' => 'no', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer hard limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-hard-limit', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer soft limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-soft-limit', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer soft limit in seconds.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-soft-seconds', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer hard limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-hard-limit', 'ParameterValue' => '33554432', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer soft limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-soft-limit', 'ParameterValue' => '8388608', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer soft limit in seconds.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-soft-seconds', 'ParameterValue' => '60', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Slave client output buffer soft limit in seconds.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-slave-soft-seconds', 'ParameterValue' => '60', 'Source' => 'system', ], [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'If enabled, clients who attempt to write to a read-only slave will be disconnected. Applicable to 2.8.23 and higher.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.23', 'ParameterName' => 'close-on-slave-write', 'ParameterValue' => 'yes', 'Source' => 'system', ], [ 'AllowedValues' => '1-1200000', 'ChangeType' => 'requires-reboot', 'DataType' => 'integer', 'Description' => 'Set the number of databases.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'databases', 'ParameterValue' => '16', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum number of hash entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'hash-max-ziplist-entries', 'ParameterValue' => '512', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The threshold of biggest hash entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'hash-max-ziplist-value', 'ParameterValue' => '64', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum number of list entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'list-max-ziplist-entries', 'ParameterValue' => '512', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The threshold of biggest list entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'list-max-ziplist-value', 'ParameterValue' => '64', 'Source' => 'system', ], [ 'AllowedValues' => '5000', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'lua-time-limit', 'ParameterValue' => '5000', 'Source' => 'system', ], [ 'AllowedValues' => '1-65000', 'ChangeType' => 'requires-reboot', 'DataType' => 'integer', 'Description' => 'The maximum number of Redis clients.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxclients', 'ParameterValue' => '65000', 'Source' => 'system', ], [ 'AllowedValues' => 'volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'Max memory policy.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxmemory-policy', 'ParameterValue' => 'volatile-lru', 'Source' => 'system', ], [ 'AllowedValues' => '1-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Max memory samples.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxmemory-samples', 'ParameterValue' => '3', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Maximum number of seconds within which the master must receive a ping from a slave to take writes. Use this parameter together with min-slaves-to-write to regulate when the master stops accepting writes. Setting this value to 0 means the master always takes writes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'min-slaves-max-lag', 'ParameterValue' => '10', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Number of slaves that must be connected in order for master to take writes. Use this parameter together with min-slaves-max-lag to regulate when the master stops accepting writes. Setting this to 0 means the master always takes writes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'min-slaves-to-write', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'notify-keyspace-events', 'Source' => 'system', ], [ 'AllowedValues' => '16384-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The replication backlog size in bytes for PSYNC. This is the size of the buffer which accumulates slave data when slave is disconnected for some time, so that when slave reconnects again, only transfer the portion of data which the slave missed. Minimum value is 16K.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'repl-backlog-size', 'ParameterValue' => '1048576', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The amount of time in seconds after the master no longer have any slaves connected for the master to free the replication backlog. A value of 0 means to never release the backlog.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'repl-backlog-ttl', 'ParameterValue' => '3600', 'Source' => 'system', ], [ 'AllowedValues' => '11-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The timeout in seconds for bulk transfer I/O during sync and master timeout from the perspective of the slave, and slave timeout from the perspective of the master.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'repl-timeout', 'ParameterValue' => '60', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The amount of memory reserved for non-cache memory usage, in bytes. You may want to increase this parameter for nodes with read replicas, AOF enabled, etc, to reduce swap usage.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'reserved-memory', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The limit in the size of the set in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'set-max-intset-entries', 'ParameterValue' => '512', 'Source' => 'system', ], [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'Configures if chaining of slaves is allowed', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'slave-allow-chaining', 'ParameterValue' => 'no', 'Source' => 'system', ], [ 'AllowedValues' => '-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'slowlog-log-slower-than', 'ParameterValue' => '10000', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The length of the slow log. There is no limit to this length. Just be aware that it will consume memory. You can reclaim memory used by the slow log with SLOWLOG RESET.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'slowlog-max-len', 'ParameterValue' => '128', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'If non-zero, send ACKs every given number of seconds.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'tcp-keepalive', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0,20-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Close connection if client is idle for a given number of seconds, or never if 0.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'timeout', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum number of sorted set entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'zset-max-ziplist-entries', 'ParameterValue' => '128', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The threshold of biggest sorted set entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'zset-max-ziplist-value', 'ParameterValue' => '64', 'Source' => 'system', ], ], ]
DescribeCacheSecurityGroups
$result = $client->describeCacheSecurityGroups
([/* ... */]); $promise = $client->describeCacheSecurityGroupsAsync
([/* ... */]);
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup
Parameter Syntax
$result = $client->describeCacheSecurityGroups([ 'CacheSecurityGroupName' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, ]);
Parameter Details
Members
- CacheSecurityGroupName
-
- Type: string
The name of the cache security group to return details for.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
Result Syntax
[ 'CacheSecurityGroups' => [ [ 'ARN' => '<string>', 'CacheSecurityGroupName' => '<string>', 'Description' => '<string>', 'EC2SecurityGroups' => [ [ 'EC2SecurityGroupName' => '<string>', 'EC2SecurityGroupOwnerId' => '<string>', 'Status' => '<string>', ], // ... ], 'OwnerId' => '<string>', ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- CacheSecurityGroups
-
- Type: Array of CacheSecurityGroup structures
A list of cache security groups. Each element in the list contains detailed information about one group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeCacheSecurityGroups
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group.
$result = $client->describeCacheSecurityGroups([ 'CacheSecurityGroupName' => 'my-sec-group', ]);
DescribeCacheSubnetGroups
$result = $client->describeCacheSubnetGroups
([/* ... */]); $promise = $client->describeCacheSubnetGroupsAsync
([/* ... */]);
Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.
Parameter Syntax
$result = $client->describeCacheSubnetGroups([ 'CacheSubnetGroupName' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, ]);
Parameter Details
Members
- CacheSubnetGroupName
-
- Type: string
The name of the cache subnet group to return details for.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
Result Syntax
[ 'CacheSubnetGroups' => [ [ 'ARN' => '<string>', 'CacheSubnetGroupDescription' => '<string>', 'CacheSubnetGroupName' => '<string>', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => '<string>', ], 'SubnetIdentifier' => '<string>', 'SubnetOutpost' => [ 'SubnetOutpostArn' => '<string>', ], 'SupportedNetworkTypes' => ['<string>', ...], ], // ... ], 'SupportedNetworkTypes' => ['<string>', ...], 'VpcId' => '<string>', ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- CacheSubnetGroups
-
- Type: Array of CacheSubnetGroup structures
A list of cache subnet groups. Each element in the list contains detailed information about one group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
Examples
Example 1: DescribeCacheSubnetGroups
Describes up to 25 cache subnet groups.
$result = $client->describeCacheSubnetGroups([ 'MaxRecords' => 25, ]);
Result syntax:
[ 'CacheSubnetGroups' => [ [ 'CacheSubnetGroupDescription' => 'Default CacheSubnetGroup', 'CacheSubnetGroupName' => 'default', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1a', ], 'SubnetIdentifier' => 'subnet-1a2b3c4d', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1c', ], 'SubnetIdentifier' => 'subnet-a1b2c3d4', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1e', ], 'SubnetIdentifier' => 'subnet-abcd1234', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1b', ], 'SubnetIdentifier' => 'subnet-1234abcd', ], ], 'VpcId' => 'vpc-91280df6', ], ], 'Marker' => '', ]
DescribeEngineDefaultParameters
$result = $client->describeEngineDefaultParameters
([/* ... */]); $promise = $client->describeEngineDefaultParametersAsync
([/* ... */]);
Returns the default engine and system parameter information for the specified cache engine.
Parameter Syntax
$result = $client->describeEngineDefaultParameters([ 'CacheParameterGroupFamily' => '<string>', // REQUIRED 'Marker' => '<string>', 'MaxRecords' => <integer>, ]);
Parameter Details
Members
- CacheParameterGroupFamily
-
- Required: Yes
- Type: string
The name of the cache parameter group family.
Valid values are:
memcached1.4
|memcached1.5
|memcached1.6
|redis2.6
|redis2.8
|redis3.2
|redis4.0
|redis5.0
|redis6.x
|redis6.2
|redis7
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
Result Syntax
[ 'EngineDefaults' => [ 'CacheNodeTypeSpecificParameters' => [ [ 'AllowedValues' => '<string>', 'CacheNodeTypeSpecificValues' => [ [ 'CacheNodeType' => '<string>', 'Value' => '<string>', ], // ... ], 'ChangeType' => 'immediate|requires-reboot', 'DataType' => '<string>', 'Description' => '<string>', 'IsModifiable' => true || false, 'MinimumEngineVersion' => '<string>', 'ParameterName' => '<string>', 'Source' => '<string>', ], // ... ], 'CacheParameterGroupFamily' => '<string>', 'Marker' => '<string>', 'Parameters' => [ [ 'AllowedValues' => '<string>', 'ChangeType' => 'immediate|requires-reboot', 'DataType' => '<string>', 'Description' => '<string>', 'IsModifiable' => true || false, 'MinimumEngineVersion' => '<string>', 'ParameterName' => '<string>', 'ParameterValue' => '<string>', 'Source' => '<string>', ], // ... ], ], ]
Result Details
Members
- EngineDefaults
-
- Type: EngineDefaults structure
Represents the output of a
DescribeEngineDefaultParameters
operation.
Errors
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeEngineDefaultParameters
Returns the default engine and system parameter information for the specified cache engine.
$result = $client->describeEngineDefaultParameters([ 'CacheParameterGroupFamily' => 'redis2.8', 'MaxRecords' => 25, ]);
Result syntax:
[ 'EngineDefaults' => [ 'CacheNodeTypeSpecificParameters' => [ [ 'AllowedValues' => '0-', 'CacheNodeTypeSpecificValues' => [ [ 'CacheNodeType' => 'cache.c1.xlarge', 'Value' => '650117120', ], [ 'CacheNodeType' => 'cache.m1.large', 'Value' => '702545920', ], [ 'CacheNodeType' => 'cache.m1.medium', 'Value' => '309329920', ], [ 'CacheNodeType' => 'cache.m1.small', 'Value' => '94371840', ], [ 'CacheNodeType' => 'cache.m1.xlarge', 'Value' => '1488977920', ], [ 'CacheNodeType' => 'cache.m2.2xlarge', 'Value' => '3502243840', ], [ 'CacheNodeType' => 'cache.m2.4xlarge', 'Value' => '7088373760', ], [ 'CacheNodeType' => 'cache.m2.xlarge', 'Value' => '1709178880', ], [ 'CacheNodeType' => 'cache.m3.2xlarge', 'Value' => '2998927360', ], [ 'CacheNodeType' => 'cache.m3.large', 'Value' => '650117120', ], [ 'CacheNodeType' => 'cache.m3.medium', 'Value' => '309329920', ], [ 'CacheNodeType' => 'cache.m3.xlarge', 'Value' => '1426063360', ], [ 'CacheNodeType' => 'cache.m4.10xlarge', 'Value' => '16604761424', ], [ 'CacheNodeType' => 'cache.m4.2xlarge', 'Value' => '3188912636', ], [ 'CacheNodeType' => 'cache.m4.4xlarge', 'Value' => '6525729063', ], [ 'CacheNodeType' => 'cache.m4.large', 'Value' => '689259315', ], [ 'CacheNodeType' => 'cache.m4.xlarge', 'Value' => '1532850176', ], [ 'CacheNodeType' => 'cache.r3.2xlarge', 'Value' => '6081740800', ], [ 'CacheNodeType' => 'cache.r3.4xlarge', 'Value' => '12268339200', ], [ 'CacheNodeType' => 'cache.r3.8xlarge', 'Value' => '24536678400', ], [ 'CacheNodeType' => 'cache.r3.large', 'Value' => '1468006400', ], [ 'CacheNodeType' => 'cache.r3.xlarge', 'Value' => '3040870400', ], [ 'CacheNodeType' => 'cache.t1.micro', 'Value' => '14260633', ], [ 'CacheNodeType' => 'cache.t2.medium', 'Value' => '346134937', ], [ 'CacheNodeType' => 'cache.t2.micro', 'Value' => '58195968', ], [ 'CacheNodeType' => 'cache.t2.small', 'Value' => '166513868', ], ], 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Slave client output buffer hard limit in bytes.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-slave-hard-limit', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'CacheNodeTypeSpecificValues' => [ [ 'CacheNodeType' => 'cache.c1.xlarge', 'Value' => '650117120', ], [ 'CacheNodeType' => 'cache.m1.large', 'Value' => '702545920', ], [ 'CacheNodeType' => 'cache.m1.medium', 'Value' => '309329920', ], [ 'CacheNodeType' => 'cache.m1.small', 'Value' => '94371840', ], [ 'CacheNodeType' => 'cache.m1.xlarge', 'Value' => '1488977920', ], [ 'CacheNodeType' => 'cache.m2.2xlarge', 'Value' => '3502243840', ], [ 'CacheNodeType' => 'cache.m2.4xlarge', 'Value' => '7088373760', ], [ 'CacheNodeType' => 'cache.m2.xlarge', 'Value' => '1709178880', ], [ 'CacheNodeType' => 'cache.m3.2xlarge', 'Value' => '2998927360', ], [ 'CacheNodeType' => 'cache.m3.large', 'Value' => '650117120', ], [ 'CacheNodeType' => 'cache.m3.medium', 'Value' => '309329920', ], [ 'CacheNodeType' => 'cache.m3.xlarge', 'Value' => '1426063360', ], [ 'CacheNodeType' => 'cache.m4.10xlarge', 'Value' => '16604761424', ], [ 'CacheNodeType' => 'cache.m4.2xlarge', 'Value' => '3188912636', ], [ 'CacheNodeType' => 'cache.m4.4xlarge', 'Value' => '6525729063', ], [ 'CacheNodeType' => 'cache.m4.large', 'Value' => '689259315', ], [ 'CacheNodeType' => 'cache.m4.xlarge', 'Value' => '1532850176', ], [ 'CacheNodeType' => 'cache.r3.2xlarge', 'Value' => '6081740800', ], [ 'CacheNodeType' => 'cache.r3.4xlarge', 'Value' => '12268339200', ], [ 'CacheNodeType' => 'cache.r3.8xlarge', 'Value' => '24536678400', ], [ 'CacheNodeType' => 'cache.r3.large', 'Value' => '1468006400', ], [ 'CacheNodeType' => 'cache.r3.xlarge', 'Value' => '3040870400', ], [ 'CacheNodeType' => 'cache.t1.micro', 'Value' => '14260633', ], [ 'CacheNodeType' => 'cache.t2.medium', 'Value' => '346134937', ], [ 'CacheNodeType' => 'cache.t2.micro', 'Value' => '58195968', ], [ 'CacheNodeType' => 'cache.t2.small', 'Value' => '166513868', ], ], 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Slave client output buffer soft limit in bytes.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-slave-soft-limit', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'CacheNodeTypeSpecificValues' => [ [ 'CacheNodeType' => 'cache.c1.xlarge', 'Value' => '6501171200', ], [ 'CacheNodeType' => 'cache.m1.large', 'Value' => '7025459200', ], [ 'CacheNodeType' => 'cache.m1.medium', 'Value' => '3093299200', ], [ 'CacheNodeType' => 'cache.m1.small', 'Value' => '943718400', ], [ 'CacheNodeType' => 'cache.m1.xlarge', 'Value' => '14889779200', ], [ 'CacheNodeType' => 'cache.m2.2xlarge', 'Value' => '35022438400', ], [ 'CacheNodeType' => 'cache.m2.4xlarge', 'Value' => '70883737600', ], [ 'CacheNodeType' => 'cache.m2.xlarge', 'Value' => '17091788800', ], [ 'CacheNodeType' => 'cache.m3.2xlarge', 'Value' => '29989273600', ], [ 'CacheNodeType' => 'cache.m3.large', 'Value' => '6501171200', ], [ 'CacheNodeType' => 'cache.m3.medium', 'Value' => '2988441600', ], [ 'CacheNodeType' => 'cache.m3.xlarge', 'Value' => '14260633600', ], [ 'CacheNodeType' => 'cache.m4.10xlarge', 'Value' => '166047614239', ], [ 'CacheNodeType' => 'cache.m4.2xlarge', 'Value' => '31889126359', ], [ 'CacheNodeType' => 'cache.m4.4xlarge', 'Value' => '65257290629', ], [ 'CacheNodeType' => 'cache.m4.large', 'Value' => '6892593152', ], [ 'CacheNodeType' => 'cache.m4.xlarge', 'Value' => '15328501760', ], [ 'CacheNodeType' => 'cache.r3.2xlarge', 'Value' => '62495129600', ], [ 'CacheNodeType' => 'cache.r3.4xlarge', 'Value' => '126458265600', ], [ 'CacheNodeType' => 'cache.r3.8xlarge', 'Value' => '254384537600', ], [ 'CacheNodeType' => 'cache.r3.large', 'Value' => '14470348800', ], [ 'CacheNodeType' => 'cache.r3.xlarge', 'Value' => '30513561600', ], [ 'CacheNodeType' => 'cache.t1.micro', 'Value' => '142606336', ], [ 'CacheNodeType' => 'cache.t2.medium', 'Value' => '3461349376', ], [ 'CacheNodeType' => 'cache.t2.micro', 'Value' => '581959680', ], [ 'CacheNodeType' => 'cache.t2.small', 'Value' => '1665138688', ], ], 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum configurable amount of memory to use to store items, in bytes.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxmemory', 'Source' => 'system', ], ], 'CacheParameterGroupFamily' => 'redis2.8', 'Marker' => 'bWluLXNsYXZlcy10by13cml0ZQ==', 'Parameters' => [ [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'requires-reboot', 'DataType' => 'string', 'Description' => 'Apply rehashing or not.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'activerehashing', 'ParameterValue' => 'yes', 'Source' => 'system', ], [ 'AllowedValues' => 'always,everysec,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'fsync policy for AOF persistence', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'appendfsync', 'ParameterValue' => 'everysec', 'Source' => 'system', ], [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'Enable Redis persistence.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'appendonly', 'ParameterValue' => 'no', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer hard limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-hard-limit', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer soft limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-soft-limit', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Normal client output buffer soft limit in seconds.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-normal-soft-seconds', 'ParameterValue' => '0', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer hard limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-hard-limit', 'ParameterValue' => '33554432', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer soft limit in bytes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-soft-limit', 'ParameterValue' => '8388608', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Pubsub client output buffer soft limit in seconds.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-pubsub-soft-seconds', 'ParameterValue' => '60', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Slave client output buffer soft limit in seconds.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'client-output-buffer-limit-slave-soft-seconds', 'ParameterValue' => '60', 'Source' => 'system', ], [ 'AllowedValues' => 'yes,no', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'If enabled, clients who attempt to write to a read-only slave will be disconnected. Applicable to 2.8.23 and higher.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.23', 'ParameterName' => 'close-on-slave-write', 'ParameterValue' => 'yes', 'Source' => 'system', ], [ 'AllowedValues' => '1-1200000', 'ChangeType' => 'requires-reboot', 'DataType' => 'integer', 'Description' => 'Set the number of databases.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'databases', 'ParameterValue' => '16', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum number of hash entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'hash-max-ziplist-entries', 'ParameterValue' => '512', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The threshold of biggest hash entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'hash-max-ziplist-value', 'ParameterValue' => '64', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The maximum number of list entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'list-max-ziplist-entries', 'ParameterValue' => '512', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'The threshold of biggest list entries in order for the dataset to be compressed.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'list-max-ziplist-value', 'ParameterValue' => '64', 'Source' => 'system', ], [ 'AllowedValues' => '5000', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'lua-time-limit', 'ParameterValue' => '5000', 'Source' => 'system', ], [ 'AllowedValues' => '1-65000', 'ChangeType' => 'requires-reboot', 'DataType' => 'integer', 'Description' => 'The maximum number of Redis clients.', 'IsModifiable' => , 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxclients', 'ParameterValue' => '65000', 'Source' => 'system', ], [ 'AllowedValues' => 'volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction', 'ChangeType' => 'immediate', 'DataType' => 'string', 'Description' => 'Max memory policy.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxmemory-policy', 'ParameterValue' => 'volatile-lru', 'Source' => 'system', ], [ 'AllowedValues' => '1-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Max memory samples.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'maxmemory-samples', 'ParameterValue' => '3', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Maximum number of seconds within which the master must receive a ping from a slave to take writes. Use this parameter together with min-slaves-to-write to regulate when the master stops accepting writes. Setting this value to 0 means the master always takes writes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'min-slaves-max-lag', 'ParameterValue' => '10', 'Source' => 'system', ], [ 'AllowedValues' => '0-', 'ChangeType' => 'immediate', 'DataType' => 'integer', 'Description' => 'Number of slaves that must be connected in order for master to take writes. Use this parameter together with min-slaves-max-lag to regulate when the master stops accepting writes. Setting this to 0 means the master always takes writes.', 'IsModifiable' => 1, 'MinimumEngineVersion' => '2.8.6', 'ParameterName' => 'min-slaves-to-write', 'ParameterValue' => '0', 'Source' => 'system', ], ], ], ]
DescribeEvents
$result = $client->describeEvents
([/* ... */]); $promise = $client->describeEventsAsync
([/* ... */]);
Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cluster, cache security group, or cache parameter group by providing the name as a parameter.
By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.
Parameter Syntax
$result = $client->describeEvents([ 'Duration' => <integer>, 'EndTime' => <integer || string || DateTime>, 'Marker' => '<string>', 'MaxRecords' => <integer>, 'SourceIdentifier' => '<string>', 'SourceType' => 'cache-cluster|cache-parameter-group|cache-security-group|cache-subnet-group|replication-group|serverless-cache|serverless-cache-snapshot|user|user-group', 'StartTime' => <integer || string || DateTime>, ]);
Parameter Details
Members
- Duration
-
- Type: int
The number of minutes worth of events to retrieve.
- EndTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The end of the time interval for which to retrieve events, specified in ISO 8601 format.
Example: 2017-03-30T07:03:49.555Z
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- SourceIdentifier
-
- Type: string
The identifier of the event source for which events are returned. If not specified, all sources are included in the response.
- SourceType
-
- Type: string
The event source to retrieve events for. If no value is specified, all events are returned.
- StartTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The beginning of the time interval to retrieve events for, specified in ISO 8601 format.
Example: 2017-03-30T07:03:49.555Z
Result Syntax
[ 'Events' => [ [ 'Date' => <DateTime>, 'Message' => '<string>', 'SourceIdentifier' => '<string>', 'SourceType' => 'cache-cluster|cache-parameter-group|cache-security-group|cache-subnet-group|replication-group|serverless-cache|serverless-cache-snapshot|user|user-group', ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- Events
-
- Type: Array of Event structures
A list of events. Each element in the list contains detailed information about one event.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
Errors
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeEvents
Describes all the cache-cluster events for the past 120 minutes.
$result = $client->describeEvents([ 'Duration' => 360, 'SourceType' => 'cache-cluster', ]);
Result syntax:
[ 'Events' => [ [ 'Date' =>, 'Message' => 'Added cache node 0001 in availability zone us-east-1e', 'SourceIdentifier' => 'redis-cluster', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Cache cluster created', 'SourceIdentifier' => 'redis-cluster', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Added cache node 0002 in availability zone us-east-1c', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Added cache node 0001 in availability zone us-east-1e', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Cache cluster created', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], ], 'Marker' => '', ]
Example 2: DescribeEvents
Describes all the replication-group events from 3:00P to 5:00P on November 11, 2016.
$result = $client->describeEvents([ 'StartTime' =>, ]);
Result syntax:
[ 'Events' => [ [ 'Date' =>, 'Message' => 'Snapshot succeeded for snapshot with ID 'cr-bkup' of replication group with ID 'clustered-redis'', 'SourceIdentifier' => 'clustered-redis-0001-001', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Added cache node 0001 in availability zone us-east-1e', 'SourceIdentifier' => 'redis-cluster', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Cache cluster created', 'SourceIdentifier' => 'redis-cluster', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Added cache node 0002 in availability zone us-east-1c', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Added cache node 0001 in availability zone us-east-1e', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], [ 'Date' => , 'Message' => 'Cache cluster created', 'SourceIdentifier' => 'my-memcached2', 'SourceType' => 'cache-cluster', ], ], 'Marker' => '', ]
DescribeGlobalReplicationGroups
$result = $client->describeGlobalReplicationGroups
([/* ... */]); $promise = $client->describeGlobalReplicationGroupsAsync
([/* ... */]);
Returns information about a particular global replication group. If no identifier is specified, returns information about all Global datastores.
Parameter Syntax
$result = $client->describeGlobalReplicationGroups([ 'GlobalReplicationGroupId' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ShowMemberInfo' => true || false, ]);
Parameter Details
Members
- GlobalReplicationGroupId
-
- Type: string
The name of the Global datastore
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- ShowMemberInfo
-
- Type: boolean
Returns the list of members that comprise the Global datastore.
Result Syntax
[ 'GlobalReplicationGroups' => [ [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], // ... ], 'Marker' => '<string>', ]
Result Details
Members
- GlobalReplicationGroups
-
- Type: Array of GlobalReplicationGroup structures
Indicates the slot configuration and global identifier for each slice group.
- Marker
-
- Type: string
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. >
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeReplicationGroups
$result = $client->describeReplicationGroups
([/* ... */]); $promise = $client->describeReplicationGroupsAsync
([/* ... */]);
Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups
returns information about all replication groups.
This operation is valid for Valkey or Redis OSS only.
Parameter Syntax
$result = $client->describeReplicationGroups([ 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ReplicationGroupId' => '<string>', ]);
Parameter Details
Members
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- ReplicationGroupId
-
- Type: string
The identifier for the replication group to be described. This parameter is not case sensitive.
If you do not specify this parameter, information about all replication groups is returned.
Result Syntax
[ 'Marker' => '<string>', 'ReplicationGroups' => [ [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
- ReplicationGroups
-
- Type: Array of ReplicationGroup structures
A list of replication groups. Each item in the list contains detailed information about one replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeReplicationGroups
Returns information about the replication group myreplgroup.
$result = $client->describeReplicationGroups([ ]);
Result syntax:
[ 'Marker' => '', 'ReplicationGroups' => [ [ 'AutomaticFailover' => 'enabled', 'Description' => 'Test cluster', 'MemberClusters' => [ 'clustered-redis-0001-001', 'clustered-redis-0001-002', 'clustered-redis-0002-001', 'clustered-redis-0002-002', ], 'NodeGroups' => [ [ 'NodeGroupId' => '0001', 'NodeGroupMembers' => [ [ 'CacheClusterId' => 'clustered-redis-0001-001', 'CacheNodeId' => '0001', 'PreferredAvailabilityZone' => 'us-east-1e', ], [ 'CacheClusterId' => 'clustered-redis-0001-002', 'CacheNodeId' => '0001', 'PreferredAvailabilityZone' => 'us-east-1c', ], ], 'Status' => 'available', ], [ 'NodeGroupId' => '0002', 'NodeGroupMembers' => [ [ 'CacheClusterId' => 'clustered-redis-0002-001', 'CacheNodeId' => '0001', 'PreferredAvailabilityZone' => 'us-east-1c', ], [ 'CacheClusterId' => 'clustered-redis-0002-002', 'CacheNodeId' => '0001', 'PreferredAvailabilityZone' => 'us-east-1b', ], ], 'Status' => 'available', ], ], 'PendingModifiedValues' => [ ], 'ReplicationGroupId' => 'clustered-redis', 'Status' => 'available', ], ], ]
DescribeReservedCacheNodes
$result = $client->describeReservedCacheNodes
([/* ... */]); $promise = $client->describeReservedCacheNodesAsync
([/* ... */]);
Returns information about reserved cache nodes for this account, or about a specified reserved cache node.
Parameter Syntax
$result = $client->describeReservedCacheNodes([ 'CacheNodeType' => '<string>', 'Duration' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'OfferingType' => '<string>', 'ProductDescription' => '<string>', 'ReservedCacheNodeId' => '<string>', 'ReservedCacheNodesOfferingId' => '<string>', ]);
Parameter Details
Members
- CacheNodeType
-
- Type: string
The cache node type filter value. Use this parameter to show only those reservations 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:
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
- Duration
-
- Type: string
The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.
Valid Values:
1 | 3 | 31536000 | 94608000
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- OfferingType
-
- Type: string
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"
- ProductDescription
-
- Type: string
The product description filter value. Use this parameter to show only those reservations matching the specified product description.
- ReservedCacheNodeId
-
- Type: string
The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.
- ReservedCacheNodesOfferingId
-
- Type: string
The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.
Result Syntax
[ 'Marker' => '<string>', 'ReservedCacheNodes' => [ [ 'CacheNodeCount' => <integer>, 'CacheNodeType' => '<string>', 'Duration' => <integer>, 'FixedPrice' => <float>, 'OfferingType' => '<string>', 'ProductDescription' => '<string>', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => <float>, 'RecurringChargeFrequency' => '<string>', ], // ... ], 'ReservationARN' => '<string>', 'ReservedCacheNodeId' => '<string>', 'ReservedCacheNodesOfferingId' => '<string>', 'StartTime' => <DateTime>, 'State' => '<string>', 'UsagePrice' => <float>, ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
- ReservedCacheNodes
-
- Type: Array of ReservedCacheNode structures
A list of reserved cache nodes. Each element in the list contains detailed information about one node.
Errors
- ReservedCacheNodeNotFoundFault:
The requested reserved cache node was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeReservedCacheNodes
Returns information about reserved cache nodes for this account, or about a specified reserved cache node. If the account has no reserved cache nodes, the operation returns an empty list, as shown here.
$result = $client->describeReservedCacheNodes([ 'MaxRecords' => 25, ]);
DescribeReservedCacheNodesOfferings
$result = $client->describeReservedCacheNodesOfferings
([/* ... */]); $promise = $client->describeReservedCacheNodesOfferingsAsync
([/* ... */]);
Lists available reserved cache node offerings.
Parameter Syntax
$result = $client->describeReservedCacheNodesOfferings([ 'CacheNodeType' => '<string>', 'Duration' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'OfferingType' => '<string>', 'ProductDescription' => '<string>', 'ReservedCacheNodesOfferingId' => '<string>', ]);
Parameter Details
Members
- CacheNodeType
-
- Type: string
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:
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
- Duration
-
- Type: string
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
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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.
- OfferingType
-
- Type: string
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"
- ProductDescription
-
- Type: string
The product description filter value. Use this parameter to show only the available offerings matching the specified product description.
- ReservedCacheNodesOfferingId
-
- Type: string
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
Result Syntax
[ 'Marker' => '<string>', 'ReservedCacheNodesOfferings' => [ [ 'CacheNodeType' => '<string>', 'Duration' => <integer>, 'FixedPrice' => <float>, 'OfferingType' => '<string>', 'ProductDescription' => '<string>', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => <float>, 'RecurringChargeFrequency' => '<string>', ], // ... ], 'ReservedCacheNodesOfferingId' => '<string>', 'UsagePrice' => <float>, ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
- ReservedCacheNodesOfferings
-
- Type: Array of ReservedCacheNodesOffering structures
A list of reserved cache node offerings. Each element in the list contains detailed information about one offering.
Errors
- ReservedCacheNodesOfferingNotFoundFault:
The requested cache node offering does not exist.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeReseredCacheNodeOfferings
Lists available reserved cache node offerings.
$result = $client->describeReservedCacheNodesOfferings([ 'MaxRecords' => 20, ]);
Result syntax:
[ 'Marker' => '1ef01f5b-433f-94ff-a530-61a56bfc8e7a', 'ReservedCacheNodesOfferings' => [ [ 'CacheNodeType' => 'cache.m1.small', 'Duration' => 94608000, 'FixedPrice' => 157, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '0167633d-37f6-4222-b872-b1f22eb79ba4', 'UsagePrice' => 0.017, ], [ 'CacheNodeType' => 'cache.m4.xlarge', 'Duration' => 94608000, 'FixedPrice' => 1248, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.077, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '02c04e13-baca-4e71-9ceb-620eed94827d', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m2.4xlarge', 'Duration' => 94608000, 'FixedPrice' => 2381, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '02e1755e-76e8-48e3-8d82-820a5726a458', 'UsagePrice' => 0.276, ], [ 'CacheNodeType' => 'cache.m1.small', 'Duration' => 94608000, 'FixedPrice' => 188, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.013, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '03315215-7b87-421a-a3dd-785021e4113f', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m4.10xlarge', 'Duration' => 31536000, 'FixedPrice' => 6158, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 1.125, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '05ffbb44-2ace-4476-a2a5-8ec99f866fb3', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m1.small', 'Duration' => 31536000, 'FixedPrice' => 101, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '065c71ae-4a4e-4f1e-bebf-37525f4c6cb2', 'UsagePrice' => 0.023, ], [ 'CacheNodeType' => 'cache.m1.medium', 'Duration' => 94608000, 'FixedPrice' => 314, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '06774b12-7f5e-48c1-907a-f286c63f327d', 'UsagePrice' => 0.034, ], [ 'CacheNodeType' => 'cache.m2.xlarge', 'Duration' => 31536000, 'FixedPrice' => 163, 'OfferingType' => 'Light Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '0924ac6b-847f-4761-ba6b-4290b2adf719', 'UsagePrice' => 0.137, ], [ 'CacheNodeType' => 'cache.m2.xlarge', 'Duration' => 94608000, 'FixedPrice' => 719, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.049, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '09eeb126-69b6-4d3f-8f94-ca3510629f53', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.r3.2xlarge', 'Duration' => 94608000, 'FixedPrice' => 4132, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.182, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '0a516ad8-557f-4310-9dd0-2448c2ff4d62', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.c1.xlarge', 'Duration' => 94608000, 'FixedPrice' => 875, 'OfferingType' => 'Light Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '0b0c1cc5-2177-4150-95d7-c67ec34dcb19', 'UsagePrice' => 0.363, ], [ 'CacheNodeType' => 'cache.m4.10xlarge', 'Duration' => 94608000, 'FixedPrice' => 12483, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.76, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '0c2b139b-1cff-43d0-8fba-0c753f9b1950', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.c1.xlarge', 'Duration' => 31536000, 'FixedPrice' => 1620, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.207, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '0c52115b-38cb-47a2-8dbc-e02e40b6a13f', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m2.4xlarge', 'Duration' => 94608000, 'FixedPrice' => 2381, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '12fcb19c-5416-4e1d-934f-28f1e2cb8599', 'UsagePrice' => 0.276, ], [ 'CacheNodeType' => 'cache.m4.xlarge', 'Duration' => 31536000, 'FixedPrice' => 616, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.112, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '13af20ad-914d-4d8b-9763-fa2e565f3549', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.r3.8xlarge', 'Duration' => 94608000, 'FixedPrice' => 16528, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.729, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '14da3d3f-b526-4dbf-b09b-355578b2a576', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m1.medium', 'Duration' => 94608000, 'FixedPrice' => 140, 'OfferingType' => 'Light Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '15d7018c-71fb-4717-8409-4bdcdca18da7', 'UsagePrice' => 0.052, ], [ 'CacheNodeType' => 'cache.m4.4xlarge', 'Duration' => 94608000, 'FixedPrice' => 4993, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.304, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '1ae7ec5f-a76e-49b6-822b-629b1768a13a', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.m3.2xlarge', 'Duration' => 31536000, 'FixedPrice' => 1772, 'OfferingType' => 'Heavy Utilization', 'ProductDescription' => 'redis', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => 0.25, 'RecurringChargeFrequency' => 'Hourly', ], ], 'ReservedCacheNodesOfferingId' => '1d31242b-3925-48d1-b882-ce03204e6013', 'UsagePrice' => 0, ], [ 'CacheNodeType' => 'cache.t1.micro', 'Duration' => 31536000, 'FixedPrice' => 54, 'OfferingType' => 'Medium Utilization', 'ProductDescription' => 'memcached', 'RecurringCharges' => [ ], 'ReservedCacheNodesOfferingId' => '1ef01f5b-94ff-433f-a530-61a56bfc8e7a', 'UsagePrice' => 0.008, ], ], ]
Example 2: DescribeReseredCacheNodeOfferings
Lists available reserved cache node offerings for cache.r3.large nodes with a 3 year commitment.
$result = $client->describeReservedCacheNodesOfferings([ 'CacheNodeType' => 'cache.r3.large', 'Duration' => '3', 'MaxRecords' => 25, 'OfferingType' => 'Light Utilization', 'ReservedCacheNodesOfferingId' => '', ]);
Result syntax:
[ 'Marker' => '', 'ReservedCacheNodesOfferings' => [ ], ]
Example 3: DescribeReseredCacheNodeOfferings
Lists available reserved cache node offerings.
$result = $client->describeReservedCacheNodesOfferings([ 'CacheNodeType' => '', 'Duration' => '', 'Marker' => '', 'MaxRecords' => 25, 'OfferingType' => '', 'ProductDescription' => '', 'ReservedCacheNodesOfferingId' => '438012d3-4052-4cc7-b2e3-8d3372e0e706', ]);
Result syntax:
[ 'Marker' => '', 'ReservedCacheNodesOfferings' => [ ], ]
DescribeServerlessCacheSnapshots
$result = $client->describeServerlessCacheSnapshots
([/* ... */]); $promise = $client->describeServerlessCacheSnapshotsAsync
([/* ... */]);
Returns information about serverless cache snapshots. By default, this API lists all of the customer’s serverless cache snapshots. It can also describe a single serverless cache snapshot, or the snapshots associated with a particular serverless cache. Available for Valkey, Redis OSS and Serverless Memcached only.
Parameter Syntax
$result = $client->describeServerlessCacheSnapshots([ 'MaxResults' => <integer>, 'NextToken' => '<string>', 'ServerlessCacheName' => '<string>', 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', ]);
Parameter Details
Members
- MaxResults
-
- Type: int
The maximum number of records to include in the response. If more records exist than the specified max-results value, a market is included in the response so that remaining results can be retrieved. Available for Valkey, Redis OSS and Serverless Memcached only.The default is 50. The Validation Constraints are a maximum of 50.
- NextToken
-
- Type: string
An optional marker returned from a prior request to support 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 max-results. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheName
-
- Type: string
The identifier of serverless cache. If this parameter is specified, only snapshots associated with that specific serverless cache are described. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheSnapshotName
-
- Type: string
The identifier of the serverless cache’s snapshot. If this parameter is specified, only this snapshot is described. Available for Valkey, Redis OSS and Serverless Memcached only.
- SnapshotType
-
- Type: string
The type of snapshot that is being described. Available for Valkey, Redis OSS and Serverless Memcached only.
Result Syntax
[ 'NextToken' => '<string>', 'ServerlessCacheSnapshots' => [ [ 'ARN' => '<string>', 'BytesUsedForCache' => '<string>', 'CreateTime' => <DateTime>, 'ExpiryTime' => <DateTime>, 'KmsKeyId' => '<string>', 'ServerlessCacheConfiguration' => [ 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'ServerlessCacheName' => '<string>', ], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', 'Status' => '<string>', ], // ... ], ]
Result Details
Members
- NextToken
-
- Type: string
An optional marker returned from a prior request to support 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 max-results. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServerlessCacheSnapshots
-
- Type: Array of ServerlessCacheSnapshot structures
The serverless caches snapshots associated with a given description request. Available for Valkey, Redis OSS and Serverless Memcached only.
Errors
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeServerlessCaches
$result = $client->describeServerlessCaches
([/* ... */]); $promise = $client->describeServerlessCachesAsync
([/* ... */]);
Returns information about a specific serverless cache. If no identifier is specified, then the API returns information on all the serverless caches belonging to this Amazon Web Services account.
Parameter Syntax
$result = $client->describeServerlessCaches([ 'MaxResults' => <integer>, 'NextToken' => '<string>', 'ServerlessCacheName' => '<string>', ]);
Parameter Details
Members
- MaxResults
-
- Type: int
The maximum number of records in the response. If more records exist than the specified max-records value, the next token is included in the response so that remaining results can be retrieved. The default is 50.
- NextToken
-
- Type: string
An optional marker returned from a prior request to support 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 MaxResults.
- ServerlessCacheName
-
- Type: string
The identifier for the serverless cache. If this parameter is specified, only information about that specific serverless cache is returned. Default: NULL
Result Syntax
[ 'NextToken' => '<string>', 'ServerlessCaches' => [ [ 'ARN' => '<string>', 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'CreateTime' => <DateTime>, 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'FullEngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'MajorEngineVersion' => '<string>', 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'Status' => '<string>', 'SubnetIds' => ['<string>', ...], 'UserGroupId' => '<string>', ], // ... ], ]
Result Details
Members
- NextToken
-
- Type: string
An optional marker returned from a prior request to support 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 MaxResults.
- ServerlessCaches
-
- Type: Array of ServerlessCache structures
The serverless caches associated with a given description request.
Errors
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeServiceUpdates
$result = $client->describeServiceUpdates
([/* ... */]); $promise = $client->describeServiceUpdatesAsync
([/* ... */]);
Returns details of the service updates
Parameter Syntax
$result = $client->describeServiceUpdates([ 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ServiceUpdateName' => '<string>', 'ServiceUpdateStatus' => ['<string>', ...], ]);
Parameter Details
Members
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
The maximum number of records to include in the response
- ServiceUpdateName
-
- Type: string
The unique ID of the service update
- ServiceUpdateStatus
-
- Type: Array of strings
The status of the service update
Result Syntax
[ 'Marker' => '<string>', 'ServiceUpdates' => [ [ 'AutoUpdateAfterRecommendedApplyByDate' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'EstimatedUpdateTime' => '<string>', 'ServiceUpdateDescription' => '<string>', 'ServiceUpdateEndDate' => <DateTime>, 'ServiceUpdateName' => '<string>', 'ServiceUpdateRecommendedApplyByDate' => <DateTime>, 'ServiceUpdateReleaseDate' => <DateTime>, 'ServiceUpdateSeverity' => 'critical|important|medium|low', 'ServiceUpdateStatus' => 'available|cancelled|expired', 'ServiceUpdateType' => 'security-update', ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
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
. - ServiceUpdates
-
- Type: Array of ServiceUpdate structures
A list of service updates
Errors
- ServiceUpdateNotFoundFault:
The service update doesn't exist
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeSnapshots
$result = $client->describeSnapshots
([/* ... */]); $promise = $client->describeSnapshotsAsync
([/* ... */]);
Returns information about cluster or replication group snapshots. By default, DescribeSnapshots
lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.
This operation is valid for Valkey or Redis OSS only.
Parameter Syntax
$result = $client->describeSnapshots([ 'CacheClusterId' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ReplicationGroupId' => '<string>', 'ShowNodeGroupConfig' => true || false, 'SnapshotName' => '<string>', 'SnapshotSource' => '<string>', ]);
Parameter Details
Members
- CacheClusterId
-
- Type: string
A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
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: 50
Constraints: minimum 20; maximum 50.
- ReplicationGroupId
-
- Type: string
A user-supplied replication group identifier. If this parameter is specified, only snapshots associated with that specific replication group are described.
- ShowNodeGroupConfig
-
- Type: boolean
A Boolean value which if true, the node group (shard) configuration is included in the snapshot description.
- SnapshotName
-
- Type: string
A user-supplied name of the snapshot. If this parameter is specified, only this snapshot are described.
- SnapshotSource
-
- Type: string
If set to
system
, the output shows snapshots that were automatically created by ElastiCache. If set touser
the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.
Result Syntax
[ 'Marker' => '<string>', 'Snapshots' => [ [ 'ARN' => '<string>', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSubnetGroupName' => '<string>', 'DataTiering' => 'enabled|disabled', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'NodeSnapshots' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheSize' => '<string>', 'NodeGroupConfiguration' => [ 'NodeGroupId' => '<string>', 'PrimaryAvailabilityZone' => '<string>', 'PrimaryOutpostArn' => '<string>', 'ReplicaAvailabilityZones' => ['<string>', ...], 'ReplicaCount' => <integer>, 'ReplicaOutpostArns' => ['<string>', ...], 'Slots' => '<string>', ], 'NodeGroupId' => '<string>', 'SnapshotCreateTime' => <DateTime>, ], // ... ], 'NumCacheNodes' => <integer>, 'NumNodeGroups' => <integer>, 'Port' => <integer>, 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupDescription' => '<string>', 'ReplicationGroupId' => '<string>', 'SnapshotName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotSource' => '<string>', 'SnapshotStatus' => '<string>', 'SnapshotWindow' => '<string>', 'TopicArn' => '<string>', 'VpcId' => '<string>', ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
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
. - Snapshots
-
- Type: Array of Snapshot structures
A list of snapshots. Each item in the list contains detailed information about one snapshot.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeSnapshots
Returns information about the snapshot mysnapshot. By default.
$result = $client->describeSnapshots([ 'SnapshotName' => 'snapshot-20161212', ]);
Result syntax:
[ 'Marker' => '', 'Snapshots' => [ [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-redis5', 'CacheNodeType' => 'cache.m3.large', 'CacheParameterGroupName' => 'default.redis3.2', 'CacheSubnetGroupName' => 'default', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NodeSnapshots' => [ [ 'CacheNodeCreateTime' => , 'CacheNodeId' => '0001', 'CacheSize' => '3 MB', 'SnapshotCreateTime' => , ], ], 'NumCacheNodes' => 1, 'Port' => 6379, 'PreferredAvailabilityZone' => 'us-east-1c', 'PreferredMaintenanceWindow' => 'fri:05:30-fri:06:30', 'SnapshotName' => 'snapshot-20161212', 'SnapshotRetentionLimit' => 7, 'SnapshotSource' => 'manual', 'SnapshotStatus' => 'available', 'SnapshotWindow' => '10:00-11:00', 'VpcId' => 'vpc-91280df6', ], ], ]
DescribeUpdateActions
$result = $client->describeUpdateActions
([/* ... */]); $promise = $client->describeUpdateActionsAsync
([/* ... */]);
Returns details of the update actions
Parameter Syntax
$result = $client->describeUpdateActions([ 'CacheClusterIds' => ['<string>', ...], 'Engine' => '<string>', 'Marker' => '<string>', 'MaxRecords' => <integer>, 'ReplicationGroupIds' => ['<string>', ...], 'ServiceUpdateName' => '<string>', 'ServiceUpdateStatus' => ['<string>', ...], 'ServiceUpdateTimeRange' => [ 'EndTime' => <integer || string || DateTime>, 'StartTime' => <integer || string || DateTime>, ], 'ShowNodeLevelUpdateStatus' => true || false, 'UpdateActionStatus' => ['<string>', ...], ]);
Parameter Details
Members
- CacheClusterIds
-
- Type: Array of strings
The cache cluster IDs
- Engine
-
- Type: string
The Elasticache engine to which the update applies. Either Valkey, Redis OSS or Memcached.
- Marker
-
- Type: string
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
. - MaxRecords
-
- Type: int
The maximum number of records to include in the response
- ReplicationGroupIds
-
- Type: Array of strings
The replication group IDs
- ServiceUpdateName
-
- Type: string
The unique ID of the service update
- ServiceUpdateStatus
-
- Type: Array of strings
The status of the service update
- ServiceUpdateTimeRange
-
- Type: TimeRangeFilter structure
The range of time specified to search for service updates that are in available status
- ShowNodeLevelUpdateStatus
-
- Type: boolean
Dictates whether to include node level update status in the response
- UpdateActionStatus
-
- Type: Array of strings
The status of the update action.
Result Syntax
[ 'Marker' => '<string>', 'UpdateActions' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeUpdateStatus' => [ [ 'CacheNodeId' => '<string>', 'NodeDeletionDate' => <DateTime>, 'NodeUpdateEndDate' => <DateTime>, 'NodeUpdateInitiatedBy' => 'system|customer', 'NodeUpdateInitiatedDate' => <DateTime>, 'NodeUpdateStartDate' => <DateTime>, 'NodeUpdateStatus' => 'not-applied|waiting-to-start|in-progress|stopping|stopped|complete', 'NodeUpdateStatusModifiedDate' => <DateTime>, ], // ... ], 'Engine' => '<string>', 'EstimatedUpdateTime' => '<string>', 'NodeGroupUpdateStatus' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMemberUpdateStatus' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'NodeDeletionDate' => <DateTime>, 'NodeUpdateEndDate' => <DateTime>, 'NodeUpdateInitiatedBy' => 'system|customer', 'NodeUpdateInitiatedDate' => <DateTime>, 'NodeUpdateStartDate' => <DateTime>, 'NodeUpdateStatus' => 'not-applied|waiting-to-start|in-progress|stopping|stopped|complete', 'NodeUpdateStatusModifiedDate' => <DateTime>, ], // ... ], ], // ... ], 'NodesUpdated' => '<string>', 'ReplicationGroupId' => '<string>', 'ServiceUpdateName' => '<string>', 'ServiceUpdateRecommendedApplyByDate' => <DateTime>, 'ServiceUpdateReleaseDate' => <DateTime>, 'ServiceUpdateSeverity' => 'critical|important|medium|low', 'ServiceUpdateStatus' => 'available|cancelled|expired', 'ServiceUpdateType' => 'security-update', 'SlaMet' => 'yes|no|n/a', 'UpdateActionAvailableDate' => <DateTime>, 'UpdateActionStatus' => 'not-applied|waiting-to-start|in-progress|stopping|stopped|complete|scheduling|scheduled|not-applicable', 'UpdateActionStatusModifiedDate' => <DateTime>, ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
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
. - UpdateActions
-
- Type: Array of UpdateAction structures
Returns a list of update actions
Errors
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeUserGroups
$result = $client->describeUserGroups
([/* ... */]); $promise = $client->describeUserGroupsAsync
([/* ... */]);
Returns a list of user groups.
Parameter Syntax
$result = $client->describeUserGroups([ 'Marker' => '<string>', 'MaxRecords' => <integer>, 'UserGroupId' => '<string>', ]);
Parameter Details
Members
- Marker
-
- Type: string
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. >
- MaxRecords
-
- Type: int
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.
- UserGroupId
-
- Type: string
The ID of the user group.
Result Syntax
[ 'Marker' => '<string>', 'UserGroups' => [ [ 'ARN' => '<string>', 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'PendingChanges' => [ 'UserIdsToAdd' => ['<string>', ...], 'UserIdsToRemove' => ['<string>', ...], ], 'ReplicationGroups' => ['<string>', ...], 'ServerlessCaches' => ['<string>', ...], 'Status' => '<string>', 'UserGroupId' => '<string>', 'UserIds' => ['<string>', ...], ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
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.>
- UserGroups
-
- Type: Array of UserGroup structures
Returns a list of user groups.
Errors
- UserGroupNotFoundFault:
The user group was not found or does not exist
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DescribeUsers
$result = $client->describeUsers
([/* ... */]); $promise = $client->describeUsersAsync
([/* ... */]);
Returns a list of users.
Parameter Syntax
$result = $client->describeUsers([ 'Engine' => '<string>', 'Filters' => [ [ 'Name' => '<string>', // REQUIRED 'Values' => ['<string>', ...], // REQUIRED ], // ... ], 'Marker' => '<string>', 'MaxRecords' => <integer>, 'UserId' => '<string>', ]);
Parameter Details
Members
- Engine
-
- Type: string
The engine.
- Filters
-
- Type: Array of Filter structures
Filter to determine the list of User IDs to return.
- Marker
-
- Type: string
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. >
- MaxRecords
-
- Type: int
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.
- UserId
-
- Type: string
The ID of the user.
Result Syntax
[ 'Marker' => '<string>', 'Users' => [ [ 'ARN' => '<string>', 'AccessString' => '<string>', 'Authentication' => [ 'PasswordCount' => <integer>, 'Type' => 'password|no-password|iam', ], 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'Status' => '<string>', 'UserGroupIds' => ['<string>', ...], 'UserId' => '<string>', 'UserName' => '<string>', ], // ... ], ]
Result Details
Members
- Marker
-
- Type: string
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. >
- Users
-
- Type: Array of User structures
A list of users.
Errors
- UserNotFoundFault:
The user does not exist or could not be found.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
DisassociateGlobalReplicationGroup
$result = $client->disassociateGlobalReplicationGroup
([/* ... */]); $promise = $client->disassociateGlobalReplicationGroupAsync
([/* ... */]);
Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that Amazon region.
Parameter Syntax
$result = $client->disassociateGlobalReplicationGroup([ 'GlobalReplicationGroupId' => '<string>', // REQUIRED 'ReplicationGroupId' => '<string>', // REQUIRED 'ReplicationGroupRegion' => '<string>', // REQUIRED ]);
Parameter Details
Members
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
- ReplicationGroupId
-
- Required: Yes
- Type: string
The name of the secondary cluster you wish to remove from the Global datastore
- ReplicationGroupRegion
-
- Required: Yes
- Type: string
The Amazon region of secondary cluster you wish to remove from the Global datastore
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
ExportServerlessCacheSnapshot
$result = $client->exportServerlessCacheSnapshot
([/* ... */]); $promise = $client->exportServerlessCacheSnapshotAsync
([/* ... */]);
Provides the functionality to export the serverless cache snapshot data to Amazon S3. Available for Valkey and Redis OSS only.
Parameter Syntax
$result = $client->exportServerlessCacheSnapshot([ 'S3BucketName' => '<string>', // REQUIRED 'ServerlessCacheSnapshotName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- S3BucketName
-
- Required: Yes
- Type: string
Name of the Amazon S3 bucket to export the snapshot to. The Amazon S3 bucket must also be in same region as the snapshot. Available for Valkey and Redis OSS only.
- ServerlessCacheSnapshotName
-
- Required: Yes
- Type: string
The identifier of the serverless cache snapshot to be exported to S3. Available for Valkey and Redis OSS only.
Result Syntax
[ 'ServerlessCacheSnapshot' => [ 'ARN' => '<string>', 'BytesUsedForCache' => '<string>', 'CreateTime' => <DateTime>, 'ExpiryTime' => <DateTime>, 'KmsKeyId' => '<string>', 'ServerlessCacheConfiguration' => [ 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'ServerlessCacheName' => '<string>', ], 'ServerlessCacheSnapshotName' => '<string>', 'SnapshotType' => '<string>', 'Status' => '<string>', ], ]
Result Details
Members
- ServerlessCacheSnapshot
-
- Type: ServerlessCacheSnapshot structure
The state of a serverless cache at a specific point in time, to the millisecond. Available for Valkey, Redis OSS and Serverless Memcached only.
Errors
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
FailoverGlobalReplicationGroup
$result = $client->failoverGlobalReplicationGroup
([/* ... */]); $promise = $client->failoverGlobalReplicationGroupAsync
([/* ... */]);
Used to failover the primary region to a secondary region. The secondary region will become primary, and all other clusters will become secondary.
Parameter Syntax
$result = $client->failoverGlobalReplicationGroup([ 'GlobalReplicationGroupId' => '<string>', // REQUIRED 'PrimaryRegion' => '<string>', // REQUIRED 'PrimaryReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
- PrimaryRegion
-
- Required: Yes
- Type: string
The Amazon region of the primary cluster of the Global datastore
- PrimaryReplicationGroupId
-
- Required: Yes
- Type: string
The name of the primary replication group
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
IncreaseNodeGroupsInGlobalReplicationGroup
$result = $client->increaseNodeGroupsInGlobalReplicationGroup
([/* ... */]); $promise = $client->increaseNodeGroupsInGlobalReplicationGroupAsync
([/* ... */]);
Increase the number of node groups in the Global datastore
Parameter Syntax
$result = $client->increaseNodeGroupsInGlobalReplicationGroup([ 'ApplyImmediately' => true || false, // REQUIRED 'GlobalReplicationGroupId' => '<string>', // REQUIRED 'NodeGroupCount' => <integer>, // REQUIRED 'RegionalConfigurations' => [ [ 'ReplicationGroupId' => '<string>', // REQUIRED 'ReplicationGroupRegion' => '<string>', // REQUIRED 'ReshardingConfiguration' => [ // REQUIRED [ 'NodeGroupId' => '<string>', 'PreferredAvailabilityZones' => ['<string>', ...], ], // ... ], ], // ... ], ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
Indicates that the process begins immediately. At present, the only permitted value for this parameter is true.
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
- NodeGroupCount
-
- Required: Yes
- Type: int
Total number of node groups you want
- RegionalConfigurations
-
- Type: Array of RegionalConfiguration structures
Describes the replication group IDs, the Amazon regions where they are stored and the shard configuration for each that comprise the Global datastore
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
IncreaseReplicaCount
$result = $client->increaseReplicaCount
([/* ... */]); $promise = $client->increaseReplicaCountAsync
([/* ... */]);
Dynamically increases the number of replicas in a Valkey or Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Valkey or Redis OSS (cluster mode enabled) replication group. This operation is performed with no cluster down time.
Parameter Syntax
$result = $client->increaseReplicaCount([ 'ApplyImmediately' => true || false, // REQUIRED 'NewReplicaCount' => <integer>, 'ReplicaConfiguration' => [ [ 'NewReplicaCount' => <integer>, // REQUIRED 'NodeGroupId' => '<string>', // REQUIRED 'PreferredAvailabilityZones' => ['<string>', ...], 'PreferredOutpostArns' => ['<string>', ...], ], // ... ], 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
If
True
, the number of replica nodes is increased immediately.ApplyImmediately=False
is not currently supported. - NewReplicaCount
-
- Type: int
The number of read replica nodes you want at the completion of this operation. For Valkey or Redis OSS (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Valkey or Redis OSS (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.
- ReplicaConfiguration
-
- Type: Array of ConfigureShard structures
A list of
ConfigureShard
objects that can be used to configure each shard in a Valkey or Redis OSS (cluster mode enabled) replication group. TheConfigureShard
has three members:NewReplicaCount
,NodeGroupId
, andPreferredAvailabilityZones
. - ReplicationGroupId
-
- Required: Yes
- Type: string
The id of the replication group to which you want to add replica nodes.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- ClusterQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of clusters per customer.
- NodeGroupsPerReplicationGroupQuotaExceededFault:
The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 90
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- NoOperationFault:
The operation was not performed because no changes were required.
- InvalidKMSKeyFault:
The KMS key supplied is not valid.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
ListAllowedNodeTypeModifications
$result = $client->listAllowedNodeTypeModifications
([/* ... */]); $promise = $client->listAllowedNodeTypeModificationsAsync
([/* ... */]);
Lists all available node types that you can scale with your cluster's replication group's current node type.
When you use the ModifyCacheCluster
or ModifyReplicationGroup
operations to scale your cluster or replication group, the value of the CacheNodeType
parameter must be one of the node types returned by this operation.
Parameter Syntax
$result = $client->listAllowedNodeTypeModifications([ 'CacheClusterId' => '<string>', 'ReplicationGroupId' => '<string>', ]);
Parameter Details
Members
- CacheClusterId
-
- Type: string
The name of the cluster you want to scale up to a larger node instanced type. ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to.
You must provide a value for either the
CacheClusterId
or theReplicationGroupId
. - ReplicationGroupId
-
- Type: string
The name of the replication group want to scale up to a larger node type. ElastiCache uses the replication group id to identify the current node type being used by this replication group, and from that to create a list of node types you can scale up to.
You must provide a value for either the
CacheClusterId
or theReplicationGroupId
.
Result Syntax
[ 'ScaleDownModifications' => ['<string>', ...], 'ScaleUpModifications' => ['<string>', ...], ]
Result Details
Members
- ScaleDownModifications
-
- Type: Array of strings
A string list, each element of which specifies a cache node type which you can use to scale your cluster or replication group. When scaling down a Valkey or Redis OSS cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, use a value from this list for the CacheNodeType parameter.
- ScaleUpModifications
-
- Type: Array of strings
A string list, each element of which specifies a cache node type which you can use to scale your cluster or replication group.
When scaling up a Valkey or Redis OSS cluster or replication group using
ModifyCacheCluster
orModifyReplicationGroup
, use a value from this list for theCacheNodeType
parameter.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidParameterValueException:
The value for a parameter is invalid.
Examples
Example 1: ListAllowedNodeTypeModifications
Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.
$result = $client->listAllowedNodeTypeModifications([ 'ReplicationGroupId' => 'myreplgroup', ]);
Result syntax:
[ 'ScaleUpModifications' => [ 'cache.m4.10xlarge', 'cache.m4.2xlarge', 'cache.m4.4xlarge', 'cache.m4.xlarge', 'cache.r3.2xlarge', 'cache.r3.4xlarge', 'cache.r3.8xlarge', 'cache.r3.xlarge', ], ]
Example 2: ListAllowedNodeTypeModifications
Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.
$result = $client->listAllowedNodeTypeModifications([ 'CacheClusterId' => 'mycluster', ]);
Result syntax:
[ 'ScaleUpModifications' => [ ], ]
ListTagsForResource
$result = $client->listTagsForResource
([/* ... */]); $promise = $client->listTagsForResourceAsync
([/* ... */]);
Lists all tags currently on a named resource.
A tag is a key-value pair where the key and value are case-sensitive. 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. For more information, see Resource-level permissions.
If the cluster is not in the available state, ListTagsForResource
returns an error.
Parameter Syntax
$result = $client->listTagsForResource([ 'ResourceName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ResourceName
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example
arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
orarn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot
.For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.
Result Syntax
[ 'TagList' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]
Result Details
Members
- TagList
-
- Type: Array of Tag structures
A list of tags as key-value pairs.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- ReservedCacheNodeNotFoundFault:
The requested reserved cache node was not found.
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- UserNotFoundFault:
The user does not exist or could not be found.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidARNFault:
The requested Amazon Resource Name (ARN) does not refer to an existing resource.
Examples
Example 1: ListTagsForResource
Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.
$result = $client->listTagsForResource([ 'ResourceName' => 'arn:aws:elasticache:us-west-2::cluster:mycluster', ]);
Result syntax:
[ 'TagList' => [ [ 'Key' => 'APIVersion', 'Value' => '20150202', ], [ 'Key' => 'Service', 'Value' => 'ElastiCache', ], ], ]
ModifyCacheCluster
$result = $client->modifyCacheCluster
([/* ... */]); $promise = $client->modifyCacheClusterAsync
([/* ... */]);
Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.
Parameter Syntax
$result = $client->modifyCacheCluster([ 'AZMode' => 'single-az|cross-az', 'ApplyImmediately' => true || false, 'AuthToken' => '<string>', 'AuthTokenUpdateStrategy' => 'SET|ROTATE|DELETE', 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterId' => '<string>', // REQUIRED 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSecurityGroupNames' => ['<string>', ...], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'Enabled' => true || false, 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NewAvailabilityZones' => ['<string>', ...], 'NotificationTopicArn' => '<string>', 'NotificationTopicStatus' => '<string>', 'NumCacheNodes' => <integer>, 'PreferredMaintenanceWindow' => '<string>', 'SecurityGroupIds' => ['<string>', ...], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', ]);
Parameter Details
Members
- AZMode
-
- Type: string
Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones.
Valid values:
single-az
|cross-az
.This option is only supported for Memcached clusters.
You cannot specify
single-az
if the Memcached cluster already has cache nodes in different Availability Zones. Ifcross-az
is specified, existing Memcached nodes remain in their current Availability Zone.Only newly created nodes are located in different Availability Zones.
- ApplyImmediately
-
- Type: boolean
If
true
, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of thePreferredMaintenanceWindow
setting for the cluster.If
false
, changes to the cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.If you perform a
ModifyCacheCluster
before a pending modification is applied, the pending modification is replaced by the newer modification.Valid values:
true
|false
Default:
false
- AuthToken
-
- Type: string
Reserved parameter. The password used to access a password protected server. This parameter must be specified with the
auth-token-update
parameter. Password constraints:-
Must be only printable ASCII characters
-
Must be at least 16 characters and no more than 128 characters in length
-
Cannot contain any of the following characters: '/', '"', or '@', '%'
For more information, see AUTH password at AUTH.
- AuthTokenUpdateStrategy
-
- Type: string
Specifies the strategy to use to update the AUTH token. This parameter must be specified with the
auth-token
parameter. Possible values:-
ROTATE - default, if no update strategy is provided
-
SET - allowed only after ROTATE
-
DELETE - allowed only when transitioning to RBAC
For more information, see Authenticating Users with AUTH
- AutoMinorVersionUpgrade
-
- Type: boolean
 If you are running Valkey 7.2 or Redis OSS engine version 6.0 or later, set this parameter to yes to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.Â
- CacheClusterId
-
- Required: Yes
- Type: string
The cluster identifier. This value is stored as a lowercase string.
- CacheNodeIdsToRemove
-
- Type: Array of strings
A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when
NumCacheNodes
is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value ofNumCacheNodes
in the request.For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this
ModifyCacheCluster
call is 5, you must list 2 (7 - 5) cache node IDs to remove. - CacheNodeType
-
- Type: string
A valid cache node type that you want to scale this cluster up to.
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group to apply to this cluster. This change is asynchronously applied as soon as possible for parameters when the
ApplyImmediately
parameter is specified astrue
for this request. - CacheSecurityGroupNames
-
- Type: Array of strings
A list of cache security group names to authorize on this cluster. This change is asynchronously applied as soon as possible.
You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC).
Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default".
- Engine
-
- Type: string
Modifies the engine listed in a cluster message. The options are redis, memcached or valkey.
- EngineVersion
-
- Type: string
The upgraded version of the cache engine to be run on the cache nodes.
Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.
- IpDiscovery
-
- Type: string
The network type you choose when modifying a cluster, either
ipv4
|ipv6
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - LogDeliveryConfigurations
-
- Type: Array of LogDeliveryConfigurationRequest structures
Specifies the destination, format and type of the logs.
- NewAvailabilityZones
-
- Type: Array of strings
This option is only supported on Memcached clusters.
The list of Availability Zones where the new Memcached cache nodes are created.
This parameter is only valid when
NumCacheNodes
in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.Scenarios:
-
Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify
NumCacheNodes=5
(3 + 2) and optionally specify two Availability Zones for the two new nodes. -
Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify
NumCacheNodes=6
((3 + 2) + 1) and optionally specify an Availability Zone for the new node. -
Scenario 3: You want to cancel all pending operations. Specify
NumCacheNodes=3
to cancel all pending operations.
The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting
NumCacheNodes
to the number of current nodes.If
cross-az
is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.Impact of new add/remove requests upon pending requests
-
Scenario-1
-
Pending Action: Delete
-
New Request: Delete
-
Result: The new delete, pending or immediate, replaces the pending delete.
-
-
Scenario-2
-
Pending Action: Delete
-
New Request: Create
-
Result: The new create, pending or immediate, replaces the pending delete.
-
-
Scenario-3
-
Pending Action: Create
-
New Request: Delete
-
Result: The new delete, pending or immediate, replaces the pending create.
-
-
Scenario-4
-
Pending Action: Create
-
New Request: Create
-
Result: The new create is added to the pending create.
Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.
-
- NotificationTopicArn
-
- Type: string
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.
The Amazon SNS topic owner must be same as the cluster owner.
- NotificationTopicStatus
-
- Type: string
The status of the Amazon SNS notification topic. Notifications are sent only if the status is
active
.Valid values:
active
|inactive
- NumCacheNodes
-
- Type: int
The number of cache nodes that the cluster should have. If the value for
NumCacheNodes
is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), more nodes are added. If the value is less than the number of existing cache nodes, nodes are removed. If the value is equal to the number of current cache nodes, any pending add or remove requests are canceled.If you are removing cache nodes, you must use the
CacheNodeIdsToRemove
parameter to provide the IDs of the specific cache nodes to remove.For clusters running Valkey or Redis OSS, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
Adding or removing Memcached cache nodes can be applied immediately or as a pending operation (see
ApplyImmediately
).A pending operation to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending operations to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending operation to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending operation to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending operation to add nodes. The customer can modify the previous pending operation to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending operations to modify the number of cache nodes in a cluster, use the
ModifyCacheCluster
request and setNumCacheNodes
equal to the number of cache nodes currently in the cluster. - PreferredMaintenanceWindow
-
- Type: string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for
ddd
are:-
sun
-
mon
-
tue
-
wed
-
thu
-
fri
-
sat
Example:
sun:23:00-mon:01:30
- SecurityGroupIds
-
- Type: Array of strings
Specifies the VPC Security Groups associated with the cluster.
This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).
- SnapshotRetentionLimit
-
- Type: int
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set
SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.If the value of
SnapshotRetentionLimit
is set to zero (0), backups are turned off. - SnapshotWindow
-
- Type: string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.
Result Syntax
[ 'CacheCluster' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheClusterStatus' => '<string>', 'CacheNodeType' => '<string>', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheNodeStatus' => '<string>', 'CustomerAvailabilityZone' => '<string>', 'CustomerOutpostArn' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ParameterGroupStatus' => '<string>', 'SourceCacheNodeId' => '<string>', ], // ... ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => ['<string>', ...], 'CacheParameterGroupName' => '<string>', 'ParameterApplyStatus' => '<string>', ], 'CacheSecurityGroups' => [ [ 'CacheSecurityGroupName' => '<string>', 'Status' => '<string>', ], // ... ], 'CacheSubnetGroupName' => '<string>', 'ClientDownloadLandingPage' => '<string>', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationConfiguration' => [ 'TopicArn' => '<string>', 'TopicStatus' => '<string>', ], 'NumCacheNodes' => <integer>, 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'EngineVersion' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NumCacheNodes' => <integer>, 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupId' => '<string>', 'ReplicationGroupLogDeliveryEnabled' => true || false, 'SecurityGroups' => [ [ 'SecurityGroupId' => '<string>', 'Status' => '<string>', ], // ... ], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], ]
Result Details
Members
- CacheCluster
-
- Type: CacheCluster structure
Contains all of the attributes of a specific cluster.
Errors
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidCacheSecurityGroupStateFault:
The current state of the cache security group does not allow deletion.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- NodeQuotaForClusterExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: ModifyCacheCluster
Copies a snapshot to a specified name.
$result = $client->modifyCacheCluster([ 'ApplyImmediately' => 1, 'CacheClusterId' => 'redis-cluster', 'SnapshotRetentionLimit' => 14, ]);
Result syntax:
[ 'CacheCluster' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'redis-cluster', 'CacheClusterStatus' => 'available', 'CacheNodeType' => 'cache.r3.large', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.redis3.2', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'Engine' => 'redis', 'EngineVersion' => '3.2.4', 'NumCacheNodes' => 1, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'us-east-1e', 'PreferredMaintenanceWindow' => 'fri:09:00-fri:10:00', 'SnapshotRetentionLimit' => 14, 'SnapshotWindow' => '07:00-08:00', ], ]
ModifyCacheParameterGroup
$result = $client->modifyCacheParameterGroup
([/* ... */]); $promise = $client->modifyCacheParameterGroupAsync
([/* ... */]);
Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.
Parameter Syntax
$result = $client->modifyCacheParameterGroup([ 'CacheParameterGroupName' => '<string>', // REQUIRED 'ParameterNameValues' => [ // REQUIRED [ 'ParameterName' => '<string>', 'ParameterValue' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheParameterGroupName
-
- Required: Yes
- Type: string
The name of the cache parameter group to modify.
- ParameterNameValues
-
- Required: Yes
- Type: Array of ParameterNameValue structures
An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be modified per request.
Result Syntax
[ 'CacheParameterGroupName' => '<string>', ]
Result Details
Members
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group.
Errors
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidCacheParameterGroupStateFault:
The current state of the cache parameter group does not allow the requested operation to occur.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
Examples
Example 1: ModifyCacheParameterGroup
Modifies one or more parameter values in the specified parameter group. You cannot modify any default parameter group.
$result = $client->modifyCacheParameterGroup([ 'CacheParameterGroupName' => 'custom-mem1-4', 'ParameterNameValues' => [ [ 'ParameterName' => 'binding_protocol', 'ParameterValue' => 'ascii', ], [ 'ParameterName' => 'chunk_size', 'ParameterValue' => '96', ], ], ]);
Result syntax:
[ 'CacheParameterGroupName' => 'custom-mem1-4', ]
ModifyCacheSubnetGroup
$result = $client->modifyCacheSubnetGroup
([/* ... */]); $promise = $client->modifyCacheSubnetGroupAsync
([/* ... */]);
Modifies an existing cache subnet group.
Parameter Syntax
$result = $client->modifyCacheSubnetGroup([ 'CacheSubnetGroupDescription' => '<string>', 'CacheSubnetGroupName' => '<string>', // REQUIRED 'SubnetIds' => ['<string>', ...], ]);
Parameter Details
Members
- CacheSubnetGroupDescription
-
- Type: string
A description of the cache subnet group.
- CacheSubnetGroupName
-
- Required: Yes
- Type: string
The name for the cache subnet group. This value is stored as a lowercase string.
Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
Example:
mysubnetgroup
- SubnetIds
-
- Type: Array of strings
The EC2 subnet IDs for the cache subnet group.
Result Syntax
[ 'CacheSubnetGroup' => [ 'ARN' => '<string>', 'CacheSubnetGroupDescription' => '<string>', 'CacheSubnetGroupName' => '<string>', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => '<string>', ], 'SubnetIdentifier' => '<string>', 'SubnetOutpost' => [ 'SubnetOutpostArn' => '<string>', ], 'SupportedNetworkTypes' => ['<string>', ...], ], // ... ], 'SupportedNetworkTypes' => ['<string>', ...], 'VpcId' => '<string>', ], ]
Result Details
Members
- CacheSubnetGroup
-
- Type: CacheSubnetGroup structure
Represents the output of one of the following operations:
-
CreateCacheSubnetGroup
-
ModifyCacheSubnetGroup
Errors
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- CacheSubnetQuotaExceededFault:
The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.
- SubnetInUse:
The requested subnet is being used by another cache subnet group.
- InvalidSubnet:
An invalid subnet identifier was specified.
- SubnetNotAllowedFault:
At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a user sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets the subnet ID to an Outpost when not subscribed on this service.
Examples
Example 1: ModifyCacheSubnetGroup
Modifies an existing ElastiCache subnet group.
$result = $client->modifyCacheSubnetGroup([ 'CacheSubnetGroupName' => 'my-sn-grp', 'SubnetIds' => [ 'subnet-bcde2345', ], ]);
Result syntax:
[ 'CacheSubnetGroup' => [ 'CacheSubnetGroupDescription' => 'My subnet group.', 'CacheSubnetGroupName' => 'my-sn-grp', 'Subnets' => [ [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1c', ], 'SubnetIdentifier' => 'subnet-a1b2c3d4', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1e', ], 'SubnetIdentifier' => 'subnet-1a2b3c4d', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1e', ], 'SubnetIdentifier' => 'subnet-bcde2345', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1c', ], 'SubnetIdentifier' => 'subnet-1234abcd', ], [ 'SubnetAvailabilityZone' => [ 'Name' => 'us-east-1b', ], 'SubnetIdentifier' => 'subnet-abcd1234', ], ], 'VpcId' => 'vpc-91280df6', ], ]
ModifyGlobalReplicationGroup
$result = $client->modifyGlobalReplicationGroup
([/* ... */]); $promise = $client->modifyGlobalReplicationGroupAsync
([/* ... */]);
Modifies the settings for a Global datastore.
Parameter Syntax
$result = $client->modifyGlobalReplicationGroup([ 'ApplyImmediately' => true || false, // REQUIRED 'AutomaticFailoverEnabled' => true || false, 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
This parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible. Modifications to Global Replication Groups cannot be requested to be applied in PreferredMaintenceWindow.
- AutomaticFailoverEnabled
-
- Type: boolean
Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.
- CacheNodeType
-
- Type: string
A valid cache node type that you want to scale this Global datastore to.
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group to use with the Global datastore. It must be compatible with the major engine version used by the Global datastore.
- Engine
-
- Type: string
Modifies the engine listed in a global replication group message. The options are redis, memcached or valkey.
- EngineVersion
-
- Type: string
The upgraded version of the cache engine to be run on the clusters in the Global datastore.
- GlobalReplicationGroupDescription
-
- Type: string
A description of the Global datastore
- GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
ModifyReplicationGroup
$result = $client->modifyReplicationGroup
([/* ... */]); $promise = $client->modifyReplicationGroupAsync
([/* ... */]);
Modifies the settings for a replication group. This is limited to Valkey and Redis OSS 7 and above.
-
Scaling for Valkey or Redis OSS (cluster mode enabled) in the ElastiCache User Guide
-
ModifyReplicationGroupShardConfiguration in the ElastiCache API Reference
This operation is valid for Valkey or Redis OSS only.
Parameter Syntax
$result = $client->modifyReplicationGroup([ 'ApplyImmediately' => true || false, 'AuthToken' => '<string>', 'AuthTokenUpdateStrategy' => 'SET|ROTATE|DELETE', 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailoverEnabled' => true || false, 'CacheNodeType' => '<string>', 'CacheParameterGroupName' => '<string>', 'CacheSecurityGroupNames' => ['<string>', ...], 'ClusterMode' => 'enabled|disabled|compatible', 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'Enabled' => true || false, 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'MultiAZEnabled' => true || false, 'NodeGroupId' => '<string>', 'NotificationTopicArn' => '<string>', 'NotificationTopicStatus' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PrimaryClusterId' => '<string>', 'RemoveUserGroups' => true || false, 'ReplicationGroupDescription' => '<string>', 'ReplicationGroupId' => '<string>', // REQUIRED 'SecurityGroupIds' => ['<string>', ...], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ]);
Parameter Details
Members
- ApplyImmediately
-
- Type: boolean
If
true
, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of thePreferredMaintenanceWindow
setting for the replication group.If
false
, changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.Valid values:
true
|false
Default:
false
- AuthToken
-
- Type: string
Reserved parameter. The password used to access a password protected server. This parameter must be specified with the
auth-token-update-strategy
parameter. Password constraints:-
Must be only printable ASCII characters
-
Must be at least 16 characters and no more than 128 characters in length
-
Cannot contain any of the following characters: '/', '"', or '@', '%'
For more information, see AUTH password at AUTH.
- AuthTokenUpdateStrategy
-
- Type: string
Specifies the strategy to use to update the AUTH token. This parameter must be specified with the
auth-token
parameter. Possible values:-
ROTATE - default, if no update strategy is provided
-
SET - allowed only after ROTATE
-
DELETE - allowed only when transitioning to RBAC
For more information, see Authenticating Users with AUTH
- AutoMinorVersionUpgrade
-
- Type: boolean
 If you are running Valkey or Redis OSS engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.Â
- AutomaticFailoverEnabled
-
- Type: boolean
Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.
Valid values:
true
|false
- CacheNodeType
-
- Type: string
A valid cache node type that you want to scale this replication group to.
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the
ApplyImmediately
parameter is specified astrue
for this request. - CacheSecurityGroupNames
-
- Type: Array of strings
A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.
This parameter can be used only with replication group containing clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC).
Constraints: Must contain no more than 255 alphanumeric characters. Must not be
Default
. - ClusterMode
-
- Type: string
Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
- Engine
-
- Type: string
Modifies the engine listed in a replication group message. The options are redis, memcached or valkey.
- EngineVersion
-
- Type: string
The upgraded version of the cache engine to be run on the clusters in the replication group.
Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing replication group and create it anew with the earlier engine version.
- IpDiscovery
-
- Type: string
The network type you choose when modifying a cluster, either
ipv4
|ipv6
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - LogDeliveryConfigurations
-
- Type: Array of LogDeliveryConfigurationRequest structures
Specifies the destination, format and type of the logs.
- MultiAZEnabled
-
- Type: boolean
A flag to indicate MultiAZ is enabled.
- NodeGroupId
-
- Type: string
Deprecated. This parameter is not used.
- NotificationTopicArn
-
- Type: string
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.
The Amazon SNS topic owner must be same as the replication group owner.
- NotificationTopicStatus
-
- Type: string
The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is
active
.Valid values:
active
|inactive
- PreferredMaintenanceWindow
-
- Type: string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for
ddd
are:-
sun
-
mon
-
tue
-
wed
-
thu
-
fri
-
sat
Example:
sun:23:00-mon:01:30
- PrimaryClusterId
-
- Type: string
For replication groups with a single primary, if this parameter is specified, ElastiCache promotes the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group are read replicas.
- RemoveUserGroups
-
- Type: boolean
Removes the user group associated with this replication group.
- ReplicationGroupDescription
-
- Type: string
A description for the replication group. Maximum length is 255 characters.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The identifier of the replication group to modify.
- SecurityGroupIds
-
- Type: Array of strings
Specifies the VPC Security Groups associated with the clusters in the replication group.
This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).
- SnapshotRetentionLimit
-
- Type: int
The number of days for which ElastiCache retains automatic node group (shard) snapshots before deleting them. For example, if you set
SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.
- SnapshotWindow
-
- Type: string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of the node group (shard) specified by
SnapshottingClusterId
.Example:
05:00-09:00
If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
- SnapshottingClusterId
-
- Type: string
The cluster ID that is used as the daily snapshot source for the replication group. This parameter cannot be set for Valkey or Redis OSS (cluster mode enabled) replication groups.
- TransitEncryptionEnabled
-
- Type: boolean
A flag that enables in-transit encryption when set to true. If you are enabling in-transit encryption for an existing cluster, you must also set
TransitEncryptionMode
topreferred
. - TransitEncryptionMode
-
- Type: string
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
You must set
TransitEncryptionEnabled
totrue
, for your existing cluster, and setTransitEncryptionMode
topreferred
in the same request to allow both encrypted and unencrypted connections at the same time. Once you migrate all your Valkey or Redis OSS clients to use encrypted connections you can set the value torequired
to allow encrypted connections only.Setting
TransitEncryptionMode
torequired
is a two-step process that requires you to first set theTransitEncryptionMode
topreferred
, after that you can setTransitEncryptionMode
torequired
. - UserGroupIdsToAdd
-
- Type: Array of strings
The ID of the user group you are associating with the replication group.
- UserGroupIdsToRemove
-
- Type: Array of strings
The ID of the user group to disassociate from the replication group, meaning the users in the group no longer can access the replication group.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- InvalidUserGroupStateFault:
The user group is not in an active state.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidCacheSecurityGroupStateFault:
The current state of the cache security group does not allow deletion.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- NodeQuotaForClusterExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- InvalidKMSKeyFault:
The KMS key supplied is not valid.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: ModifyReplicationGroup
$result = $client->modifyReplicationGroup([ 'ApplyImmediately' => 1, 'ReplicationGroupDescription' => 'Modified replication group', 'ReplicationGroupId' => 'my-redis-rg', 'SnapshotRetentionLimit' => 30, 'SnapshottingClusterId' => 'my-redis-rg-001', ]);
Result syntax:
[ 'ReplicationGroup' => [ 'AutomaticFailover' => 'enabled', 'Description' => 'Modified replication group', 'MemberClusters' => [ 'my-redis-rg-001', 'my-redis-rg-002', 'my-redis-rg-003', ], 'NodeGroups' => [ [ 'NodeGroupId' => '0001', 'NodeGroupMembers' => [ [ 'CacheClusterId' => 'my-redis-rg-001', 'CacheNodeId' => '0001', 'CurrentRole' => 'primary', 'PreferredAvailabilityZone' => 'us-east-1b', 'ReadEndpoint' => [ 'Address' => 'my-redis-rg-001.abcdef.0001.use1.cache.amazonaws.com', 'Port' => 6379, ], ], [ 'CacheClusterId' => 'my-redis-rg-002', 'CacheNodeId' => '0001', 'CurrentRole' => 'replica', 'PreferredAvailabilityZone' => 'us-east-1a', 'ReadEndpoint' => [ 'Address' => 'my-redis-rg-002.abcdef.0001.use1.cache.amazonaws.com', 'Port' => 6379, ], ], [ 'CacheClusterId' => 'my-redis-rg-003', 'CacheNodeId' => '0001', 'CurrentRole' => 'replica', 'PreferredAvailabilityZone' => 'us-east-1c', 'ReadEndpoint' => [ 'Address' => 'my-redis-rg-003.abcdef.0001.use1.cache.amazonaws.com', 'Port' => 6379, ], ], ], 'PrimaryEndpoint' => [ 'Address' => 'my-redis-rg.abcdef.ng.0001.use1.cache.amazonaws.com', 'Port' => 6379, ], 'Status' => 'available', ], ], 'PendingModifiedValues' => [ ], 'ReplicationGroupId' => 'my-redis-rg', 'SnapshottingClusterId' => 'my-redis-rg-002', 'Status' => 'available', ], ]
ModifyReplicationGroupShardConfiguration
$result = $client->modifyReplicationGroupShardConfiguration
([/* ... */]); $promise = $client->modifyReplicationGroupShardConfigurationAsync
([/* ... */]);
Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among existing shards.
Parameter Syntax
$result = $client->modifyReplicationGroupShardConfiguration([ 'ApplyImmediately' => true || false, // REQUIRED 'NodeGroupCount' => <integer>, // REQUIRED 'NodeGroupsToRemove' => ['<string>', ...], 'NodeGroupsToRetain' => ['<string>', ...], 'ReplicationGroupId' => '<string>', // REQUIRED 'ReshardingConfiguration' => [ [ 'NodeGroupId' => '<string>', 'PreferredAvailabilityZones' => ['<string>', ...], ], // ... ], ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is
true
.Value: true
- NodeGroupCount
-
- Required: Yes
- Type: int
The number of node groups (shards) that results from the modification of the shard configuration.
- NodeGroupsToRemove
-
- Type: Array of strings
If the value of
NodeGroupCount
is less than the current number of node groups (shards), then eitherNodeGroupsToRemove
orNodeGroupsToRetain
is required.NodeGroupsToRemove
is a list ofNodeGroupId
s to remove from the cluster.ElastiCache will attempt to remove all node groups listed by
NodeGroupsToRemove
from the cluster. - NodeGroupsToRetain
-
- Type: Array of strings
If the value of
NodeGroupCount
is less than the current number of node groups (shards), then eitherNodeGroupsToRemove
orNodeGroupsToRetain
is required.NodeGroupsToRetain
is a list ofNodeGroupId
s to retain in the cluster.ElastiCache will attempt to remove all node groups except those listed by
NodeGroupsToRetain
from the cluster. - ReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Valkey or Redis OSS (cluster mode enabled) cluster (replication group) on which the shards are to be configured.
- ReshardingConfiguration
-
- Type: Array of ReshardingConfiguration structures
Specifies the preferred availability zones for each node group in the cluster. If the value of
NodeGroupCount
is greater than the current number of node groups (shards), you can use this parameter to specify the preferred availability zones of the cluster's shards. If you omit this parameter ElastiCache selects availability zones for you.You can specify this parameter only if the value of
NodeGroupCount
is greater than the current number of node groups (shards).
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidVPCNetworkStateFault:
The VPC network is in an invalid state.
- InsufficientCacheClusterCapacityFault:
The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
- NodeGroupsPerReplicationGroupQuotaExceededFault:
The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 90
- NodeQuotaForCustomerExceededFault:
The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
- InvalidKMSKeyFault:
The KMS key supplied is not valid.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
ModifyServerlessCache
$result = $client->modifyServerlessCache
([/* ... */]); $promise = $client->modifyServerlessCacheAsync
([/* ... */]);
This API modifies the attributes of a serverless cache.
Parameter Syntax
$result = $client->modifyServerlessCache([ 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', // REQUIRED ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Engine' => '<string>', 'MajorEngineVersion' => '<string>', 'RemoveUserGroup' => true || false, 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', // REQUIRED 'SnapshotRetentionLimit' => <integer>, 'UserGroupId' => '<string>', ]);
Parameter Details
Members
- CacheUsageLimits
-
- Type: CacheUsageLimits structure
Modify the cache usage limit for the serverless cache.
- DailySnapshotTime
-
- Type: string
The daily time during which Elasticache begins taking a daily snapshot of the serverless cache. Available for Valkey, Redis OSS and Serverless Memcached only. The default is NULL, i.e. the existing snapshot time configured for the cluster is not removed.
- Description
-
- Type: string
User provided description for the serverless cache. Default = NULL, i.e. the existing description is not removed/modified. The description has a maximum length of 255 characters.
- Engine
-
- Type: string
Modifies the engine listed in a serverless cache request. The options are redis, memcached or valkey.
- MajorEngineVersion
-
- Type: string
Modifies the engine vesion listed in a serverless cache request.
- RemoveUserGroup
-
- Type: boolean
The identifier of the UserGroup to be removed from association with the Valkey and Redis OSS serverless cache. Available for Valkey and Redis OSS only. Default is NULL.
- SecurityGroupIds
-
- Type: Array of strings
The new list of VPC security groups to be associated with the serverless cache. Populating this list means the current VPC security groups will be removed. This security group is used to authorize traffic access for the VPC end-point (private-link). Default = NULL - the existing list of VPC security groups is not removed.
- ServerlessCacheName
-
- Required: Yes
- Type: string
User-provided identifier for the serverless cache to be modified.
- SnapshotRetentionLimit
-
- Type: int
The number of days for which Elasticache retains automatic snapshots before deleting them. Available for Valkey, Redis OSS and Serverless Memcached only. Default = NULL, i.e. the existing snapshot-retention-limit will not be removed or modified. The maximum value allowed is 35 days.
- UserGroupId
-
- Type: string
The identifier of the UserGroup to be associated with the serverless cache. Available for Valkey and Redis OSS only. Default is NULL - the existing UserGroup is not removed.
Result Syntax
[ 'ServerlessCache' => [ 'ARN' => '<string>', 'CacheUsageLimits' => [ 'DataStorage' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, 'Unit' => 'GB', ], 'ECPUPerSecond' => [ 'Maximum' => <integer>, 'Minimum' => <integer>, ], ], 'CreateTime' => <DateTime>, 'DailySnapshotTime' => '<string>', 'Description' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'FullEngineVersion' => '<string>', 'KmsKeyId' => '<string>', 'MajorEngineVersion' => '<string>', 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'SecurityGroupIds' => ['<string>', ...], 'ServerlessCacheName' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'Status' => '<string>', 'SubnetIds' => ['<string>', ...], 'UserGroupId' => '<string>', ], ]
Result Details
Members
- ServerlessCache
-
- Type: ServerlessCache structure
The response for the attempt to modify the serverless cache.
Errors
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidCredentialsException:
You must enter valid credentials.
- InvalidUserGroupStateFault:
The user group is not in an active state.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
ModifyUser
$result = $client->modifyUser
([/* ... */]); $promise = $client->modifyUserAsync
([/* ... */]);
Changes user password(s) and/or access string.
Parameter Syntax
$result = $client->modifyUser([ 'AccessString' => '<string>', 'AppendAccessString' => '<string>', 'AuthenticationMode' => [ 'Passwords' => ['<string>', ...], 'Type' => 'password|no-password-required|iam', ], 'Engine' => '<string>', 'NoPasswordRequired' => true || false, 'Passwords' => ['<string>', ...], 'UserId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- AccessString
-
- Type: string
Access permissions string used for this user.
- AppendAccessString
-
- Type: string
Adds additional user permissions to the access string.
- AuthenticationMode
-
- Type: AuthenticationMode structure
Specifies how to authenticate the user.
- Engine
-
- Type: string
The engine for a specific user.
- NoPasswordRequired
-
- Type: boolean
Indicates no password is required for the user.
- Passwords
-
- Type: Array of strings
The passwords belonging to the user. You are allowed up to two.
- UserId
-
- Required: Yes
- Type: string
The ID of the user.
Result Syntax
[ 'ARN' => '<string>', 'AccessString' => '<string>', 'Authentication' => [ 'PasswordCount' => <integer>, 'Type' => 'password|no-password|iam', ], 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'Status' => '<string>', 'UserGroupIds' => ['<string>', ...], 'UserId' => '<string>', 'UserName' => '<string>', ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user.
- AccessString
-
- Type: string
Access permissions string used for this user.
- Authentication
-
- Type: Authentication structure
Denotes whether the user requires a password to authenticate.
- Engine
-
- Type: string
The current supported value is Redis.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- Status
-
- Type: string
Indicates the user status. Can be "active", "modifying" or "deleting".
- UserGroupIds
-
- Type: Array of strings
Returns a list of the user group IDs the user belongs to.
- UserId
-
- Type: string
The ID of the user.
- UserName
-
- Type: string
The username of the user.
Errors
- UserNotFoundFault:
The user does not exist or could not be found.
- InvalidUserStateFault:
The user is not in active state.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
ModifyUserGroup
$result = $client->modifyUserGroup
([/* ... */]); $promise = $client->modifyUserGroupAsync
([/* ... */]);
Changes the list of users that belong to the user group.
Parameter Syntax
$result = $client->modifyUserGroup([ 'Engine' => '<string>', 'UserGroupId' => '<string>', // REQUIRED 'UserIdsToAdd' => ['<string>', ...], 'UserIdsToRemove' => ['<string>', ...], ]);
Parameter Details
Members
- Engine
-
- Type: string
The engine for a user group.
- UserGroupId
-
- Required: Yes
- Type: string
The ID of the user group.
- UserIdsToAdd
-
- Type: Array of strings
The list of user IDs to add to the user group.
- UserIdsToRemove
-
- Type: Array of strings
The list of user IDs to remove from the user group.
Result Syntax
[ 'ARN' => '<string>', 'Engine' => '<string>', 'MinimumEngineVersion' => '<string>', 'PendingChanges' => [ 'UserIdsToAdd' => ['<string>', ...], 'UserIdsToRemove' => ['<string>', ...], ], 'ReplicationGroups' => ['<string>', ...], 'ServerlessCaches' => ['<string>', ...], 'Status' => '<string>', 'UserGroupId' => '<string>', 'UserIds' => ['<string>', ...], ]
Result Details
Members
- ARN
-
- Type: string
The Amazon Resource Name (ARN) of the user group.
- Engine
-
- Type: string
The current supported value is Redis user.
- MinimumEngineVersion
-
- Type: string
The minimum engine version required, which is Redis OSS 6.0
- PendingChanges
-
- Type: UserGroupPendingChanges structure
A list of updates being applied to the user group.
- ReplicationGroups
-
- Type: Array of strings
A list of replication groups that the user group can access.
- ServerlessCaches
-
- Type: Array of strings
Indicates which serverless caches the specified user group is associated with. Available for Valkey, Redis OSS and Serverless Memcached only.
- Status
-
- Type: string
Indicates user group status. Can be "creating", "active", "modifying", "deleting".
- UserGroupId
-
- Type: string
The ID of the user group.
- UserIds
-
- Type: Array of strings
The list of user IDs that belong to the user group.
Errors
- UserGroupNotFoundFault:
The user group was not found or does not exist
- UserNotFoundFault:
The user does not exist or could not be found.
- DuplicateUserNameFault:
A user with this username already exists.
- ServiceLinkedRoleNotFoundFault:
The specified service linked role (SLR) was not found.
- DefaultUserRequired:
You must add default user to a user group.
- InvalidUserGroupStateFault:
The user group is not in an active state.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
PurchaseReservedCacheNodesOffering
$result = $client->purchaseReservedCacheNodesOffering
([/* ... */]); $promise = $client->purchaseReservedCacheNodesOfferingAsync
([/* ... */]);
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.
Parameter Syntax
$result = $client->purchaseReservedCacheNodesOffering([ 'CacheNodeCount' => <integer>, 'ReservedCacheNodeId' => '<string>', 'ReservedCacheNodesOfferingId' => '<string>', // REQUIRED 'Tags' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]);
Parameter Details
Members
- CacheNodeCount
-
- Type: int
The number of cache node instances to reserve.
Default:
1
- ReservedCacheNodeId
-
- Type: string
A customer-specified identifier to track this reservation.
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
- ReservedCacheNodesOfferingId
-
- Required: Yes
- Type: string
The ID of the reserved cache node offering to purchase.
Example:
438012d3-4052-4cc7-b2e3-8d3372e0e706
- Tags
-
- Type: Array of Tag structures
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.
Result Syntax
[ 'ReservedCacheNode' => [ 'CacheNodeCount' => <integer>, 'CacheNodeType' => '<string>', 'Duration' => <integer>, 'FixedPrice' => <float>, 'OfferingType' => '<string>', 'ProductDescription' => '<string>', 'RecurringCharges' => [ [ 'RecurringChargeAmount' => <float>, 'RecurringChargeFrequency' => '<string>', ], // ... ], 'ReservationARN' => '<string>', 'ReservedCacheNodeId' => '<string>', 'ReservedCacheNodesOfferingId' => '<string>', 'StartTime' => <DateTime>, 'State' => '<string>', 'UsagePrice' => <float>, ], ]
Result Details
Members
- ReservedCacheNode
-
- Type: ReservedCacheNode structure
Represents the output of a
PurchaseReservedCacheNodesOffering
operation.
Errors
- ReservedCacheNodesOfferingNotFoundFault:
The requested cache node offering does not exist.
- ReservedCacheNodeAlreadyExistsFault:
You already have a reservation with the given identifier.
- ReservedCacheNodeQuotaExceededFault:
The request cannot be processed because it would exceed the user's cache node quota.
- TagQuotaPerResourceExceeded:
The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: PurchaseReservedCacheNodesOfferings
Allows you to purchase a reserved cache node offering.
$result = $client->purchaseReservedCacheNodesOffering([ 'ReservedCacheNodesOfferingId' => '1ef01f5b-94ff-433f-a530-61a56bfc8e7a', ]);
RebalanceSlotsInGlobalReplicationGroup
$result = $client->rebalanceSlotsInGlobalReplicationGroup
([/* ... */]); $promise = $client->rebalanceSlotsInGlobalReplicationGroupAsync
([/* ... */]);
Redistribute slots to ensure uniform distribution across existing shards in the cluster.
Parameter Syntax
$result = $client->rebalanceSlotsInGlobalReplicationGroup([ 'ApplyImmediately' => true || false, // REQUIRED 'GlobalReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- ApplyImmediately
-
- Required: Yes
- Type: boolean
If
True
, redistribution is applied immediately. - GlobalReplicationGroupId
-
- Required: Yes
- Type: string
The name of the Global datastore
Result Syntax
[ 'GlobalReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'Engine' => '<string>', 'EngineVersion' => '<string>', 'GlobalNodeGroups' => [ [ 'GlobalNodeGroupId' => '<string>', 'Slots' => '<string>', ], // ... ], 'GlobalReplicationGroupDescription' => '<string>', 'GlobalReplicationGroupId' => '<string>', 'Members' => [ [ 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'ReplicationGroupId' => '<string>', 'ReplicationGroupRegion' => '<string>', 'Role' => '<string>', 'Status' => '<string>', ], // ... ], 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, ], ]
Result Details
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
-
The GlobalReplicationGroupIdSuffix represents the name of the Global datastore, which is what you use to associate a secondary cluster.
Errors
- GlobalReplicationGroupNotFoundFault:
The Global datastore does not exist
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
- InvalidParameterValueException:
The value for a parameter is invalid.
RebootCacheCluster
$result = $client->rebootCacheCluster
([/* ... */]); $promise = $client->rebootCacheClusterAsync
([/* ... */]);
Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the cluster status is set to REBOOTING.
The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.
When the reboot is complete, a cluster event is created.
Rebooting a cluster is currently supported on Memcached, Valkey and Redis OSS (cluster mode disabled) clusters. Rebooting is not supported on Valkey or Redis OSS (cluster mode enabled) clusters.
If you make changes to parameters that require a Valkey or Redis OSS (cluster mode enabled) cluster reboot for the changes to be applied, see Rebooting a Cluster for an alternate process.
Parameter Syntax
$result = $client->rebootCacheCluster([ 'CacheClusterId' => '<string>', // REQUIRED 'CacheNodeIdsToReboot' => ['<string>', ...], // REQUIRED ]);
Parameter Details
Members
- CacheClusterId
-
- Required: Yes
- Type: string
The cluster identifier. This parameter is stored as a lowercase string.
- CacheNodeIdsToReboot
-
- Required: Yes
- Type: Array of strings
A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs.
Result Syntax
[ 'CacheCluster' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'CacheClusterCreateTime' => <DateTime>, 'CacheClusterId' => '<string>', 'CacheClusterStatus' => '<string>', 'CacheNodeType' => '<string>', 'CacheNodes' => [ [ 'CacheNodeCreateTime' => <DateTime>, 'CacheNodeId' => '<string>', 'CacheNodeStatus' => '<string>', 'CustomerAvailabilityZone' => '<string>', 'CustomerOutpostArn' => '<string>', 'Endpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ParameterGroupStatus' => '<string>', 'SourceCacheNodeId' => '<string>', ], // ... ], 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => ['<string>', ...], 'CacheParameterGroupName' => '<string>', 'ParameterApplyStatus' => '<string>', ], 'CacheSecurityGroups' => [ [ 'CacheSecurityGroupName' => '<string>', 'Status' => '<string>', ], // ... ], 'CacheSubnetGroupName' => '<string>', 'ClientDownloadLandingPage' => '<string>', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Engine' => '<string>', 'EngineVersion' => '<string>', 'IpDiscovery' => 'ipv4|ipv6', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NotificationConfiguration' => [ 'TopicArn' => '<string>', 'TopicStatus' => '<string>', ], 'NumCacheNodes' => <integer>, 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'CacheNodeIdsToRemove' => ['<string>', ...], 'CacheNodeType' => '<string>', 'EngineVersion' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'NumCacheNodes' => <integer>, 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], 'PreferredAvailabilityZone' => '<string>', 'PreferredMaintenanceWindow' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReplicationGroupId' => '<string>', 'ReplicationGroupLogDeliveryEnabled' => true || false, 'SecurityGroups' => [ [ 'SecurityGroupId' => '<string>', 'Status' => '<string>', ], // ... ], 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', ], ]
Result Details
Members
- CacheCluster
-
- Type: CacheCluster structure
Contains all of the attributes of a specific cluster.
Errors
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
Examples
Example 1: RebootCacheCluster
Reboots the specified nodes in the names cluster.
$result = $client->rebootCacheCluster([ 'CacheClusterId' => 'custom-mem1-4 ', 'CacheNodeIdsToReboot' => [ '0001', '0002', ], ]);
Result syntax:
[ 'CacheCluster' => [ 'AutoMinorVersionUpgrade' => 1, 'CacheClusterCreateTime' =>, 'CacheClusterId' => 'my-mem-cluster', 'CacheClusterStatus' => 'rebooting cache cluster nodes', 'CacheNodeType' => 'cache.t2.medium', 'CacheParameterGroup' => [ 'CacheNodeIdsToReboot' => [ ], 'CacheParameterGroupName' => 'default.memcached1.4', 'ParameterApplyStatus' => 'in-sync', ], 'CacheSecurityGroups' => [ ], 'CacheSubnetGroupName' => 'default', 'ClientDownloadLandingPage' => 'https://console.aws.amazon.com/elasticache/home#client-download:', 'ConfigurationEndpoint' => [ 'Address' => 'my-mem-cluster.abcdef.cfg.use1.cache.amazonaws.com', 'Port' => 11211, ], 'Engine' => 'memcached', 'EngineVersion' => '1.4.24', 'NumCacheNodes' => 2, 'PendingModifiedValues' => [ ], 'PreferredAvailabilityZone' => 'Multiple', 'PreferredMaintenanceWindow' => 'wed:06:00-wed:07:00', ], ]
RemoveTagsFromResource
$result = $client->removeTagsFromResource
([/* ... */]); $promise = $client->removeTagsFromResourceAsync
([/* ... */]);
Removes the tags identified by the TagKeys
list from the named resource. A tag is a key-value pair where the key and value are case-sensitive. 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. For more information, see Resource-level permissions.
Parameter Syntax
$result = $client->removeTagsFromResource([ 'ResourceName' => '<string>', // REQUIRED 'TagKeys' => ['<string>', ...], // REQUIRED ]);
Parameter Details
Members
- ResourceName
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example
arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
orarn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot
.For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.
- TagKeys
-
- Required: Yes
- Type: Array of strings
A list of
TagKeys
identifying the tags you want removed from the named resource.
Result Syntax
[ 'TagList' => [ [ 'Key' => '<string>', 'Value' => '<string>', ], // ... ], ]
Result Details
Members
- TagList
-
- Type: Array of Tag structures
A list of tags as key-value pairs.
Errors
- CacheClusterNotFoundFault:
The requested cluster ID does not refer to an existing cluster.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- CacheSubnetGroupNotFoundFault:
The requested cache subnet group name does not refer to an existing cache subnet group.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- ReservedCacheNodeNotFoundFault:
The requested reserved cache node was not found.
- SnapshotNotFoundFault:
The requested snapshot name does not refer to an existing snapshot.
- UserNotFoundFault:
The user does not exist or could not be found.
- UserGroupNotFoundFault:
The user group was not found or does not exist
- ServerlessCacheNotFoundFault:
The serverless cache was not found or does not exist.
- InvalidServerlessCacheStateFault:
The account for these credentials is not currently active.
- ServerlessCacheSnapshotNotFoundFault:
This serverless cache snapshot could not be found or does not exist. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidServerlessCacheSnapshotStateFault:
The state of the serverless cache snapshot was not received. Available for Valkey, Redis OSS and Serverless Memcached only.
- InvalidARNFault:
The requested Amazon Resource Name (ARN) does not refer to an existing resource.
- TagNotFoundFault:
The requested tag was not found on this resource.
Examples
Example 1: RemoveTagsFromResource
Removes tags identified by a list of tag keys from the list of tags on the specified resource.
$result = $client->removeTagsFromResource([ 'ResourceName' => 'arn:aws:elasticache:us-east-1:1234567890:cluster:my-mem-cluster', 'TagKeys' => [ 'A', 'C', 'E', ], ]);
Result syntax:
[ 'TagList' => [ [ 'Key' => 'B', 'Value' => 'Banana', ], [ 'Key' => 'D', 'Value' => 'Dog', ], [ 'Key' => 'F', 'Value' => 'Fox', ], [ 'Key' => 'I', 'Value' => '', ], [ 'Key' => 'K', 'Value' => 'Kite', ], ], ]
ResetCacheParameterGroup
$result = $client->resetCacheParameterGroup
([/* ... */]); $promise = $client->resetCacheParameterGroupAsync
([/* ... */]);
Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters
and CacheParameterGroupName
parameters.
Parameter Syntax
$result = $client->resetCacheParameterGroup([ 'CacheParameterGroupName' => '<string>', // REQUIRED 'ParameterNameValues' => [ [ 'ParameterName' => '<string>', 'ParameterValue' => '<string>', ], // ... ], 'ResetAllParameters' => true || false, ]);
Parameter Details
Members
- CacheParameterGroupName
-
- Required: Yes
- Type: string
The name of the cache parameter group to reset.
- ParameterNameValues
-
- Type: Array of ParameterNameValue structures
An array of parameter names to reset to their default values. If
ResetAllParameters
istrue
, do not useParameterNameValues
. IfResetAllParameters
isfalse
, you must specify the name of at least one parameter to reset. - ResetAllParameters
-
- Type: boolean
If
true
, all parameters in the cache parameter group are reset to their default values. Iffalse
, only the parameters listed byParameterNameValues
are reset to their default values.Valid values:
true
|false
Result Syntax
[ 'CacheParameterGroupName' => '<string>', ]
Result Details
Members
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group.
Errors
- InvalidCacheParameterGroupStateFault:
The current state of the cache parameter group does not allow the requested operation to occur.
- CacheParameterGroupNotFoundFault:
The requested cache parameter group name does not refer to an existing cache parameter group.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
- InvalidGlobalReplicationGroupStateFault:
The Global datastore is not available or in primary-only state.
Examples
Example 1: ResetCacheParameterGroup
Modifies the parameters of a cache parameter group to the engine or system default value.
$result = $client->resetCacheParameterGroup([ 'CacheParameterGroupName' => 'custom-mem1-4', 'ResetAllParameters' => 1, ]);
Result syntax:
[ 'CacheParameterGroupName' => 'custom-mem1-4', ]
RevokeCacheSecurityGroupIngress
$result = $client->revokeCacheSecurityGroupIngress
([/* ... */]); $promise = $client->revokeCacheSecurityGroupIngressAsync
([/* ... */]);
Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.
Parameter Syntax
$result = $client->revokeCacheSecurityGroupIngress([ 'CacheSecurityGroupName' => '<string>', // REQUIRED 'EC2SecurityGroupName' => '<string>', // REQUIRED 'EC2SecurityGroupOwnerId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CacheSecurityGroupName
-
- Required: Yes
- Type: string
The name of the cache security group to revoke ingress from.
- EC2SecurityGroupName
-
- Required: Yes
- Type: string
The name of the Amazon EC2 security group to revoke access from.
- EC2SecurityGroupOwnerId
-
- Required: Yes
- Type: string
The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
Result Syntax
[ 'CacheSecurityGroup' => [ 'ARN' => '<string>', 'CacheSecurityGroupName' => '<string>', 'Description' => '<string>', 'EC2SecurityGroups' => [ [ 'EC2SecurityGroupName' => '<string>', 'EC2SecurityGroupOwnerId' => '<string>', 'Status' => '<string>', ], // ... ], 'OwnerId' => '<string>', ], ]
Result Details
Members
- CacheSecurityGroup
-
- Type: CacheSecurityGroup structure
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
Errors
- CacheSecurityGroupNotFoundFault:
The requested cache security group name does not refer to an existing cache security group.
- AuthorizationNotFoundFault:
The specified Amazon EC2 security group is not authorized for the specified cache security group.
- InvalidCacheSecurityGroupStateFault:
The current state of the cache security group does not allow deletion.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
Examples
Example 1: DescribeCacheSecurityGroups
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group.
$result = $client->revokeCacheSecurityGroupIngress([ 'CacheSecurityGroupName' => 'my-sec-grp', 'EC2SecurityGroupName' => 'my-ec2-sec-grp', 'EC2SecurityGroupOwnerId' => '1234567890', ]);
StartMigration
$result = $client->startMigration
([/* ... */]); $promise = $client->startMigrationAsync
([/* ... */]);
Start the migration of data.
Parameter Syntax
$result = $client->startMigration([ 'CustomerNodeEndpointList' => [ // REQUIRED [ 'Address' => '<string>', 'Port' => <integer>, ], // ... ], 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CustomerNodeEndpointList
-
- Required: Yes
- Type: Array of CustomerNodeEndpoint structures
List of endpoints from which data should be migrated. For Valkey or Redis OSS (cluster mode disabled), the list should have only one element.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The ID of the replication group to which data should be migrated.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupAlreadyUnderMigrationFault:
The targeted replication group is not available.
- InvalidParameterValueException:
The value for a parameter is invalid.
TestFailover
$result = $client->testFailover
([/* ... */]); $promise = $client->testFailoverAsync
([/* ... */]);
Represents the input of a TestFailover
operation which tests automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).
This API is designed for testing the behavior of your application in case of ElastiCache failover. It is not designed to be an operational tool for initiating a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large-scale operational events, Amazon may block this API.
Note the following
-
A customer can use this operation to test automatic failover on up to 15 shards (called node groups in the ElastiCache API and Amazon CLI) in any rolling 24-hour period.
-
If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.
-
If calling this operation multiple times on different shards in the same Valkey or Redis OSS (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.
-
To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the Amazon CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:
-
Replication group message:
Test Failover API called for node group <node-group-id>
-
Cache cluster message:
Failover from primary node <primary-node-id> to replica node <node-id> completed
-
Replication group message:
Failover from primary node <primary-node-id> to replica node <node-id> completed
-
Cache cluster message:
Recovering cache nodes <node-id>
-
Cache cluster message:
Finished recovery for cache nodes <node-id>
For more information see:
-
Viewing ElastiCache Events in the ElastiCache User Guide
-
DescribeEvents in the ElastiCache API Reference
-
Also see, Testing Multi-AZ in the ElastiCache User Guide.
Parameter Syntax
$result = $client->testFailover([ 'NodeGroupId' => '<string>', // REQUIRED 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- NodeGroupId
-
- Required: Yes
- Type: string
The name of the node group (called shard in the console) in this replication group on which automatic failover is to be tested. You may test automatic failover on up to 15 node groups in any rolling 24-hour period.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- APICallRateForCustomerExceededFault:
The customer has exceeded the allowed rate of API calls.
- InvalidCacheClusterStateFault:
The requested cluster is not in the
available
state.- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- NodeGroupNotFoundFault:
The node group specified by the
NodeGroupId
parameter could not be found. Please verify that the node group exists and that you spelled theNodeGroupId
value correctly.- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- TestFailoverNotAvailableFault:
The
TestFailover
action is not available.- InvalidKMSKeyFault:
The KMS key supplied is not valid.
- InvalidParameterValueException:
The value for a parameter is invalid.
- InvalidParameterCombinationException:
Two or more incompatible parameters were specified.
TestMigration
$result = $client->testMigration
([/* ... */]); $promise = $client->testMigrationAsync
([/* ... */]);
Async API to test connection between source and target replication group.
Parameter Syntax
$result = $client->testMigration([ 'CustomerNodeEndpointList' => [ // REQUIRED [ 'Address' => '<string>', 'Port' => <integer>, ], // ... ], 'ReplicationGroupId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- CustomerNodeEndpointList
-
- Required: Yes
- Type: Array of CustomerNodeEndpoint structures
List of endpoints from which data should be migrated. List should have only one element.
- ReplicationGroupId
-
- Required: Yes
- Type: string
The ID of the replication group to which data is to be migrated.
Result Syntax
[ 'ReplicationGroup' => [ 'ARN' => '<string>', 'AtRestEncryptionEnabled' => true || false, 'AuthTokenEnabled' => true || false, 'AuthTokenLastModifiedDate' => <DateTime>, 'AutoMinorVersionUpgrade' => true || false, 'AutomaticFailover' => 'enabled|disabled|enabling|disabling', 'CacheNodeType' => '<string>', 'ClusterEnabled' => true || false, 'ClusterMode' => 'enabled|disabled|compatible', 'ConfigurationEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'DataTiering' => 'enabled|disabled', 'Description' => '<string>', 'Engine' => '<string>', 'GlobalReplicationGroupInfo' => [ 'GlobalReplicationGroupId' => '<string>', 'GlobalReplicationGroupMemberRole' => '<string>', ], 'IpDiscovery' => 'ipv4|ipv6', 'KmsKeyId' => '<string>', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', 'Message' => '<string>', 'Status' => 'active|enabling|modifying|disabling|error', ], // ... ], 'MemberClusters' => ['<string>', ...], 'MemberClustersOutpostArns' => ['<string>', ...], 'MultiAZ' => 'enabled|disabled', 'NetworkType' => 'ipv4|ipv6|dual_stack', 'NodeGroups' => [ [ 'NodeGroupId' => '<string>', 'NodeGroupMembers' => [ [ 'CacheClusterId' => '<string>', 'CacheNodeId' => '<string>', 'CurrentRole' => '<string>', 'PreferredAvailabilityZone' => '<string>', 'PreferredOutpostArn' => '<string>', 'ReadEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], ], // ... ], 'PrimaryEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'ReaderEndpoint' => [ 'Address' => '<string>', 'Port' => <integer>, ], 'Slots' => '<string>', 'Status' => '<string>', ], // ... ], 'PendingModifiedValues' => [ 'AuthTokenStatus' => 'SETTING|ROTATING', 'AutomaticFailoverStatus' => 'enabled|disabled', 'ClusterMode' => 'enabled|disabled|compatible', 'LogDeliveryConfigurations' => [ [ 'DestinationDetails' => [ 'CloudWatchLogsDetails' => [ 'LogGroup' => '<string>', ], 'KinesisFirehoseDetails' => [ 'DeliveryStream' => '<string>', ], ], 'DestinationType' => 'cloudwatch-logs|kinesis-firehose', 'LogFormat' => 'text|json', 'LogType' => 'slow-log|engine-log', ], // ... ], 'PrimaryClusterId' => '<string>', 'Resharding' => [ 'SlotMigration' => [ 'ProgressPercentage' => <float>, ], ], 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroups' => [ 'UserGroupIdsToAdd' => ['<string>', ...], 'UserGroupIdsToRemove' => ['<string>', ...], ], ], 'ReplicationGroupCreateTime' => <DateTime>, 'ReplicationGroupId' => '<string>', 'SnapshotRetentionLimit' => <integer>, 'SnapshotWindow' => '<string>', 'SnapshottingClusterId' => '<string>', 'Status' => '<string>', 'TransitEncryptionEnabled' => true || false, 'TransitEncryptionMode' => 'preferred|required', 'UserGroupIds' => ['<string>', ...], ], ]
Result Details
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
Errors
- ReplicationGroupNotFoundFault:
The specified replication group does not exist.
- InvalidReplicationGroupStateFault:
The requested replication group is not in the
available
state.- ReplicationGroupAlreadyUnderMigrationFault:
The targeted replication group is not available.
- InvalidParameterValueException:
The value for a parameter is invalid.
Shapes
APICallRateForCustomerExceededFault
Description
The customer has exceeded the allowed rate of API calls.
Members
AllowedNodeTypeModificationsMessage
Description
Represents the allowed node types you can use to modify your cluster or replication group.
Members
- ScaleDownModifications
-
- Type: Array of strings
A string list, each element of which specifies a cache node type which you can use to scale your cluster or replication group. When scaling down a Valkey or Redis OSS cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, use a value from this list for the CacheNodeType parameter.
- ScaleUpModifications
-
- Type: Array of strings
A string list, each element of which specifies a cache node type which you can use to scale your cluster or replication group.
When scaling up a Valkey or Redis OSS cluster or replication group using
ModifyCacheCluster
orModifyReplicationGroup
, use a value from this list for theCacheNodeType
parameter.
Authentication
Description
Indicates whether the user requires a password to authenticate.
Members
- PasswordCount
-
- Type: int
The number of passwords belonging to the user. The maximum is two.
- Type
-
- Type: string
Indicates whether the user requires a password to authenticate.
AuthenticationMode
Description
Specifies the authentication mode to use.
Members
- Passwords
-
- Type: Array of strings
Specifies the passwords to use for authentication if
Type
is set topassword
. - Type
-
- Type: string
Specifies the authentication type. Possible options are IAM authentication, password and no password.
AuthorizationAlreadyExistsFault
Description
The specified Amazon EC2 security group is already authorized for the specified cache security group.
Members
AuthorizationNotFoundFault
Description
The specified Amazon EC2 security group is not authorized for the specified cache security group.
Members
AuthorizeCacheSecurityGroupIngressResult
Members
- CacheSecurityGroup
-
- Type: CacheSecurityGroup structure
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
AvailabilityZone
Description
Describes an Availability Zone in which the cluster is launched.
Members
- Name
-
- Type: string
The name of the Availability Zone.
CacheCluster
Description
Contains all of the attributes of a specific cluster.
Members
- ARN
-
- Type: string
The ARN (Amazon Resource Name) of the cache cluster.
- AtRestEncryptionEnabled
-
- Type: boolean
A flag that enables encryption at-rest when set to
true
.You cannot modify the value of
AtRestEncryptionEnabled
after the cluster is created. To enable at-rest encryption on a cluster you must setAtRestEncryptionEnabled
totrue
when you create a cluster.Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version
3.2.6
,4.x
or later.Default:
false
- AuthTokenEnabled
-
- Type: boolean
A flag that enables using an
AuthToken
(password) when issuing Valkey or Redis OSS commands.Default:
false
- AuthTokenLastModifiedDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date the auth token was last modified
- AutoMinorVersionUpgrade
-
- Type: boolean
 If you are running Valkey or Redis OSS engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.Â
- CacheClusterCreateTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cluster was created.
- CacheClusterId
-
- Type: string
The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.
- CacheClusterStatus
-
- Type: string
The current state of this cluster, one of the following values:
available
,creating
,deleted
,deleting
,incompatible-network
,modifying
,rebooting cluster nodes
,restore-failed
, orsnapshotting
. - CacheNodeType
-
- Type: string
The name of the compute and memory capacity node type for the cluster.
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
- CacheNodes
-
- Type: Array of CacheNode structures
A list of cache nodes that are members of the cluster.
- CacheParameterGroup
-
- Type: CacheParameterGroupStatus structure
Status of the cache parameter group.
- CacheSecurityGroups
-
- Type: Array of CacheSecurityGroupMembership structures
A list of cache security group elements, composed of name and status sub-elements.
- CacheSubnetGroupName
-
- Type: string
The name of the cache subnet group associated with the cluster.
- ClientDownloadLandingPage
-
- Type: string
The URL of the web page where you can download the latest ElastiCache client library.
- ConfigurationEndpoint
-
- Type: Endpoint structure
Represents a Memcached cluster endpoint which can be used by an application to connect to any node in the cluster. The configuration endpoint will always have
.cfg
in it.Example:
mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211
- Engine
-
- Type: string
The name of the cache engine (
memcached
orredis
) to be used for this cluster. - EngineVersion
-
- Type: string
The version of the cache engine that is used in this cluster.
- IpDiscovery
-
- Type: string
The network type associated with the cluster, either
ipv4
|ipv6
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - LogDeliveryConfigurations
-
- Type: Array of LogDeliveryConfiguration structures
Returns the destination, format and type of the logs.
- NetworkType
-
- Type: string
Must be either
ipv4
|ipv6
|dual_stack
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - NotificationConfiguration
-
- Type: NotificationConfiguration structure
Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).
- NumCacheNodes
-
- Type: int
The number of cache nodes in the cluster.
For clusters running Valkey or Redis OSS, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.
- PendingModifiedValues
-
- Type: PendingModifiedValues structure
A group of settings that are applied to the cluster in the future, or that are currently being applied.
- PreferredAvailabilityZone
-
- Type: string
The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in different Availability Zones.
- PreferredMaintenanceWindow
-
- Type: string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for
ddd
are:-
sun
-
mon
-
tue
-
wed
-
thu
-
fri
-
sat
Example:
sun:23:00-mon:01:30
- PreferredOutpostArn
-
- Type: string
The outpost ARN in which the cache cluster is created.
- ReplicationGroupId
-
- Type: string
The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any replication group.
- ReplicationGroupLogDeliveryEnabled
-
- Type: boolean
A boolean value indicating whether log delivery is enabled for the replication group.
- SecurityGroups
-
- Type: Array of SecurityGroupMembership structures
A list of VPC Security Groups associated with the cluster.
- SnapshotRetentionLimit
-
- Type: int
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set
SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days before being deleted.If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.
- SnapshotWindow
-
- Type: string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.
Example:
05:00-09:00
- TransitEncryptionEnabled
-
- Type: boolean
A flag that enables in-transit encryption when set to
true
.Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version
3.2.6
,4.x
or later.Default:
false
- TransitEncryptionMode
-
- Type: string
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
CacheClusterAlreadyExistsFault
Description
You already have a cluster with the given identifier.
Members
CacheClusterMessage
Description
Represents the output of a DescribeCacheClusters
operation.
Members
- CacheClusters
-
- Type: Array of CacheCluster structures
A list of clusters. Each item in the list contains detailed information about one cluster.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
CacheClusterNotFoundFault
Description
The requested cluster ID does not refer to an existing cluster.
Members
CacheEngineVersion
Description
Provides all of the details about a particular cache engine version.
Members
- CacheEngineDescription
-
- Type: string
The description of the cache engine.
- CacheEngineVersionDescription
-
- Type: string
The description of the cache engine version.
- CacheParameterGroupFamily
-
- Type: string
The name of the cache parameter group family associated with this cache engine.
Valid values are:
memcached1.4
|memcached1.5
|memcached1.6
|redis2.6
|redis2.8
|redis3.2
|redis4.0
|redis5.0
|redis6.x
|redis7
- Engine
-
- Type: string
The name of the cache engine.
- EngineVersion
-
- Type: string
The version number of the cache engine.
CacheEngineVersionMessage
Description
Represents the output of a DescribeCacheEngineVersions operation.
Members
- CacheEngineVersions
-
- Type: Array of CacheEngineVersion structures
A list of cache engine version details. Each element in the list contains detailed information about one cache engine version.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
CacheNode
Description
Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached, Valkey or Redis OSS.
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 OSS 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 OSS 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 OSS 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.
-
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
-
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
-
The configuration variables
appendonly
andappendfsync
are not supported on Valkey, or on Redis OSS version 2.8.22 and later.
Members
- CacheNodeCreateTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cache node was created.
- CacheNodeId
-
- Type: string
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 Amazon account.
- CacheNodeStatus
-
- Type: string
The current state of this cache node, one of the following values:
available
,creating
,rebooting
, ordeleting
. - CustomerAvailabilityZone
-
- Type: string
The Availability Zone where this node was created and now resides.
- CustomerOutpostArn
-
- Type: string
The customer outpost ARN of the cache node.
- Endpoint
-
- Type: Endpoint structure
The hostname for connecting to this cache node.
- ParameterGroupStatus
-
- Type: string
The status of the parameter group applied to this cache node.
- SourceCacheNodeId
-
- Type: string
The ID of the primary node to which this read replica node is synchronized. If this field is empty, this node is not associated with a primary cluster.
CacheNodeTypeSpecificParameter
Description
A parameter that has a different value for each cache node type it is applied to. For example, in a Valkey or Redis OSS cluster, a cache.m1.large
cache node type would have a larger maxmemory
value than a cache.m1.small
type.
Members
- AllowedValues
-
- Type: string
The valid range of values for the parameter.
- CacheNodeTypeSpecificValues
-
- Type: Array of CacheNodeTypeSpecificValue structures
A list of cache node types and their corresponding values for this parameter.
- ChangeType
-
- Type: string
Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.
- DataType
-
- Type: string
The valid data type for the parameter.
- Description
-
- Type: string
A description of the parameter.
- IsModifiable
-
- Type: boolean
Indicates whether (
true
) or not (false
) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed. - MinimumEngineVersion
-
- Type: string
The earliest cache engine version to which the parameter can apply.
- ParameterName
-
- Type: string
The name of the parameter.
- Source
-
- Type: string
The source of the parameter value.
CacheNodeTypeSpecificValue
Description
A value that applies only to a certain cache node type.
Members
- CacheNodeType
-
- Type: string
The cache node type for which this value applies.
- Value
-
- Type: string
The value for the cache node type.
CacheNodeUpdateStatus
Description
The status of the service update on the cache node
Members
- CacheNodeId
-
- Type: string
The node ID of the cache cluster
- NodeDeletionDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The deletion date of the node
- NodeUpdateEndDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The end date of the update for a node
- NodeUpdateInitiatedBy
-
- Type: string
Reflects whether the update was initiated by the customer or automatically applied
- NodeUpdateInitiatedDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date when the update is triggered
- NodeUpdateStartDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The start date of the update for a node
- NodeUpdateStatus
-
- Type: string
The update status of the node
- NodeUpdateStatusModifiedDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date when the NodeUpdateStatus was last modified>
CacheParameterGroup
Description
Represents the output of a CreateCacheParameterGroup
operation.
Members
- ARN
-
- Type: string
The ARN (Amazon Resource Name) of the cache parameter group.
- CacheParameterGroupFamily
-
- Type: string
The name of the cache parameter group family that this cache parameter group is compatible with.
Valid values are:
memcached1.4
|memcached1.5
|memcached1.6
|redis2.6
|redis2.8
|redis3.2
|redis4.0
|redis5.0
|redis6.x
|redis7
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group.
- Description
-
- Type: string
The description for this cache parameter group.
- IsGlobal
-
- Type: boolean
Indicates whether the parameter group is associated with a Global datastore
CacheParameterGroupAlreadyExistsFault
Description
A cache parameter group with the requested name already exists.
Members
CacheParameterGroupDetails
Description
Represents the output of a DescribeCacheParameters
operation.
Members
- CacheNodeTypeSpecificParameters
-
- Type: Array of CacheNodeTypeSpecificParameter structures
A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
- Parameters
-
- Type: Array of Parameter structures
A list of Parameter instances.
CacheParameterGroupNameMessage
Description
Represents the output of one of the following operations:
-
ModifyCacheParameterGroup
-
ResetCacheParameterGroup
Members
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group.
CacheParameterGroupNotFoundFault
Description
The requested cache parameter group name does not refer to an existing cache parameter group.
Members
CacheParameterGroupQuotaExceededFault
Description
The request cannot be processed because it would exceed the maximum number of cache security groups.
Members
CacheParameterGroupStatus
Description
Status of the cache parameter group.
Members
- CacheNodeIdsToReboot
-
- Type: Array of strings
A list of the cache node IDs which need to be rebooted for parameter changes to be applied. A node ID is a numeric identifier (0001, 0002, etc.).
- CacheParameterGroupName
-
- Type: string
The name of the cache parameter group.
- ParameterApplyStatus
-
- Type: string
The status of parameter updates.
CacheParameterGroupsMessage
Description
Represents the output of a DescribeCacheParameterGroups
operation.
Members
- CacheParameterGroups
-
- Type: Array of CacheParameterGroup structures
A list of cache parameter groups. Each element in the list contains detailed information about one cache parameter group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
CacheSecurityGroup
Description
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
Members
- ARN
-
- Type: string
The ARN of the cache security group,
- CacheSecurityGroupName
-
- Type: string
The name of the cache security group.
- Description
-
- Type: string
The description of the cache security group.
- EC2SecurityGroups
-
- Type: Array of EC2SecurityGroup structures
A list of Amazon EC2 security groups that are associated with this cache security group.
- OwnerId
-
- Type: string
The Amazon account ID of the cache security group owner.
CacheSecurityGroupAlreadyExistsFault
Description
A cache security group with the specified name already exists.
Members
CacheSecurityGroupMembership
Description
Represents a cluster's status within a particular cache security group.
Members
- CacheSecurityGroupName
-
- Type: string
The name of the cache security group.
- Status
-
- Type: string
The membership status in the cache security group. The status changes when a cache security group is modified, or when the cache security groups assigned to a cluster are modified.
CacheSecurityGroupMessage
Description
Represents the output of a DescribeCacheSecurityGroups
operation.
Members
- CacheSecurityGroups
-
- Type: Array of CacheSecurityGroup structures
A list of cache security groups. Each element in the list contains detailed information about one group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
CacheSecurityGroupNotFoundFault
Description
The requested cache security group name does not refer to an existing cache security group.
Members
CacheSecurityGroupQuotaExceededFault
Description
The request cannot be processed because it would exceed the allowed number of cache security groups.
Members
CacheSubnetGroup
Description
Represents the output of one of the following operations:
-
CreateCacheSubnetGroup
-
ModifyCacheSubnetGroup
Members
- ARN
-
- Type: string
The ARN (Amazon Resource Name) of the cache subnet group.
- CacheSubnetGroupDescription
-
- Type: string
The description of the cache subnet group.
- CacheSubnetGroupName
-
- Type: string
The name of the cache subnet group.
- Subnets
-
- Type: Array of Subnet structures
A list of subnets associated with the cache subnet group.
- SupportedNetworkTypes
-
- Type: Array of strings
Either
ipv4
|ipv6
|dual_stack
. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system. - VpcId
-
- Type: string
The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.
CacheSubnetGroupAlreadyExistsFault
Description
The requested cache subnet group name is already in use by an existing cache subnet group.
Members
CacheSubnetGroupInUse
Description
The requested cache subnet group is currently in use.
Members
CacheSubnetGroupMessage
Description
Represents the output of a DescribeCacheSubnetGroups
operation.
Members
- CacheSubnetGroups
-
- Type: Array of CacheSubnetGroup structures
A list of cache subnet groups. Each element in the list contains detailed information about one group.
- Marker
-
- Type: string
Provides an identifier to allow retrieval of paginated results.
CacheSubnetGroupNotFoundFault
Description
The requested cache subnet group name does not refer to an existing cache subnet group.
Members
CacheSubnetGroupQuotaExceededFault
Description
The request cannot be processed because it would exceed the allowed number of cache subnet groups.
Members
CacheSubnetQuotaExceededFault
Description
The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.
Members
CacheUsageLimits
Description
The usage limits for storage and ElastiCache Processing Units for the cache.
Members
- DataStorage
-
- Type: DataStorage structure
The maximum data storage limit in the cache, expressed in Gigabytes.
- ECPUPerSecond
-
- Type: ECPUPerSecond structure
The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.
CloudWatchLogsDestinationDetails
Description
The configuration details of the CloudWatch Logs destination.
Members
- LogGroup
-
- Type: string
The name of the CloudWatch Logs log group.
ClusterQuotaForCustomerExceededFault
Description
The request cannot be processed because it would exceed the allowed number of clusters per customer.
Members
CompleteMigrationResponse
Members
- ReplicationGroup
-
- Type: ReplicationGroup structure
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
ConfigureShard
Description
Node group (shard) configuration options when adding or removing replicas. Each node group (shard) configuration has the following members: NodeGroupId, NewReplicaCount, and PreferredAvailabilityZones.
Members
- NewReplicaCount
-
- Required: Yes
- Type: int
The number of replicas you want in this node group at the end of this operation. The maximum value for
NewReplicaCount
is 5. The minimum value depends upon the type of Valkey or Redis OSS replication group you are working with.The minimum number of replicas in a shard or replication group is:
-
Valkey or Redis OSS (cluster mode disabled)
-
If Multi-AZ: 1
-
If Multi-AZ: 0
-
-
Valkey or Redis OSS (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)
- NodeGroupId
-
- Required: Yes
- Type: string
The 4-digit id for the node group you are configuring. For Valkey or Redis OSS (cluster mode disabled) replication groups, the node group id is always 0001. To find a Valkey or Redis OSS (cluster mode enabled)'s node group's (shard's) id, see Finding a Shard's Id.
- PreferredAvailabilityZones
-
- Type: Array of strings
A list of
PreferredAvailabilityZone
strings that specify which availability zones the replication group's nodes are to be in. The nummber ofPreferredAvailabilityZone
values must equal the value ofNewReplicaCount
plus 1 to account for the primary node. If this member ofReplicaConfiguration
is omitted, ElastiCache selects the availability zone for each of the replicas. - PreferredOutpostArns
-
- Type: Array of strings
The outpost ARNs in which the cache cluster is created.
CopyServerlessCacheSnapshotResponse
Members
- ServerlessCacheSnapshot
-
- Type: ServerlessCacheSnapshot structure
The response for the attempt to copy the serverless cache snapshot. Available for Valkey, Redis OSS and Serverless Memcached only.
CopySnapshotResult
Members
- Snapshot
-
- Type: Snapshot structure
Represents a copy of an entire Valkey or Redis OSS cluster as of the time when the snapshot was taken.
CreateCacheClusterResult
Members
- CacheCluster
-
- Type: CacheCluster structure
Contains all of the attributes of a specific cluster.
CreateCacheParameterGroupResult
Members
- CacheParameterGroup
-
- Type: CacheParameterGroup structure
Represents the output of a
CreateCacheParameterGroup
operation.
CreateCacheSecurityGroupResult
Members
- CacheSecurityGroup
-
- Type: CacheSecurityGroup structure
Represents the output of one of the following operations:
-
AuthorizeCacheSecurityGroupIngress
-
CreateCacheSecurityGroup
-
RevokeCacheSecurityGroupIngress
CreateCacheSubnetGroupResult
Members
- CacheSubnetGroup
-
- Type: CacheSubnetGroup structure
Represents the output of one of the following operations:
-
CreateCacheSubnetGroup
-
ModifyCacheSubnetGroup
CreateGlobalReplicationGroupResult
Members
- GlobalReplicationGroup
-
- Type: GlobalReplicationGroup structure
Consists of a