Skip to content

In storage definition to provision for AWS S3 versioning enabled #3013

@sbelbin

Description

@sbelbin

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 #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions