Skip to content
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

aws-apigateway-kinesisstreams based on an OpenAPI specification #913

Open
1 of 2 tasks
mattiamatrix opened this issue Mar 2, 2023 · 5 comments
Open
1 of 2 tasks
Assignees
Labels
feature-request A feature should be added or improved needs-triage The issue or PR still needs to be triaged

Comments

@mattiamatrix
Copy link

mattiamatrix commented Mar 2, 2023

On the line of #840 and #912 it would be great to get the features also for aws-apigateway-kinesisstreams

Use Case

Be able to create an API Gateway using OpenAPI specifications

Proposed Solution

Create construct aws-openapigateway-kinesisstreams

Other

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change

This is a 🚀 Feature Request

@mattiamatrix mattiamatrix added feature-request A feature should be added or improved needs-triage The issue or PR still needs to be triaged labels Mar 2, 2023
@mattiamatrix
Copy link
Author

Hello @georgebearden, I see that you are working on #912. Would it be possible to have the same also for API GW + Kinesis?

@biffgaut
Copy link
Contributor

biffgaut commented Mar 2, 2023

We'll take a look. Fulfilling #912 in a way that works best for client apps is going to be one of our most complex implementations to date, but we are hopeful we've found a way forward.

@mattiamatrix
Copy link
Author

mattiamatrix commented Mar 6, 2023

Do you accept PRs? Can you share more details about your implementation?
Looking at #912 I couldn't find the real code, only documentation.

@biffgaut
Copy link
Contributor

biffgaut commented Mar 6, 2023

Our goal is to be able to store your API definition file separate from your CDK app code - the definition will be an asset so can reside locally or in S3. The generated CloudFormation will reference the asset in the CDK staging buckets - this is important, as including the API spec in the generated CloudFormation template can grow your template past the maximum size.

The problem here is referencing the newly launched Lambda functions in the asset. Regular CDK tokens will not be substituted if the file is referenced rather than imported. Our current thought is to write a custom resource that loads the API Spec after the Lambda function is generated and substituting the arn of the new functions in the uri field as the last step. We're running some test code to see if we can make that work.

@biffgaut
Copy link
Contributor

biffgaut commented Mar 6, 2023

After reading this issue, we're also looking at how the substitution could be general enough that it could be applicable for resources other than Lambda functions - e.g. new Kinesis Streams.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved needs-triage The issue or PR still needs to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants