Package: types

import "../ibm-cos-sdk-go-v2/service/s3/types"

Constants

const AnalyticsS3ExportFileFormatCsv AnalyticsS3ExportFileFormat = readonly

Value:

"CSV"
const ArchiveStatusArchiveAccess ArchiveStatus = readonly

Value:

"ARCHIVE_ACCESS"
const ArchiveStatusDeepArchiveAccess ArchiveStatus = readonly

Value:

"DEEP_ARCHIVE_ACCESS"
const BucketAccelerateStatusEnabled BucketAccelerateStatus = readonly

Value:

"Enabled"
const BucketAccelerateStatusSuspended BucketAccelerateStatus = readonly

Value:

"Suspended"
const BucketCannedACLPrivate BucketCannedACL = readonly

Value:

"private"
const BucketCannedACLPublicRead BucketCannedACL = readonly

Value:

"public-read"
const BucketCannedACLPublicReadWrite BucketCannedACL = readonly

Value:

"public-read-write"
const BucketCannedACLAuthenticatedRead BucketCannedACL = readonly

Value:

"authenticated-read"
const BucketLocationConstraintAfSouth1 BucketLocationConstraint = readonly

Value:

"af-south-1"
const BucketLocationConstraintApEast1 BucketLocationConstraint = readonly

Value:

"ap-east-1"
const BucketLocationConstraintApNortheast1 BucketLocationConstraint = readonly

Value:

"ap-northeast-1"
const BucketLocationConstraintApNortheast2 BucketLocationConstraint = readonly

Value:

"ap-northeast-2"
const BucketLocationConstraintApNortheast3 BucketLocationConstraint = readonly

Value:

"ap-northeast-3"
const BucketLocationConstraintApSouth1 BucketLocationConstraint = readonly

Value:

"ap-south-1"
const BucketLocationConstraintApSouth2 BucketLocationConstraint = readonly

Value:

"ap-south-2"
const BucketLocationConstraintApSoutheast1 BucketLocationConstraint = readonly

Value:

"ap-southeast-1"
const BucketLocationConstraintApSoutheast2 BucketLocationConstraint = readonly

Value:

"ap-southeast-2"
const BucketLocationConstraintApSoutheast3 BucketLocationConstraint = readonly

Value:

"ap-southeast-3"
const BucketLocationConstraintApSoutheast4 BucketLocationConstraint = readonly

Value:

"ap-southeast-4"
const BucketLocationConstraintApSoutheast5 BucketLocationConstraint = readonly

Value:

"ap-southeast-5"
const BucketLocationConstraintCaCentral1 BucketLocationConstraint = readonly

Value:

"ca-central-1"
const BucketLocationConstraintCnNorth1 BucketLocationConstraint = readonly

Value:

"cn-north-1"
const BucketLocationConstraintCnNorthwest1 BucketLocationConstraint = readonly

Value:

"cn-northwest-1"
const BucketLocationConstraintEu BucketLocationConstraint = readonly

Value:

"EU"
const BucketLocationConstraintEuCentral1 BucketLocationConstraint = readonly

Value:

"eu-central-1"
const BucketLocationConstraintEuCentral2 BucketLocationConstraint = readonly

Value:

"eu-central-2"
const BucketLocationConstraintEuNorth1 BucketLocationConstraint = readonly

Value:

"eu-north-1"
const BucketLocationConstraintEuSouth1 BucketLocationConstraint = readonly

Value:

"eu-south-1"
const BucketLocationConstraintEuSouth2 BucketLocationConstraint = readonly

Value:

"eu-south-2"
const BucketLocationConstraintEuWest1 BucketLocationConstraint = readonly

Value:

"eu-west-1"
const BucketLocationConstraintEuWest2 BucketLocationConstraint = readonly

Value:

"eu-west-2"
const BucketLocationConstraintEuWest3 BucketLocationConstraint = readonly

Value:

"eu-west-3"
const BucketLocationConstraintIlCentral1 BucketLocationConstraint = readonly

Value:

"il-central-1"
const BucketLocationConstraintMeCentral1 BucketLocationConstraint = readonly

Value:

"me-central-1"
const BucketLocationConstraintMeSouth1 BucketLocationConstraint = readonly

Value:

"me-south-1"
const BucketLocationConstraintSaEast1 BucketLocationConstraint = readonly

Value:

"sa-east-1"
const BucketLocationConstraintUsEast2 BucketLocationConstraint = readonly

Value:

"us-east-2"
const BucketLocationConstraintUsGovEast1 BucketLocationConstraint = readonly

Value:

"us-gov-east-1"
const BucketLocationConstraintUsGovWest1 BucketLocationConstraint = readonly

Value:

"us-gov-west-1"
const BucketLocationConstraintUsWest1 BucketLocationConstraint = readonly

Value:

"us-west-1"
const BucketLocationConstraintUsWest2 BucketLocationConstraint = readonly

Value:

"us-west-2"
const BucketLogsPermissionFullControl BucketLogsPermission = readonly

Value:

"FULL_CONTROL"
const BucketLogsPermissionRead BucketLogsPermission = readonly

Value:

"READ"
const BucketLogsPermissionWrite BucketLogsPermission = readonly

Value:

"WRITE"
const BucketTypeDirectory BucketType = readonly

Value:

"Directory"
const BucketVersioningStatusEnabled BucketVersioningStatus = readonly

Value:

"Enabled"
const BucketVersioningStatusSuspended BucketVersioningStatus = readonly

Value:

"Suspended"
const ChecksumAlgorithmCrc32 ChecksumAlgorithm = readonly

Value:

"CRC32"
const ChecksumAlgorithmCrc32c ChecksumAlgorithm = readonly

Value:

"CRC32C"
const ChecksumAlgorithmSha1 ChecksumAlgorithm = readonly

Value:

"SHA1"
const ChecksumAlgorithmSha256 ChecksumAlgorithm = readonly

Value:

"SHA256"
const ChecksumAlgorithmCrc64nvme ChecksumAlgorithm = readonly

Value:

"CRC64NVME"
const ChecksumModeEnabled ChecksumMode = readonly

Value:

"ENABLED"
const ChecksumTypeComposite ChecksumType = readonly

Value:

"COMPOSITE"
const ChecksumTypeFullObject ChecksumType = readonly

Value:

"FULL_OBJECT"
const CompressionTypeNone CompressionType = readonly

Value:

"NONE"
const CompressionTypeGzip CompressionType = readonly

Value:

"GZIP"
const CompressionTypeBzip2 CompressionType = readonly

Value:

"BZIP2"
const DataRedundancySingleAvailabilityZone DataRedundancy = readonly

Value:

"SingleAvailabilityZone"
const DataRedundancySingleLocalZone DataRedundancy = readonly

Value:

"SingleLocalZone"
const DeleteMarkerReplicationStatusEnabled DeleteMarkerReplicationStatus = readonly

Value:

"Enabled"
const DeleteMarkerReplicationStatusDisabled DeleteMarkerReplicationStatus = readonly

Value:

"Disabled"
const EncodingTypeUrl EncodingType = readonly

Value:

"url"
const EventS3ReducedRedundancyLostObject Event = readonly

Value:

"s3:ReducedRedundancyLostObject"
const EventS3ObjectCreated Event = readonly

Value:

"s3:ObjectCreated:*"
const EventS3ObjectCreatedPut Event = readonly

Value:

"s3:ObjectCreated:Put"
const EventS3ObjectCreatedPost Event = readonly

Value:

"s3:ObjectCreated:Post"
const EventS3ObjectCreatedCopy Event = readonly

Value:

"s3:ObjectCreated:Copy"
const EventS3ObjectCreatedCompleteMultipartUpload Event = readonly

Value:

"s3:ObjectCreated:CompleteMultipartUpload"
const EventS3ObjectRemoved Event = readonly

Value:

"s3:ObjectRemoved:*"
const EventS3ObjectRemovedDelete Event = readonly

Value:

"s3:ObjectRemoved:Delete"
const EventS3ObjectRemovedDeleteMarkerCreated Event = readonly

Value:

"s3:ObjectRemoved:DeleteMarkerCreated"
const EventS3ObjectRestore Event = readonly

Value:

"s3:ObjectRestore:*"
const EventS3ObjectRestorePost Event = readonly

Value:

"s3:ObjectRestore:Post"
const EventS3ObjectRestoreCompleted Event = readonly

Value:

"s3:ObjectRestore:Completed"
const EventS3Replication Event = readonly

Value:

"s3:Replication:*"
const EventS3ReplicationOperationFailedReplication Event = readonly

Value:

"s3:Replication:OperationFailedReplication"
const EventS3ReplicationOperationNotTracked Event = readonly

Value:

"s3:Replication:OperationNotTracked"
const EventS3ReplicationOperationMissedThreshold Event = readonly

Value:

"s3:Replication:OperationMissedThreshold"
const EventS3ReplicationOperationReplicatedAfterThreshold Event = readonly

Value:

"s3:Replication:OperationReplicatedAfterThreshold"
const EventS3ObjectRestoreDelete Event = readonly

Value:

"s3:ObjectRestore:Delete"
const EventS3LifecycleTransition Event = readonly

Value:

"s3:LifecycleTransition"
const EventS3IntelligentTiering Event = readonly

Value:

"s3:IntelligentTiering"
const EventS3ObjectAclPut Event = readonly

Value:

"s3:ObjectAcl:Put"
const EventS3LifecycleExpiration Event = readonly

Value:

"s3:LifecycleExpiration:*"
const EventS3LifecycleExpirationDelete Event = readonly

Value:

"s3:LifecycleExpiration:Delete"
const EventS3LifecycleExpirationDeleteMarkerCreated Event = readonly

Value:

"s3:LifecycleExpiration:DeleteMarkerCreated"
const EventS3ObjectTagging Event = readonly

Value:

"s3:ObjectTagging:*"
const EventS3ObjectTaggingPut Event = readonly

Value:

"s3:ObjectTagging:Put"
const EventS3ObjectTaggingDelete Event = readonly

Value:

"s3:ObjectTagging:Delete"
const ExistingObjectReplicationStatusEnabled ExistingObjectReplicationStatus = readonly

Value:

"Enabled"
const ExistingObjectReplicationStatusDisabled ExistingObjectReplicationStatus = readonly

Value:

"Disabled"
const ExpirationStatusEnabled ExpirationStatus = readonly

Value:

"Enabled"
const ExpirationStatusDisabled ExpirationStatus = readonly

Value:

"Disabled"
const ExpressionTypeSql ExpressionType = readonly

Value:

"SQL"
const FileHeaderInfoUse FileHeaderInfo = readonly

Value:

"USE"
const FileHeaderInfoIgnore FileHeaderInfo = readonly

Value:

"IGNORE"
const FileHeaderInfoNone FileHeaderInfo = readonly

Value:

"NONE"
const FilterRuleNamePrefix FilterRuleName = readonly

Value:

"prefix"
const FilterRuleNameSuffix FilterRuleName = readonly

Value:

"suffix"
const IntelligentTieringAccessTierArchiveAccess IntelligentTieringAccessTier = readonly

Value:

"ARCHIVE_ACCESS"
const IntelligentTieringAccessTierDeepArchiveAccess IntelligentTieringAccessTier = readonly

Value:

"DEEP_ARCHIVE_ACCESS"
const IntelligentTieringStatusEnabled IntelligentTieringStatus = readonly

Value:

"Enabled"
const IntelligentTieringStatusDisabled IntelligentTieringStatus = readonly

Value:

"Disabled"
const InventoryFormatCsv InventoryFormat = readonly

Value:

"CSV"
const InventoryFormatOrc InventoryFormat = readonly

Value:

"ORC"
const InventoryFormatParquet InventoryFormat = readonly

Value:

"Parquet"
const InventoryFrequencyDaily InventoryFrequency = readonly

Value:

"Daily"
const InventoryFrequencyWeekly InventoryFrequency = readonly

Value:

"Weekly"
const InventoryIncludedObjectVersionsAll InventoryIncludedObjectVersions = readonly

Value:

"All"
const InventoryIncludedObjectVersionsCurrent InventoryIncludedObjectVersions = readonly

Value:

"Current"
const InventoryOptionalFieldSize InventoryOptionalField = readonly

Value:

"Size"
const InventoryOptionalFieldLastModifiedDate InventoryOptionalField = readonly

Value:

"LastModifiedDate"
const InventoryOptionalFieldStorageClass InventoryOptionalField = readonly

Value:

"StorageClass"
const InventoryOptionalFieldETag InventoryOptionalField = readonly

Value:

"ETag"
const InventoryOptionalFieldIsMultipartUploaded InventoryOptionalField = readonly

Value:

"IsMultipartUploaded"
const InventoryOptionalFieldReplicationStatus InventoryOptionalField = readonly

Value:

"ReplicationStatus"
const InventoryOptionalFieldEncryptionStatus InventoryOptionalField = readonly

Value:

"EncryptionStatus"
const InventoryOptionalFieldObjectLockRetainUntilDate InventoryOptionalField = readonly

Value:

"ObjectLockRetainUntilDate"
const InventoryOptionalFieldObjectLockMode InventoryOptionalField = readonly

Value:

"ObjectLockMode"
const InventoryOptionalFieldObjectLockLegalHoldStatus InventoryOptionalField = readonly

Value:

"ObjectLockLegalHoldStatus"
const InventoryOptionalFieldIntelligentTieringAccessTier InventoryOptionalField = readonly

Value:

"IntelligentTieringAccessTier"
const InventoryOptionalFieldBucketKeyStatus InventoryOptionalField = readonly

Value:

"BucketKeyStatus"
const InventoryOptionalFieldChecksumAlgorithm InventoryOptionalField = readonly

Value:

"ChecksumAlgorithm"
const InventoryOptionalFieldObjectAccessControlList InventoryOptionalField = readonly

Value:

"ObjectAccessControlList"
const InventoryOptionalFieldObjectOwner InventoryOptionalField = readonly

Value:

"ObjectOwner"
const JSONTypeDocument JSONType = readonly

Value:

"DOCUMENT"
const JSONTypeLines JSONType = readonly

Value:

"LINES"
const LocationTypeAvailabilityZone LocationType = readonly

Value:

"AvailabilityZone"
const LocationTypeLocalZone LocationType = readonly

Value:

"LocalZone"
const MetadataDirectiveCopy MetadataDirective = readonly

Value:

"COPY"
const MetadataDirectiveReplace MetadataDirective = readonly

Value:

"REPLACE"
const MetricsStatusEnabled MetricsStatus = readonly

Value:

"Enabled"
const MetricsStatusDisabled MetricsStatus = readonly

Value:

"Disabled"
const MFADeleteEnabled MFADelete = readonly

Value:

"Enabled"
const MFADeleteDisabled MFADelete = readonly

Value:

"Disabled"
const MFADeleteStatusEnabled MFADeleteStatus = readonly

Value:

"Enabled"
const MFADeleteStatusDisabled MFADeleteStatus = readonly

Value:

"Disabled"
const ObjectAttributesEtag ObjectAttributes = readonly

Value:

"ETag"
const ObjectAttributesChecksum ObjectAttributes = readonly

Value:

const ObjectAttributesObjectParts ObjectAttributes = readonly

Value:

"ObjectParts"
const ObjectAttributesStorageClass ObjectAttributes = readonly

Value:

"StorageClass"
const ObjectAttributesObjectSize ObjectAttributes = readonly

Value:

"ObjectSize"
const ObjectCannedACLPrivate ObjectCannedACL = readonly

Value:

"private"
const ObjectCannedACLPublicRead ObjectCannedACL = readonly

Value:

"public-read"
const ObjectCannedACLPublicReadWrite ObjectCannedACL = readonly

Value:

"public-read-write"
const ObjectCannedACLAuthenticatedRead ObjectCannedACL = readonly

Value:

"authenticated-read"
const ObjectCannedACLAwsExecRead ObjectCannedACL = readonly

Value:

"aws-exec-read"
const ObjectCannedACLBucketOwnerRead ObjectCannedACL = readonly

Value:

"bucket-owner-read"
const ObjectCannedACLBucketOwnerFullControl ObjectCannedACL = readonly

Value:

"bucket-owner-full-control"
const ObjectLockEnabledEnabled ObjectLockEnabled = readonly

Value:

"Enabled"
const ObjectLockLegalHoldStatusOn ObjectLockLegalHoldStatus = readonly

Value:

"ON"
const ObjectLockLegalHoldStatusOff ObjectLockLegalHoldStatus = readonly

Value:

"OFF"
const ObjectLockModeGovernance ObjectLockMode = readonly

Value:

"GOVERNANCE"
const ObjectLockModeCompliance ObjectLockMode = readonly

Value:

"COMPLIANCE"
const ObjectLockRetentionModeGovernance ObjectLockRetentionMode = readonly

Value:

"GOVERNANCE"
const ObjectLockRetentionModeCompliance ObjectLockRetentionMode = readonly

Value:

"COMPLIANCE"
const ObjectOwnershipBucketOwnerPreferred ObjectOwnership = readonly

Value:

"BucketOwnerPreferred"
const ObjectOwnershipObjectWriter ObjectOwnership = readonly

Value:

"ObjectWriter"
const ObjectOwnershipBucketOwnerEnforced ObjectOwnership = readonly

Value:

"BucketOwnerEnforced"
const ObjectStorageClassStandard ObjectStorageClass = readonly

Value:

"STANDARD"
const ObjectStorageClassReducedRedundancy ObjectStorageClass = readonly

Value:

"REDUCED_REDUNDANCY"
const ObjectStorageClassGlacier ObjectStorageClass = readonly

Value:

"GLACIER"
const ObjectStorageClassStandardIa ObjectStorageClass = readonly

Value:

"STANDARD_IA"
const ObjectStorageClassOnezoneIa ObjectStorageClass = readonly

Value:

"ONEZONE_IA"
const ObjectStorageClassIntelligentTiering ObjectStorageClass = readonly

Value:

"INTELLIGENT_TIERING"
const ObjectStorageClassDeepArchive ObjectStorageClass = readonly

Value:

"DEEP_ARCHIVE"
const ObjectStorageClassOutposts ObjectStorageClass = readonly

Value:

"OUTPOSTS"
const ObjectStorageClassGlacierIr ObjectStorageClass = readonly

Value:

"GLACIER_IR"
const ObjectStorageClassSnow ObjectStorageClass = readonly

Value:

"SNOW"
const ObjectStorageClassExpressOnezone ObjectStorageClass = readonly

Value:

"EXPRESS_ONEZONE"
const ObjectVersionStorageClassStandard ObjectVersionStorageClass = readonly

Value:

"STANDARD"
const OptionalObjectAttributesRestoreStatus OptionalObjectAttributes = readonly

Value:

const OwnerOverrideDestination OwnerOverride = readonly

Value:

const PartitionDateSourceEventTime PartitionDateSource = readonly

Value:

"EventTime"
const PartitionDateSourceDeliveryTime PartitionDateSource = readonly

Value:

"DeliveryTime"
const PayerRequester Payer = readonly

Value:

"Requester"
const PayerBucketOwner Payer = readonly

Value:

"BucketOwner"
const PermissionFullControl Permission = readonly

Value:

"FULL_CONTROL"
const PermissionWrite Permission = readonly

Value:

"WRITE"
const PermissionWriteAcp Permission = readonly

Value:

"WRITE_ACP"
const PermissionRead Permission = readonly

Value:

"READ"
const PermissionReadAcp Permission = readonly

Value:

"READ_ACP"
const ProtocolHttp Protocol = readonly

Value:

"http"
const ProtocolHttps Protocol = readonly

Value:

"https"
const QuoteFieldsAlways QuoteFields = readonly

Value:

"ALWAYS"
const QuoteFieldsAsneeded QuoteFields = readonly

Value:

"ASNEEDED"
const ReplicaModificationsStatusEnabled ReplicaModificationsStatus = readonly

Value:

"Enabled"
const ReplicaModificationsStatusDisabled ReplicaModificationsStatus = readonly

Value:

"Disabled"
const ReplicationRuleStatusEnabled ReplicationRuleStatus = readonly

Value:

"Enabled"
const ReplicationRuleStatusDisabled ReplicationRuleStatus = readonly

Value:

"Disabled"
const ReplicationStatusComplete ReplicationStatus = readonly

Value:

"COMPLETE"
const ReplicationStatusPending ReplicationStatus = readonly

Value:

"PENDING"
const ReplicationStatusFailed ReplicationStatus = readonly

Value:

"FAILED"
const ReplicationStatusReplica ReplicationStatus = readonly

Value:

"REPLICA"
const ReplicationStatusCompleted ReplicationStatus = readonly

Value:

"COMPLETED"
const ReplicationTimeStatusEnabled ReplicationTimeStatus = readonly

Value:

"Enabled"
const ReplicationTimeStatusDisabled ReplicationTimeStatus = readonly

Value:

"Disabled"
const RequestChargedRequester RequestCharged = readonly

Value:

"requester"
const RequestPayerRequester RequestPayer = readonly

Value:

"requester"
const RestoreRequestTypeSelect RestoreRequestType = readonly

Value:

"SELECT"
const ServerSideEncryptionAes256 ServerSideEncryption = readonly

Value:

"AES256"
const ServerSideEncryptionAwsKms ServerSideEncryption = readonly

Value:

"aws:kms"
const ServerSideEncryptionAwsKmsDsse ServerSideEncryption = readonly

Value:

"aws:kms:dsse"
const SessionModeReadOnly SessionMode = readonly

Value:

"ReadOnly"
const SessionModeReadWrite SessionMode = readonly

Value:

"ReadWrite"
const SseKmsEncryptedObjectsStatusEnabled SseKmsEncryptedObjectsStatus = readonly

Value:

"Enabled"
const SseKmsEncryptedObjectsStatusDisabled SseKmsEncryptedObjectsStatus = readonly

Value:

"Disabled"
const StorageClassStandard StorageClass = readonly

Value:

"STANDARD"
const StorageClassReducedRedundancy StorageClass = readonly

Value:

"REDUCED_REDUNDANCY"
const StorageClassStandardIa StorageClass = readonly

Value:

"STANDARD_IA"
const StorageClassOnezoneIa StorageClass = readonly

Value:

"ONEZONE_IA"
const StorageClassIntelligentTiering StorageClass = readonly

Value:

"INTELLIGENT_TIERING"
const StorageClassGlacier StorageClass = readonly

Value:

"GLACIER"
const StorageClassDeepArchive StorageClass = readonly

Value:

"DEEP_ARCHIVE"
const StorageClassOutposts StorageClass = readonly

Value:

"OUTPOSTS"
const StorageClassGlacierIr StorageClass = readonly

Value:

"GLACIER_IR"
const StorageClassSnow StorageClass = readonly

Value:

"SNOW"
const StorageClassExpressOnezone StorageClass = readonly

Value:

"EXPRESS_ONEZONE"
const StorageClassAnalysisSchemaVersionV1 StorageClassAnalysisSchemaVersion = readonly

Value:

"V_1"
const TaggingDirectiveCopy TaggingDirective = readonly

Value:

"COPY"
const TaggingDirectiveReplace TaggingDirective = readonly

Value:

"REPLACE"
const TierStandard Tier = readonly

Value:

"Standard"
const TierBulk Tier = readonly

Value:

"Bulk"
const TierExpedited Tier = readonly

Value:

"Expedited"
const TransitionDefaultMinimumObjectSizeVariesByStorageClass TransitionDefaultMinimumObjectSize = readonly

Value:

"varies_by_storage_class"
const TransitionDefaultMinimumObjectSizeAllStorageClasses128k TransitionDefaultMinimumObjectSize = readonly

Value:

"all_storage_classes_128K"
const TransitionStorageClassGlacier TransitionStorageClass = readonly

Value:

"GLACIER"
const TransitionStorageClassStandardIa TransitionStorageClass = readonly

Value:

"STANDARD_IA"
const TransitionStorageClassOnezoneIa TransitionStorageClass = readonly

Value:

"ONEZONE_IA"
const TransitionStorageClassIntelligentTiering TransitionStorageClass = readonly

