CORTX S3 API Guide

Api

Description

State

Inclusion/Exclusion

Changes in SAL Layer required?(yes/No)

Build No.

Api

Description

State

Inclusion/Exclusion

Changes in SAL Layer required?(yes/No)

Build No.

create-bucket

Creates a new s3 bucket.

Done

Below parameters are not supported as of now -
--acl
--create-bucket-configuration
--grant-full-control
--grant-read
--grant-read-acp
--grant-write
--grant-write-acp
--object-lock-enabled-for-bucket
--no-object-lock-enabled-for-bucket]
--object-ownership

Bucket will be create with default location. Custom location for bucket will supported after multisite configuration is implemented.

Yes

 

delete-bucket

Deletes the S3 bucket. All objects in the bucket must be deleted before the bucket itself
can be deleted.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

Yes

 

list-buckets

Returns a list of all buckets owned by the authenticated sender of the request.

Done

 

Yes

 

head-bucket

This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

Yes

 

put-object

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Done

Below parameters are not supported as of now -

--acl
--cache-control
--content-disposition
--content-encoding
--content-language
--content-md5
--content-type
--expires
--grant-full-control
--grant-read
--grant-read-acp
--grant-write-acp
--metadata
--server-side-encryption
--storage-class
--website-redirect-location
--sse-customer-algorithm
--sse-customer-key
--sse-customer-key-md5
--ssekms-key-id
--ssekms-encryption-context
--bucket-key-enabled | --no-bucket-key-enabled
--request-payer
--tagging
--object-lock-mode
--object-lock-retain-until-date
--object-lock-legal-hold-status
--expected-bucket-owner

yes

 

get-object

Retrieves objects from Amazon S3. To use GET , you must have READ access to the object.

In progress

GetObject is working for simple object.

GetObject for multipart object is under development. --part-number is related to multipart object.

Below parameters are not supported as of now -
--sse-customer-algorithm
--sse-customer-key
--sse-customer-key-md5
--request-payer
--expected-bucket-owner

--part-number

Below parameters are working -

--response-cache-control
--response-content-disposition
--response-content-encoding
--response-content-language
--response-content-type
--response-expires

--range

yes

 

delete-object

Removes object from s3 bucket.

Done

Below parameters are not supported as of now -

--mfa
--request-payer
--bypass-governance-retention

--no-bypass-governance-retention
--expected-bucket-owner

yes

 

delete-objects

Removes multiple objects from s3 bucket.

in testing

Below parameters are not supported as of now -

--mfa
--request-payer
--expected-bucket-owner

--checksum-algorithm

yes

 

head-object

The HEAD action retrieves metadata from an object without returning the object itself.

Done

HeadObject is working for simple object.

HeadObject is working for multipart object.

 

Below parameters are not supported as of now -

--metadata parameter

--range

--part-number
--sse-customer-algorithm
--sse-customer-key
--sse-customer-key-md5
--request-payer
--expected-bucket-owner

Yes

 

list-objects

 

 

 

Returns list of some or all (up to 1,000) of the objects in a bucket.

In testing

Below parameters are not supported as of now -

--encoding-type
--request-payer
--expected-bucket-owner

yes

 

create-multipart-upload

Initiates a multipart upload and returns an upload ID

Done

Below parameters are not supported as of now -

--acl <value>
--cache-control <value>
--content-disposition <value>
--content-encoding <value>
--content-language <value>
--content-type <value>
--expires <value>
--grant-full-control <value>
--grant-read <value>
--grant-read-acp <value>
--grant-write-acp <value>
--metadata <value>
--server-side-encryption <value>
--storage-class <value>
--website-redirect-location <value>
--sse-customer-algorithm <value>
--sse-customer-key <value>
--sse-customer-key-md5 <value>
--ssekms-key-id <value>
--ssekms-encryption-context <value>
--bucket-key-enabled | --no-bucket-key-enabled
--request-payer <value>
--tagging <value>
--object-lock-mode <value>
--object-lock-retain-until-date <value>
--object-lock-legal-hold-status <value>
--expected-bucket-owner <value>
--checksum-algorithm <value>

yes

 

upload-part

Uploads a part in a multipart upload

Done

Below parameters are not supported as of now -

--content-length <value>
--content-md5 <value>
--checksum-algorithm <value>
--checksum-crc32 <value>
--checksum-crc32-c <value>
--checksum-sha1 <value>
--checksum-sha256 <value>
--sse-customer-algorithm <value>
--sse-customer-key <value>
--sse-customer-key-md5 <value>
--request-payer <value>
--expected-bucket-owner <value>

yes

 

list-parts

Lists the parts of the provided multipart upload.

Done

Below parameters are not supported as of now -

--expected-bucket-owner,

--request-payer ,

--sse-*

Note:

1 page-size, max-items with values <= 0 result in RGW crash or non-functional. Jira: CORTX-29221

2 Multiple multipart upload on same bucket/object are not supported. Jira: CORTX-29112

yes

 

abort-multipart-upload

Aborts the specified multipart upload session/id and deletes all parts associated with the upload.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

--request-payer

Note: Timeout is seen when parts are more than 8500

yes

 

list-multipart-uploads

Lists in-progress multipart uploads.

Done

Below parameters are not supported as of now -
--encoding-type <value>
--expected-bucket-owner <value>

yes

 

complete-multipart-upload

Completes a multipart upload by assembling previously uploaded parts

Done

Below parameters are not supported as of now -

--checksum-crc32 <value>
--checksum-crc32-c <value>
--checksum-sha1 <value>]
--checksum-sha256 <value>
--request-payer <value>
--expected-bucket-owner <value>
--sse-customer-algorithm <value>
--sse-customer-key <value>
--sse-customer-key-md5 <value>

 

yes

 

PutBucketVersioning

Sets the versioning state of an existing bucket.

Done

Below parameters are not supported as of now -
--mfa

--expected-bucket-owner

yes

 

GetBucketVersioning

Returns the versioning state of a bucket.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

ListObjectVersions

Returns metadata about all versions of the objects in a bucket.

Done

Below parameters are not supported as of now -

--encoding-type
--request-payer
--expected-bucket-owner

yes

 

PutBucketTagging

Sets the tags for a bucket.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

GetBucketTagging

Returns the tag set associated with the bucket.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

DeleteBucketTagging

Deletes the tags from the bucket.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

PutObjectTagging

Sets the supplied tag-set to an object that already exists in a bucket.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

GetObjectTagging

Returns the tag-set of an object.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes

 

DeleteObjectTagging

Removes the entire tag set from the specified object.

Done

Below parameters are not supported as of now -

--expected-bucket-owner

yes