ElastiCache

Implementation details for API elasticache

Coverage Overview

ElastiCache is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AddTagsToResource✔️pro
AuthorizeCacheSecurityGroupIngress
BatchApplyUpdateAction
BatchStopUpdateAction
CompleteMigration
CopyServerlessCacheSnapshot
CopySnapshot
CreateCacheCluster✔️pro✔️✔️✔️✔️✔️Show Tests
CreateCacheParameterGroup✔️pro✔️✔️✔️Show Tests
CreateCacheSecurityGroup✔️pro✔️✔️✔️Show Tests
CreateCacheSubnetGroup✔️pro✔️✔️✔️Show Tests
CreateGlobalReplicationGroup
CreateReplicationGroup✔️pro✔️✔️✔️✔️✔️Show Tests
CreateServerlessCache
CreateServerlessCacheSnapshot
CreateSnapshot
CreateUser
CreateUserGroup
DecreaseNodeGroupsInGlobalReplicationGroup
DecreaseReplicaCount
DeleteCacheCluster✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteCacheParameterGroup✔️pro✔️✔️✔️Show Tests
DeleteCacheSecurityGroup✔️pro✔️✔️✔️Show Tests
DeleteCacheSubnetGroup✔️pro✔️✔️✔️Show Tests
DeleteGlobalReplicationGroup
DeleteReplicationGroup✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteServerlessCache
DeleteServerlessCacheSnapshot
DeleteSnapshot
DeleteUser
DeleteUserGroup
DescribeCacheClusters✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeCacheEngineVersions
DescribeCacheParameterGroups✔️pro✔️✔️✔️Show Tests
DescribeCacheParameters✔️pro
DescribeCacheSecurityGroups✔️pro
DescribeCacheSubnetGroups✔️pro
DescribeEngineDefaultParameters
DescribeEvents
DescribeGlobalReplicationGroups
DescribeReplicationGroups✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeReservedCacheNodes
DescribeReservedCacheNodesOfferings
DescribeServerlessCacheSnapshots
DescribeServerlessCaches
DescribeServiceUpdates
DescribeSnapshots
DescribeUpdateActions
DescribeUserGroups
DescribeUsers
DisassociateGlobalReplicationGroup
ExportServerlessCacheSnapshot
FailoverGlobalReplicationGroup
IncreaseNodeGroupsInGlobalReplicationGroup
IncreaseReplicaCount
ListAllowedNodeTypeModifications
ListTagsForResource✔️pro✔️✔️
ModifyCacheCluster✔️pro✔️✔️
ModifyCacheParameterGroup✔️pro✔️✔️✔️Show Tests
ModifyCacheSubnetGroup✔️pro
ModifyGlobalReplicationGroup
ModifyReplicationGroup✔️pro
ModifyReplicationGroupShardConfiguration
ModifyServerlessCache
ModifyUser
ModifyUserGroup
PurchaseReservedCacheNodesOffering
RebalanceSlotsInGlobalReplicationGroup
RebootCacheCluster
RemoveTagsFromResource✔️pro
ResetCacheParameterGroup
RevokeCacheSecurityGroupIngress
StartMigration
TestFailover
TestMigration

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the exeuction of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateCacheCluster

Parameters: AutoMinorVersionUpgrade, CacheClusterId, CacheNodeType, CacheSubnetGroupName, Engine, NumCacheNodes, SecurityGroupIds
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheClusterId
  • LocalStack Pro
    • test_cluster_no_engine LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cluster_no_engine HTTP Status Code: 400 (InvalidParameterValueException) AWS validated Snapshot Tested
Parameters: CacheClusterId, CacheNodeType, CacheSubnetGroupName, Engine, NumCacheNodes, SecurityGroupIds
  • LocalStack Pro
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheClusterId, CacheNodeType, Engine
  • LocalStack Pro
    • test_elasticache LocalStack Pro: tests/aws/test_network_configuration.py::test_elasticache HTTP Status Code: 200
Parameters: CacheClusterId, CacheNodeType, Engine, NumCacheNodes
  • LocalStack Pro
    • test_cluster_redis_num_nodes_greater_than_one LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cluster_redis_num_nodes_greater_than_one HTTP Status Code: 400 (InvalidParameterValueException) AWS validated Snapshot Tested
Parameters: CacheClusterId, CacheNodeType, Engine, NumCacheNodes, PreferredMaintenanceWindow, SnapshotWindow
  • LocalStack Pro
    • test_cache_cluster_default_crud LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cache_cluster_default_crud HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheClusterId, Engine
  • LocalStack Pro
    • test_cluster_no_cache_type LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cluster_no_cache_type HTTP Status Code: 400 (InvalidParameterValueException) AWS validated Snapshot Tested

CreateCacheParameterGroup

Parameters: CacheParameterGroupFamily, CacheParameterGroupName, Description, Tags
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

CreateCacheSecurityGroup

Parameters: CacheSecurityGroupName, Description, Tags
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

CreateCacheSubnetGroup

Parameters: CacheSubnetGroupDescription, CacheSubnetGroupName, SubnetIds
  • LocalStack Pro
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheSubnetGroupDescription, CacheSubnetGroupName, SubnetIds, Tags
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

CreateReplicationGroup

Parameters: CacheNodeType, CacheSubnetGroupName, Engine, NumCacheClusters, ReplicationGroupDescription, ReplicationGroupId, Tags
  • LocalStack Pro
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheNodeType, Engine, NumCacheClusters, PreferredMaintenanceWindow, ReplicationGroupDescription, ReplicationGroupId, SnapshotWindow
  • LocalStack Pro
    • test_basic_crud_replication_group_non_cluster LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_basic_crud_replication_group_non_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheNodeType, PrimaryClusterId, ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_primary_cluster_invalid_parameter_combination[CacheNodeType] LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_primary_cluster_invalid_parameter_combination[CacheNodeType] HTTP Status Code: 400 (InvalidParameterCombinationException) AWS validated
Parameters: Engine, PrimaryClusterId, ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_primary_cluster_invalid_parameter_combination[Engine] LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_primary_cluster_invalid_parameter_combination[Engine] HTTP Status Code: 400 (InvalidParameterCombinationException) AWS validated
Parameters: Engine, ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_no_cache_type LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_no_cache_type HTTP Status Code: 400 (InvalidParameterValueException) AWS validated Snapshot Tested
Parameters: EngineVersion, PrimaryClusterId, ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_primary_cluster_invalid_parameter_combination[EngineVersion] LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_primary_cluster_invalid_parameter_combination[EngineVersion] HTTP Status Code: 400 (InvalidParameterCombinationException) AWS validated
Parameters: NumCacheClusters, PrimaryClusterId, ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_primary_cluster_non_existing LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_primary_cluster_non_existing HTTP Status Code: 404 (CacheClusterNotFoundFault) AWS validated Snapshot Tested
Parameters: ReplicationGroupDescription, ReplicationGroupId
  • LocalStack Pro
    • test_replication_group_no_engine LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_replication_group_no_engine HTTP Status Code: 400 (InvalidParameterValueException) AWS validated Snapshot Tested

DeleteCacheCluster

Parameters: CacheClusterId
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster_default_crud LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cache_cluster_default_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_redis_connection LocalStack Pro: tests/aws/services/elasticache/test_elasticache_redis.py::TestCacheCluster::test_redis_connection HTTP Status Code: 200
    • test_elasticache LocalStack Pro: tests/aws/test_network_configuration.py::test_elasticache HTTP Status Code: 200
    • test_cache_cluster_default_crud LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cache_cluster_default_crud HTTP Status Code: 404 (ReplicationGroupNotFoundFault) AWS validated Snapshot Tested

DeleteCacheParameterGroup

Parameters: CacheParameterGroupName
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteCacheSecurityGroup

Parameters: CacheSecurityGroupName
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteCacheSubnetGroup

Parameters: CacheSubnetGroupName
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_redis_connection LocalStack Pro: tests/aws/services/elasticache/test_elasticache_redis.py::TestCacheCluster::test_redis_connection HTTP Status Code: 200

DeleteReplicationGroup

Parameters: ReplicationGroupId
  • LocalStack Pro
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_basic_crud_replication_group_non_cluster LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_basic_crud_replication_group_non_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_basic_crud_replication_group_non_cluster LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_basic_crud_replication_group_non_cluster HTTP Status Code: 404 (ReplicationGroupNotFoundFault) AWS validated Snapshot Tested

DescribeCacheClusters

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_basic_crud_replication_group_non_cluster LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_basic_crud_replication_group_non_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheClusterId
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster_default_crud LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cache_cluster_default_crud HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: CacheClusterId, ShowCacheNodeInfo
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster[redis] LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cache_cluster[redis] HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cache_cluster_default_crud LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_cache_cluster_default_crud HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeCacheParameterGroups

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeReplicationGroups

Parameters: ReplicationGroupId
  • LocalStack Pro
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_basic_crud_replication_group_non_cluster LocalStack Pro: tests/aws/services/elasticache/test_elasticache.py::TestElastiCache::test_basic_crud_replication_group_non_cluster HTTP Status Code: 200 AWS validated Snapshot Tested

ModifyCacheParameterGroup

Parameters: CacheParameterGroupName, ParameterNameValues
  • LocalStack Pro
    • test_resource_deployment LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::TestElasticacheResources::test_resource_deployment HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cluster_with_replication LocalStack Pro: tests/aws/services/cloudformation/resources/test_elasticache.py::test_cluster_with_replication HTTP Status Code: 200 AWS validated Snapshot Tested


Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)