Supported S3 Requests

Prev Next

VAST Cluster supports these S3 requests and S3 actions, that are supported by S3 identity policies and bucket policies. These are listed below with references to guidelines for how to call them using some specific client interfaces.

Task

S3 Request

S3 Action

s3cmd Command

Boto 3 S3 Resource Usage

Boto 3 S3 Client Method

Bucket Operations

List the buckets on the S3 server

ListBuckets

Action not supported in VAST identity and bucket policies.

Bucket listing permissions are managed by view policies only.

s3cmd ls

List All Buckets on the Server

list_buckets()

Create a bucket

CreateBucket

s3:CreateBucket

s3cmd mbCreate a Bucket

Create a Bucket

create_bucket()

List the objects in bucket

ListObjects

or

ListObjectsV2

s3:ListBucket

s3cmd ls

List Objects in a Bucket

list_objects()

Delete a bucket

DeleteBucket

s3:DeleteBucket

s3cmd rbDelete a Bucket

Delete a Bucket

delete_bucket()

Return the region in which the bucket resides

GetBucketLocation

Action not supported in VAST identity and bucket policies.

s3cmd info

N/A

get_bucket_location()

Verify if bucket exists and if you have permission to access it

HeadBucket

s3:ListBucket

s3cmd info

N/A

head_bucket()

Return the policy for the bucket

GetBucketPolicy

s3:GetBucketPolicy

s3cmd info

Create a policy for the bucket

PutBucketPolicy

s3:PutBucketPolicy

s3cmd setpolicy

Delete a bucket policy

DeleteBucketPolicy

s3:DeleteBucketPolicy

s3cmd delpolicy

Create a lifecycle configuration

PutBucketLifecycleConfiguration

s3:PutLifecycleConfiguration

s3cmd setlifecycle

Return a lifecycle configuration

GetBucketLifecycleConfiguration

s3:GetLifecycleConfiguration

s3cmd getlifecycle

Return ownership controls for a bucket

GetBucketOwnershipControls

s3:GetBucketOwnershipControls

N/A

Create or modify ownership controls for a bucket

PutBucketOwnershipControls

s3:PutBucketOwnershipControls

N/A

Bucket Access Control List (ACL) Operations

Note

For information about ACLs, see Managing S3 Access Control Lists (ACLs).S3 Access Control Rules (ACLs)

Set the ACL of a bucket

PutBucketAcl

s3:PutBucketAcl

s3cmd setacl

Set the ACL of a Bucket

put_bucket_acl()

Return the ACL of a bucket

GetBucketAcl

s3:GetBucketAcl

s3cmd info

Return the ACL of a bucket

get_bucket_acl()

Bucket Tagging Operations

Set tags on a bucket

PutBucketTagging

s3:PutBucketTagging

N/A

put_bucket_tagging()

Return the tag set associated with a bucket

GetBucketTagging

s3:GetBucketTagging

N/A

get_bucket_tagging()

Delete the tags from a bucket

DeleteBucketTagging

s3:DeleteBucketTagging

N/A

delete_bucket_tagging()

Bucket Logging Operations

Configure bucket logging

PutBucketLogging

s3:PutBucketLogging

Configure Bucket Logging

put_bucket_logging()

Return bucket logging confirmation

GetBucketLogging

s3:GetBucketLogging

N/A

get_bucket_logging()

Bucket Event Notification Operations

Configure bucket event notifications

PutBucketNotificationConfiguration

s3:PutBucketNotification

N/A

Configuring Bucket Event Notifications

put_bucket_notification_configuration()

Return bucket event notifications configuration

GetBucketNotificationConfiguration

s3:GetBucketNotfication

N/A

Return Event Notification Configuration for a Bucket

get_bucket_notification_configuration()

Object Operations

Create an object

PutObject

s3:PutObject

s3cmd put

Create an Object

put_object()

Create a copy of an object

CopyObject

s3:GetObject & s3:PutObject

Note

Object rename is also supported with a VAST rename header. See Renaming Objects.

s3cmd cp

Create a copy of an object

copy_object()

Retrieve an object

GetObject

s3:GetObject

s3cmd get

Retrieve an Object

get_object()

Retrieve metadata of an object without returning the object itself

HeadObject

s3:GetObject

s3cmd info

Retrieve Object Metadata

head_object()

Delete an object

DeleteObject

s3:DeleteObject

s3cmd del

Delete an Object

delete_object()

Delete multiple objects in a bucket

DeleteObjects

s3:DeleteObjects

N/A

Delete Multiple Objects

Deleting Multiple Objects

Object ACL Operations

Note

For information about ACLs, see Managing S3 Access Control Lists (ACLs).S3 Access Control Rules (ACLs)

Set ACL permissions on an existing object

PutObjectAcl

s3:PutObjectAcl

