or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

bucket-access-control.mdbucket-features.mdbucket-operations.mdclient-config.mdindex.mdlist-operations.mdmultipart-upload.mdobject-operations.mdpaginators-waiters.mdpresigned-urls.mdtypes.md
tile.json

bucket-features.mddocs/

AWS SDK for Go v2 - S3 Bucket Features and Configuration Operations

Package: github.com/aws/aws-sdk-go-v2/service/s3 Version: 1.92.1

This document provides comprehensive API reference for S3 bucket feature and configuration operations, organized by functional area.

Table of Contents

  • Versioning
  • Tagging
  • CORS (Cross-Origin Resource Sharing)
  • Encryption
  • Lifecycle
  • Replication
  • Notifications
  • Website Hosting
  • Logging
  • Request Payment
  • Transfer Acceleration
  • Analytics
  • Metrics
  • Inventory
  • Intelligent-Tiering
  • Metadata Configuration

Versioning

GetBucketVersioning { .api }

Returns the versioning state of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketVersioning(ctx context.Context, params *GetBucketVersioningInput, optFns ...func(*Options)) (*GetBucketVersioningOutput, error)

Input Type: GetBucketVersioningInput

FieldTypeRequiredDescription
Bucket*stringYesThe name of the bucket for which to get the versioning information
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: GetBucketVersioningOutput

FieldTypeDescription
MFADeletetypes.MFADeleteStatusSpecifies whether MFA delete is enabled. Only returned if the bucket has been configured with MFA delete
Statustypes.BucketVersioningStatusThe versioning state of the bucket (Enabled, Suspended)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: To retrieve the versioning state of a bucket, you must be the bucket owner. This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete status is enabled, the bucket owner must use an authentication device to change the versioning state of the bucket.

PutBucketVersioning { .api }

Sets the versioning state of an existing bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketVersioning(ctx context.Context, params *PutBucketVersioningInput, optFns ...func(*Options)) (*PutBucketVersioningOutput, error)

Input Type: PutBucketVersioningInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket name
VersioningConfiguration*types.VersioningConfigurationYesContainer for setting the versioning state
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create the checksum for the request
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest of the data
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner
MFA*stringNoConcatenation of authentication device's serial number, a space, and the value displayed on authentication device

VersioningConfiguration Type: types.VersioningConfiguration

FieldTypeDescription
MFADeletetypes.MFADeleteStatusSpecifies whether MFA delete is enabled in the bucket versioning configuration
Statustypes.BucketVersioningStatusThe versioning state of the bucket (Enabled, Suspended)

Output Type: PutBucketVersioningOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: You can set the versioning state with one of the following values: Enabled (enables versioning for objects in the bucket, all objects receive a unique version ID) or Suspended (disables versioning, all objects receive the version ID null). When enabling versioning for the first time, it might take a short amount of time to propagate. Wait for 15 minutes after enabling before issuing write operations on objects in the bucket.

Tagging

GetBucketTagging { .api }

Returns the tag set associated with a general purpose bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketTagging(ctx context.Context, params *GetBucketTaggingInput, optFns ...func(*Options)) (*GetBucketTaggingOutput, error)

Input Type: GetBucketTaggingInput

FieldTypeRequiredDescription
Bucket*stringYesThe name of the bucket for which to get the tagging information
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: GetBucketTaggingOutput

FieldTypeDescription
TagSet[]types.TagContains the tag set
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Tag Type: types.Tag

FieldTypeDescription
Key*stringName of the object key
Value*stringValue of the tag

Description: Returns the tag set associated with the general purpose bucket if ABAC is not enabled. When you enable ABAC for a general purpose bucket, you can no longer use this operation and must use ListTagsForResource instead. Requires s3:GetBucketTagging permission.

Special Error:

  • Error code: NoSuchTagSet
  • Description: There is no tag set associated with the bucket

PutBucketTagging { .api }

Sets the tags for a general purpose bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketTagging(ctx context.Context, params *PutBucketTaggingInput, optFns ...func(*Options)) (*PutBucketTaggingOutput, error)

Input Type: PutBucketTaggingInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket name
Tagging*types.TaggingYesContainer for the TagSet and Tag elements
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create the checksum for the request
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest of the data
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Tagging Type: types.Tagging

FieldTypeDescription
TagSet[]types.TagA collection for a set of tags

Output Type: PutBucketTaggingOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the tags for a general purpose bucket if ABAC is not enabled. When you enable ABAC, use TagResource or UntagResource instead. Use tags to organize your AWS bill to reflect your own cost structure. When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. Requires s3:PutBucketTagging permission.

Special Errors:

  • InvalidTag: The tag provided was not valid
  • MalformedXML: The XML provided does not match the schema
  • OperationAborted: A conflicting conditional action is currently in progress
  • InternalError: The service was unable to apply the provided tag to the bucket

DeleteBucketTagging { .api }

Deletes tags from a general purpose bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketTagging(ctx context.Context, params *DeleteBucketTaggingInput, optFns ...func(*Options)) (*DeleteBucketTaggingOutput, error)

Input Type: DeleteBucketTaggingInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket that has the tag set to be removed
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: DeleteBucketTaggingOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes tags from the general purpose bucket if ABAC is not enabled. When you enable ABAC, use UntagResource instead. Requires s3:PutBucketTagging permission.

CORS (Cross-Origin Resource Sharing)

GetBucketCors { .api }

Returns the CORS configuration information set for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketCors(ctx context.Context, params *GetBucketCorsInput, optFns ...func(*Options)) (*GetBucketCorsOutput, error)

Input Type: GetBucketCorsInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket name for which to get the CORS configuration. Can use access point alias or Object Lambda access point alias
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: GetBucketCorsOutput

FieldTypeDescription
CORSRules[]types.CORSRuleA set of origins and methods (cross-origin access that you want to allow). Can add up to 100 rules
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

CORSRule Type: types.CORSRule

FieldTypeRequiredDescription
AllowedMethods[]stringYesHTTP methods that you allow the origin to execute (GET, PUT, HEAD, POST, DELETE)
AllowedOrigins[]stringYesOrigins you want customers to be able to access the bucket from
AllowedHeaders[]stringNoHeaders allowed in a preflight OPTIONS request
ExposeHeaders[]stringNoHeaders in the response that customers can access from their applications
ID*stringNoUnique identifier for the rule (max 255 characters)
MaxAgeSeconds*int32NoTime in seconds that browser caches preflight response for the specified resource

Description: Returns the CORS configuration for the bucket. Requires s3:GetBucketCORS permission. By default, the bucket owner has this permission and can grant it to others.

PutBucketCors { .api }

Sets the CORS configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketCors(ctx context.Context, params *PutBucketCorsInput, optFns ...func(*Options)) (*PutBucketCorsOutput, error)

Input Type: PutBucketCorsInput

FieldTypeRequiredDescription
Bucket*stringYesSpecifies the bucket impacted by the CORS configuration
CORSConfiguration*types.CORSConfigurationYesDescribes the cross-origin access configuration for objects in an S3 bucket
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create the checksum for the request
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest of the data
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

CORSConfiguration Type: types.CORSConfiguration

FieldTypeRequiredDescription
CORSRules[]types.CORSRuleYesA set of origins and methods. Can add up to 100 rules