Value:

"INTELLIGENT_TIERING"
const TransitionStorageClassDeepArchive TransitionStorageClass = readonly

Value:

"DEEP_ARCHIVE"
const TransitionStorageClassGlacierIr TransitionStorageClass = readonly

Value:

"GLACIER_IR"
const TypeCanonicalUser Type = readonly

Value:

"CanonicalUser"
const TypeAmazonCustomerByEmail Type = readonly

Value:

"AmazonCustomerByEmail"
const TypeGroup Type = readonly

Value:

"Group"
const RetentionDirectiveCopy = readonly

RetentionDirectiveCopy is a RetentionDirective enum value

Value:

"COPY"
const RetentionDirectiveReplace = readonly

RetentionDirectiveReplace is a RetentionDirective enum value

Value:

"REPLACE"

Type Summary collapse

Interface Summary collapse

Function Summary collapse

Type Details

AbortIncompleteMultipartUpload struct

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration[https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config]in the Amazon S3 User Guide.

Structure Fields:

DaysAfterInitiation *int32

Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.

AccelerateConfiguration struct

Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see S3 Transfer Acceleration[https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html]in the Amazon S3 User Guide.

Structure Fields:

Status BucketAccelerateStatus

Specifies the transfer acceleration status of the bucket.

AccessControlPolicy struct

Contains the elements that set the ACL permissions for an object per grantee.

Structure Fields:

Grants []Grant

A list of grants.

Owner *Owner

Container for the bucket owner’s display name and ID.

AccessControlTranslation struct

A container for information about access control for replicas.

Structure Fields:

Owner OwnerOverride

Specifies the replica ownership. For default and valid values, see PUT bucket replication in the Amazon S3 API Reference.

This member is required.

AnalyticsAndOperator struct

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates in any combination, and an object must match all of the predicates for the filter to apply.

Structure Fields:

Prefix *string

The prefix to use when evaluating an AND predicate: The prefix that an object must have to be included in the metrics results.

Tags []Tag

The list of tags to use when evaluating an AND predicate.

AnalyticsConfiguration struct

Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.

Structure Fields:

Id *string

The ID that identifies the analytics configuration.

This member is required.

StorageClassAnalysis *StorageClassAnalysis

Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.

This member is required.

Filter AnalyticsFilter

The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

AnalyticsExportDestination struct

Where to publish the analytics results.

Structure Fields:

S3BucketDestination *AnalyticsS3BucketDestination

A destination signifying output to an S3 bucket.

This member is required.

AnalyticsFilterMemberAnd struct

A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

Structure Fields:

Value AnalyticsAndOperator

AnalyticsFilterMemberPrefix struct

The prefix to use when evaluating an analytics filter.

Structure Fields:

Value string

AnalyticsFilterMemberTag struct

The tag to use when evaluating an analytics filter.

Structure Fields:

Value Tag

AnalyticsS3BucketDestination struct

Contains information about where to publish the analytics results.

Structure Fields:

Bucket *string

The Amazon Resource Name (ARN) of the bucket to which data is exported.

This member is required.

Format AnalyticsS3ExportFileFormat

Specifies the file format used when exporting data to Amazon S3.

This member is required.

BucketAccountId *string

The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.

Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.

Prefix *string

The prefix to use when exporting data. The prefix is prepended to all results.

Bucket struct

In terms of implementation, a Bucket is a resource.

Structure Fields:

BucketRegion *string

BucketRegion indicates the Amazon Web Services region where the bucket is located. If the request contains at least one valid parameter, it is included in the response.

CreationDate *time.Time

Date the bucket was created. This date can change when making changes to your bucket, such as editing its bucket policy.

Name *string

The name of the bucket.

BucketInfo struct

Specifies the information about the bucket that will be created. For more information about directory buckets, see buckets[https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html]in the Amazon S3 User Guide.

This functionality is only supported by directory buckets.

Structure Fields:

DataRedundancy DataRedundancy

The number of Zone (Availability Zone or Local Zone) that’s used for redundancy for the bucket.

Type BucketType

The type of bucket.

BucketLifecycleConfiguration struct

Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see Lifecycle Management[https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html]in the Amazon S3 User Guide.

Structure Fields:

Rules []LifecycleRule

A lifecycle rule for individual objects in an Amazon S3 bucket.

This member is required.

BucketLoggingStatus struct

Container for logging status information.

Structure Fields:

LoggingEnabled *LoggingEnabled

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For more information, see Bucket logging[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html]in the Amazon S3 API Reference.

BucketProtectionDefaultRetention struct

Structure Fields:

Days *int64 required

Days is a required field

BucketProtectionMaximumRetention struct

Structure Fields:

Days *int64 required

Days is a required field

BucketProtectionMinimumRetention struct

Structure Fields:

Days *int64 required

Days is a required field

CORSConfiguration struct

Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Cross-Origin Resource Sharing[https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html]in the Amazon S3 User Guide.

Structure Fields:

CORSRules []CORSRule

A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.

This member is required.

CORSRule struct

Specifies a cross-origin access rule for an Amazon S3 bucket.

Structure Fields:

AllowedMethods []string

An HTTP method that you allow the origin to execute. Valid values are GET , PUT , HEAD , POST , and DELETE .

This member is required.

AllowedOrigins []string

One or more origins you want customers to be able to access the bucket from.

This member is required.

AllowedHeaders []string

Headers that are specified in the Access-Control-Request-Headers header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.

ExposeHeaders []string

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

ID *string

Unique identifier for the rule. The value cannot be longer than 255 characters.

MaxAgeSeconds *int32

The time in seconds that your browser is to cache the preflight response for the specified resource.

CSVInput struct

Describes how an uncompressed comma-separated values (CSV)-formatted input object is formatted.

Structure Fields:

AllowQuotedRecordDelimiter *bool

Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.

Comments *string

A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line. The default character is # .

Default: #

FieldDelimiter *string

A single character used to separate individual fields in a record. You can specify an arbitrary delimiter.

FileHeaderInfo FileHeaderInfo

Describes the first line of input. Valid values are:

  • NONE : First line is not a header.

  • IGNORE : First line is a header, but you can’t use the header values to indicate the column in an expression. You can use column position (such as 1, 2, …) to indicate the column ( SELECT s._1 FROM OBJECT s ).

  • Use : First line is a header, and you can use the header value to identify a column in an expression ( SELECT "name" FROM OBJECT ).

QuoteCharacter *string

A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b , Amazon S3 wraps this field value in quotation marks, as follows: “ a , b ” .

Type: String

Default: “

Ancestors: CSV

QuoteEscapeCharacter *string

A single character used for escaping the quotation mark character inside an already escaped value. For example, the value “”“ a , b ”“” is parsed as “ a , b ” .

RecordDelimiter *string

A single character used to separate individual records in the input. Instead of the default value, you can specify an arbitrary delimiter.

CSVOutput struct

Describes how uncompressed comma-separated values (CSV)-formatted results are formatted.

Structure Fields:

FieldDelimiter *string

The value used to separate individual fields in a record. You can specify an arbitrary delimiter.

QuoteCharacter *string

A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b , Amazon S3 wraps this field value in quotation marks, as follows: “ a , b ” .

QuoteEscapeCharacter *string

The single character used for escaping the quote character inside an already escaped value.

QuoteFields QuoteFields

Indicates whether to use quotation marks around output fields.

  • ALWAYS : Always use quotation marks for output fields.

  • ASNEEDED : Use quotation marks for output fields when needed.

RecordDelimiter *string

A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.

Checksum struct

Contains all the possible checksum or digest values for an object.

Structure Fields:

ChecksumCRC32 *string

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it’s a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums]in the Amazon S3 User Guide.

ChecksumCRC32C *string

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it’s a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums]in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the object. This checksum is present if the object was uploaded with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME , to the uploaded object). For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumSHA1 *string

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it’s a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums]in the Amazon S3 User Guide.

ChecksumSHA256 *string

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it’s a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums]in the Amazon S3 User Guide.

ChecksumType ChecksumType

The checksum type that is used to calculate the object’s checksum value. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

CommonPrefix struct

Container for all (if there are any) keys between Prefix and the next occurrence of the string specified by a delimiter. CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix. For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/.

Structure Fields:

Prefix *string

Container for the specified common prefix.

CompletedMultipartUpload struct

The container for the completed multipart upload details.

Structure Fields:

Parts []CompletedPart

Array of CompletedPart data types.

If you do not supply a valid Part with your request, the service sends back an HTTP 400 response.

CompletedPart struct

Details of the parts that were uploaded.

Structure Fields:

ChecksumCRC32 *string

The Base64 encoded, 32-bit CRC32 checksum of the part. This checksum is present if the multipart upload request was created with the CRC32 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC32C *string

The Base64 encoded, 32-bit CRC32C checksum of the part. This checksum is present if the multipart upload request was created with the CRC32C checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the part. This checksum is present if the multipart upload request was created with the CRC64NVME checksum algorithm to the uploaded object). For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA1 *string

The Base64 encoded, 160-bit SHA1 checksum of the part. This checksum is present if the multipart upload request was created with the SHA1 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA256 *string

The Base64 encoded, 256-bit SHA256 checksum of the part. This checksum is present if the multipart upload request was created with the SHA256 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ETag *string

Entity tag returned when the part was uploaded.

PartNumber *int32

Part number that identifies the part. This is a positive integer between 1 and 10,000.

  • General purpose buckets - In CompleteMultipartUpload , when a additional checksum (including x-amz-checksum-crc32 , x-amz-checksum-crc32c , x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) is applied to each part, the PartNumber must start at 1 and the part numbers must be consecutive. Otherwise, Amazon S3 generates an HTTP 400 Bad Request status code and an InvalidPartOrder error code.

  • Directory buckets - In CompleteMultipartUpload , the PartNumber must start at 1 and the part numbers must be consecutive.

Condition struct

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

Structure Fields:

HttpErrorCodeReturnedEquals *string

The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

KeyPrefixEquals *string

The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html , the key prefix will be ExamplePage.html . To redirect request for all pages with the prefix docs/ , the key prefix will be /docs , which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

ContinuationEvent struct

Structure Fields:

(empty struct)

CopyObjectResult struct

Container for all response elements.

Structure Fields:

ChecksumCRC32 *string

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the object was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumCRC32C *string

The Base64 encoded, 32-bit CRC32C checksum of the object. This will only be present if the object was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the object. This checksum is present if the object being copied was uploaded with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME , to the uploaded object). For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA1 *string

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumSHA256 *string

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumType ChecksumType

The checksum type that is used to calculate the object’s checksum value. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ETag *string

Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata.

LastModified *time.Time

Creation date of the object.

CopyPartResult struct

Container for all response elements.

Structure Fields:

ChecksumCRC32 *string

This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 32-bit CRC32 checksum of the part. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumCRC32C *string

This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 32-bit CRC32C checksum of the part. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the part. This checksum is present if the multipart upload request was created with the CRC64NVME checksum algorithm to the uploaded object). For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA1 *string

This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 160-bit SHA1 checksum of the part. For more information, see Checking object integrity in the Amazon S3 User Guide.

ChecksumSHA256 *string

This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 256-bit SHA256 checksum of the part. For more information, see Checking object integrity in the Amazon S3 User Guide.

ETag *string

Entity tag of the object.

LastModified *time.Time

Date and time at which the object was uploaded.

CreateBucketConfiguration struct

The configuration information for the bucket.

Structure Fields:

Bucket *BucketInfo

Specifies the information about the bucket that will be created.

This functionality is only supported by directory buckets.

Location *LocationInfo

Specifies the location where the bucket will be created.

Directory buckets - The location type is Availability Zone or Local Zone. To use the Local Zone location type, your account must be enabled for Dedicated Local Zones. Otherwise, you get an HTTP 403 Forbidden error with the error code AccessDenied . To learn more, see Enable accounts for Dedicated Local Zones in the Amazon S3 User Guide.

This functionality is only supported by directory buckets.

LocationConstraint BucketLocationConstraint

Specifies the Region where the bucket will be created. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region.

If you don’t specify a Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by default. Configurations using the value EU will create a bucket in eu-west-1 .

For a list of the valid values for all of the Amazon Web Services Regions, see Regions and Endpoints.

This functionality is not supported for directory buckets.

DefaultRetention struct

The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.

  • The DefaultRetention settings require both a mode and a period.

  • The DefaultRetention period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

Structure Fields:

Days *int32

The number of days that you want to specify for the default retention period. Must be used with Mode .

Mode ObjectLockRetentionMode

The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Must be used with either Days or Years .

Years *int32

The number of years that you want to specify for the default retention period. Must be used with Mode .

Delete struct

Container for the objects to delete.

Structure Fields:

Objects []ObjectIdentifier

The object to delete.

Directory buckets - For directory buckets, an object that’s composed entirely of whitespace characters is not supported by the DeleteObjects API operation. The request will receive a 400 Bad Request error and none of the objects in the request will be deleted.

This member is required.

Quiet *bool

Element to enable quiet mode for the request. When you add this element, you must set its value to true .

DeleteMarkerEntry struct

Information about the delete marker.

Structure Fields:

IsLatest *bool

Specifies whether the object is (true) or is not (false) the latest version of an object.

Key *string

The object key.

LastModified *time.Time

Date and time when the object was last modified.

Owner *Owner

The account that created the delete marker.

VersionId *string

Version ID of an object.

DeleteMarkerReplication struct

Specifies whether Amazon S3 replicates delete markers. If you specify a Filter in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration.

For more information about delete marker replication, see Basic Rule Configuration.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

Structure Fields:

Status DeleteMarkerReplicationStatus

Indicates whether to replicate delete markers.

Indicates whether to replicate delete markers.

DeletedObject struct

Information about the deleted object.

Structure Fields:

DeleteMarker *bool

Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker. To learn more about delete markers, see Working with delete markers.

This functionality is not supported for directory buckets.

DeleteMarkerVersionId *string

The version ID of the delete marker created as a result of the DELETE operation. If you delete a specific object version, the value returned by this header is the version ID of the object version deleted.

This functionality is not supported for directory buckets.

Key *string

The name of the deleted object.

VersionId *string

The version ID of the deleted object.

This functionality is not supported for directory buckets.

Destination struct

Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).

Structure Fields:

Bucket *string

The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

This member is required.

AccessControlTranslation *AccessControlTranslation

Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.

Account *string

Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying the AccessControlTranslation property, this is the account ID of the destination bucket owner. For more information, see Additional Configuration: Changing the Replica Owner[https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html]in the Amazon S3 User Guide.

EncryptionConfiguration *EncryptionConfiguration

A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

Metrics *Metrics

A container specifying replication metrics-related settings enabling replication metrics and events.

ReplicationTime *ReplicationTime

A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

StorageClass StorageClass

The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.

For valid values, see the StorageClass element of the PUT Bucket replication action in the Amazon S3 API Reference.

Encryption struct

Contains the type of server-side encryption used.

Structure Fields:

EncryptionType ServerSideEncryption

The server-side encryption algorithm used when storing job results in Amazon S3 (for example, AES256, aws:kms ).

This member is required.

KMSContext *string

If the encryption type is aws:kms , this optional value can be used to specify the encryption context for the restore results.

KMSKeyId *string

If the encryption type is aws:kms , this optional value specifies the ID of the symmetric encryption customer managed key to use for encryption of job results. Amazon S3 only supports symmetric encryption KMS keys. For more information, see keys in KMS[https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html]in the Amazon Web Services Key Management Service Developer Guide.

EncryptionConfiguration struct

Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

If you’re specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that’s encrypted with a KMS key that belongs to the requester, and not the bucket owner.

Structure Fields:

ReplicaKmsKeyID *string

Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see keys in Amazon Web Services KMS[https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html]in the Amazon Web Services Key Management Service Developer Guide.

EndEvent struct

A message that indicates the request is complete and no more messages will be sent. You should not assume that the request is complete until the client receives an EndEvent .

Structure Fields:

(empty struct)

Error struct

Container for all error elements.

Structure Fields:

Code *string

