amplify-backend icon indicating copy to clipboard operation
amplify-backend copied to clipboard

In storage definition to provision for AWS S3 versioning enabled

Open sbelbin opened this issue 2 months ago • 1 comments

Environment information

System:
  OS: macOS 15.3.2
  CPU: (11) arm64 Apple M3 Pro
  Memory: 509.34 MB / 18.00 GB
  Shell: /bin/zsh
Binaries:
  Node: 23.7.0 - /opt/homebrew/bin/node
  Yarn: undefined - undefined
  npm: 11.1.0 - /opt/homebrew/bin/npm
  pnpm: undefined - undefined
NPM Packages:
  @aws-amplify/auth-construct: 1.6.0
  @aws-amplify/backend: 1.14.1
  @aws-amplify/backend-ai: Not Found
  @aws-amplify/backend-auth: 1.5.0
  @aws-amplify/backend-cli: 1.4.11
  @aws-amplify/backend-data: 1.4.0
  @aws-amplify/backend-deployer: 1.1.18
  @aws-amplify/backend-function: 1.12.2
  @aws-amplify/backend-output-schemas: 1.4.0
  @aws-amplify/backend-output-storage: 1.1.4
  @aws-amplify/backend-secret: 1.1.6
  @aws-amplify/backend-storage: 1.2.4
  @aws-amplify/cli-core: 1.3.0
  @aws-amplify/client-config: 1.5.7
  @aws-amplify/data-construct: 1.14.5
  @aws-amplify/data-schema: 1.17.2
  @aws-amplify/deployed-backend-client: 1.5.1
  @aws-amplify/form-generator: 1.0.4
  @aws-amplify/model-generator: 1.0.12
  @aws-amplify/platform-core: 1.6.3
  @aws-amplify/plugin-types: 1.8.0
  @aws-amplify/sandbox: 1.2.11
  @aws-amplify/schema-generator: 1.2.7
  aws-amplify: 6.13.4
  aws-cdk: 2.1003.0
  aws-cdk-lib: 2.182.0
  typescript: 5.8.2
No AWS environment variables
No CDK environment variables

Describe the feature

Capablity within a store definition within amplify/storage/resource.ts to provide an optional property to activate versioning of that AWS S3 bucket.

There is a relation with https://github.com/aws-amplify/amplify-backend/issues/2722 , which is the underlying access of GetObjectVersion*, DeleteObjectVersion*, etc....

Use case

We are working on a AWS Amplify Gen 2 application in which storage is defined in which the application requires object version access.

Our workaround is running an automation scripts to enable versioning ont each storage entry that requires this capability. However, its prone to errors and failures.

sbelbin avatar Oct 02 '25 17:10 sbelbin