New Pattern: aws-wafv2-appsync
We're not seeing a lot of demand for appsync constructs yet, so with limited resources we will put this in our backlog until we see demand.
I am happy to pick this one
If you're an AppSync aficionado, how would you feel about an AppSync construct with more functionality, such as appsync- dynamodb?
Two reasons we're asking:
- This would be our first appsync construct and involve designing the interface for AppSync constructs going forward - but we wouldn't get much insight from a construct that puts a waf in front of AppSync that helps us design that interface.
- Our wafwebacl constructs require an existing target (apigateway, alb) - without any other AppSync Solutions Constructs there would be no way to connect this with other Solutions Constructs
If not, we can see if there is a way forward that avoids these issues. Client could create their own AppSync construct in CDK, although there are no L2 AppSync constructs currently available. We could also define a minimal interface that could be expanded in a non-breaking way later. Neither of these is ideal however.
Ah - I see your PR. I'll take a look - the nature of wafwebacl constructs requiring an already instantiated AppSync CDK construct reduces the risk of an eventual AppSync->(some target) construct since there is really no AppSync interface on this construct, so this may work out. The PR looks pretty complete with integration and unit tests - we appreciate that!
how would you feel about an AppSync construct with more functionality, such as appsync- dynamodb?
I'd be interested to look into it, as part of a new feature. I'll check what the progress is for L2 constructs for AppSync GraphQL APIs. Maybe we can look at a pattern similar to what Amplify GraphQL APIs do, e.g. appsync - lambda - dynamodb
Looking at AWS CDK appsync alpha docs, there is already an L2 construct in the works which provides adding a dynamodb datasource as well.
As our WAF interface is all L1 constructs, that makes the inclusion of L1 AppSync constructs less concerning. If someone wants to use the Experimental AppSync construct, it should be straightforward to pull the L1 construct out of the L2 construct. If they include DynamoDB functionality (hey - are they in our lane? :-), then this construct with the Alpha construct starts to become a big hunk of a solution.
(oops - wrong button...)
I believe the aws-wafwebacl-appsync construct addresses this issue.