The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type. The following is a list of Amazon S3 error codes. For more information, see Error responses.

  • Code: AccessDenied

  • Description: Access Denied

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: AccountProblem

  • Description: There is a problem with your Amazon Web Services account that prevents the action from completing successfully. Contact Amazon Web Services Support for further assistance.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: AllAccessDisabled

  • Description: All access to this Amazon S3 resource has been disabled. Contact Amazon Web Services Support for further assistance.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: AmbiguousGrantByEmailAddress

  • Description: The email address you provided is associated with more than one account.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: AuthorizationHeaderMalformed

  • Description: The authorization header you provided is invalid.

  • HTTP Status Code: 400 Bad Request

  • HTTP Status Code: N/A

  • Code: BadDigest

  • Description: The Content-MD5 you specified did not match what we received.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: BucketAlreadyExists

  • Description: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

  • HTTP Status Code: 409 Conflict

  • SOAP Fault Code Prefix: Client

  • Code: BucketAlreadyOwnedByYou

  • Description: The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs).

  • Code: 409 Conflict (in all Regions except the North Virginia Region)

  • SOAP Fault Code Prefix: Client

  • Code: BucketNotEmpty

  • Description: The bucket you tried to delete is not empty.

  • HTTP Status Code: 409 Conflict

  • SOAP Fault Code Prefix: Client

  • Code: CredentialsNotSupported

  • Description: This request does not support credentials.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: CrossLocationLoggingProhibited

  • Description: Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: EntityTooSmall

  • Description: Your proposed upload is smaller than the minimum allowed object size.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: EntityTooLarge

  • Description: Your proposed upload exceeds the maximum allowed object size.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: ExpiredToken

  • Description: The provided token has expired.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: IllegalVersioningConfigurationException

  • Description: Indicates that the versioning configuration specified in the request is invalid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: IncompleteBody

  • Description: You did not provide the number of bytes specified by the Content-Length HTTP header

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: IncorrectNumberOfFilesInPostRequest

  • Description: POST requires exactly one file upload per request.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InlineDataTooLarge

  • Description: Inline data exceeds the maximum allowed size.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InternalError

  • Description: We encountered an internal error. Please try again.

  • HTTP Status Code: 500 Internal Server Error

  • SOAP Fault Code Prefix: Server

  • Code: InvalidAccessKeyId

  • Description: The Amazon Web Services access key ID you provided does not exist in our records.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: InvalidAddressingHeader

  • Description: You must specify the Anonymous role.

  • HTTP Status Code: N/A

  • SOAP Fault Code Prefix: Client

  • Code: InvalidArgument

  • Description: Invalid Argument

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidBucketName

  • Description: The specified bucket is not valid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidBucketState

  • Description: The request is not valid with the current state of the bucket.

  • HTTP Status Code: 409 Conflict

  • SOAP Fault Code Prefix: Client

  • Code: InvalidDigest

  • Description: The Content-MD5 you specified is not valid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidEncryptionAlgorithmError

  • Description: The encryption request you specified is not valid. The valid value is AES256.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidLocationConstraint

  • Description: The specified location constraint is not valid. For more information about Regions, see How to Select a Region for Your Buckets.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidObjectState

  • Description: The action is not valid for the current state of the object.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: InvalidPart

  • Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidPartOrder

  • Description: The list of parts was not in ascending order. Parts list must be specified in order by part number.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidPayer

  • Description: All access to this object has been disabled. Please contact Amazon Web Services Support for further assistance.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: InvalidPolicyDocument

  • Description: The content of the form does not meet the conditions specified in the policy document.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidRange

  • Description: The requested range cannot be satisfied.

  • HTTP Status Code: 416 Requested Range Not Satisfiable

  • SOAP Fault Code Prefix: Client

  • Code: InvalidRequest

  • Description: Please use AWS4-HMAC-SHA256 .

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: SOAP requests must be made over an HTTPS connection.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Acceleration is not supported for buckets with non-DNS compliant names.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Acceleration is not supported for buckets with periods (.) in their names.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Accelerate endpoint only supports virtual style requests.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Accelerate is not configured on this bucket.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Accelerate is disabled on this bucket.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Acceleration is not supported on this bucket. Contact Amazon Web Services Support for more information.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidRequest

  • Description: Amazon S3 Transfer Acceleration cannot be enabled on this bucket. Contact Amazon Web Services Support for more information.

  • HTTP Status Code: 400 Bad Request

  • Code: N/A

  • Code: InvalidSecurity

  • Description: The provided security credentials are not valid.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: InvalidSOAPRequest

  • Description: The SOAP request body is invalid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidStorageClass

  • Description: The storage class you specified is not valid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidTargetBucketForLogging

  • Description: The target bucket for logging does not exist, is not owned by you, or does not have the appropriate grants for the log-delivery group.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidToken

  • Description: The provided token is malformed or otherwise invalid.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: InvalidURI

  • Description: Couldn't parse the specified URI.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: KeyTooLongError

  • Description: Your key is too long.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MalformedACLError

  • Description: The XML you provided was not well-formed or did not validate against our published schema.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MalformedPOSTRequest

  • Description: The body of your POST request is not well-formed multipart/form-data.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MalformedXML

  • Description: This happens when the user sends malformed XML (XML that doesn't conform to the published XSD) for the configuration. The error message is, "The XML you provided was not well-formed or did not validate against our published schema."

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MaxMessageLengthExceeded

  • Description: Your request was too big.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MaxPostPreDataLengthExceededError

  • Description: Your POST request fields preceding the upload file were too large.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MetadataTooLarge

  • Description: Your metadata headers exceed the maximum allowed metadata size.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MethodNotAllowed

  • Description: The specified method is not allowed against this resource.

  • HTTP Status Code: 405 Method Not Allowed

  • SOAP Fault Code Prefix: Client

  • Code: MissingAttachment

  • Description: A SOAP attachment was expected, but none were found.

  • HTTP Status Code: N/A

  • SOAP Fault Code Prefix: Client

  • Code: MissingContentLength

  • Description: You must provide the Content-Length HTTP header.

  • HTTP Status Code: 411 Length Required

  • SOAP Fault Code Prefix: Client

  • Code: MissingRequestBodyError

  • Description: This happens when the user sends an empty XML document as a request. The error message is, "Request body is empty."

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MissingSecurityElement

  • Description: The SOAP 1.1 request is missing a security element.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: MissingSecurityHeader

  • Description: Your request is missing a required header.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: NoLoggingStatusForKey

  • Description: There is no such thing as a logging status subresource for a key.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchBucket

  • Description: The specified bucket does not exist.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchBucketPolicy

  • Description: The specified bucket does not have a bucket policy.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchKey

  • Description: The specified key does not exist.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchLifecycleConfiguration

  • Description: The lifecycle configuration does not exist.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchUpload

  • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NoSuchVersion

  • Description: Indicates that the version ID specified in the request does not match an existing version.

  • HTTP Status Code: 404 Not Found

  • SOAP Fault Code Prefix: Client

  • Code: NotImplemented

  • Description: A header you provided implies functionality that is not implemented.

  • HTTP Status Code: 501 Not Implemented

  • SOAP Fault Code Prefix: Server

  • Code: NotSignedUp

  • Description: Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: Amazon S3

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: OperationAborted

  • Description: A conflicting conditional action is currently in progress against this resource. Try again.

  • HTTP Status Code: 409 Conflict

  • SOAP Fault Code Prefix: Client

  • Code: PermanentRedirect

  • Description: The bucket you are attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint.

  • HTTP Status Code: 301 Moved Permanently

  • SOAP Fault Code Prefix: Client

  • Code: PreconditionFailed

  • Description: At least one of the preconditions you specified did not hold.

  • HTTP Status Code: 412 Precondition Failed

  • SOAP Fault Code Prefix: Client

  • Code: Redirect

  • Description: Temporary redirect.

  • HTTP Status Code: 307 Moved Temporarily

  • SOAP Fault Code Prefix: Client

  • Code: RestoreAlreadyInProgress

  • Description: Object restore is already in progress.

  • HTTP Status Code: 409 Conflict

  • SOAP Fault Code Prefix: Client

  • Code: RequestIsNotMultiPartContent

  • Description: Bucket POST must be of the enclosure-type multipart/form-data.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: RequestTimeout

  • Description: Your socket connection to the server was not read from or written to within the timeout period.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: RequestTimeTooSkewed

  • Description: The difference between the request time and the server's time is too large.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: RequestTorrentOfBucketError

  • Description: Requesting the torrent file of a bucket is not permitted.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: SignatureDoesNotMatch

  • Description: The request signature we calculated does not match the signature you provided. Check your Amazon Web Services secret access key and signing method. For more information, see Authentication[https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html]and Authentication[https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html]for details.

  • HTTP Status Code: 403 Forbidden

  • SOAP Fault Code Prefix: Client

  • Code: ServiceUnavailable

  • Description: Service is unable to handle request.

  • HTTP Status Code: 503 Service Unavailable

  • SOAP Fault Code Prefix: Server

  • Code: SlowDown

  • Description: Reduce your request rate.

  • HTTP Status Code: 503 Slow Down

  • SOAP Fault Code Prefix: Server

  • Code: TemporaryRedirect

  • Description: You are being redirected to the bucket while DNS updates.

  • HTTP Status Code: 307 Moved Temporarily

  • SOAP Fault Code Prefix: Client

  • Code: TokenRefreshRequired

  • Description: The provided token must be refreshed.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: TooManyBuckets

  • Description: You have attempted to create more buckets than allowed.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: UnexpectedContent

  • Description: This request does not support content.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: UnresolvableGrantByEmailAddress

  • Description: The email address you provided does not match any account on record.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

  • Code: UserKeyMustBeSpecified

  • Description: The bucket POST must contain the specified field name. If it is specified, check the order of the fields.

  • HTTP Status Code: 400 Bad Request

  • SOAP Fault Code Prefix: Client

Key *string

The error key.

Message *string

The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don’t know how or don’t care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.

VersionId *string

The version ID of the error.

This functionality is not supported for directory buckets.

ErrorDetails struct

If the CreateBucketMetadataTableConfiguration request succeeds, but S3

Metadata was unable to create the table, this structure contains the error code and error message.

Structure Fields:

ErrorCode *string

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:

  • AccessDeniedCreatingResources - You don't have sufficient permissions to create the required resources. Make sure that you have s3tables:CreateNamespace , s3tables:CreateTable , s3tables:GetTable and s3tables:PutTablePolicy permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • AccessDeniedWritingToTable - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • DestinationTableNotFound - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • ServerInternalError - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • TableAlreadyExists - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • TableBucketNotFound - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

ErrorMessage *string

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:

  • AccessDeniedCreatingResources - You don't have sufficient permissions to create the required resources. Make sure that you have s3tables:CreateNamespace , s3tables:CreateTable , s3tables:GetTable and s3tables:PutTablePolicy permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • AccessDeniedWritingToTable - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • DestinationTableNotFound - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • ServerInternalError - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • TableAlreadyExists - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

  • TableBucketNotFound - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

ErrorDocument struct

The error information.

Structure Fields:

Key *string

The object key name to use when a 4XX class error occurs.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

This member is required.

EventBridgeConfiguration struct

A container for specifying the configuration for Amazon EventBridge.

Structure Fields:

(empty struct)

ExistingObjectReplication struct

Optional configuration to replicate existing source bucket objects.

This parameter is no longer supported. To replicate existing objects, see Replicating existing objects with S3 Batch Replication in the Amazon S3 User Guide.

Structure Fields:

Status ExistingObjectReplicationStatus

Specifies whether Amazon S3 replicates existing source bucket objects.

This member is required.

FilterRule struct

Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as 2023- or engineering/ . Then, you can use FilterRule to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.

Structure Fields:

Name FilterRuleName

The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see Event Notifications[https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html]in the Amazon S3 User Guide.

Value *string

The value that the filter searches for in object key names.

GetBucketMetadataTableConfigurationResult struct

The metadata table configuration for a general purpose bucket.

Structure Fields:

MetadataTableConfigurationResult *MetadataTableConfigurationResult

The metadata table configuration for a general purpose bucket.

This member is required.

Status *string

The status of the metadata table. The status values are:

  • CREATING - The metadata table is in the process of being created in the specified table bucket.

  • ACTIVE - The metadata table has been created successfully and records are being delivered to the table.

  • FAILED - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See ErrorDetails for details.

This member is required.

Error *ErrorDetails

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.

GetObjectAttributesParts struct

A collection of parts associated with a multipart upload.

Structure Fields:

IsTruncated *bool

Indicates whether the returned list of parts is truncated. A value of true indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.

MaxParts *int32

The maximum number of parts allowed in the response.

NextPartNumberMarker *string

When a list is truncated, this element specifies the last part in the list, as well as the value to use for the PartNumberMarker request parameter in a subsequent request.

PartNumberMarker *string

The marker for the current part.

Parts []ObjectPart

A container for elements related to a particular part. A response can contain zero or more Parts elements.

  • General purpose buckets - For GetObjectAttributes , if a additional checksum (including x-amz-checksum-crc32 , x-amz-checksum-crc32c , x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) isn't applied to the object specified in the request, the response doesn't return Part .

  • Directory buckets - For GetObjectAttributes , no matter whether a additional checksum is applied to the object specified in the request, the response returns Part .

TotalPartsCount *int32

The total number of parts.

GlacierJobParameters struct

Container for S3 Glacier job parameters.

Structure Fields:

Tier Tier

Retrieval tier at which the restore will be processed.

This member is required.

Grant struct

Container for grant information.

Structure Fields:

Grantee *Grantee

The person being granted permissions.

Permission Permission

Specifies the permission given to the grantee.

Grantee struct

Container for the person being granted permissions.

Structure Fields:

Type Type

Type of grantee

This member is required.

DisplayName *string

Screen name of the grantee.

EmailAddress *string

Email address of the grantee.

Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

  • US East (N. Virginia)

  • US West (N. California)

  • US West (Oregon)

  • Asia Pacific (Singapore)

  • Asia Pacific (Sydney)

  • Asia Pacific (Tokyo)

  • Europe (Ireland)

  • South America (São Paulo)

For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

ID *string

The canonical user ID of the grantee.

URI *string

URI of the grantee group.

IndexDocument struct

Container for the Suffix element.

Structure Fields:

Suffix *string

A suffix that is appended to a request that is for a directory on the website endpoint. (For example, if the suffix is index.html and you make a request to samplebucket/images/ , the data that is returned will be for the object with the key name images/index.html .) The suffix must not be empty and must not include a slash character.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

This member is required.

Initiator struct

Container element that identifies who initiated the multipart upload.

Structure Fields:

DisplayName *string

Name of the Principal.

This functionality is not supported for directory buckets.

ID *string

If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.

Directory buckets - If the principal is an Amazon Web Services account, it provides the Amazon Web Services account ID. If the principal is an IAM User, it provides a user ARN value.

InputSerialization struct

Describes the serialization format of the object.

Structure Fields:

CSV *CSVInput

Describes the serialization of a CSV-encoded object.

CompressionType CompressionType

Specifies object’s compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.

JSON *JSONInput

Specifies JSON as object’s input serialization format.

Parquet *ParquetInput

Specifies Parquet as object’s input serialization format.

IntelligentTieringAndOperator struct

A container for specifying S3 Intelligent-Tiering filters. The filters determine the subset of objects to which the rule applies.

Structure Fields:

Prefix *string

An object key name prefix that identifies the subset of objects to which the configuration applies.

Tags []Tag

All of these tags must exist in the object’s tag set in order for the configuration to apply.

IntelligentTieringConfiguration struct

Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.

For information about the S3 Intelligent-Tiering storage class, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Structure Fields:

Id *string

The ID used to identify the S3 Intelligent-Tiering configuration.

This member is required.

Status IntelligentTieringStatus

Specifies the status of the configuration.

This member is required.

Tierings []Tiering

Specifies the S3 Intelligent-Tiering storage class tier of the configuration.

This member is required.

Filter *IntelligentTieringFilter

Specifies a bucket filter. The configuration only includes objects that meet the filter’s criteria.

IntelligentTieringFilter struct

The Filter is used to identify objects that the S3 Intelligent-Tiering configuration applies to.

Structure Fields:

And *IntelligentTieringAndOperator

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

Prefix *string

An object key name prefix that identifies the subset of objects to which the rule applies.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Tag *Tag

A container of a key value name pair.

InventoryConfiguration struct

Specifies the inventory configuration for an Amazon S3 bucket. For more information, see Bucket inventory[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html]in the Amazon S3 API Reference.

Structure Fields:

Destination *InventoryDestination

Contains information about where to publish the inventory results.

This member is required.

Id *string

The ID used to identify the inventory configuration.

This member is required.

IncludedObjectVersions InventoryIncludedObjectVersions

Object versions to include in the inventory list. If set to All , the list includes all the object versions, which adds the version-related fields VersionId , IsLatest , and DeleteMarker to the list. If set to Current , the list does not contain these version-related fields.

This member is required.

IsEnabled *bool

Specifies whether the inventory is enabled or disabled. If set to True , an inventory list is generated. If set to False , no inventory list is generated.

This member is required.

Schedule *InventorySchedule

Specifies the schedule for generating inventory results.

This member is required.

Filter *InventoryFilter

Specifies an inventory filter. The inventory only includes objects that meet the filter’s criteria.

OptionalFields []InventoryOptionalField

Contains the optional fields that are included in the inventory results.

InventoryDestination struct

Specifies the inventory configuration for an Amazon S3 bucket.

Structure Fields:

S3BucketDestination *InventoryS3BucketDestination

Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

This member is required.

InventoryEncryption struct

Contains the type of server-side encryption used to encrypt the inventory results.

Structure Fields:

SSEKMS *SSEKMS

Specifies the use of SSE-KMS to encrypt delivered inventory reports.

SSES3 *SSES3

Specifies the use of SSE-S3 to encrypt delivered inventory reports.

InventoryFilter struct

Specifies an inventory filter. The inventory only includes objects that meet the filter’s criteria.

Structure Fields:

Prefix *string

The prefix that an object must have to be included in the inventory results.

This member is required.

InventoryS3BucketDestination struct

Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

Structure Fields:

Bucket *string

The Amazon Resource Name (ARN) of the bucket where inventory results will be published.

This member is required.

Format InventoryFormat

Specifies the output format of the inventory results.

This member is required.

AccountId *string

The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.

Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.

Encryption *InventoryEncryption

Contains the type of server-side encryption used to encrypt the inventory results.

Prefix *string

The prefix that is prepended to all inventory results.

InventorySchedule struct

Specifies the schedule for generating inventory results.

Structure Fields:

Frequency InventoryFrequency

Specifies how frequently inventory results are produced.

This member is required.

JSONInput struct

Specifies JSON as object’s input serialization format.

Structure Fields:

Type JSONType

The type of JSON. Valid values: Document, Lines.

JSONOutput struct

Specifies JSON as request’s output serialization format.

Structure Fields:

RecordDelimiter *string

The value used to separate individual records in the output. If no value is specified, Amazon S3 uses a newline character (‘n’).

LambdaFunctionConfiguration struct

A container for specifying the configuration for Lambda notifications.

Structure Fields:

Events []Event

The Amazon S3 bucket event for which to invoke the Lambda function. For more information, see Event Types[https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html]in the Amazon S3 User Guide.

This member is required.

LambdaFunctionArn *string

The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes when the specified event type occurs.

This member is required.

Filter *NotificationConfigurationFilter

Specifies object key name filtering rules. For information about key name filtering, see event notifications using object key name filtering[https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html]in the Amazon S3 User Guide.

Id *string

An optional unique identifier for configurations in a notification configuration. If you don’t provide one, Amazon S3 will assign an ID.

LegalHold struct

Structure Fields:

Date *time.Time
ID *string

LifecycleExpiration struct

Container for the expiration for the lifecycle of the object.

For more information see, Managing your storage lifecycle in the Amazon S3 User Guide.

Structure Fields:

Date *time.Time

Indicates at what date the object is to be moved or deleted. The date value must conform to the ISO 8601 format. The time is always midnight UTC.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

Days *int32

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

ExpiredObjectDeleteMarker *bool

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

LifecycleRule struct

A lifecycle rule for individual objects in an Amazon S3 bucket.

For more information see, Managing your storage lifecycle in the Amazon S3 User Guide.

Structure Fields:

Status ExpirationStatus

If ‘Enabled’, the rule is currently being applied. If ‘Disabled’, the rule is not currently being applied.

This member is required.

AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration[https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config]in the Amazon S3 User Guide.

Expiration *LifecycleExpiration

Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker.

Filter *LifecycleRuleFilter

The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix , Tag , or And specified. Filter is required if the LifecycleRule does not contain a Prefix element.

Tag filters are not supported for directory buckets.

ID *string

Unique identifier for the rule. The value cannot be longer than 255 characters.

NoncurrentVersionExpiration *NoncurrentVersionExpiration

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object’s lifetime.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

NoncurrentVersionTransitions []NoncurrentVersionTransition

Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to a specific storage class at a set period in the object’s lifetime.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

Prefix *string

Prefix identifying one or more objects to which the rule applies. This is no longer used; use Filter instead.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Deprecated: This member has been deprecated.

Transitions []Transition

Specifies when an Amazon S3 object transitions to a specified storage class.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

LifecycleRuleAndOperator struct

This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

Structure Fields:

ObjectSizeGreaterThan *int64

Minimum object size to which the rule applies.

ObjectSizeLessThan *int64

Maximum object size to which the rule applies.

Prefix *string

Prefix identifying one or more objects to which the rule applies.

Tags []Tag

All of these tags must exist in the object’s tag set in order for the rule to apply.

LifecycleRuleFilter struct

The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter can have exactly one of Prefix , Tag , ObjectSizeGreaterThan , ObjectSizeLessThan , or And specified. If the Filter element is left empty, the Lifecycle Rule applies to all objects in the bucket.

Structure Fields:

And *LifecycleRuleAndOperator

This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

ObjectSizeGreaterThan *int64

Minimum object size to which the rule applies.

ObjectSizeLessThan *int64

Maximum object size to which the rule applies.

Prefix *string

Prefix identifying one or more objects to which the rule applies.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Tag *Tag

This tag must exist in the object’s tag set in order for the rule to apply.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

LocationInfo struct

Specifies the location where the bucket will be created.

For directory buckets, the location type is Availability Zone or Local Zone. For more information about directory buckets, see with directory buckets[https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html]in the Amazon S3 User Guide.

This functionality is only supported by directory buckets.

Structure Fields:

Name *string

The name of the location where the bucket will be created.

For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is usw2-az1 .

Type LocationType

The type of location where the bucket will be created.

LoggingEnabled struct

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For more information, see Bucket logging[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html]in the Amazon S3 API Reference.

Structure Fields:

TargetBucket *string

Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case, you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.

This member is required.

TargetPrefix *string

A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.

This member is required.

TargetGrants []TargetGrant

Container for granting information.

Buckets that use the bucket owner enforced setting for Object Ownership don’t support target grants. For more information, see for server access log delivery[https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general]in the Amazon S3 User Guide.

TargetObjectKeyFormat *TargetObjectKeyFormat

Amazon S3 key format for log objects.

MetadataEntry struct

A metadata key-value pair to store with an object.

Structure Fields:

Name *string

Name of the object.

Value *string

Value of the object.

MetadataTableConfiguration struct

The metadata table configuration for a general purpose bucket.

Structure Fields:

S3TablesDestination *S3TablesDestination

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

This member is required.

MetadataTableConfigurationResult struct

The metadata table configuration for a general purpose bucket. The destination

table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

Structure Fields:

S3TablesDestinationResult *S3TablesDestinationResult

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

This member is required.

Metrics struct

A container specifying replication metrics-related settings enabling

replication metrics and events.

Structure Fields:

Status MetricsStatus

Specifies whether the replication metrics are enabled.

This member is required.

EventThreshold *ReplicationTimeValue

A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold event.

MetricsAndOperator struct

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

Structure Fields:

AccessPointArn *string

The access point ARN used when evaluating an AND predicate.

Prefix *string

The prefix used when evaluating an AND predicate.

Tags []Tag

The list of tags used when evaluating an AND predicate.

MetricsConfiguration struct

Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you’re updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don’t include the elements you want to keep, they are erased. For more information, see PutBucketMetricsConfiguration.

Structure Fields:

Id *string

The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.

This member is required.

Filter MetricsFilter

Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter’s criteria. A filter must be a prefix, an object tag, an access point ARN, or a conjunction (MetricsAndOperator).

MetricsFilterMemberAccessPointArn struct

The access point ARN used when evaluating a metrics filter.

Structure Fields:

Value string

MetricsFilterMemberAnd struct

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

Structure Fields:

Value MetricsAndOperator

MetricsFilterMemberPrefix struct

The prefix used when evaluating a metrics filter.

Structure Fields:

Value string

MetricsFilterMemberTag struct

The tag used when evaluating a metrics filter.

Structure Fields:

Value Tag

MultipartUpload struct

Container for the MultipartUpload for the Amazon S3 object.

Structure Fields:

ChecksumAlgorithm ChecksumAlgorithm

The algorithm that was used to create a checksum of the object.

ChecksumType ChecksumType

The checksum type that is used to calculate the object’s checksum value. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

Initiated *time.Time

Date and time at which the multipart upload was initiated.

Initiator *Initiator

Identifies who initiated the multipart upload.

Key *string

Key of the object for which the multipart upload was initiated.

Owner *Owner

Specifies the owner of the object that is part of the multipart upload.

Directory buckets - The bucket owner is returned as the object owner for all the objects.

StorageClass StorageClass

The class of storage used to store the object.

Directory buckets - Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

UploadId *string

Upload ID that identifies the multipart upload.

NoncurrentVersionExpiration struct

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object’s lifetime.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

Structure Fields:

NewerNoncurrentVersions *int32

Specifies how many noncurrent versions Amazon S3 will retain. You can specify up to 100 noncurrent versions to retain. Amazon S3 will permanently delete any additional noncurrent versions beyond the specified number to retain. For more information about noncurrent versions, see configuration elements[https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html]in the Amazon S3 User Guide.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

NoncurrentDays *int32

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. The value must be a non-zero positive integer. For information about the noncurrent days calculations, see Amazon S3 Calculates When an Object Became Noncurrent[https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations]in the Amazon S3 User Guide.

This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations.

NoncurrentVersionTransition struct

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class at a specific period in the object’s lifetime.

Structure Fields:

NewerNoncurrentVersions *int32

Specifies how many noncurrent versions Amazon S3 will retain in the same storage class before transitioning objects. You can specify up to 100 noncurrent versions to retain. Amazon S3 will transition any additional noncurrent versions beyond the specified number to retain. For more information about noncurrent versions, see configuration elements[https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html]in the Amazon S3 User Guide.

NoncurrentDays *int32

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see Amazon S3 Calculates How Long an Object Has Been Noncurrent[https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations]in the Amazon S3 User Guide.

StorageClass TransitionStorageClass

The class of storage used to store the object.

NotificationConfiguration struct

A container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off for the bucket.

Structure Fields:

EventBridgeConfiguration *EventBridgeConfiguration

Enables delivery of events to Amazon EventBridge.

LambdaFunctionConfigurations []LambdaFunctionConfiguration

Describes the Lambda functions to invoke and the events for which to invoke them.

QueueConfigurations []QueueConfiguration

The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

TopicConfigurations []TopicConfiguration

The topic to which notifications are sent and the events for which notifications are generated.

NotificationConfigurationFilter struct

Specifies object key name filtering rules. For information about key name filtering, see event notifications using object key name filtering[https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html]in the Amazon S3 User Guide.

Structure Fields:

Key *S3KeyFilter

A container for object key name prefix and suffix filtering rules.

Object struct

An object consists of data and its descriptive metadata.

Structure Fields:

ChecksumAlgorithm []ChecksumAlgorithm

The algorithm that was used to create a checksum of the object.

ChecksumType ChecksumType

The checksum type that is used to calculate the object’s checksum value. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ETag *string

The entity tag is a hash of the object. The ETag reflects changes only to the contents of an object, not its metadata. The ETag may or may not be an MD5 digest of the object data. Whether or not it is depends on how the object was created and how it is encrypted as described below:

  • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest of their object data.

  • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest of their object data.

  • If an object is created by either the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, regardless of the method of encryption. If an object is larger than 16 MB, the Amazon Web Services Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest.

Directory buckets - MD5 is not supported by directory buckets.

Key *string

The name that you assign to an object. You use the object key to retrieve the object.

LastModified *time.Time

Creation date of the object.

Owner *Owner

The owner of the object

Directory buckets - The bucket owner is returned as the object owner.

RestoreStatus *RestoreStatus

Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see with archived objects[https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html]in the Amazon S3 User Guide.

This functionality is not supported for directory buckets. Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

Size *int64

Size in bytes of the object

StorageClass ObjectStorageClass

The class of storage used to store the object.

Directory buckets - Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

ObjectIdentifier struct

Object Identifier is unique value to identify objects.

Structure Fields:

Key *string

Key name of the object.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

This member is required.

ETag *string

An entity tag (ETag) is an identifier assigned by a web server to a specific version of a resource found at a URL. This header field makes the request method conditional on ETags .

Entity tags (ETags) for S3 Express One Zone are random alphanumeric strings unique to the object.

LastModifiedTime *time.Time

If present, the objects are deleted only if its modification times matches the provided Timestamp .

This functionality is only supported for directory buckets.

Size *int64

If present, the objects are deleted only if its size matches the provided size in bytes.

This functionality is only supported for directory buckets.

VersionId *string

Version ID for the specific version of the object to delete.

This functionality is not supported for directory buckets.

ObjectLockConfiguration struct

The container element for Object Lock configuration parameters.

Structure Fields:

ObjectLockEnabled ObjectLockEnabled

Indicates whether this bucket has an Object Lock configuration enabled. Enable ObjectLockEnabled when you apply ObjectLockConfiguration to a bucket.

Rule *ObjectLockRule

Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ObjectLockConfiguration to a bucket. Bucket settings require both a mode and a period. The period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

ObjectLockLegalHold struct

A legal hold configuration for an object.

Structure Fields:

Status ObjectLockLegalHoldStatus

Indicates whether the specified object has a legal hold in place.

ObjectLockRetention struct

A Retention configuration for an object.

Structure Fields:

Mode ObjectLockRetentionMode

Indicates the Retention mode for the specified object.

RetainUntilDate *time.Time

The date on which this Object Lock Retention will expire.

ObjectLockRule struct

The container element for an Object Lock rule.

Structure Fields:

DefaultRetention *DefaultRetention

The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. Bucket settings require both a mode and a period. The period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

ObjectPart struct

A container for elements related to an individual part.

Structure Fields:

ChecksumCRC32 *string

The Base64 encoded, 32-bit CRC32 checksum of the part. This checksum is present if the multipart upload request was created with the CRC32 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC32C *string

The Base64 encoded, 32-bit CRC32C checksum of the part. This checksum is present if the multipart upload request was created with the CRC32C checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the part. This checksum is present if the multipart upload request was created with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME , to the uploaded object). For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA1 *string

