feat: allow s3 cors options to be configured #1972
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Currently there is no nice way of setting the CORS configuration of an S3 bucket without using CloudFormation templates and escape hatches
The core problem here is that the default CORS options do not expose amzn-meta-* headers which means meta data is useless to a frontend consumer
Changes
Added the option to define a CORSRule array at the defineStorage level, if present, this will be used over the default
Validation
Added a unit test that validates the CORS settings are applied to the CDK template when the option is set
There is already a unit test that validates the default CORS options are used when the setting is not provided
Checklist
run-e2e
label set.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.