From e4f76ba1cfc83c08c31707385f0c558c04fde18a Mon Sep 17 00:00:00 2001 From: Ravind Kumar Date: Fri, 5 Apr 2024 17:28:43 -0400 Subject: [PATCH] DOCS-1178: Add S3 API Compatibility List (#1180) Closes #1178 This covers the S3 APIs which we directly support - reference minio/minio/cmd/api-router.go Any APIs which are marked as 'dummy' internally are considered 'unsupported' Admin APIs are out of scope here MinIO API extensions are out of scope as well We are not doing any detailed reference - just pointing out to S3 --------- Co-authored-by: Daryl White <53910321+djwfyi@users.noreply.github.com> --- source/index.rst | 3 + source/reference/s3-api-compatibility.rst | 155 ++++++++++++++++++++++ source/url-excludes.yaml | 9 +- 3 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 source/reference/s3-api-compatibility.rst diff --git a/source/index.rst b/source/index.rst index c59636bf..3e0c621b 100644 --- a/source/index.rst +++ b/source/index.rst @@ -179,6 +179,7 @@ For more about connecting to ``play``, see :ref:`MinIO Console play Login MinIO Client MinIO Admin Client + S3 API Compatibility Integrations .. cond:: linux @@ -195,6 +196,7 @@ For more about connecting to ``play``, see :ref:`MinIO Console play Login MinIO Admin Client + S3 API Compatibility Integrations /reference/kubectl-minio-plugin /reference/operator-crd diff --git a/source/reference/s3-api-compatibility.rst b/source/reference/s3-api-compatibility.rst new file mode 100644 index 00000000..aae1bbeb --- /dev/null +++ b/source/reference/s3-api-compatibility.rst @@ -0,0 +1,155 @@ +==================== +S3 API Compatibility +==================== + +.. default-domain:: minio + +.. contents:: Table of Contents + :local: + :depth: 2 + +This page documents S3 APIs supported by MinIO Object Storage. +For reference documentation on any given API, see the corresponding documentation for Amazon S3. + +.. important:: + + MinIO strongly recommends using an :ref:`S3-Compatible SDK ` for performing object storage operations. + +Object APIs +----------- + +- :s3-api:`CopyObject ` +- :s3-api:`DeleteObject ` +- :s3-api:`DeleteObjects ` +- :s3-api:`DeleteObjectTagging ` +- :s3-api:`GetObject ` +- :s3-api:`GetObjectAttributes ` +- :s3-api:`GetObjectTagging ` +- :s3-api:`HeadObject ` +- :s3-api:`ListObjects ` +- :s3-api:`ListObjectsV2 ` +- :s3-api:`ListObjectVersions ` +- :s3-api:`PutObject ` +- :s3-api:`PutObjectTagging ` +- :s3-api:`RestoreObject ` +- :s3-api:`SelectObjectContent ` + +Object Locking +~~~~~~~~~~~~~~ + +- :s3-api:`GetObjectRetention ` +- :s3-api:`PutObjectRetention ` +- :s3-api:`GetObjectLegalHold ` +- :s3-api:`PutObjectLegalHold ` +- :s3-api:`GetObjectLockConfiguration ` +- :s3-api:`PutObjectLockConfiguration ` + +Multipart Uploads +~~~~~~~~~~~~~~~~~ + +- :s3-api:`AbortMultipartUpload ` +- :s3-api:`CompleteMultipartUpload ` +- :s3-api:`CreateMultipartUpload ` +- :s3-api:`ListMultipartUploads ` +- :s3-api:`ListParts ` +- :s3-api:`UploadPart ` +- :s3-api:`UploadPartCopy ` + +Unsupported API Object Endpoints +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: text + + GetObjectTorrent + GetObjectAcl + PutObjectAcl + WriteGetObjectResponse + +Bucket APIs +----------- + + +- :s3-api:`CreateBucket ` +- :s3-api:`DeleteBucket ` +- :s3-api:`DeleteBucketEncryption ` +- :s3-api:`DeleteBucketTagging ` +- :s3-api:`GetBucketEncryption ` +- :s3-api:`GetBucketLocation ` +- :s3-api:`GetBucketTagging ` +- :s3-api:`GetBucketVersioning ` +- :s3-api:`HeadBucket ` +- :s3-api:`ListBuckets ` +- :s3-api:`ListDirectoryBuckets ` +- :s3-api:`PutBucketEncryption ` +- :s3-api:`PutBucketTagging ` +- :s3-api:`PutBucketVersioning ` + +Bucket Replication +~~~~~~~~~~~~~~~~~~ + +- :s3-api:`GetBucketReplication ` +- :s3-api:`PutBucketReplication ` +- :s3-api:`DeleteBucketReplication ` + +Bucket Lifecycle +~~~~~~~~~~~~~~~~ + +- :s3-api:`GetBucketLifecycle ` +- :s3-api:`GetBucketLifecycleConfiguration ` +- :s3-api:`PutBucketLifecycle ` +- :s3-api:`PutBucketLifecycleConfiguration ` +- :s3-api:`DeleteBucketLifecycle ` + +Bucket Notifications +~~~~~~~~~~~~~~~~~~~~ + +- :s3-api:`GetBucketNotification ` +- :s3-api:`GetBucketNotificationConfiguration ` +- :s3-api:`PutBucketNotification ` +- :s3-api:`PutBucketNotificationConfiguration ` + +Bucket Policies +~~~~~~~~~~~~~~~ + +- :s3-api:`GetBucketPolicy ` +- :s3-api:`GetBucketPolicyStatus ` +- :s3-api:`PutBucketPolicy ` +- :s3-api:`DeleteBucketPolicy ` + +Unsupported API Bucket Endpoints +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: text + + GetBucketInventoryConfiguration + PutBucketInventoryConfiguration + DeleteBucketInventoryConfiguration + PutBucketCors + DeleteBucketCors + GetBucketMetricsConfiguration + PutBucketMetricsConfiguration + DeleteBucketMetricsConfiguration + PutBucketWebsite + GetBucketLogging + PutBucketLogging + PutBucketAccelerateConfiguration + DeleteBucketAccelerateConfiguration + PutBucketRequestPayment + DeleteBucketRequestPayment + PutBucketAcl + HeadBucketAcl + GetPublicAccessBlock + PutPublicAccessBlock + DeletePublicAccessBlock + GetBucketOwnershipControls + PutBucketOwnershipControls + DeleteBucketOwnershipControls + GetBucketIntelligentTieringConfiguration + PutBucketIntelligentTieringConfiguration + ListBucketIntelligentTieringConfigurations + DeleteBucketIntelligentTieringConfiguration + GetBucketAnalyticsConfiguration + PutBucketAnalyticsConfiguration + ListBucketAnalyticsConfigurations + DeleteBucketAnalyticsConfiguration + CreateSession diff --git a/source/url-excludes.yaml b/source/url-excludes.yaml index 8ba5a3d5..a45b377a 100644 --- a/source/url-excludes.yaml +++ b/source/url-excludes.yaml @@ -52,6 +52,7 @@ excludes: - 'reference/operator-chart-values.rst' - 'reference/operator-environment-variables.rst' - 'reference/tenant-chart-values.rst' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' --- @@ -83,6 +84,7 @@ excludes: - 'reference/operator-chart-values.rst' - 'reference/operator-environment-variables.rst' - 'reference/tenant-chart-values.rst' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' --- @@ -106,6 +108,7 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'reference/operator-crd.rst' - 'reference/operator-chart-values.rst' - 'reference/operator-environment-variables.rst' @@ -126,7 +129,7 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' -- 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'developers/dotnet/*' - 'developers/go/*' - 'developers/haskell/*' @@ -152,6 +155,7 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' --- @@ -168,6 +172,7 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' --- @@ -184,6 +189,7 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' --- @@ -200,5 +206,6 @@ excludes: - 'reference/minio-server*' - 'reference/minio-mc*' - 'reference/deprecated/*' +- 'reference/s3-api-compatibility.rst' - 'developers/*' - 'integrations/*' \ No newline at end of file