-
Notifications
You must be signed in to change notification settings - Fork 4.3k
feat(elasticache): implement Serverless ElastiCache L2 Construct #35424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(This review is outdated)
9e150a7 to
a9191d1
Compare
0146d26 to
06537ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a few inline comments
packages/aws-cdk-lib/aws-elasticache/lib/serverless-cache-base.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This module needs to ends with -alpha see examples here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
I've added some comments, though I haven't completed the full review yet."
packages/aws-cdk-lib/aws-elasticache/lib/serverless-cache-base.ts
Outdated
Show resolved
Hide resolved
612fba6 to
19245b4
Compare
packages/@aws-cdk/aws-elasticache-alpha/test/no-password-user.test.ts
Outdated
Show resolved
Hide resolved
packages/@aws-cdk/aws-elasticache-alpha/test/password-user.test.ts
Outdated
Show resolved
Hide resolved
6632657 to
847097e
Compare
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
847097e to
cf4ff6a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(This review is outdated)
cf4ff6a to
847097e
Compare
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
Pull request has been modified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(This review is outdated)
8a524cd to
7afbb8d
Compare
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
118c1d1 to
1fdf4a4
Compare
...st/integ.distribution-function-runtime.js.snapshot/integ-distribution-function.template.json
Show resolved
Hide resolved
packages/@aws-cdk/aws-elasticache-alpha/test/integ.serverless-cache.ts
Outdated
Show resolved
Hide resolved
packages/@aws-cdk/aws-elasticache-alpha/test/serverless-cache-base.test.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
1 similar comment
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
This pull request has been removed from the queue for the following reason: Pull request #35424 has been dequeued. Mergify failed to merge the pull request. GitHub can't merge the pull request after 15 retries. You can check the last failing draft PR here: #35605. You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it. |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Pull request has been modified.
|
@Mergifyio refresh |
✅ Pull request refreshed |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
1 similar comment
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
Comments on closed issues and PRs are hard for our team to see. |
Issue # (if applicable)
Closes #.
Reason for this change
AWS CDK currently lacks L2 constructs for Serverless ElastiCache and user management features. Customers must work directly with L1 constructs (CfnUser, CfnUserGroup, CfnServerlessCache) which are verbose and lack the convenience, validation, and best practices that L2 constructs provide.
Description of changes
This PR implements the L2 constructs for ElastiCache UserGroup and ServerlessCache as an initial step towards complete Serverless ElastiCache support.
Files added to
aws-elasticachepackage:common.ts- SharedUserEngineenum (VALKEY, REDIS)user-group.ts- CompleteUserGroupL2 construct with import methods,addUser()functionality, and engine-specific validationserverless-cache-base.ts- Engine Enum; Interface and Base class forServerlessCacheL2 constructserverless-cache.ts- CompleteServerlessCacheL2 construct with IAM grant methods, comprehensive CloudWatch metrics, networking connections, backup management, usage limits configuration, and robust input validationsuser-base.ts- Base class and interface extended by ElastiCache User constructs with shared properties and import methodspassword-user.ts- CompletePasswordUserL2 construct with password-based authentication, and proper validationsno-password-user.ts- CompleteNoPasswordUserL2 construct without password authentication, and proper validationsiam-user.ts- CompleteIamUserL2 construct with IAM authentication, connect permissions, and validationsREADME.md- Complete user manual describing how to create and configure a user, user group and a serverless cache, explaining all the important featuresDescribe any new or updated permissions being added
NA
Description of how you validated changes
I implemented unit tests for all the construct files introduced: all the 3 types of
users,user-groupandserverless-cache.I also added integration tests.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license