s3cmd setacl

Set ACL Permissions on an Existing Object

put_object_acl()

Return the ACL of an object

GetObjectAcl

s3:GetObjectAcl

s3cmd info

Return the ACL of an object

get_object_acl()

Upload Operations

Initiate upload of a file in multiple parts (multipart upload)

CreateMultipartUpload

s3:CreateMultipartUpload

s3cmd put

Initiate a Multipart Upload

create_multipart_upload()

Abort a multipart upload

AbortMultipartUpload

s3:AbortMultipartUpload

s3cmd abortmp

Abort a Multipart Upload

abort_multipart_upload()

Complete a multipart upload

CompleteMultipartUpload

s3:CompleteMultipartUpload

Automatically executed with s3cmd put for multipart uploads.

Complete a Multipart Upload

complete_multipart_upload()

Upload a part in a multipart upload.

UploadPart

s3:UploadPart

Automatically executed with s3cmd put for multipart uploads.

Upload a part in a Multipart Upload

upload_part()

Upload a part by copying data from an existing object as data source.

UploadPartCopy

s3:UploadPartCopy, s3:GetObject

N/A

Upload a part by copying data from an existing object as data source

upload_part_copy()

List the parts that have been uploaded for a specific multipart upload.

ListParts

s3:ListMultipartUploadParts

s3cmd listmp

List Uploaded Parts for a Specific Multipart Upload

list_parts()

List multipart uploads

ListMultipartUploads

s3:ListBucketMultipartUploads

s3cmd multipart

List Multipart Uploads

list_multipart_uploads()

Object Versioning Operations

Note

For information about object versioning, see Object Versioning.

Set versioning state on a bucket

Note

Once enabled, versioning cannot be disabled or suspended.

PutBucketVersioning

s3:PutBucketVersioning

N/A

put_bucket_versioning()

Get versioning state of a bucket

GetBucketVersioning

s3:GetBucketVersioning

N/A

get_bucket_versioning()

Return metadata about all versions of the objects in a bucket

ListObjectVersions

s3:ListBucketVersions

N/A

N/A

list_object_versions()

Return a specific version of a versioned object

GetObject

s3:GetObjectVersion

N/A

get_object()

Retrieve metadata for a specific version of an object

HeadObject

s3:GetObjectVersion

N/A

head_object()

Set ACL for a specific version of an object

PutObjectAcl

s3:PutObjectVersionAcl

N/A

put_object_acl()

Return the ACL for a specific version of an object

GetObjectAcl

s3:GetObjectVersionAcl

N/A

get_object_acl()

Delete specific versions of an object

DeleteObjectVersion

s3:DeleteObjectVersion

N/A

delete_object()

Delete specific versions of multiple objects

DeleteObjectsVersion

S3:DeleteObjects

N/A

delete_object()

Object Locking Operations

Note

For information about object locking, see S3 Object Locking Overview.

Place an object lock configuration on a bucket

PutObjectLockConfiguration

s3:PutBucketObjectLockConfiguration

N/A

put_object_lock_configuration()

Get the object lock configuration for a bucket

GetObjectLockConfiguration

s3:GetBucketObjectLockConfiguration

N/A

get_object_lock_configuration()

Place an object retention configuration on an object

PutObjectRetention

s3:PutObjectRetention

N/A

put_object_retention()

Get an object's retention settings

GetObjectRetention

s3:GetObjectRetention

N/A

get_object_retention()

Apply a legal hold configuration to an object

PutObjectLegalHold

s3:PutObjectLegalHold

N/A

put_object_legal_hold()

Get an object's current legal hold status

GetObjectLegalHold

s3:GetObjectLegalHold

N/A

get_object_legal_hold()

Object Tagging Operations

Set a supplied tag-set to an object that already exists in a bucket

PutObjectTagging

s3:PutObjectTagging

N/A

N/A

put_object_tagging()

Set a supplied tag-set to a version of an object that already exists in a bucket

PutObjectTagging

s3:PutObjectVersionTagging

N/A

N/A

put_object_tagging()

Return the tag-set of an object

GetObjectTagging

s3:GetObjectTagging

N/A

N/A

get_object_tagging()

Return the tag-set of a version of an object

GetObjectTagging

s3:GetObjectVersionTagging

N/A

N/A

get_object_tagging()

Remove the tag-set from an object

DeleteObjectTagging

s3:DeleteObjectTagging

N/A

N/A

delete_object_tagging()

Remove the tag-set from a version of an object

DeleteObjectTagging

s3:DeleteObjectVersionTagging

N/A

N/A

delete_object_tagging()

Indestructible Object Operations

Set the retention (protection) period for objects in a bucket

IndestructibleObjectExtendRetentionPeriod

S3:IndestructibleObjectExtendRetentionPeriod

N/A

N/A