Output Type: PutBucketCorsOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the CORS configuration for the bucket. If configuration exists, S3 replaces it. The document is limited to 64 KB in size. When S3 receives a cross-origin request against a bucket, it evaluates the CORS configuration and uses the first CORSRule that matches. Requires s3:PutBucketCORS permission.

DeleteBucketCors { .api }

Deletes the CORS configuration information set for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketCors(ctx context.Context, params *DeleteBucketCorsInput, optFns ...func(*Options)) (*DeleteBucketCorsOutput, error)

Input Type: DeleteBucketCorsInput

FieldTypeRequiredDescription
Bucket*stringYesSpecifies the bucket whose CORS configuration is being deleted
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: DeleteBucketCorsOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the CORS configuration information set for the bucket. Requires s3:PutBucketCORS permission (same as Put operation).

Encryption

GetBucketEncryption { .api }

Returns the default encryption configuration for a bucket. Supported for both general purpose and directory buckets.

Method Signature:

func (c *Client) GetBucketEncryption(ctx context.Context, params *GetBucketEncryptionInput, optFns ...func(*Options)) (*GetBucketEncryptionOutput, error)

Input Type: GetBucketEncryptionInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket from which the server-side encryption configuration is retrieved. Directory buckets must use path-style requests
ExpectedBucketOwner*stringNoAccount ID of the expected bucket owner. Not supported for directory buckets

Output Type: GetBucketEncryptionOutput

FieldTypeDescription
ServerSideEncryptionConfiguration*types.ServerSideEncryptionConfigurationSpecifies the default server-side encryption configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

ServerSideEncryptionConfiguration Type: types.ServerSideEncryptionConfiguration

FieldTypeDescription
Rules[]types.ServerSideEncryptionRuleContainer for information about a particular server-side encryption configuration rule

ServerSideEncryptionRule Type: types.ServerSideEncryptionRule

FieldTypeDescription
ApplyServerSideEncryptionByDefault*types.ServerSideEncryptionByDefaultDefault server-side encryption to apply to new objects
BucketKeyEnabled*boolSpecifies whether S3 Bucket Keys are enabled

ServerSideEncryptionByDefault Type: types.ServerSideEncryptionByDefault

FieldTypeDescription
SSEAlgorithmtypes.ServerSideEncryptionServer-side encryption algorithm (AES256, aws:kms, aws:kms:dsse)
KMSMasterKeyID*stringAWS KMS key ID to use for default encryption

Description: By default, all buckets have a default encryption configuration that uses SSE-S3. This operation also returns BucketKeyEnabled and BlockedEncryptionTypes statuses. For directory buckets, only SSE-S3 and SSE-KMS are supported.

Permissions:

  • General purpose: Requires s3:GetEncryptionConfiguration permission
  • Directory buckets: Requires s3express:GetEncryptionConfiguration permission

PutBucketEncryption { .api }

Configures default encryption and S3 Bucket Keys for an existing bucket. Supported for both general purpose and directory buckets.

Method Signature:

func (c *Client) PutBucketEncryption(ctx context.Context, params *PutBucketEncryptionInput, optFns ...func(*Options)) (*PutBucketEncryptionOutput, error)

Input Type: PutBucketEncryptionInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name. Directory buckets must use path-style requests
ServerSideEncryptionConfiguration*types.ServerSideEncryptionConfigurationYesSpecifies the default server-side encryption configuration
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum. For directory buckets, CRC32 is default
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest. Not supported for directory buckets
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner. Not supported for directory buckets

Output Type: PutBucketEncryptionOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: By default, all buckets have a default encryption configuration that uses SSE-S3. You can optionally configure SSE-KMS or DSSE-KMS for general purpose buckets. For directory buckets, you can optionally configure SSE-KMS. For directory buckets, SSE-KMS configuration can only support 1 customer managed key per bucket's lifetime. S3 Bucket Keys are always enabled for directory buckets.

Permissions:

  • General purpose: Requires s3:PutEncryptionConfiguration permission
  • Directory buckets: Requires s3express:PutEncryptionConfiguration, kms:GenerateDataKey, and kms:Decrypt permissions

DeleteBucketEncryption { .api }

Deletes the default encryption configuration for the bucket. Supported for both general purpose and directory buckets.

Method Signature:

func (c *Client) DeleteBucketEncryption(ctx context.Context, params *DeleteBucketEncryptionInput, optFns ...func(*Options)) (*DeleteBucketEncryptionOutput, error)

Input Type: DeleteBucketEncryptionInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket whose encryption configuration will be deleted. Directory buckets must use path-style requests
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner. Not supported for directory buckets

Output Type: DeleteBucketEncryptionOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Resets the default encryption for the bucket as SSE-S3. Requires s3:PutEncryptionConfiguration permission for general purpose buckets or s3express:PutEncryptionConfiguration for directory buckets.

Lifecycle

GetBucketLifecycleConfiguration { .api }

Returns the lifecycle configuration information set on the bucket.

Method Signature:

func (c *Client) GetBucketLifecycleConfiguration(ctx context.Context, params *GetBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*GetBucketLifecycleConfigurationOutput, error)

Input Type: GetBucketLifecycleConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesThe name of the bucket for which to get the lifecycle information
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner. Not supported for directory buckets

Output Type: GetBucketLifecycleConfigurationOutput

FieldTypeDescription
Rules[]types.LifecycleRuleContainer for a lifecycle rule
TransitionDefaultMinimumObjectSizetypes.TransitionDefaultMinimumObjectSizeIndicates which default minimum object size behavior is applied (general purpose only)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

LifecycleRule Type: types.LifecycleRule

FieldTypeRequiredDescription
Statustypes.ExpirationStatusYesRule status (Enabled, Disabled)
AbortIncompleteMultipartUpload*types.AbortIncompleteMultipartUploadNoSpecifies days after which S3 aborts incomplete multipart uploads
Expiration*types.LifecycleExpirationNoSpecifies expiration for object lifetime
Filtertypes.LifecycleRuleFilterNoFilter identifying subset of objects to which rule applies
ID*stringNoUnique identifier for the rule (max 255 characters)
NoncurrentVersionExpiration*types.NoncurrentVersionExpirationNoSpecifies when noncurrent objects expire
NoncurrentVersionTransitions[]types.NoncurrentVersionTransitionNoSpecifies transition of noncurrent objects to storage class
Prefix*stringNoObject key prefix identifying objects to which rule applies (deprecated)
Transitions[]types.TransitionNoSpecifies when objects transition to specified storage class

LifecycleExpiration Type: types.LifecycleExpiration

FieldTypeDescription
Date*time.TimeDate when object expires
Days*int32Days after creation when object expires
ExpiredObjectDeleteMarker*boolIndicates whether S3 removes delete marker with no noncurrent versions

Description: Returns the lifecycle configuration information. Bucket lifecycle configuration now supports filtering based on object key name prefix, one or more object tags, object size, or any combination. Lifecycle configurations for directory buckets only support expiring objects and cancelling multipart uploads.

Permissions:

  • General purpose: Requires s3:GetLifecycleConfiguration permission
  • Directory buckets: Requires s3express:GetLifecycleConfiguration permission

Special Error:

  • Error code: NoSuchLifecycleConfiguration
  • Description: The lifecycle configuration does not exist
  • HTTP Status Code: 404 Not Found

PutBucketLifecycleConfiguration { .api }

Sets lifecycle configuration for a bucket.

Method Signature:

func (c *Client) PutBucketLifecycleConfiguration(ctx context.Context, params *PutBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*PutBucketLifecycleConfigurationOutput, error)

Input Type: PutBucketLifecycleConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket for which to set the configuration
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner. Not supported for directory buckets
LifecycleConfiguration*types.BucketLifecycleConfigurationNoContainer for lifecycle rules. Can add up to 1,000 rules
TransitionDefaultMinimumObjectSizetypes.TransitionDefaultMinimumObjectSizeNoDefault minimum object size behavior (general purpose only)

BucketLifecycleConfiguration Type: types.BucketLifecycleConfiguration

FieldTypeDescription
Rules[]types.LifecycleRuleLifecycle configuration rules

Output Type: PutBucketLifecycleConfigurationOutput

FieldTypeDescription
TransitionDefaultMinimumObjectSizetypes.TransitionDefaultMinimumObjectSizeDefault minimum object size behavior (general purpose only)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets lifecycle configuration for a bucket. Replaces existing lifecycle configuration if it exists. Maximum size is 2 MB. For directory buckets, only expiring objects and cancelling multipart uploads are supported.

Permissions:

  • General purpose: Requires s3:PutLifecycleConfiguration permission
  • Directory buckets: Requires s3express:PutLifecycleConfiguration permission

DeleteBucketLifecycle { .api }

Deletes the lifecycle configuration from the bucket.

Method Signature:

func (c *Client) DeleteBucketLifecycle(ctx context.Context, params *DeleteBucketLifecycleInput, optFns ...func(*Options)) (*DeleteBucketLifecycleOutput, error)

Input Type: DeleteBucketLifecycleInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket name of the lifecycle to delete
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner. Not supported for directory buckets

Output Type: DeleteBucketLifecycleOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the lifecycle configuration from the specified bucket. S3 removes all lifecycle configuration rules in the lifecycle subresource.

Permissions:

  • General purpose: Requires s3:PutLifecycleConfiguration permission
  • Directory buckets: Requires s3express:PutLifecycleConfiguration permission

Replication

GetBucketReplication { .api }

Returns the replication configuration of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketReplication(ctx context.Context, params *GetBucketReplicationInput, optFns ...func(*Options)) (*GetBucketReplicationOutput, error)

Input Type: GetBucketReplicationInput

FieldTypeRequiredDescription
Bucket*stringYesThe bucket name for which to get the replication information
ExpectedBucketOwner*stringNoThe account ID of the expected bucket owner

Output Type: GetBucketReplicationOutput

FieldTypeDescription
ReplicationConfiguration*types.ReplicationConfigurationContainer for replication rules. Can add up to 1,000 rules. Maximum size is 2 MB
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

ReplicationConfiguration Type: types.ReplicationConfiguration

FieldTypeRequiredDescription
Role*stringYesARN of IAM role that S3 assumes when replicating objects
Rules[]types.ReplicationRuleYesContainer for information about a particular replication rule

ReplicationRule Type: types.ReplicationRule

FieldTypeRequiredDescription
Destination*types.DestinationYesContainer for information about the replication destination
Statustypes.ReplicationRuleStatusYesStatus of the rule (Enabled, Disabled)
DeleteMarkerReplication*types.DeleteMarkerReplicationNoWhether to replicate delete markers
ExistingObjectReplication*types.ExistingObjectReplicationNoReplicate existing objects
Filtertypes.ReplicationRuleFilterNoFilter that identifies subset of objects
ID*stringNoUnique identifier for rule (max 255 characters)
Prefix*stringNoObject key name prefix (deprecated)
Priority*int32NoPriority for conflict resolution
SourceSelectionCriteria*types.SourceSelectionCriteriaNoContainer for filters that define replication source objects

Destination Type: types.Destination

FieldTypeRequiredDescription
Bucket*stringYesARN of S3 bucket where to store replicas
AccessControlTranslation*types.AccessControlTranslationNoContainer for information about access control for replicas
Account*stringNoAccount ID for destination bucket owner
EncryptionConfiguration*types.EncryptionConfigurationNoContainer for encryption information
Metrics*types.MetricsNoContainer for replication metrics
ReplicationTime*types.ReplicationTimeNoContainer for S3 Replication Time Control (S3 RTC)
StorageClasstypes.StorageClassNoStorage class for replicas

Description: Returns the replication configuration of a bucket. It can take a while to propagate put or delete operations. Requires s3:GetReplicationConfiguration permission.

PutBucketReplication { .api }

Creates or updates a replication configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketReplication(ctx context.Context, params *PutBucketReplicationInput, optFns ...func(*Options)) (*PutBucketReplicationOutput, error)

Input Type: PutBucketReplicationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket
ReplicationConfiguration*types.ReplicationConfigurationYesContainer for replication rules
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner
Token*stringNoToken to allow Object Lock to be enabled

Output Type: PutBucketReplicationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Creates or updates a replication configuration. Versioning must be enabled on both source and destination buckets. Requires s3:PutReplicationConfiguration permission.

DeleteBucketReplication { .api }

Deletes the replication configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketReplication(ctx context.Context, params *DeleteBucketReplicationInput, optFns ...func(*Options)) (*DeleteBucketReplicationOutput, error)

Input Type: DeleteBucketReplicationInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketReplicationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the replication configuration from the bucket. Requires s3:PutReplicationConfiguration permission.

Notifications

GetBucketNotificationConfiguration { .api }

Returns the notification configuration of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketNotificationConfiguration(ctx context.Context, params *GetBucketNotificationConfigurationInput, optFns ...func(*Options)) (*GetBucketNotificationConfigurationOutput, error)

Input Type: GetBucketNotificationConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket. Can use access point alias or Object Lambda access point alias
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketNotificationConfigurationOutput (also types.NotificationConfiguration)

FieldTypeDescription
EventBridgeConfiguration*types.EventBridgeConfigurationAmazon EventBridge notifications
LambdaFunctionConfigurations[]types.LambdaFunctionConfigurationAWS Lambda function notifications
QueueConfigurations[]types.QueueConfigurationAmazon SQS queue notifications
TopicConfigurations[]types.TopicConfigurationAmazon SNS topic notifications
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

LambdaFunctionConfiguration Type: types.LambdaFunctionConfiguration

FieldTypeRequiredDescription
Events[]types.EventYesS3 bucket events for which to send notifications
LambdaFunctionArn*stringYesARN of AWS Lambda function to invoke
Filter*types.NotificationConfigurationFilterNoContainer for object key name filtering rules
Id*stringNoOptional unique identifier for configurations

QueueConfiguration Type: types.QueueConfiguration

FieldTypeRequiredDescription
Events[]types.EventYesS3 bucket events for which to send notifications
QueueArn*stringYesARN of Amazon SQS queue
Filter*types.NotificationConfigurationFilterNoContainer for object key name filtering rules
Id*stringNoOptional unique identifier for configurations

TopicConfiguration Type: types.TopicConfiguration

FieldTypeRequiredDescription
Events[]types.EventYesS3 bucket events for which to send notifications
TopicArn*stringYesARN of Amazon SNS topic
Filter*types.NotificationConfigurationFilterNoContainer for object key name filtering rules
Id*stringNoOptional unique identifier for configurations

EventBridgeConfiguration Type: types.EventBridgeConfiguration

(No fields - presence enables EventBridge)

NotificationConfigurationFilter Type: types.NotificationConfigurationFilter

FieldTypeDescription
Key*types.S3KeyFilterContainer for object key name prefix and suffix filtering rules

S3KeyFilter Type: types.S3KeyFilter

FieldTypeDescription
FilterRules[]types.FilterRuleList of filter rules

FilterRule Type: types.FilterRule

FieldTypeDescription
Nametypes.FilterRuleNameObject key name prefix or suffix identifying filter
Value*stringValue to which filter matches

Description: Returns the notification configuration. If notifications are not enabled, returns an empty NotificationConfiguration element. Requires s3:GetBucketNotification permission.

PutBucketNotificationConfiguration { .api }

Enables or updates notifications for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketNotificationConfiguration(ctx context.Context, params *PutBucketNotificationConfigurationInput, optFns ...func(*Options)) (*PutBucketNotificationConfigurationOutput, error)

Input Type: PutBucketNotificationConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket
NotificationConfiguration*types.NotificationConfigurationYesContainer for specifying the notification configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner
SkipDestinationValidation*boolNoWhether to skip validation of SNS, SQS, or Lambda ARNs

Output Type: PutBucketNotificationConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Enables notifications of specified events for a bucket. Requires s3:PutBucketNotification permission. You must also have permissions for SNS, SQS, or Lambda destinations.

Website Hosting

GetBucketWebsite { .api }

Returns the website configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketWebsite(ctx context.Context, params *GetBucketWebsiteInput, optFns ...func(*Options)) (*GetBucketWebsiteOutput, error)

Input Type: GetBucketWebsiteInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name for which to get the website configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketWebsiteOutput

FieldTypeDescription
ErrorDocument*types.ErrorDocumentObject key name of the website error document for 4XX class errors
IndexDocument*types.IndexDocumentName of the index document for the website
RedirectAllRequestsTo*types.RedirectAllRequestsToRedirect behavior of all requests to website endpoint
RoutingRules[]types.RoutingRuleRules that define when a redirect is applied
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

IndexDocument Type: types.IndexDocument

FieldTypeRequiredDescription
Suffix*stringYesSuffix appended to request for a directory (e.g., "index.html")

ErrorDocument Type: types.ErrorDocument

FieldTypeRequiredDescription
Key*stringYesObject key name to use when 4XX class error occurs

RedirectAllRequestsTo Type: types.RedirectAllRequestsTo

FieldTypeRequiredDescription
HostName*stringYesName of host where requests are redirected
Protocoltypes.ProtocolNoProtocol to use when redirecting (http, https)

RoutingRule Type: types.RoutingRule

FieldTypeRequiredDescription
Redirect*types.RedirectYesContainer for redirect information
Condition*types.ConditionNoContainer for condition that must be met for rule to apply

Redirect Type: types.Redirect

FieldTypeDescription
HostName*stringName of host where requests are redirected
HttpRedirectCode*stringHTTP redirect code to use (e.g., "301")
Protocoltypes.ProtocolProtocol to use (http, https)
ReplaceKeyPrefixWith*stringObject key prefix to replace KeyPrefixEquals
ReplaceKeyWith*stringSpecific object key to use in redirect request

Condition Type: types.Condition

FieldTypeDescription
HttpErrorCodeReturnedEquals*stringHTTP error code when redirect applies
KeyPrefixEquals*stringObject key name prefix when redirect applies

Description: Returns the website configuration for a bucket. Requires S3:GetBucketWebsite permission.

PutBucketWebsite { .api }

Sets the website configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketWebsite(ctx context.Context, params *PutBucketWebsiteInput, optFns ...func(*Options)) (*PutBucketWebsiteOutput, error)

Input Type: PutBucketWebsiteInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
WebsiteConfiguration*types.WebsiteConfigurationYesContainer for the request
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

WebsiteConfiguration Type: types.WebsiteConfiguration

FieldTypeDescription
ErrorDocument*types.ErrorDocumentName of error document for the website
IndexDocument*types.IndexDocumentName of index document for the website
RedirectAllRequestsTo*types.RedirectAllRequestsToRedirect behavior for every request to this bucket's website endpoint
RoutingRules[]types.RoutingRuleRules that define when redirect is applied

Output Type: PutBucketWebsiteOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the configuration of the website that is specified in the website subresource. Requires s3:PutBucketWebsite permission.

DeleteBucketWebsite { .api }

Removes the website configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketWebsite(ctx context.Context, params *DeleteBucketWebsiteInput, optFns ...func(*Options)) (*DeleteBucketWebsiteOutput, error)

Input Type: DeleteBucketWebsiteInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketWebsiteOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Removes the website configuration for a bucket. Bucket owner automatically has this permission. Requires s3:DeleteBucketWebsite permission.

Logging

GetBucketLogging { .api }

Returns the logging status of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketLogging(ctx context.Context, params *GetBucketLoggingInput, optFns ...func(*Options)) (*GetBucketLoggingOutput, error)

Input Type: GetBucketLoggingInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name for which to get the logging information
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketLoggingOutput

FieldTypeDescription
LoggingEnabled*types.LoggingEnabledDescribes where logs are stored and the prefix S3 assigns to log object keys
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

LoggingEnabled Type: types.LoggingEnabled

FieldTypeRequiredDescription
TargetBucket*stringYesBucket where you want S3 to store server access logs
TargetPrefix*stringYesPrefix for all log object keys
TargetGrants[]types.TargetGrantNoContainer for granting information. Not supported for bucket owner enforced setting
TargetObjectKeyFormat*types.TargetObjectKeyFormatNoS3 key format for log objects

TargetGrant Type: types.TargetGrant

FieldTypeDescription
Grantee*types.GranteeContainer for grantee information
Permissiontypes.BucketLogsPermissionLogging permissions assigned to grantee

TargetObjectKeyFormat Type: types.TargetObjectKeyFormat

FieldTypeDescription
PartitionedPrefix*types.PartitionedPrefixPartitioned S3 key for log objects
SimplePrefix*types.SimplePrefixUse simple format for S3 keys for log objects (default)

Description: Returns the logging status of a bucket and the permissions users have to view and modify that status.

PutBucketLogging { .api }

Sets the logging parameters for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketLogging(ctx context.Context, params *PutBucketLoggingInput, optFns ...func(*Options)) (*PutBucketLoggingOutput, error)

Input Type: PutBucketLoggingInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
BucketLoggingStatus*types.BucketLoggingStatusYesContainer for logging status information
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

BucketLoggingStatus Type: types.BucketLoggingStatus

FieldTypeDescription
LoggingEnabled*types.LoggingEnabledContainer for logging information

Output Type: PutBucketLoggingOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the logging parameters for a bucket and specifies permissions for who can view and modify the logging parameters. Requires s3:PutBucketLogging permission.

Request Payment

GetBucketRequestPayment { .api }

Returns the request payment configuration of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketRequestPayment(ctx context.Context, params *GetBucketRequestPaymentInput, optFns ...func(*Options)) (*GetBucketRequestPaymentOutput, error)

Input Type: GetBucketRequestPaymentInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketRequestPaymentOutput

FieldTypeDescription
Payertypes.PayerSpecifies who pays for download and request fees (Requester, BucketOwner)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Returns the request payment configuration of a bucket. Requires permission to perform the s3:GetBucketRequestPayment action.

PutBucketRequestPayment { .api }

Sets the request payment configuration for a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketRequestPayment(ctx context.Context, params *PutBucketRequestPaymentInput, optFns ...func(*Options)) (*PutBucketRequestPaymentOutput, error)

Input Type: PutBucketRequestPaymentInput

FieldTypeRequiredDescription
Bucket*stringYesBucket name
RequestPaymentConfiguration*types.RequestPaymentConfigurationYesContainer for Requester Pays information
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

RequestPaymentConfiguration Type: types.RequestPaymentConfiguration

FieldTypeRequiredDescription
Payertypes.PayerYesSpecifies who pays (Requester, BucketOwner)

Output Type: PutBucketRequestPaymentOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the request payment configuration for a bucket. By default, bucket owner pays for downloads from bucket. This configuration is for downloading data from Requester Pays buckets. Requires s3:PutBucketRequestPayment permission.

Transfer Acceleration

GetBucketAccelerateConfiguration { .api }

Returns the Transfer Acceleration state of a bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketAccelerateConfiguration(ctx context.Context, params *GetBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*GetBucketAccelerateConfigurationOutput, error)

Input Type: GetBucketAccelerateConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket for which to get the accelerate configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner
RequestPayertypes.RequestPayerNoConfirms requester knows they will be charged (requester)

Output Type: GetBucketAccelerateConfigurationOutput

FieldTypeDescription
Statustypes.BucketAccelerateStatusTransfer acceleration state (Enabled, Suspended)
RequestChargedtypes.RequestChargedIf present, indicates requester was successfully charged
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Returns the Transfer Acceleration state of a bucket, which is either Enabled or Suspended. Requires permission to perform s3:GetAccelerateConfiguration action.

PutBucketAccelerateConfiguration { .api }

Sets the accelerate configuration of an existing bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketAccelerateConfiguration(ctx context.Context, params *PutBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*PutBucketAccelerateConfigurationOutput, error)

Input Type: PutBucketAccelerateConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket for which to set the accelerate configuration
AccelerateConfiguration*types.AccelerateConfigurationYesContainer for setting the transfer acceleration state
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

AccelerateConfiguration Type: types.AccelerateConfiguration

FieldTypeDescription
Statustypes.BucketAccelerateStatusTransfer acceleration status (Enabled, Suspended)

Output Type: PutBucketAccelerateConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets the accelerate configuration of an existing bucket. S3 Transfer Acceleration is a bucket-level feature that enables faster data transfers to/from S3. Requires s3:PutAccelerateConfiguration permission.

Analytics

GetBucketAnalyticsConfiguration { .api }

Gets an analytics configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketAnalyticsConfiguration(ctx context.Context, params *GetBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*GetBucketAnalyticsConfigurationOutput, error)

Input Type: GetBucketAnalyticsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket from which to get analytics configuration
Id*stringYesID used to identify the analytics configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketAnalyticsConfigurationOutput

FieldTypeDescription
AnalyticsConfiguration*types.AnalyticsConfigurationAnalytics configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

AnalyticsConfiguration Type: types.AnalyticsConfiguration

FieldTypeRequiredDescription
Id*stringYesID that identifies the analytics configuration
StorageClassAnalysis*types.StorageClassAnalysisYesContains data related to access patterns
Filtertypes.AnalyticsFilterNoFilter to describe set of objects for analyses

StorageClassAnalysis Type: types.StorageClassAnalysis

FieldTypeDescription
DataExport*types.StorageClassAnalysisDataExportContainer for data related to the storage class analysis for an S3 bucket

StorageClassAnalysisDataExport Type: types.StorageClassAnalysisDataExport

FieldTypeRequiredDescription
Destination*types.AnalyticsExportDestinationYesPlace to store analysis results
OutputSchemaVersiontypes.StorageClassAnalysisSchemaVersionYesVersion of output schema

AnalyticsExportDestination Type: types.AnalyticsExportDestination

FieldTypeDescription
S3BucketDestination*types.AnalyticsS3BucketDestinationDestination S3 bucket for storing analytics results

AnalyticsS3BucketDestination Type: types.AnalyticsS3BucketDestination

FieldTypeRequiredDescription
Bucket*stringYesARN of destination bucket
Formattypes.AnalyticsS3ExportFileFormatYesFile format for export (CSV)
BucketAccountId*stringNoAccount ID that owns destination bucket
Prefix*stringNoPrefix to append to exported analytics data

Description: Gets an analytics configuration from the bucket (identified by analytics configuration ID). Requires s3:GetAnalyticsConfiguration permission.

PutBucketAnalyticsConfiguration { .api }

Sets an analytics configuration for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketAnalyticsConfiguration(ctx context.Context, params *PutBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*PutBucketAnalyticsConfigurationOutput, error)

Input Type: PutBucketAnalyticsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket to which analytics configuration is stored
Id*stringYesID used to identify the analytics configuration
AnalyticsConfiguration*types.AnalyticsConfigurationYesConfiguration and analytics filters to apply
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: PutBucketAnalyticsConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets an analytics configuration for the bucket (specified by analytics configuration ID). Can have up to 1,000 analytics configurations per bucket. Requires s3:PutAnalyticsConfiguration permission.

DeleteBucketAnalyticsConfiguration { .api }

Deletes an analytics configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketAnalyticsConfiguration(ctx context.Context, params *DeleteBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketAnalyticsConfigurationOutput, error)

Input Type: DeleteBucketAnalyticsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket from which to delete analytics configuration
Id*stringYesID used to identify the analytics configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketAnalyticsConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes an analytics configuration from the bucket (identified by analytics configuration ID). Requires s3:PutAnalyticsConfiguration permission.

ListBucketAnalyticsConfigurations { .api }

Lists analytics configurations for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) ListBucketAnalyticsConfigurations(ctx context.Context, params *ListBucketAnalyticsConfigurationsInput, optFns ...func(*Options)) (*ListBucketAnalyticsConfigurationsOutput, error)

Input Type: ListBucketAnalyticsConfigurationsInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket from which to list analytics configurations
ContinuationToken*stringNoToken to continue the list (from previous response)
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: ListBucketAnalyticsConfigurationsOutput

FieldTypeDescription
AnalyticsConfigurationList[]types.AnalyticsConfigurationList of analytics configurations
ContinuationToken*stringToken used to continue this pagination request (provided for lists that are truncated)
IsTruncated*boolIndicates whether the returned list is complete
NextContinuationToken*stringNextContinuationToken is sent when isTruncated is true, use this to continue pagination
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Lists the analytics configurations for the bucket. Can have up to 1,000 analytics configurations per bucket. Requires s3:GetAnalyticsConfiguration permission.

Metrics

GetBucketMetricsConfiguration { .api }

Gets a metrics configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketMetricsConfiguration(ctx context.Context, params *GetBucketMetricsConfigurationInput, optFns ...func(*Options)) (*GetBucketMetricsConfigurationOutput, error)

Input Type: GetBucketMetricsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing metrics configuration
Id*stringYesID used to identify the metrics configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketMetricsConfigurationOutput

FieldTypeDescription
MetricsConfiguration*types.MetricsConfigurationSpecifies the metrics configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

MetricsConfiguration Type: types.MetricsConfiguration

FieldTypeRequiredDescription
Id*stringYesID used to identify the metrics configuration
Filtertypes.MetricsFilterNoSpecifies filter for metrics configuration

MetricsFilter Types:

The MetricsFilter is a union type that can be one of:

  • *types.MetricsFilterMemberAccessPointArn - Filter by access point ARN
  • *types.MetricsFilterMemberAnd - Logical AND of multiple predicates
  • *types.MetricsFilterMemberPrefix - Filter by prefix
  • *types.MetricsFilterMemberTag - Filter by tag

MetricsAndOperator Type: types.MetricsAndOperator

FieldTypeDescription
AccessPointArn*stringAccess point ARN used when evaluating AND predicate
Prefix*stringPrefix used when evaluating AND predicate
Tags[]types.TagList of tags used when evaluating AND predicate

Description: Gets a metrics configuration (specified by metrics configuration ID) from the bucket. Requires s3:GetMetricsConfiguration permission.

PutBucketMetricsConfiguration { .api }

Sets a metrics configuration for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketMetricsConfiguration(ctx context.Context, params *PutBucketMetricsConfigurationInput, optFns ...func(*Options)) (*PutBucketMetricsConfigurationOutput, error)

Input Type: PutBucketMetricsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket for which metrics configuration is set
Id*stringYesID used to identify the metrics configuration
MetricsConfiguration*types.MetricsConfigurationYesSpecifies the metrics configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: PutBucketMetricsConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Sets a metrics configuration (specified by metrics configuration ID) for the bucket. Can have up to 1,000 configurations per bucket. Requires s3:PutMetricsConfiguration permission.

DeleteBucketMetricsConfiguration { .api }

Deletes a metrics configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketMetricsConfiguration(ctx context.Context, params *DeleteBucketMetricsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketMetricsConfigurationOutput, error)

Input Type: DeleteBucketMetricsConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing metrics configuration
Id*stringYesID used to identify the metrics configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketMetricsConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes a metrics configuration (specified by metrics configuration ID) from the bucket. Requires s3:PutMetricsConfiguration permission.

ListBucketMetricsConfigurations { .api }

Lists metrics configurations for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) ListBucketMetricsConfigurations(ctx context.Context, params *ListBucketMetricsConfigurationsInput, optFns ...func(*Options)) (*ListBucketMetricsConfigurationsOutput, error)

Input Type: ListBucketMetricsConfigurationsInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing metrics configurations
ContinuationToken*stringNoToken to continue the list (from previous response)
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: ListBucketMetricsConfigurationsOutput

FieldTypeDescription
ContinuationToken*stringToken used to continue this pagination request
IsTruncated*boolIndicates whether the returned list is complete
MetricsConfigurationList[]types.MetricsConfigurationContainer for all metrics configurations
NextContinuationToken*stringToken to retrieve next set of results (when IsTruncated is true)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Lists the metrics configurations for the bucket. Can have up to 1,000 configurations per bucket. Requires s3:GetMetricsConfiguration permission.

Inventory

GetBucketInventoryConfiguration { .api }

Returns an inventory configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketInventoryConfiguration(ctx context.Context, params *GetBucketInventoryConfigurationInput, optFns ...func(*Options)) (*GetBucketInventoryConfigurationOutput, error)

Input Type: GetBucketInventoryConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing inventory configuration
Id*stringYesID used to identify the inventory configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketInventoryConfigurationOutput

FieldTypeDescription
InventoryConfiguration*types.InventoryConfigurationSpecifies the inventory configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

InventoryConfiguration Type: types.InventoryConfiguration

FieldTypeRequiredDescription
Destination*types.InventoryDestinationYesContains information about where to publish inventory results
Id*stringYesID used to identify the inventory configuration
IncludedObjectVersionstypes.InventoryIncludedObjectVersionsYesObject versions to include (All, Current)
IsEnabled*boolYesSpecifies whether inventory is enabled or disabled
Schedule*types.InventoryScheduleYesSpecifies schedule for generating inventory results
Filter*types.InventoryFilterNoSpecifies inventory filter
OptionalFields[]types.InventoryOptionalFieldNoContains optional fields included in inventory results

InventoryDestination Type: types.InventoryDestination

FieldTypeRequiredDescription
S3BucketDestination*types.InventoryS3BucketDestinationYesContains bucket name, file format, bucket owner, and prefix where inventory results are published

InventoryS3BucketDestination Type: types.InventoryS3BucketDestination

FieldTypeRequiredDescription
Bucket*stringYesARN of bucket where inventory results will be published
Formattypes.InventoryFormatYesOutput format of inventory results (CSV, ORC, Parquet)
AccountId*stringNoAccount ID that owns destination S3 bucket
Encryption*types.InventoryEncryptionNoContains type of server-side encryption used
Prefix*stringNoPrefix prepended to all inventory results

InventorySchedule Type: types.InventorySchedule

FieldTypeRequiredDescription
Frequencytypes.InventoryFrequencyYesHow frequently inventory results are produced (Daily, Weekly)

InventoryFilter Type: types.InventoryFilter

FieldTypeRequiredDescription
Prefix*stringYesPrefix that object must have to be included in inventory results

Description: Returns an inventory configuration (identified by inventory ID) from the bucket. Requires s3:GetInventoryConfiguration permission.

PutBucketInventoryConfiguration { .api }

Adds or replaces an inventory configuration for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketInventoryConfiguration(ctx context.Context, params *PutBucketInventoryConfigurationInput, optFns ...func(*Options)) (*PutBucketInventoryConfigurationOutput, error)

Input Type: PutBucketInventoryConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket where inventory configuration will be stored
Id*stringYesID used to identify the inventory configuration
InventoryConfiguration*types.InventoryConfigurationYesSpecifies the inventory configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: PutBucketInventoryConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Adds an inventory configuration (identified by inventory ID) to the bucket. Can have up to 1,000 inventory configurations per bucket. Requires s3:PutInventoryConfiguration permission.

DeleteBucketInventoryConfiguration { .api }

Deletes an inventory configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketInventoryConfiguration(ctx context.Context, params *DeleteBucketInventoryConfigurationInput, optFns ...func(*Options)) (*DeleteBucketInventoryConfigurationOutput, error)

Input Type: DeleteBucketInventoryConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing inventory configuration
Id*stringYesID used to identify the inventory configuration
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketInventoryConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes an inventory configuration (identified by inventory ID) from the bucket. Requires s3:PutInventoryConfiguration permission.

ListBucketInventoryConfigurations { .api }

Returns a list of inventory configurations for the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) ListBucketInventoryConfigurations(ctx context.Context, params *ListBucketInventoryConfigurationsInput, optFns ...func(*Options)) (*ListBucketInventoryConfigurationsOutput, error)

Input Type: ListBucketInventoryConfigurationsInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing inventory configurations
ContinuationToken*stringNoToken to continue the list (from previous response)
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: ListBucketInventoryConfigurationsOutput

FieldTypeDescription
ContinuationToken*stringIf sent in the request, indicates successful receipt
InventoryConfigurationList[]types.InventoryConfigurationList of inventory configurations for a bucket
IsTruncated*boolIndicates whether the list is complete or truncated
NextContinuationToken*stringToken to retrieve next page (when IsTruncated is true)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Returns a list of inventory configurations for the bucket. Can have up to 1,000 configurations per bucket. Requires s3:GetInventoryConfiguration permission.

Intelligent-Tiering

GetBucketIntelligentTieringConfiguration { .api }

Gets the S3 Intelligent-Tiering configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) GetBucketIntelligentTieringConfiguration(ctx context.Context, params *GetBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*GetBucketIntelligentTieringConfigurationOutput, error)

Input Type: GetBucketIntelligentTieringConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing intelligent-tiering configuration
Id*stringYesID used to identify intelligent-tiering configuration

Output Type: GetBucketIntelligentTieringConfigurationOutput

FieldTypeDescription
IntelligentTieringConfiguration*types.IntelligentTieringConfigurationContainer for S3 Intelligent-Tiering configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

IntelligentTieringConfiguration Type: types.IntelligentTieringConfiguration

FieldTypeRequiredDescription
Id*stringYesID used to identify the S3 Intelligent-Tiering configuration
Statustypes.IntelligentTieringStatusYesStatus of the configuration (Enabled, Disabled)
Tierings[]types.TieringYesS3 Intelligent-Tiering storage class tier of the configuration
Filter*types.IntelligentTieringFilterNoBucket filter (configuration only includes objects that meet filter's criteria)

Tiering Type: types.Tiering

FieldTypeRequiredDescription
AccessTiertypes.IntelligentTieringAccessTierYesS3 Intelligent-Tiering access tier (ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS)
Days*int32YesNumber of consecutive days of no access after which object will be eligible to transition

IntelligentTieringFilter Type: types.IntelligentTieringFilter

FieldTypeDescription
And*types.IntelligentTieringAndOperatorLogical AND of predicates
Prefix*stringObject key name prefix
Tag*types.TagContainer of key-value name pair

IntelligentTieringAndOperator Type: types.IntelligentTieringAndOperator

FieldTypeDescription
Prefix*stringObject key name prefix identifying subset of objects
Tags[]types.TagAll tags that must exist in object tag set

Description: Gets the S3 Intelligent-Tiering configuration from the specified bucket. Requires s3:GetIntelligentTieringConfiguration permission.

PutBucketIntelligentTieringConfiguration { .api }

Puts a configuration for S3 Intelligent-Tiering. Not supported for directory buckets.

Method Signature:

func (c *Client) PutBucketIntelligentTieringConfiguration(ctx context.Context, params *PutBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*PutBucketIntelligentTieringConfigurationOutput, error)

Input Type: PutBucketIntelligentTieringConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket
Id*stringYesID used to identify S3 Intelligent-Tiering configuration
IntelligentTieringConfiguration*types.IntelligentTieringConfigurationYesContainer for S3 Intelligent-Tiering configuration

Output Type: PutBucketIntelligentTieringConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Puts a configuration for S3 Intelligent-Tiering. This operation does not affect the lifecycle configuration for the bucket. Requires s3:PutIntelligentTieringConfiguration permission.

DeleteBucketIntelligentTieringConfiguration { .api }

Deletes the S3 Intelligent-Tiering configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) DeleteBucketIntelligentTieringConfiguration(ctx context.Context, params *DeleteBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*DeleteBucketIntelligentTieringConfigurationOutput, error)

Input Type: DeleteBucketIntelligentTieringConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing intelligent-tiering configuration
Id*stringYesID used to identify S3 Intelligent-Tiering configuration

Output Type: DeleteBucketIntelligentTieringConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the S3 Intelligent-Tiering configuration from the specified bucket. Requires s3:PutIntelligentTieringConfiguration permission.

ListBucketIntelligentTieringConfigurations { .api }

Lists the S3 Intelligent-Tiering configuration from the bucket. Not supported for directory buckets.

Method Signature:

func (c *Client) ListBucketIntelligentTieringConfigurations(ctx context.Context, params *ListBucketIntelligentTieringConfigurationsInput, optFns ...func(*Options)) (*ListBucketIntelligentTieringConfigurationsOutput, error)

Input Type: ListBucketIntelligentTieringConfigurationsInput

FieldTypeRequiredDescription
Bucket*stringYesName of the bucket containing intelligent-tiering configurations
ContinuationToken*stringNoToken to continue the list (from previous response)

Output Type: ListBucketIntelligentTieringConfigurationsOutput

FieldTypeDescription
ContinuationToken*stringIf sent in the request, indicates successful receipt
IntelligentTieringConfigurationList[]types.IntelligentTieringConfigurationList of S3 Intelligent-Tiering configurations for a bucket
IsTruncated*boolIndicates whether the list is complete or truncated
NextContinuationToken*stringToken to retrieve next page (when IsTruncated is true)
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Lists the S3 Intelligent-Tiering configuration from the specified bucket. Requires s3:GetIntelligentTieringConfiguration permission.

Metadata Configuration

CreateBucketMetadataConfiguration { .api }

Creates a metadata configuration for a general purpose bucket.

Method Signature:

func (c *Client) CreateBucketMetadataConfiguration(ctx context.Context, params *CreateBucketMetadataConfigurationInput, optFns ...func(*Options)) (*CreateBucketMetadataConfigurationOutput, error)

Input Type: CreateBucketMetadataConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
MetadataConfiguration*types.MetadataConfigurationYesS3 Metadata configuration for a general purpose bucket
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

MetadataConfiguration Type: types.MetadataConfiguration

FieldTypeRequiredDescription
JournalTableConfiguration*types.JournalTableConfigurationYesJournal table configuration for metadata configuration
InventoryTableConfiguration*types.InventoryTableConfigurationNoInventory table configuration for metadata configuration

JournalTableConfiguration Type: types.JournalTableConfiguration

FieldTypeRequiredDescription
S3TablesDestination*types.S3TablesDestinationYesS3 Tables destination for journal table
ConfigurationStatetypes.JournalConfigurationStateYesConfiguration state (ENABLED, DISABLED)
EncryptionConfiguration*types.MetadataTableEncryptionConfigurationNoEncryption configuration for journal table
JournalTableRetention*types.JournalTableRetentionNoRetention period for journal table records

InventoryTableConfiguration Type: types.InventoryTableConfiguration

FieldTypeRequiredDescription
ConfigurationStatetypes.InventoryConfigurationStateYesConfiguration state (ENABLED, DISABLED)
EncryptionConfiguration*types.MetadataTableEncryptionConfigurationNoEncryption configuration for inventory table

S3TablesDestination Type: types.S3TablesDestination

FieldTypeRequiredDescription
TableBucketArn*stringYesARN of S3 Tables destination table bucket
TableName*stringYesName of metadata table
TableNamespace*stringYesNamespace for metadata table

Output Type: CreateBucketMetadataConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Creates a metadata configuration for a general purpose bucket. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.

GetBucketMetadataConfiguration { .api }

Retrieves the metadata configuration of a general purpose bucket.

Method Signature:

func (c *Client) GetBucketMetadataConfiguration(ctx context.Context, params *GetBucketMetadataConfigurationInput, optFns ...func(*Options)) (*GetBucketMetadataConfigurationOutput, error)

Input Type: GetBucketMetadataConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketMetadataConfigurationOutput

FieldTypeDescription
MetadataConfigurationResult*types.MetadataConfigurationResultS3 Metadata configuration for a general purpose bucket
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

MetadataConfigurationResult Type: types.MetadataConfigurationResult

FieldTypeRequiredDescription
DestinationResult*types.DestinationResultYesDestination settings for metadata configuration
InventoryTableConfigurationResult*types.InventoryTableConfigurationResultNoInventory table configuration for metadata configuration
JournalTableConfigurationResult*types.JournalTableConfigurationResultNoJournal table configuration for metadata configuration

Description: Retrieves the metadata configuration of a general purpose bucket.

DeleteBucketMetadataConfiguration { .api }

Deletes the metadata configuration of a general purpose bucket.

Method Signature:

func (c *Client) DeleteBucketMetadataConfiguration(ctx context.Context, params *DeleteBucketMetadataConfigurationInput, optFns ...func(*Options)) (*DeleteBucketMetadataConfigurationOutput, error)

Input Type: DeleteBucketMetadataConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketMetadataConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the metadata configuration of a general purpose bucket.

CreateBucketMetadataTableConfiguration { .api }

Creates a metadata table configuration for a general purpose bucket (V1 configuration).

Method Signature:

func (c *Client) CreateBucketMetadataTableConfiguration(ctx context.Context, params *CreateBucketMetadataTableConfigurationInput, optFns ...func(*Options)) (*CreateBucketMetadataTableConfigurationOutput, error)

Input Type: CreateBucketMetadataTableConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
MetadataTableConfiguration*types.MetadataTableConfigurationYesV1 S3 Metadata configuration
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: CreateBucketMetadataTableConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Creates a V1 metadata table configuration. If created before July 15, 2025, it's recommended to delete and re-create using CreateBucketMetadataConfiguration.

GetBucketMetadataTableConfiguration { .api }

Retrieves the metadata table configuration of a general purpose bucket (V1).

Method Signature:

func (c *Client) GetBucketMetadataTableConfiguration(ctx context.Context, params *GetBucketMetadataTableConfigurationInput, optFns ...func(*Options)) (*GetBucketMetadataTableConfigurationOutput, error)

Input Type: GetBucketMetadataTableConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: GetBucketMetadataTableConfigurationOutput

FieldTypeDescription
GetBucketMetadataTableConfigurationResult*types.MetadataTableConfigurationResultV1 S3 Metadata configuration
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Retrieves the V1 metadata table configuration of a general purpose bucket.

DeleteBucketMetadataTableConfiguration { .api }

Deletes the metadata table configuration of a general purpose bucket (V1).

Method Signature:

func (c *Client) DeleteBucketMetadataTableConfiguration(ctx context.Context, params *DeleteBucketMetadataTableConfigurationInput, optFns ...func(*Options)) (*DeleteBucketMetadataTableConfigurationOutput, error)

Input Type: DeleteBucketMetadataTableConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: DeleteBucketMetadataTableConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Deletes the V1 metadata table configuration of a general purpose bucket.

UpdateBucketMetadataInventoryTableConfiguration { .api }

Updates the inventory table configuration for bucket metadata.

Method Signature:

func (c *Client) UpdateBucketMetadataInventoryTableConfiguration(ctx context.Context, params *UpdateBucketMetadataInventoryTableConfigurationInput, optFns ...func(*Options)) (*UpdateBucketMetadataInventoryTableConfigurationOutput, error)

Input Type: UpdateBucketMetadataInventoryTableConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
InventoryTableConfiguration*types.InventoryTableConfigurationYesInventory table configuration
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: UpdateBucketMetadataInventoryTableConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Updates the inventory table configuration for an S3 Metadata configuration.

UpdateBucketMetadataJournalTableConfiguration { .api }

Updates the journal table configuration for bucket metadata.

Method Signature:

func (c *Client) UpdateBucketMetadataJournalTableConfiguration(ctx context.Context, params *UpdateBucketMetadataJournalTableConfigurationInput, optFns ...func(*Options)) (*UpdateBucketMetadataJournalTableConfigurationOutput, error)

Input Type: UpdateBucketMetadataJournalTableConfigurationInput

FieldTypeRequiredDescription
Bucket*stringYesName of the general purpose bucket
JournalTableConfiguration*types.JournalTableConfigurationYesJournal table configuration
ChecksumAlgorithmtypes.ChecksumAlgorithmNoAlgorithm used to create checksum
ContentMD5*stringNoBase64 encoded 128-bit MD5 digest
ExpectedBucketOwner*stringNoAccount ID of expected bucket owner

Output Type: UpdateBucketMetadataJournalTableConfigurationOutput

FieldTypeDescription
ResultMetadatamiddleware.MetadataMetadata pertaining to the operation's result

Description: Updates the journal table configuration for an S3 Metadata configuration.

Common Types Reference

Enumerations

BucketVersioningStatus:

  • Enabled - Versioning is enabled
  • Suspended - Versioning is suspended

MFADeleteStatus:

  • Enabled - MFA delete is enabled
  • Disabled - MFA delete is disabled

ServerSideEncryption:

  • AES256 - Server-side encryption with S3-managed keys
  • aws:kms - Server-side encryption with KMS keys
  • aws:kms:dsse - Dual-layer server-side encryption with KMS keys

BucketAccelerateStatus:

  • Enabled - Transfer acceleration is enabled
  • Suspended - Transfer acceleration is suspended

ExpirationStatus:

  • Enabled - Rule is enabled
  • Disabled - Rule is disabled

IntelligentTieringStatus:

  • Enabled - Configuration is enabled
  • Disabled - Configuration is disabled

InventoryFrequency:

  • Daily - Inventory generated daily
  • Weekly - Inventory generated weekly

InventoryFormat:

  • CSV - Comma-separated values format
  • ORC - Apache ORC format
  • Parquet - Apache Parquet format

Payer:

  • Requester - Requester pays for requests and data transfer
  • BucketOwner - Bucket owner pays

Protocol:

  • http - HTTP protocol
  • https - HTTPS protocol

Notes

  • Directory Bucket Support: Many bucket configuration operations are not supported for directory buckets. Check individual operation descriptions for directory bucket compatibility.
  • Permissions: All operations require specific IAM permissions. Always verify you have the necessary permissions before calling these operations.
  • Propagation Time: Changes to bucket configurations may take time to propagate across all Amazon S3 systems.
  • Configuration Limits: Most configuration types have limits (e.g., 1,000 lifecycle rules, 1,000 analytics configurations per bucket).
  • Checksums: Many Put operations support optional checksum algorithms (CRC32, CRC32C, SHA1, SHA256) for data integrity validation.
  • ExpectedBucketOwner: This parameter helps prevent accidental operations on buckets you don't own. Not supported for directory buckets.

Related Documentation