Files
spinifex/docs/coverage/s3
Julian Sommer 4380bf1de5 docs: declare the EC2 operations this platform can never serve
EC2 published one not-applicable operation against 625 in the model, so the
page was silent about a large surface that is absent for a structural reason
rather than an unfinished one.

Eighty-six more are declared across nine families: EC2-Classic, the 2016
resource ID migration, FPGA images, Elastic Graphics, Outposts and the edge
zone gateways, capacity purchasing, AWS backbone telemetry, Marketplace
product codes and BYOIP. S3 loses its replication and analytics declarations,
which named work that is not ruled out.
2026-09-15 11:00:40 +10:00
..
2026-09-15 10:58:00 +10:00

title, seoTitle, description, category, sections, tags
title seoTitle description category sections tags
S3 API Coverage Amazon S3 API Coverage on Spinifex — Spinifex Docs The Amazon S3 API operations Predastore serves on the platform's S3 endpoint, alongside the AWS-hosted features it does not offer and why each is absent. Coverage
overview
aws
compatibility
coverage
s3
storage
objects

S3 API Coverage

Overview

Predastore implements 19 operations in the S3 2006-03-01 API model.

Predastore serves this endpoint

S3 is the one surface the AWS gateway does not answer itself. Object storage runs on Predastore, which serves the S3 REST API directly over its own endpoint.

Routed is not the same as conforming

This page says an operation is routed to a handler. It does not say the handler's behaviour matches S3 in every case.

That behaviour is measured separately, against the ceph/s3-tests suite Ceph RGW, MinIO and Garage are all validated with, and the results are published in Predastore's S3 compatibility report.

Operations

Operation Status
AbortMultipartUpload ✅ Implemented
CompleteMultipartUpload ✅ Implemented
CopyObject ✅ Implemented
CreateBucket ✅ Implemented
CreateMultipartUpload ✅ Implemented
CreateSession ⛔ Not applicable 2
DeleteBucket ✅ Implemented
DeleteBucketIntelligentTieringConfiguration ⛔ Not applicable 6
DeleteBucketInventoryConfiguration ⛔ Not applicable 3
DeleteObject ✅ Implemented
DeleteObjects ✅ Implemented
GetBucketAccelerateConfiguration ⛔ Not applicable 1
GetBucketIntelligentTieringConfiguration ⛔ Not applicable 6
GetBucketInventoryConfiguration ⛔ Not applicable 3
GetBucketRequestPayment ⛔ Not applicable 5
GetObject ✅ Implemented
HeadBucket ✅ Implemented
HeadObject ✅ Implemented
ListBucketIntelligentTieringConfigurations ⛔ Not applicable 6
ListBucketInventoryConfigurations ⛔ Not applicable 3
ListBuckets ✅ Implemented
ListMultipartUploads ✅ Implemented
ListObjects ✅ Implemented
ListObjectsV2 ✅ Implemented
ListParts ✅ Implemented
PutBucketAccelerateConfiguration ⛔ Not applicable 1
PutBucketIntelligentTieringConfiguration ⛔ Not applicable 6
PutBucketInventoryConfiguration ⛔ Not applicable 3
PutBucketRequestPayment ⛔ Not applicable 5
PutObject ✅ Implemented
RestoreObject ⛔ Not applicable 6
UploadPart ✅ Implemented
UploadPartCopy ✅ Implemented
WriteGetObjectResponse ⛔ Not applicable 4

Notes

  1. Transfer acceleration routes uploads over AWS edge locations, which an on-premise deployment has none of.
  2. Sessions authenticate S3 Express One Zone directory buckets, a storage class this platform does not offer.
  3. Inventory reports are an AWS-hosted scheduled export; a listing here is served live from the metadata store.
  4. S3 Object Lambda rewrites a response from a Lambda function, and Lambda is not offered.
  5. Requester Pays shifts transfer charges to the caller, which needs AWS billing behind it.
  6. Intelligent tiering, archive storage classes and the restores they need are AWS-hosted lifecycle services; objects here are held in one class on local media.