README: update API table

Signed-off-by: Roman Khimov <roman@nspcc.ru>
This commit is contained in:
Roman Khimov 2021-06-21 23:46:40 +03:00
parent dfbe543c61
commit c668e49939

288
README.md
View file

@ -113,69 +113,233 @@ default. To enable them use `--pprof` and `--metrics` flags or
Reference: Reference:
* [AWS S3 API Reference](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-api.pdf) * [AWS S3 API Reference](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-api.pdf)
### Bucket/Object-Level Actions ### Object
| # | Method Name | Status | | Method | Status |
|:---:| ------------------------- | ----------------------- | | ------------------------- | ----------------------- |
| 1 | AbortMultipartUpload | Unsupported | | CopyObject | Supported |
| 2 | CompleteMultipartUpload | Unsupported | | DeleteObject | Supported |
| 3 | CopyObject | Supported | | DeleteObjects | Supported, aka DeleteMultipleObjects |
| 4 | CopyObjectPart | Unsupported | | GetObject | Supported |
| 5 | DeleteBucket | Unsupported | | GetObjectTorrent | Unsupported, won't be |
| 6 | DeleteBucketEncryption | Unsupported | | HeadObject | Supported |
| 7 | DeleteBucketLifecycle | Unsupported | | ListObjectParts | Unsupported |
| 8 | DeleteBucketPolicy | Unsupported | | ListObjects | Supported |
| 9 | DeleteBucketTagging | Unsupported | | ListObjectsV2 | Supported |
| 10 | DeleteBucketWebsite | Unsupported | | PutObject | Supported (Content-MD5 option is not supported) |
| 11 | DeleteMultipleObjects | Supported | | SelectObjectContent | Unsupported |
| 12 | DeleteObject | Supported | | WriteGetObjectResponse | Unsupported |
| 13 | DeleteObjectTagging | Unsupported |
| 14 | GetBucketACL | Unsupported | #### ACL
| 15 | GetBucketAccelerate | Supported |
| 16 | GetBucketCors | Unsupported | | Method | Status |
| 17 | GetBucketEncryption | Unsupported | | ------------------------- | ----------------------- |
| 18 | GetBucketLifecycle | Unsupported | | GetObjectAcl | Unsupported |
| 19 | GetBucketLocation | Unsupported | | PutObjectAcl | Unsupported |
| 20 | GetBucketLogging | Unsupported |
| 21 | GetBucketNotification | Unsupported | #### Locking
| 22 | GetBucketObjectLockConfig | Unsupported |
| 23 | GetBucketPolicy | Unsupported | | Method | Status |
| 24 | GetBucketReplication | Unsupported | | ------------------------- | ----------------------- |
| 25 | GetBucketRequestPayment | Unsupported | | GetObjectLegalHold | Unsupported |
| 26 | GetBucketTagging | Unsupported | | GetObjectLockConfiguration| Unsupported, aka GetBucketObjectLockConfig |
| 27 | GetBucketVersioning | Unsupported | | GetObjectRetention | Unsupported |
| 28 | GetBucketWebsite | Unsupported | | PutObjectLegalHold | Unsupported |
| 29 | GetObject | Supported | | PutObjectLockConfiguration| Unsupported, aka PutBucketObjectLockConfig |
| 30 | GetObjectACL | Unsupported | | PutObjectRetention | Unsupported |
| 31 | GetObjectLegalHold | Unsupported |
| 32 | GetObjectRetention | Unsupported | #### Multipart
| 33 | HeadBucket | Supported |
| 34 | HeadObject | Supported | Should be supported eventually.
| 35 | ListBucketObjectVersions | Unsupported |
| 36 | ListBuckets | Supported | | Method | Status |
| 37 | ListMultipartUploads | Unsupported | | ------------------------- | ----------------------- |
| 38 | ListObjectParts | Unsupported | | AbortMultipartUpload | Unsupported |
| 39 | ListObjectsV1 | Supported | | CompleteMultipartUpload | Unsupported |
| 40 | ListObjectsV2 | Supported | | CreateMultipartUpload | Unsupported, aka InitiateMultipartUpload and NewMultipartUpload |
| 41 | ListenBucketNotification | Unsupported | | ListMultipartUploads | Unsupported |
| 42 | NewMultipartUpload | Unsupported | | ListParts | Unsupported |
| 43 | PostPolicyBucket | Unsupported | | UploadPart | Unsupported, aka PutObjectPart |
| 44 | PutBucket | Unsupported | | UploadPartCopy | Unsupported, aka CopyObjectPart |
| 45 | PutBucketACL | Unsupported |
| 46 | PutBucketEncryption | Unsupported | #### Tagging
| 47 | PutBucketLifecycle | Unsupported |
| 48 | PutBucketNotification | Unsupported | Also passed in `PutObject` parameters. We can support adding via `PutObject`
| 49 | PutBucketObjectLockConfig | Unsupported | and getting via `GetBucketTagging`, but deleting and putting can't be
| 50 | PutBucketPolicy | Unsupported | supported normally.
| 51 | PutBucketTagging | Unsupported |
| 52 | PutBucketVersioning | Unsupported | | Method | Status |
| 53 | PutObject | Supported | | ------------------------- | ----------------------- |
| 54 | PutObjectACL | Unsupported | | DeleteObjectTagging | Unsupported |
| 55 | PutObjectLegalHold | Unsupported | | GetObjectTagging | Unsupported |
| 56 | PutObjectPart | Unsupported | | PutObjectTagging | Unsupported |
| 57 | PutObjectRetention | Unsupported |
| 58 | PutObjectTagging | Unsupported | #### Versioning
| 59 | SelectObjectContent | Unsupported |
See also `GetObject` and other method parameters.
| Method | Status |
| ------------------------- | ----------------------- |
| ListObjectVersions | Unsupported, aka ListBucketObjectVersions |
| RestoreObject | Unsupported |
### Bucket
| Method | Status |
| ------------------------- | ----------------------- |
| CreateBucket | Unsupported, aka PutBucket |
| DeleteBucket | Unsupported |
| GetBucketLocation | Unsupported |
| HeadBucket | Supported |
| ListBuckets | Supported |
| PutPublicAccessBlock | Unsupported |
#### Acceleration
| Method | Status |
| ---------------------------------- | ----------------------- |
| GetBucketAccelerateConfiguration | Unsupported, aka GetBucketAccelerate |
| PutBucketAccelerateConfiguration | Unsupported |
#### ACL
| Method | Status |
| ------------------------- | ----------------------- |
| GetBucketAcl | Unsupported |
| PutBucketAcl | Unsupported |
#### Analytics
| Method | Status |
| ---------------------------------- | ----------------------- |
| DeleteBucketAnalyticsConfiguration | Unsupported |
| GetBucketAnalyticsConfiguration | Unsupported |
| ListBucketAnalyticsConfigurations | Unsupported |
| PutBucketAnalyticsConfiguration | Unsupported |
#### Cors
| Method | Status |
| ------------------------- | ----------------------- |
| DeleteBucketCors | Unsupported |
| GetBucketCors | Unsupported |
| PutBucketCors | Unsupported |
#### Encryption
| Method | Status |
| ------------------------- | ----------------------- |
| DeleteBucketEncryption | Unsupported |
| GetBucketEncryption | Unsupported |
| PutBucketEncryption | Unsupported |
#### Inventory
| Method | Status |
| ---------------------------------- | ----------------------- |
| DeleteBucketInventoryConfiguration | Unsupported |
| GetBucketInventoryConfiguration | Unsupported |
| ListBucketInventoryConfigurations | Unsupported |
| PutBucketInventoryConfiguration | Unsupported |
#### Lifecycle
| Method | Status |
| ------------------------------- | ----------------------- |
| DeleteBucketLifecycle | Unsupported |
| GetBucketLifecycle | Unsupported |
| GetBucketLifecycleConfiguration | Unsupported |
| PutBucketLifecycle | Unsupported |
| PutBucketLifecycleConfiguration | Unsupported |
#### Logging
| Method | Status |
| ------------------------- | ----------------------- |
| GetBucketLogging | Unsupported |
| PutBucketLogging | Unsupported |
#### Metrics
| Method | Status |
| -------------------------------- | ----------------------- |
| DeleteBucketMetricsConfiguration | Unsupported |
| GetBucketMetricsConfiguration | Unsupported |
| ListBucketMetricsConfigurations | Unsupported |
| PutBucketMetricsConfiguration | Unsupported |
#### Notifications
| Method | Status |
| ---------------------------------- | ----------------------- |
| GetBucketNotification | Unsupported |
| GetBucketNotificationConfiguration | Unsupported |
| ListenBucketNotification | Unsupported, non-standard? |
| PutBucketNotification | Unsupported |
| PutBucketNotificationConfiguration | Unsupported |
#### Ownership controls
| Method | Status |
| ----------------------------- | ----------------------- |
| DeleteBucketOwnershipControls | Unsupported |
| GetBucketOwnershipControls | Unsupported |
| PutBucketOwnershipControls | Unsupported |
#### Policy and replication
| Method | Status |
| ----------------------- | ----------------------- |
| DeleteBucketPolicy | Unsupported |
| DeleteBucketReplication | Unsupported |
| DeletePublicAccessBlock | Unsupported |
| GetBucketPolicy | Unsupported |
| GetBucketPolicyStatus | Unsupported |
| GetBucketReplication | Unsupported |
| PostPolicyBucket | Unsupported, non-standard? |
| PutBucketPolicy | Unsupported |
| PutBucketReplication | Unsupported |
#### Request payment
| Method | Status |
| ------------------------- | ----------------------- |
| GetBucketRequestPayment | Unsupported |
| PutBucketRequestPayment | Unsupported |
#### Tagging
| Method | Status |
| ----------------------- | ----------------------- |
| DeleteBucketTagging | Unsupported |
| GetBucketTagging | Unsupported |
| PutBucketTagging | Unsupported |
#### Tiering
| Method | Status |
| ---------------------------------------------- | ----------------------- |
| DeleteBucketIntelligentTieringConfiguration | Unsupported |
| GetBucketIntelligentTieringConfiguration | Unsupported |
| ListBucketIntelligentTieringConfigurations | Unsupported |
| PutBucketIntelligentTieringConfiguration | Unsupported |
#### Versioning
| Method | Status |
| ------------------------- | ----------------------- |
| GetBucketVersioning | Unsupported |
| PutBucketVersioning | Unsupported |
#### Website
| Method | Status |
| ------------------------- | ----------------------- |
| DeleteBucketWebsite | Unsupported |
| GetBucketWebsite | Unsupported |
| PutBucketWebsite | Unsupported |
## NeoFS AuthMate ## NeoFS AuthMate