Skip to content

How to enable versioning on an object storage bucket

How-to · Updated Sep 2026

Coming from another cloud?

▸AWS·Amazon S3

This Quake AI feature maps to AWS’s Amazon S3.

▸Azure·Blob Storage

This Quake AI feature maps to Azure’s Blob Storage.

▸DigitalOcean·Space (bucket)

Space (bucket)high

  • Naming differs: users create a “Space” that is a bucket, and each bucket has a unique URL (virtual-hosted or path style), whereas Swift uses containers within an account namespace. ().
  • Bucket addressing uses S3-style endpoints such as `${BUCKET}.${REGION}.digitaloceanspaces.com` (and `${REGION}.digitaloceanspaces.com/${BUCKET}`), which differs from Swift’s account/container/object path conventions. (, ).
  • Access keys can be scoped to high-level permission tiers (Read, Read/Write/Delete, All) applied across buckets/objects, which differs from Swift’s typical tenant/user + container ACL model. ().
DigitalOcean docs ↗
▸Google Cloud·Storage

This Quake AI feature maps to Google Cloud’s Storage.

▸Hetzner·Buckets

Bucketshigh

  • S3 API (PUT Bucket requires specific headers like x-amz-acl limited to private/public-read, LocationConstraint); Swift uses POST/PUT Container with broader ACLs via X-Container-Read/Write.
  • Public access via https://bucket.location.your-objectstorage.com/object; Swift public via temp URLs or ACLs.
  • Up to 100 buckets per account; Swift has no hard limit.
Hetzner docs ↗
Before this

How to enable versioning on an object storage bucket

Enable versioning on an object storage bucket to retain all versions of each object. Versioning protects against accidental overwrites and deletions; you can restore any previous version at any time.

Key behaviors:

  • Each object version counts against your storage quota.
  • Deleting an object in a versioned bucket adds a delete marker; the object still exists in previous versions.
  • Once enabled, versioning can only be suspended, not removed.
  • All versions of an object are visible via S3 API calls; the console shows only the current version.
Prerequisites

Windows: CLI examples use bash. Set up a Linux CLI environment on Windows before proceeding.

  • An existing object storage bucket
  • S3 credentials with access to the bucket

Enable versioning#

Suspend versioning#

Suspending versioning stops new versions from being created. Existing versions are preserved.

List versioned objects#

Delete a specific object version#

Deleting a specific version permanently removes it and frees the storage.

bash
aws s3api delete-object \
  --bucket my-bucket \
  --key file.txt \
  --version-id VERSION_ID \
  --endpoint-url "https://object.us-east-1.rumble.cloud"

Deleting an object without specifying a version in a versioned bucket adds a delete marker. The object appears deleted in normal listings but the versions remain and consume storage.

See also#

Usage Guidelines

The sample code, software libraries, command line tools, proofs of concept, templates, and other related technology on this page (including any of the foregoing that is provided by Quake AI personnel) is provided to you as Quake AI Content under the Quake AI Customer Agreement, or the relevant written agreement between you and Quake AI (whichever applies). Do not use this Quake AI Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the Quake AI Content (such as sample code) as appropriate for production grade use based on your specific quality control practices and standards. Deploying Quake AI Content may incur Quake AI charges for creating or using Quake AI chargeable resources, such as running Compute instances or storing data in Object Storage. Your use is also subject to the Acceptable Use Policy.

For the full policy, see Usage Guidelines.

Last validated: 08.09.2026

Quick answers

Was this page helpful?