diff --git a/packages/@aws-cdk/aws-elasticache-alpha/lib/serverless-cache.ts b/packages/@aws-cdk/aws-elasticache-alpha/lib/serverless-cache.ts index 6db3aaff00d88..688aacb855d6c 100644 --- a/packages/@aws-cdk/aws-elasticache-alpha/lib/serverless-cache.ts +++ b/packages/@aws-cdk/aws-elasticache-alpha/lib/serverless-cache.ts @@ -329,6 +329,7 @@ export class ServerlessCache extends ServerlessCacheBase { case CacheEngine.VALKEY_7: case CacheEngine.VALKEY_8: case CacheEngine.REDIS_LATEST: + case CacheEngine.REDIS_7: // Document showing the default port // https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/set-up.html#elasticache-install-grant-access-VPN defaultPort = ec2.Port.tcp(6379); diff --git a/packages/@aws-cdk/aws-elasticache-alpha/test/serverless-cache.test.ts b/packages/@aws-cdk/aws-elasticache-alpha/test/serverless-cache.test.ts index d10844b085c50..52821a7d09539 100644 --- a/packages/@aws-cdk/aws-elasticache-alpha/test/serverless-cache.test.ts +++ b/packages/@aws-cdk/aws-elasticache-alpha/test/serverless-cache.test.ts @@ -20,6 +20,22 @@ describe('serverless cache', () => { expect(cache.serverlessCacheArn).toEqual(`arn:${stack.partition}:elasticache:${stack.region}:${stack.account}:serverlesscache/my-serverless-cache`); }); + test.each([ + [CacheEngine.VALKEY_LATEST], + [CacheEngine.VALKEY_8], + [CacheEngine.VALKEY_7], + [CacheEngine.REDIS_LATEST], + [CacheEngine.REDIS_7], + [CacheEngine.MEMCACHED_LATEST], + ])('import serverless cache for %s', (cacheEngine) => { + const cache = ServerlessCache.fromServerlessCacheAttributes(stack, 'ImportedCache', { + serverlessCacheName: 'my-serverless-cache', + engine: cacheEngine, + }); + + expect(cache.serverlessCacheArn).toEqual(`arn:${stack.partition}:elasticache:${stack.region}:${stack.account}:serverlesscache/my-serverless-cache`); + }); + test('create serverless cache with full props', () => { const key = new Key(stack, 'Key', {}); const securityGroup = new SecurityGroup(stack, 'SecurityGroup', { vpc }); @@ -73,15 +89,24 @@ describe('serverless cache', () => { }); }); - test('create serverless cache with VALKEY_LATEST enigne', () => { + test.each([ + [CacheEngine.VALKEY_LATEST, 'valkey', Match.absent()], + [CacheEngine.VALKEY_8, 'valkey', '8'], + [CacheEngine.VALKEY_7, 'valkey', '7'], + [CacheEngine.REDIS_LATEST, 'redis', Match.absent()], + [CacheEngine.REDIS_7, 'redis', '7'], + [CacheEngine.MEMCACHED_LATEST, 'memcached', Match.absent()], + ])('test serverless cache version for %s', (cacheEngine, engine, version) => { new ServerlessCache(stack, 'Cache', { + description: 'Serverless cache', vpc, - engine: CacheEngine.VALKEY_LATEST, + engine: cacheEngine, }); Template.fromStack(stack).hasResourceProperties('AWS::ElastiCache::ServerlessCache', { - Engine: 'valkey', - MajorEngineVersion: Match.absent(), + Description: 'Serverless cache', + Engine: engine, + MajorEngineVersion: version, }); }); });