The Base64 encoded, 160-bit SHA1 checksum of the part. This checksum is present if the multipart upload request was created with the SHA1 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA256 *string

The Base64 encoded, 256-bit SHA256 checksum of the part. This checksum is present if the multipart upload request was created with the SHA256 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

PartNumber *int32

The part number identifying the part. This value is a positive integer between 1 and 10,000.

Size *int64

The size of the uploaded part in bytes.

ObjectVersion struct

The version of an object.

Structure Fields:

ChecksumAlgorithm []ChecksumAlgorithm

The algorithm that was used to create a checksum of the object.

ChecksumType ChecksumType

The checksum type that is used to calculate the object’s checksum value. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ETag *string

The entity tag is an MD5 hash of that version of the object.

IsLatest *bool

Specifies whether the object is (true) or is not (false) the latest version of an object.

Key *string

The object key.

LastModified *time.Time

Date and time when the object was last modified.

Owner *Owner

Specifies the owner of the object.

RestoreStatus *RestoreStatus

Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see with archived objects[https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html]in the Amazon S3 User Guide.

Size *int64

Size in bytes of the object.

StorageClass ObjectVersionStorageClass

The class of storage used to store the object.

VersionId *string

Version ID of an object.

OutputLocation struct

Describes the location where the restore job’s output is stored.

