Supported S3 API Operations

VMware Cloud Director Object Storage Extension runs on top of a Cloudian HyperStore or a Dell EMC ECS storage cluster VMware Cloud Director Object Storage Extension, Cloudian HyperStore, and Dell EMC ECS support most AWS S3 REST API operations.

Table 1. Supported S3 API Bucket Operations
Method URL Description
HEAD /api/v1/s3/bucket-name Verifies if a bucket exists and if you have permissions to access it.
GET /api/v1/s3/bucket-name Returns an XML representation of the objects in a bucket.
PUT /api/v1/s3/bucket-name Creates a bucket.
DELETE /api/v1/s3/bucket-name Deletes a bucket.
GET /api/v1/s3/bucket-name?tagging Returns the tag set associated with the bucket.
PUT /api/v1/s3/bucket-name?tagging Adds tags to a bucket.

If VMware Cloud Director Object Storage Extension uses the ECS storage platform, adding tags to a bucket is impossible. The ECS storage platform does not support bucket tagging.

DELETE /api/v1/s3/bucket-name?tagging Deletes the tag set associated with the bucket.
GET /api/v1/s3/bucket-name?acl Returns the access control list (ACL) configuration of the bucket.
PUT /api/v1/s3/bucket-name?acl Sets the ACL permissions for the bucket.
GET /api/v1/s3/bucket-name?encryption Returns the encryption configuration of a bucket.
PUT /api/v1/s3/bucket-name?encryption Defines an encryption method for a bucket.
DELETE /api/v1/s3/bucket-name?encryption Removes the encryption configuration from a bucket.
GET /api/v1/s3/bucket-name?logging Returns the logging configuration of a bucket.
PUT /api/v1/s3/bucket-name?logging Defines logging configuration for a bucket.

If VMware Cloud Director Object Storage Extension uses the ECS storage platform, configuring bucket logging is impossible. The ECS storage platform does not support bucket logging.

GET /api/v1/s3/bucket-name?versioning Returns the versioning configuration of a bucket.
PUT /api/v1/s3/bucket-name?versioning Defines the versioning configuration of a bucket.
GET /api/v1/s3/bucket-name?policy Returns the policy of a bucket.
PUT /api/v1/s3/bucket-name?policy Defines a policy for a bucket.
DELETE /api/v1/s3/bucket-name?policy Removes a policy from a bucket.
GET /api/v1/s3/bucket-name?uploads Returns a list of in-progress multipart uploads.
Table 2. Supported S3 API Object Operations
Method URL Description
HEAD /api/v1/s3/bucket-name/object-name Verifies if an object exists and if you have permissions to access it.
GET /api/v1/s3/bucket-name/object-name Retrieves an object.
PUT /api/v1/s3/bucket-name/object-name Uploads an object to a bucket.
POST /api/v1/s3/bucket-name/object-name Adds an object to a bucket using HTML forms.
PUT /api/v1/s3/destination-bucket-name/destination-object-name Copies an object from one bucket to another.
DELLETE /api/v1/s3/bucket-name/object-name Deletes an object.
DELETE /api/v1/s3/bucket-name?delete Deletes multiple objects.
POST /api/v1/s3/bucket-name/object-name?uploads Initiates a multipart upload.
GET /api/v1/s3/bucket-name/object-name?MaxParts=MaxParts&PartNumberMarker=PartNumberMarker&UploadId=UploadId Lists parts that are uploaded for a specific multipart upload.
PUT /api/v1/s3/bucket-name/object-name?PartNumber=PartNumber&UploadId=UploadId Uploads a part in a multipart upload.
PUT /api/v1/s3/bucket-name/object-name?PartNumber=PartNumber&UploadId=UploadId Uploads a part in a multipart upload by copying data from an existing object as a data source.
POST /api/v1/s3/bucket-name/object-name?UploadId=UploadId Completes a multipart upload by assembling previously uploaded parts.
DELETE /api/v1/s3/bucket-name/object-name?UploadId=UploadId Aborts a multipart upload.
GET /api/v1/s3/bucket-name/object-name?tagging Returns the tags associated with an object.
PUT /api/v1/s3/bucket-name/object-name?tagging Adds a tag or a set of tags to an object.

If VMware Cloud Director Object Storage Extension uses the ECS storage platform, adding tags to an object is impossible. The ECS storage platform does not support object tagging.

DELETE /api/v1/s3/bucket-name/object-name?tagging Removes the tag set from an object.
GET /api/v1/s3/bucket-name/object-name?acl Returns the ACL configuration for the object.
PUT /api/v1/s3/bucket-name/object-name?acl Sets an ACL for the object.