-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
feat(appsync): add ApiCache L2 construct and addCache method #31174
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.
The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.
A comment requesting an exemption should contain the text Exemption Request
. Additionally, if clarification is needed add Clarification Request
to a comment.
1bfc91c
to
ab79342
Compare
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
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.
If you are implementing the ApiCache L2, I suggest you first read the design guidelines here and read other existing L2 constructs to learn the patterns.
Generally, if you are creating a L2 construct called Foo
. You should:
- Define
IFoo
interface for it that extendsIResource
. - Define
Foo
construct class that extendsResources
implementsIFoo
- Define
FooProps
as the construct props forFoo
In addition to the design guides and existing L2 constructs, I would recommend you read this blog post in which I shared how I built an Agent L2 construct.
/** | ||
* Cache for a GraphQL API | ||
*/ | ||
export class ApiCache extends Construct { |
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.
L2 construct should extends Resource
implements IApiCache
. You should export IApiCache
as well.
/** | ||
* The GraphQL API ID. | ||
*/ | ||
readonly apiId: string; |
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.
I think it should be
readonly api: IGraphqlApi;
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Some suggested changes here:
constructor(scope: Construct, id: string, props: ApiCacheProps) {
super(scope, id);
if (props.ttl < 1 || props.ttl > 3600) {
throw new Error('Ttl value must be between 1 and 3,600 seconds');
}
new CfnApiCache(this, 'Resource', {
// Rest of the code
});
} |
Thanks! Sorry for the delay on updates to this work. Got sidetracked with some other stuff and I'll be getting back to this shortly. |
This PR has been in the MERGE CONFLICTS state for 3 weeks, and looks abandoned. To keep this PR from being closed, please continue work on it. If not, it will automatically be closed in a week. |
This PR has been deemed to be abandoned, and will be automatically closed. Please create a new PR for these changes if you think this decision has been made in error. |
Comments on closed issues and PRs are hard for our team to see. |
Issue # (if applicable)
#31160
Closes #.
Reason for this change
Description of changes
Adds L2 Construct for ApiCache on AppSync graphQL Apis
and a method to add a cache to existing graphQL Api constructs.
Description of how you validated changes
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license