Structure Fields:

S3 *S3Location

Describes an S3 location that will receive the results of the restore request.

OutputSerialization struct

Describes how results of the Select job are serialized.

Structure Fields:

CSV *CSVOutput

Describes the serialization of CSV-encoded Select results.

JSON *JSONOutput

Specifies JSON as request’s output serialization format.

Owner struct

Container for the owner’s display name and ID.

Structure Fields:

DisplayName *string

Container for the display name of the owner. This value is only supported in the following Amazon Web Services Regions:

  • US East (N. Virginia)

  • US West (N. California)

  • US West (Oregon)

  • Asia Pacific (Singapore)

  • Asia Pacific (Sydney)

  • Asia Pacific (Tokyo)

  • Europe (Ireland)

  • South America (São Paulo)

This functionality is not supported for directory buckets.

ID *string

Container for the ID of the owner.

OwnershipControls struct

The container element for a bucket’s ownership controls.

Structure Fields:

Rules []OwnershipControlsRule

The container element for an ownership control rule.

This member is required.

OwnershipControlsRule struct

The container element for an ownership control rule.

Structure Fields:

ObjectOwnership ObjectOwnership

The container element for object ownership for a bucket’s ownership controls.

BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the bucket-owner-full-control canned ACL.

ObjectWriter - The uploading account will own the object if the object is uploaded with the bucket-owner-full-control canned ACL.

BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer affect permissions. The bucket owner automatically owns and has full control over every object in the bucket. The bucket only accepts PUT requests that don’t specify an ACL or specify bucket owner full control ACLs (such as the predefined bucket-owner-full-control canned ACL or a custom ACL in XML format that grants the same permissions).

By default, ObjectOwnership is set to BucketOwnerEnforced and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use cases where you must control access for each object individually. For more information about S3 Object Ownership, see ownership of objects and disabling ACLs for your bucket[https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html]in the Amazon S3 User Guide.

This functionality is not supported for directory buckets. Directory buckets use the bucket owner enforced setting for S3 Object Ownership.

This member is required.

ParquetInput struct

Container for Parquet.

Structure Fields:

(empty struct)

Part struct

Container for elements related to a part.

Structure Fields:

ChecksumCRC32 *string

The Base64 encoded, 32-bit CRC32 checksum of the part. This checksum is present if the object was uploaded with the CRC32 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC32C *string

The Base64 encoded, 32-bit CRC32C checksum of the part. This checksum is present if the object was uploaded with the CRC32C checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumCRC64NVME *string

The Base64 encoded, 64-bit CRC64NVME checksum of the part. This checksum is present if the multipart upload request was created with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME , to the uploaded object). For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA1 *string

The Base64 encoded, 160-bit SHA1 checksum of the part. This checksum is present if the object was uploaded with the SHA1 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ChecksumSHA256 *string

The Base64 encoded, 256-bit SHA256 checksum of the part. This checksum is present if the object was uploaded with the SHA256 checksum algorithm. For more information, see object integrity[https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html]in the Amazon S3 User Guide.

ETag *string

Entity tag returned when the part was uploaded.

LastModified *time.Time

Date and time at which the part was uploaded.

PartNumber *int32

Part number identifying the part. This is a positive integer between 1 and 10,000.

Size *int64

Size in bytes of the uploaded part data.

PartitionedPrefix struct

Amazon S3 keys for log objects are partitioned in the following format:

[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]

PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.

Structure Fields:

PartitionDateSource PartitionDateSource

Specifies the partition date source for the partitioned prefix. PartitionDateSource can be EventTime or DeliveryTime .

For DeliveryTime , the time in the log file names corresponds to the delivery time for the log files.

For EventTime , The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.

PolicyStatus struct

The container element for a bucket’s policy status.

Structure Fields:

IsPublic *bool

The policy status for this bucket. TRUE indicates that this bucket is public. FALSE indicates that the bucket is not public.

Progress struct

This data type contains information about progress of an operation.

Structure Fields:

BytesProcessed *int64

The current number of uncompressed object bytes processed.

BytesReturned *int64

The current number of bytes of records payload data returned.

BytesScanned *int64

The current number of object bytes scanned.

ProgressEvent struct

This data type contains information about the progress event of an operation.

Structure Fields:

Details *Progress

The Progress event details.

ProtectionConfiguration struct

Structure Fields:

DefaultRetention *BucketProtectionDefaultRetention required

Default retention period for an object, if a PUT of an object does not specify a retention period this value will be converted to seconds and used.

DefaultRetention is a required field

MaximumRetention *BucketProtectionMaximumRetention required

Maximum retention period for an object, if a PUT of an object specifies a longer retention period the PUT object will fail.

MaximumRetention is a required field

MinimumRetention *BucketProtectionMinimumRetention required

Minimum retention period for an object, if a PUT of an object specifies a shorter retention period the PUT object will fail.

MinimumRetention is a required field

Status *string required enum

Retention status of a bucket.

Status is a required field

Enum Values:

(no defined enumerable values)
_ struct{}
EnablePermanentRetention *bool

Enable permanent retention for an object.

PublicAccessBlockConfiguration struct

The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see Meaning of “Public”[https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status]in the Amazon S3 User Guide.

Structure Fields:

BlockPublicAcls *bool

Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:

  • PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.

  • PUT Object calls fail if the request includes a public ACL.

  • PUT Bucket calls fail if the request includes a public ACL.

Enabling this setting doesn’t affect existing policies or ACLs.

BlockPublicPolicy *bool

Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

Enabling this setting doesn’t affect existing bucket policies.

IgnorePublicAcls *bool

Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.

Enabling this setting doesn’t affect the persistence of any existing ACLs and doesn’t prevent new public ACLs from being set.

RestrictPublicBuckets *bool

Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only Amazon Web Services service principals and authorized users within this account if the bucket has a public policy.

Enabling this setting doesn’t affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

QueueConfiguration struct

Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

Structure Fields:

Events []Event

A collection of bucket events for which to send notifications

This member is required.

QueueArn *string

The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.

This member is required.

Filter *NotificationConfigurationFilter

Specifies object key name filtering rules. For information about key name filtering, see event notifications using object key name filtering[https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html]in the Amazon S3 User Guide.

Id *string

An optional unique identifier for configurations in a notification configuration. If you don’t provide one, Amazon S3 will assign an ID.

RecordsEvent struct

The container for the records event.

Structure Fields:

Payload []byte

The byte array of partial, one or more result records. S3 Select doesn’t guarantee that a record will be self-contained in one record frame. To ensure continuous streaming of data, S3 Select might split the same record across multiple record frames instead of aggregating the results in memory. Some S3 clients (for example, the SDKforJava) handle this behavior by creating a ByteStream out of the response by default. Other clients might not handle this behavior by default. In those cases, you must aggregate the results on the client side and parse the response.

Redirect struct

Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.

Structure Fields:

HostName *string

The host name to use in the redirect request.

HttpRedirectCode *string

The HTTP redirect code to use on the response. Not required if one of the siblings is present.

Protocol Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

ReplaceKeyPrefixWith *string

The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/ , you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents . Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

ReplaceKeyWith *string

The specific object key to use in the redirect request. For example, redirect request to error.html . Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

RedirectAllRequestsTo struct

Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

Structure Fields:

HostName *string

Name of the host where requests are redirected.

This member is required.

Protocol Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

ReplicaModifications struct

A filter that you can specify for selection for modifications on replicas. Amazon S3 doesn’t replicate replica modifications by default. In the latest version of replication configuration (when Filter is specified), you can specify this element and set the status to Enabled to replicate modifications on replicas.

If you don’t specify the Filter element, Amazon S3 assumes that the replication configuration is the earlier version, V1. In the earlier version, this element is not allowed.

Structure Fields:

Status ReplicaModificationsStatus

Specifies whether Amazon S3 replicates modifications on replicas.

This member is required.

ReplicationConfiguration struct

A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.

Structure Fields:

Role *string

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see to Set Up Replication[https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html]in the Amazon S3 User Guide.

This member is not required.

Rules []ReplicationRule

A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.

This member is required.

ReplicationRule struct

Specifies which Amazon S3 objects to replicate and where to store the replicas.

Structure Fields:

Destination *Destination

A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).

This member is required.

Status ReplicationRuleStatus

Specifies whether the rule is enabled.

This member is required.

DeleteMarkerReplication *DeleteMarkerReplication

Specifies whether Amazon S3 replicates delete markers. If you specify a Filter in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration.

For more information about delete marker replication, see Basic Rule Configuration.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

ExistingObjectReplication *ExistingObjectReplication

Optional configuration to replicate existing source bucket objects.

This parameter is no longer supported. To replicate existing objects, see Replicating existing objects with S3 Batch Replication in the Amazon S3 User Guide.

Filter *ReplicationRuleFilter

A filter that identifies the subset of objects to which the replication rule applies. A Filter must specify exactly one Prefix , Tag , or an And child element.

ID *string

A unique identifier for the rule. The maximum value is 255 characters.

Prefix *string

An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Deprecated: This member has been deprecated.

Priority *int32

The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.

For more information, see Replication in the Amazon S3 User Guide.

SourceSelectionCriteria *SourceSelectionCriteria

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using a customer managed key stored in Amazon Web Services Key Management Service (SSE-KMS).

ReplicationRuleAndOperator struct

A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter.

For example:

  • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

  • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.

Structure Fields:

Prefix *string

An object key name prefix that identifies the subset of objects to which the rule applies.

Tags []Tag

An array of tags containing key and value pairs.

ReplicationRuleFilter struct

A filter that identifies the subset of objects to which the replication rule applies. A Filter must specify exactly one Prefix , Tag , or an And child element.

Structure Fields:

And *ReplicationRuleAndOperator

A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:

  • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

  • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.

Prefix *string

An object key name prefix that identifies the subset of objects to which the rule applies.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Tag *Tag

A container for specifying a tag key and value.

The rule applies only to objects that have the tag in their tag set.

ReplicationTime struct

A container specifying S3 Replication Time Control (S3 RTC) related

information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

Structure Fields:

Status ReplicationTimeStatus

Specifies whether the replication time is enabled.

This member is required.

Time *ReplicationTimeValue

A container specifying the time by which replication should be complete for all objects and operations on objects.

This member is required.

ReplicationTimeValue struct

A container specifying the time value for S3 Replication Time Control (S3 RTC)

and replication metrics EventThreshold .

Structure Fields:

Minutes *int32

Contains an integer specifying time in minutes.

Valid value: 15

RequestPaymentConfiguration struct

Container for Payer.

Structure Fields:

Payer Payer

Specifies who pays for the download and request fees.

This member is required.

RequestProgress struct

Container for specifying if periodic QueryProgress messages should be sent.

Structure Fields:

Enabled *bool

Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.

RestoreRequest struct

Container for restore job parameters.

Structure Fields:

Days *int32

Lifetime of the active copy in days. Do not use with restores that specify OutputLocation .

The Days element is required for regular restores, and must not be provided for select requests.

Description *string

The optional description for the job.

GlacierJobParameters *GlacierJobParameters

S3 Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation .

OutputLocation *OutputLocation

Describes the location where the restore job’s output is stored.

SelectParameters *SelectParameters

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more

Describes the parameters for Select job types.

Tier Tier

Retrieval tier at which the restore will be processed.

Type RestoreRequestType

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more

Type of restore request.

RestoreStatus struct

Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see with archived objects[https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html]in the Amazon S3 User Guide.

This functionality is not supported for directory buckets. Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

Structure Fields:

IsRestoreInProgress *bool

Specifies whether the object is currently being restored. If the object restoration is in progress, the header returns the value TRUE . For example:

x-amz-optional-object-attributes: IsRestoreInProgress="true"

If the object restoration has completed, the header returns the value FALSE . For example:

x-amz-optional-object-attributes: IsRestoreInProgress="false", RestoreExpiryDate="2012-12-21T00:00:00.000Z"

