Skip to content

Commit 57858e7

Browse files
fix(aws-elasticache): fix endpointPort references in dependencies (#79)
fix(aws-elasticache): Export endpointPort as Token
1 parent 66bb3c8 commit 57858e7

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/aws-elasticache/serverless-cache.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ export class ServerlessCache extends ServerlessCacheBase {
618618
this.serverlessCacheName = serverlessCache.ref;
619619

620620
this.endpointAddress = serverlessCache.attrEndpointAddress;
621-
this.endpointPort = Number(serverlessCache.attrEndpointPort);
621+
this.endpointPort = Token.asNumber(serverlessCache.attrEndpointPort);
622622

623623
this.connections = new aws_ec2.Connections({
624624
securityGroups: this.securityGroups,

test/aws-elasticache/serverless-cache.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,30 @@ describe('ElastiCache Serverless Cache', () => {
4141
});
4242
});
4343

44+
test('should correctly export properties to dependencies', () => {
45+
const cache = new ServerlessCache(stack, 'ServerlessCache', {
46+
engine: Engine.VALKEY,
47+
vpc,
48+
majorEngineVersion: MajorVersion.VER_8,
49+
});
50+
const dependentStack = new Stack(app, 'DependentStack', {});
51+
new SecurityGroup(dependentStack, 'SecurityGroup', { vpc }).connections.allowToDefaultPort(cache);
52+
53+
Template.fromStack(stack).hasOutput('ExportsOutputFnGetAttServerlessCacheDFFA799DEndpointPort48E77897', {
54+
Export: {
55+
Name: 'TestStack:ExportsOutputFnGetAttServerlessCacheDFFA799DEndpointPort48E77897',
56+
},
57+
Value: {
58+
'Fn::GetAtt': ['ServerlessCacheDFFA799D', 'Endpoint.Port'],
59+
},
60+
});
61+
Template.fromStack(dependentStack).hasResourceProperties('AWS::EC2::SecurityGroupIngress', {
62+
FromPort: {
63+
'Fn::ImportValue': 'TestStack:ExportsOutputFnGetAttServerlessCacheDFFA799DEndpointPort48E77897',
64+
},
65+
});
66+
});
67+
4468
test('Create a serverless cache with maximum properties', () => {
4569
const user = new NoPasswordRequiredUser(stack, 'User', {});
4670

0 commit comments

Comments
 (0)