If the object hasn’t been restored, there is no header response.

RestoreExpiryDate *time.Time

Indicates when the restored copy will expire. This value is populated only if the object has already been restored. For example:

x-amz-optional-object-attributes: IsRestoreInProgress="false", RestoreExpiryDate="2012-12-21T00:00:00.000Z"

RoutingRule struct

Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see advanced conditional redirects[https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects]in the Amazon S3 User Guide.

Structure Fields:

Redirect *Redirect

Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.

This member is required.

Condition *Condition

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

S3KeyFilter struct

A container for object key name prefix and suffix filtering rules.

Structure Fields:

FilterRules []FilterRule

A list of containers for the key-value pair that defines the criteria for the filter rule.

S3Location struct

Describes an Amazon S3 location that will receive the results of the restore request.

Structure Fields:

BucketName *string

The name of the bucket where the restore results will be placed.

This member is required.

Prefix *string

The prefix that is prepended to the restore results for this request.

This member is required.

AccessControlList []Grant

A list of grants that control access to the staged results.

CannedACL ObjectCannedACL

The canned ACL to apply to the restore results.

Encryption *Encryption

Contains the type of server-side encryption used.

StorageClass StorageClass

The class of storage used to store the restore results.

Tagging *Tagging

The tag-set that is applied to the restore results.

UserMetadata []MetadataEntry

A list of metadata to store with the restore results in S3.

S3TablesDestination struct

The destination information for the metadata table configuration. The

destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

Structure Fields:

TableBucketArn *string

The Amazon Resource Name (ARN) for the table bucket that’s specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

This member is required.

TableName *string

The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

This member is required.

S3TablesDestinationResult struct

The destination information for the metadata table configuration. The

destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

Structure Fields:

TableArn *string

The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

This member is required.

TableBucketArn *string

The Amazon Resource Name (ARN) for the table bucket that’s specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

This member is required.

TableName *string

The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

This member is required.

TableNamespace *string

The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata .

This member is required.

SSEKMS struct

Specifies the use of SSE-KMS to encrypt delivered inventory reports.

Structure Fields:

KeyId *string

Specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key to use for encrypting inventory reports.

This member is required.

SSES3 struct

Specifies the use of SSE-S3 to encrypt delivered inventory reports.

Structure Fields:

(empty struct)

ScanRange struct

Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

Structure Fields:

End *int64

Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, 50 means scan the last 50 bytes.

Start *int64

Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only start is supplied, it means scan from that point to the end of the file. For example, 50 means scan from byte 50 until the end of the file.

SelectObjectContentEventStreamMemberCont struct

The Continuation Event.

Structure Fields:

Value ContinuationEvent

SelectObjectContentEventStreamMemberEnd struct

The End Event.

Structure Fields:

Value EndEvent

SelectObjectContentEventStreamMemberProgress struct

The Progress Event.

Structure Fields:

Value ProgressEvent

SelectObjectContentEventStreamMemberRecords struct

The Records Event.

Structure Fields:

Value RecordsEvent

SelectObjectContentEventStreamMemberStats struct

The Stats Event.

Structure Fields:

Value StatsEvent

SelectParameters struct

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more

Describes the parameters for Select job types.

Learn How to optimize querying your data in Amazon S3 using Amazon Athena, S3 Object Lambda, or client-side filtering.

Structure Fields:

Expression *string

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more

The expression that is used to query the object.

This member is required.

ExpressionType ExpressionType

The type of the provided expression (for example, SQL).

This member is required.

InputSerialization *InputSerialization

Describes the serialization format of the object.

This member is required.

OutputSerialization *OutputSerialization

Describes how the results of the Select job are serialized.

This member is required.

ServerSideEncryptionByDefault struct

Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn’t specify any server-side encryption, this default encryption will be applied. For more information, see PutBucketEncryption.

  • General purpose buckets - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key ( aws/s3 ) in your Amazon Web Services account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS.

  • Directory buckets - Your SSE-KMS configuration can only support 1 managed key[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk]per directory bucket's lifetime. The Amazon Web Services managed key isn't supported.

  • Directory buckets - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.

Structure Fields:

SSEAlgorithm ServerSideEncryption

Server-side encryption algorithm to use for the default encryption.

For directory buckets, there are only two supported values for server-side encryption: AES256 and aws:kms .

This member is required.

KMSMasterKeyID *string

Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption.

  • General purpose buckets - This parameter is allowed if and only if SSEAlgorithm is set to aws:kms or aws:kms:dsse .

  • Directory buckets - This parameter is allowed if and only if SSEAlgorithm is set to aws:kms .

You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Key Alias: alias/alias-name

If you are using encryption with cross-account or Amazon Web Services service operations, you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

  • General purpose buckets - If you’re specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that’s encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.

  • Directory buckets - When you specify an customer managed key[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk]for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

Amazon S3 only supports symmetric encryption KMS keys. For more information, see keys in Amazon Web Services KMS[https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html]in the Amazon Web Services Key Management Service Developer Guide.

ServerSideEncryptionConfiguration struct

Specifies the default server-side-encryption configuration.

Structure Fields:

Rules []ServerSideEncryptionRule

Container for information about a particular server-side encryption configuration rule.

This member is required.

ServerSideEncryptionRule struct

Specifies the default server-side encryption configuration.

  • General purpose buckets - If you’re specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that’s encrypted with a KMS key that belongs to the requester, and not the bucket owner.

  • Directory buckets - When you specify an customer managed key[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk]for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

Structure Fields:

ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault

Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn’t specify any server-side encryption, this default encryption will be applied.

BucketKeyEnabled *bool

Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key.

  • General purpose buckets - By default, S3 Bucket Key is not enabled. For more information, see S3 Bucket Keys[https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html]in the Amazon S3 User Guide.

  • Directory buckets - S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren’t supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

SessionCredentials struct

The established temporary security credentials of the session.

Directory buckets - These session credentials are only supported for the authentication and authorization of Zonal endpoint API operations on directory buckets.

Structure Fields:

AccessKeyId *string

A unique identifier that’s associated with a secret access key. The access key ID and the secret access key are used together to sign programmatic Amazon Web Services requests cryptographically.

This member is required.

Expiration *time.Time

Temporary security credentials expire after a specified interval. After temporary credentials expire, any calls that you make with those credentials will fail. So you must generate a new set of temporary credentials. Temporary credentials cannot be extended or refreshed beyond the original specified interval.

This member is required.

SecretAccessKey *string

A key that’s used with the access key ID to cryptographically sign programmatic Amazon Web Services requests. Signing a request identifies the sender and prevents the request from being altered.

This member is required.

SessionToken *string

A part of the temporary security credentials. The session token is used to validate the temporary security credentials.

This member is required.

SimplePrefix struct

To use simple format for S3 keys for log objects, set SimplePrefix to an empty object.

[DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]

Structure Fields:

(empty struct)

SourceSelectionCriteria struct

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using a customer managed key stored in Amazon Web Services Key Management Service (SSE-KMS).

Structure Fields:

ReplicaModifications *ReplicaModifications

A filter that you can specify for selections for modifications on replicas. Amazon S3 doesn’t replicate replica modifications by default. In the latest version of replication configuration (when Filter is specified), you can specify this element and set the status to Enabled to replicate modifications on replicas.

If you don’t specify the Filter element, Amazon S3 assumes that the replication configuration is the earlier version, V1. In the earlier version, this element is not allowed

SseKmsEncryptedObjects *SseKmsEncryptedObjects

A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

SseKmsEncryptedObjects struct

A container for filter information for the selection of S3 objects encrypted with Amazon Web Services KMS.

Structure Fields:

Status SseKmsEncryptedObjectsStatus

Specifies whether Amazon S3 replicates objects created with server-side encryption using an Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

This member is required.

Stats struct

Container for the stats details.

Structure Fields:

BytesProcessed *int64

The total number of uncompressed object bytes processed.

BytesReturned *int64

The total number of bytes of records payload data returned.

BytesScanned *int64

The total number of object bytes scanned.

StatsEvent struct

Container for the Stats Event.

Structure Fields:

Details *Stats

The Stats event details.

StorageClassAnalysis struct

Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.

Structure Fields:

DataExport *StorageClassAnalysisDataExport

Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.

StorageClassAnalysisDataExport struct

Container for data related to the storage class analysis for an Amazon S3 bucket for export.

Structure Fields:

Destination *AnalyticsExportDestination

The place to store the data for an analysis.

This member is required.

OutputSchemaVersion StorageClassAnalysisSchemaVersion

The version of the output schema to use when exporting data. Must be V_1 .

This member is required.

Tag struct

A container of a key value name pair.

Structure Fields:

Key *string

Name of the object key.

This member is required.

Value *string

Value of the tag.

This member is required.

Tagging struct

Container for TagSet elements.

Structure Fields:

TagSet []Tag

A collection for a set of tags

This member is required.

TargetGrant struct

Container for granting information.

Buckets that use the bucket owner enforced setting for Object Ownership don’t support target grants. For more information, see server access log delivery[https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general]in the Amazon S3 User Guide.

Structure Fields:

Grantee *Grantee

Container for the person being granted permissions.

Permission BucketLogsPermission

Logging permissions assigned to the grantee for the bucket.

TargetObjectKeyFormat struct

Amazon S3 key format for log objects. Only one format, PartitionedPrefix or SimplePrefix, is allowed.

Structure Fields:

PartitionedPrefix *PartitionedPrefix

Partitioned S3 key for log objects.

SimplePrefix *SimplePrefix

To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.

Tiering struct

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.

Structure Fields:

AccessTier IntelligentTieringAccessTier

S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.

This member is required.

Days *int32

The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).

This member is required.

TopicConfiguration struct

A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

Structure Fields:

Events []Event

The Amazon S3 bucket event about which to send notifications. For more information, see Event Types[https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html]in the Amazon S3 User Guide.

This member is required.

TopicArn *string

The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.

This member is required.

Filter *NotificationConfigurationFilter

Specifies object key name filtering rules. For information about key name filtering, see event notifications using object key name filtering[https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html]in the Amazon S3 User Guide.

Id *string

An optional unique identifier for configurations in a notification configuration. If you don’t provide one, Amazon S3 will assign an ID.

Transition struct

Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see Objects Using Amazon S3 Lifecycle[https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html]in the Amazon S3 User Guide.

Structure Fields:

Date *time.Time

Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.

Days *int32

Indicates the number of days after creation when objects are transitioned to the specified storage class. If the specified storage class is INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE , valid values are 0 or positive integers. If the specified storage class is STANDARD_IA or ONEZONE_IA , valid values are positive integers greater than 30 . Be aware that some storage classes have a minimum storage duration and that you’re charged for transitioning objects before their minimum storage duration. For more information, see and considerations for transitions[https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints]in the Amazon S3 User Guide.

StorageClass TransitionStorageClass

The storage class to which you want the object to transition.

UnknownUnionMember struct

UnknownUnionMember is returned when a union member is returned over the wire, but has an unknown tag.

Structure Fields:

Tag string
Value []byte

VersioningConfiguration struct

Describes the versioning state of an Amazon S3 bucket. For more information, see Bucket versioning[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html]in the Amazon S3 API Reference.

Structure Fields:

MFADelete MFADelete

Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

Status BucketVersioningStatus

The versioning state of the bucket.

WebsiteConfiguration struct

Specifies website configuration parameters for an Amazon S3 bucket.

Structure Fields:

ErrorDocument *ErrorDocument

The name of the error document for the website.

IndexDocument *IndexDocument

The name of the index document for the website.

RedirectAllRequestsTo *RedirectAllRequestsTo

The redirect behavior for every request to this bucket’s website endpoint.

If you specify this property, you can’t specify any other property.

RoutingRules []RoutingRule

Rules that define when a redirect is applied and the redirect behavior.

Function Details

func RetentionDirective_Values() []string

RetentionDirective_Values returns all elements of the RetentionDirective enum



1484
1485
1486
1487
1488
1489
// File 'service/s3/types/enums.go', line 1484

func RetentionDirective_Values() []string { return []string{ RetentionDirectiveCopy, RetentionDirectiveReplace, } }