Package: github.com/aws/aws-sdk-go-v2/service/s3/types
The types package contains all data structures, enumerations, and error types used by the AWS SDK for Go v2 S3 service. This package includes 257 exported types organized into enumerations (72 string-based types), data structures (172 structs), union types (3 types), and error types (13 types).
All enumeration types in the S3 types package are string-based types with associated constants and a Values() method that returns all known values.
type AnalyticsS3ExportFileFormat stringFile format for analytics export.
Constants:
AnalyticsS3ExportFileFormatCsv = "CSV" - CSV formattype ArchiveStatus stringArchive access status for objects stored in Glacier tiers.
Constants:
ArchiveStatusArchiveAccess = "ARCHIVE_ACCESS" - Archive access tierArchiveStatusDeepArchiveAccess = "DEEP_ARCHIVE_ACCESS" - Deep archive access tiertype StorageClass stringStorage class for objects and buckets.
Constants:
StorageClassStandard = "STANDARD" - Standard storage classStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" - Reduced redundancy storage (deprecated)StorageClassStandardIa = "STANDARD_IA" - Standard Infrequent AccessStorageClassOnezoneIa = "ONEZONE_IA" - One Zone Infrequent AccessStorageClassIntelligentTiering = "INTELLIGENT_TIERING" - Intelligent-TieringStorageClassGlacier = "GLACIER" - Glacier Flexible RetrievalStorageClassDeepArchive = "DEEP_ARCHIVE" - Glacier Deep ArchiveStorageClassOutposts = "OUTPOSTS" - S3 on OutpostsStorageClassGlacierIr = "GLACIER_IR" - Glacier Instant RetrievalStorageClassSnow = "SNOW" - Snow storage classStorageClassExpressOnezone = "EXPRESS_ONEZONE" - S3 Express One ZoneStorageClassFsxOpenzfs = "FSX_OPENZFS" - FSx for OpenZFStype ObjectStorageClass stringStorage class for individual objects.
Constants:
ObjectStorageClassStandard = "STANDARD"ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"ObjectStorageClassGlacier = "GLACIER"ObjectStorageClassStandardIa = "STANDARD_IA"ObjectStorageClassOnezoneIa = "ONEZONE_IA"ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"ObjectStorageClassOutposts = "OUTPOSTS"ObjectStorageClassGlacierIr = "GLACIER_IR"ObjectStorageClassSnow = "SNOW"ObjectStorageClassExpressOnezone = "EXPRESS_ONEZONE"ObjectStorageClassFsxOpenzfs = "FSX_OPENZFS"type ObjectVersionStorageClass stringStorage class for object versions.
Constants:
ObjectVersionStorageClassStandard = "STANDARD"type TransitionStorageClass stringTarget storage class for lifecycle transitions.
Constants:
TransitionStorageClassGlacier = "GLACIER"TransitionStorageClassStandardIa = "STANDARD_IA"TransitionStorageClassOnezoneIa = "ONEZONE_IA"TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"TransitionStorageClassGlacierIr = "GLACIER_IR"type IntelligentTieringAccessTier stringAccess tier for Intelligent-Tiering storage class.
Constants:
IntelligentTieringAccessTierArchiveAccess = "ARCHIVE_ACCESS"IntelligentTieringAccessTierDeepArchiveAccess = "DEEP_ARCHIVE_ACCESS"type IntelligentTieringStatus stringStatus of Intelligent-Tiering configuration.
Constants:
IntelligentTieringStatusEnabled = "Enabled"IntelligentTieringStatusDisabled = "Disabled"type Tier stringGlacier retrieval tier for restore operations.
Constants:
TierStandard = "Standard" - Standard retrieval (3-5 hours)TierBulk = "Bulk" - Bulk retrieval (5-12 hours, lowest cost)TierExpedited = "Expedited" - Expedited retrieval (1-5 minutes, highest cost)type TransitionDefaultMinimumObjectSize stringDefault minimum object size for lifecycle transitions.
Constants:
TransitionDefaultMinimumObjectSizeVariesByStorageClass = "varies_by_storage_class"TransitionDefaultMinimumObjectSizeAllStorageClasses128k = "all_storage_classes_128K"type ServerSideEncryption stringServer-side encryption type for objects.
Constants:
ServerSideEncryptionAes256 = "AES256" - S3-managed encryption (SSE-S3)ServerSideEncryptionAwsFsx = "aws:fsx" - FSx encryptionServerSideEncryptionAwsKms = "aws:kms" - KMS-managed encryption (SSE-KMS)ServerSideEncryptionAwsKmsDsse = "aws:kms:dsse" - Dual-layer server-side encryption with KMStype EncryptionType stringEncryption type for blocking or allowing uploads.
Constants:
EncryptionTypeNone = "NONE" - No encryptionEncryptionTypeSseC = "SSE-C" - Server-side encryption with customer-provided keystype SseKmsEncryptedObjectsStatus stringStatus for SSE-KMS encrypted objects in replication.
Constants:
SseKmsEncryptedObjectsStatusEnabled = "Enabled"SseKmsEncryptedObjectsStatusDisabled = "Disabled"type TableSseAlgorithm stringServer-side encryption algorithm for S3 Tables.
Constants:
TableSseAlgorithmAwsKms = "aws:kms"TableSseAlgorithmAes256 = "AES256"type Permission stringACL permission for grantees.
Constants:
PermissionFullControl = "FULL_CONTROL" - Full control over the object/bucketPermissionWrite = "WRITE" - Write access (buckets only)PermissionWriteAcp = "WRITE_ACP" - Write access to ACLPermissionRead = "READ" - Read accessPermissionReadAcp = "READ_ACP" - Read access to ACLtype Type stringGrantee type for ACL permissions.
Constants:
TypeCanonicalUser = "CanonicalUser" - AWS account canonical userTypeAmazonCustomerByEmail = "AmazonCustomerByEmail" - Customer identified by email (deprecated)TypeGroup = "Group" - Predefined grouptype BucketCannedACL stringCanned ACL for buckets.
Constants:
BucketCannedACLPrivate = "private" - Owner has FULL_CONTROLBucketCannedACLPublicRead = "public-read" - Owner has FULL_CONTROL, AllUsers have READBucketCannedACLPublicReadWrite = "public-read-write" - Owner has FULL_CONTROL, AllUsers have READ and WRITEBucketCannedACLAuthenticatedRead = "authenticated-read" - Owner has FULL_CONTROL, AuthenticatedUsers have READtype ObjectCannedACL stringCanned ACL for objects.
Constants:
ObjectCannedACLPrivate = "private"ObjectCannedACLPublicRead = "public-read"ObjectCannedACLPublicReadWrite = "public-read-write"ObjectCannedACLAuthenticatedRead = "authenticated-read"ObjectCannedACLAwsExecRead = "aws-exec-read" - Amazon EC2 has READ accessObjectCannedACLBucketOwnerRead = "bucket-owner-read" - Bucket owner has READ accessObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control" - Bucket owner has FULL_CONTROLtype ObjectOwnership stringObject ownership setting for buckets.
Constants:
ObjectOwnershipBucketOwnerPreferred = "BucketOwnerPreferred" - Bucket owner preferredObjectOwnershipObjectWriter = "ObjectWriter" - Object writer owns the objectObjectOwnershipBucketOwnerEnforced = "BucketOwnerEnforced" - Bucket owner enforced (ACLs disabled)type BucketLogsPermission stringPermission for log delivery.
Constants:
BucketLogsPermissionFullControl = "FULL_CONTROL"BucketLogsPermissionRead = "READ"BucketLogsPermissionWrite = "WRITE"type OwnerOverride stringOwner override for replication.
Constants:
OwnerOverrideDestination = "Destination" - Destination bucket ownertype BucketVersioningStatus stringVersioning status for buckets.
Constants:
BucketVersioningStatusEnabled = "Enabled" - Versioning enabledBucketVersioningStatusSuspended = "Suspended" - Versioning suspendedtype MFADelete stringMFA delete setting.
Constants:
MFADeleteEnabled = "Enabled"MFADeleteDisabled = "Disabled"type MFADeleteStatus stringMFA delete status.
Constants:
MFADeleteStatusEnabled = "Enabled"MFADeleteStatusDisabled = "Disabled"type ExpirationState stringExpiration state for lifecycle rules.
Constants:
ExpirationStateEnabled = "ENABLED"ExpirationStateDisabled = "DISABLED"type ExpirationStatus stringExpiration status for lifecycle rules.
Constants:
ExpirationStatusEnabled = "Enabled"ExpirationStatusDisabled = "Disabled"type ReplicationStatus stringReplication status for objects.
Constants:
ReplicationStatusComplete = "COMPLETE" - Replication complete (deprecated)ReplicationStatusPending = "PENDING" - Replication pendingReplicationStatusFailed = "FAILED" - Replication failedReplicationStatusReplica = "REPLICA" - Object is a replicaReplicationStatusCompleted = "COMPLETED" - Replication completedtype ReplicationRuleStatus stringStatus of replication rule.
Constants:
ReplicationRuleStatusEnabled = "Enabled"ReplicationRuleStatusDisabled = "Disabled"type DeleteMarkerReplicationStatus stringDelete marker replication status.
Constants:
DeleteMarkerReplicationStatusEnabled = "Enabled"DeleteMarkerReplicationStatusDisabled = "Disabled"type ExistingObjectReplicationStatus stringExisting object replication status.
Constants:
ExistingObjectReplicationStatusEnabled = "Enabled"ExistingObjectReplicationStatusDisabled = "Disabled"type ReplicaModificationsStatus stringReplica modifications status.
Constants:
ReplicaModificationsStatusEnabled = "Enabled"ReplicaModificationsStatusDisabled = "Disabled"type ReplicationTimeStatus stringReplication time control status.
Constants:
ReplicationTimeStatusEnabled = "Enabled"ReplicationTimeStatusDisabled = "Disabled"type MetricsStatus stringReplication metrics status.
Constants:
MetricsStatusEnabled = "Enabled"MetricsStatusDisabled = "Disabled"type RequestCharged stringIndicates that the requester was charged for the request.
Constants:
RequestChargedRequester = "requester"type RequestPayer stringRequest payer for requester pays buckets.
Constants:
RequestPayerRequester = "requester"type Payer stringPayer configuration for buckets.
Constants:
PayerRequester = "Requester"PayerBucketOwner = "BucketOwner"type ChecksumMode stringChecksum validation mode.
Constants:
ChecksumModeEnabled = "ENABLED" - Validate checksumstype ChecksumAlgorithm stringChecksum algorithm for data integrity validation.
Constants:
ChecksumAlgorithmCrc32 = "CRC32" - CRC32 checksumChecksumAlgorithmCrc32c = "CRC32C" - CRC32C checksumChecksumAlgorithmSha1 = "SHA1" - SHA1 hashChecksumAlgorithmSha256 = "SHA256" - SHA256 hashChecksumAlgorithmCrc64nvme = "CRC64NVME" - CRC64NVME checksumtype ChecksumType stringType of checksum calculated for the object.
Constants:
ChecksumTypeComposite = "COMPOSITE" - Composite checksum from multipart uploadChecksumTypeFullObject = "FULL_OBJECT" - Full object checksumtype Event stringS3 event types for notifications.
Constants:
EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"EventS3ObjectCreated = "s3:ObjectCreated:*" - Any object created eventEventS3ObjectCreatedPut = "s3:ObjectCreated:Put"EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"EventS3ObjectRemoved = "s3:ObjectRemoved:*" - Any object removed eventEventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"EventS3ObjectRestore = "s3:ObjectRestore:*" - Any object restore eventEventS3ObjectRestorePost = "s3:ObjectRestore:Post"EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"EventS3ObjectRestoreDelete = "s3:ObjectRestore:Delete"EventS3Replication = "s3:Replication:*" - Any replication eventEventS3ReplicationOperationFailedReplication = "s3:Replication:OperationFailedReplication"EventS3ReplicationOperationNotTracked = "s3:Replication:OperationNotTracked"EventS3ReplicationOperationMissedThreshold = "s3:Replication:OperationMissedThreshold"EventS3ReplicationOperationReplicatedAfterThreshold = "s3:Replication:OperationReplicatedAfterThreshold"EventS3LifecycleTransition = "s3:LifecycleTransition"EventS3IntelligentTiering = "s3:IntelligentTiering"EventS3ObjectAclPut = "s3:ObjectAcl:Put"EventS3LifecycleExpiration = "s3:LifecycleExpiration:*" - Any lifecycle expiration eventEventS3LifecycleExpirationDelete = "s3:LifecycleExpiration:Delete"EventS3LifecycleExpirationDeleteMarkerCreated = "s3:LifecycleExpiration:DeleteMarkerCreated"EventS3ObjectTagging = "s3:ObjectTagging:*" - Any object tagging eventEventS3ObjectTaggingPut = "s3:ObjectTagging:Put"EventS3ObjectTaggingDelete = "s3:ObjectTagging:Delete"type EncodingType stringEncoding type for object keys in responses.
Constants:
EncodingTypeUrl = "url" - URL encodingtype CompressionType stringCompression type for data.
Constants:
CompressionTypeNone = "NONE" - No compressionCompressionTypeGzip = "GZIP" - GZIP compressionCompressionTypeBzip2 = "BZIP2" - BZIP2 compressiontype Protocol stringProtocol for website redirects.
Constants:
ProtocolHttp = "http"ProtocolHttps = "https"type FilterRuleName stringFilter rule name for notification configurations.
Constants:
FilterRuleNamePrefix = "prefix" - Filter by object key prefixFilterRuleNameSuffix = "suffix" - Filter by object key suffixtype FileHeaderInfo stringCSV file header information.
Constants:
FileHeaderInfoUse = "USE" - Use header for column namesFileHeaderInfoIgnore = "IGNORE" - Ignore header lineFileHeaderInfoNone = "NONE" - No header linetype JSONType stringJSON input/output type.
Constants:
JSONTypeDocument = "DOCUMENT" - JSON documentJSONTypeLines = "LINES" - JSON lines formattype QuoteFields stringCSV quote fields setting.
Constants:
QuoteFieldsAlways = "ALWAYS" - Always quote fieldsQuoteFieldsAsneeded = "ASNEEDED" - Quote fields as neededtype ExpressionType stringExpression type for S3 Select.
Constants:
ExpressionTypeSql = "SQL" - SQL expressiontype RestoreRequestType stringType of restore request.
Constants:
RestoreRequestTypeSelect = "SELECT" - SELECT restore requesttype ObjectLockEnabled stringObject Lock enabled status.
Constants:
ObjectLockEnabledEnabled = "Enabled"type ObjectLockLegalHoldStatus stringLegal hold status for objects.
Constants:
ObjectLockLegalHoldStatusOn = "ON" - Legal hold is onObjectLockLegalHoldStatusOff = "OFF" - Legal hold is offtype ObjectLockMode stringObject Lock mode.
Constants:
ObjectLockModeGovernance = "GOVERNANCE" - Governance modeObjectLockModeCompliance = "COMPLIANCE" - Compliance modetype ObjectLockRetentionMode stringObject Lock retention mode.
Constants:
ObjectLockRetentionModeGovernance = "GOVERNANCE"ObjectLockRetentionModeCompliance = "COMPLIANCE"type BucketAccelerateStatus stringTransfer acceleration status.
Constants:
BucketAccelerateStatusEnabled = "Enabled"BucketAccelerateStatusSuspended = "Suspended"type BucketAbacStatus stringABAC status for buckets.
Constants:
BucketAbacStatusEnabled = "Enabled"BucketAbacStatusDisabled = "Disabled"type BucketLocationConstraint stringBucket location constraint (AWS region).
Constants:
BucketLocationConstraintAfSouth1 = "af-south-1" - Africa (Cape Town)BucketLocationConstraintApEast1 = "ap-east-1" - Asia Pacific (Hong Kong)BucketLocationConstraintApNortheast1 = "ap-northeast-1" - Asia Pacific (Tokyo)BucketLocationConstraintApNortheast2 = "ap-northeast-2" - Asia Pacific (Seoul)BucketLocationConstraintApNortheast3 = "ap-northeast-3" - Asia Pacific (Osaka)BucketLocationConstraintApSouth1 = "ap-south-1" - Asia Pacific (Mumbai)BucketLocationConstraintApSouth2 = "ap-south-2" - Asia Pacific (Hyderabad)BucketLocationConstraintApSoutheast1 = "ap-southeast-1" - Asia Pacific (Singapore)BucketLocationConstraintApSoutheast2 = "ap-southeast-2" - Asia Pacific (Sydney)BucketLocationConstraintApSoutheast3 = "ap-southeast-3" - Asia Pacific (Jakarta)BucketLocationConstraintApSoutheast4 = "ap-southeast-4" - Asia Pacific (Melbourne)BucketLocationConstraintApSoutheast5 = "ap-southeast-5" - Asia Pacific (Auckland)BucketLocationConstraintCaCentral1 = "ca-central-1" - Canada (Central)BucketLocationConstraintCnNorth1 = "cn-north-1" - China (Beijing)BucketLocationConstraintCnNorthwest1 = "cn-northwest-1" - China (Ningxia)BucketLocationConstraintEu = "EU" - Europe (legacy)BucketLocationConstraintEuCentral1 = "eu-central-1" - Europe (Frankfurt)BucketLocationConstraintEuCentral2 = "eu-central-2" - Europe (Zurich)BucketLocationConstraintEuNorth1 = "eu-north-1" - Europe (Stockholm)BucketLocationConstraintEuSouth1 = "eu-south-1" - Europe (Milan)BucketLocationConstraintEuSouth2 = "eu-south-2" - Europe (Spain)BucketLocationConstraintEuWest1 = "eu-west-1" - Europe (Ireland)BucketLocationConstraintEuWest2 = "eu-west-2" - Europe (London)BucketLocationConstraintEuWest3 = "eu-west-3" - Europe (Paris)BucketLocationConstraintIlCentral1 = "il-central-1" - Israel (Tel Aviv)BucketLocationConstraintMeCentral1 = "me-central-1" - Middle East (UAE)BucketLocationConstraintMeSouth1 = "me-south-1" - Middle East (Bahrain)BucketLocationConstraintSaEast1 = "sa-east-1" - South America (São Paulo)BucketLocationConstraintUsEast2 = "us-east-2" - US East (Ohio)BucketLocationConstraintUsGovEast1 = "us-gov-east-1" - AWS GovCloud (US-East)BucketLocationConstraintUsGovWest1 = "us-gov-west-1" - AWS GovCloud (US-West)BucketLocationConstraintUsWest1 = "us-west-1" - US West (N. California)BucketLocationConstraintUsWest2 = "us-west-2" - US West (Oregon)type BucketType stringType of bucket.
Constants:
BucketTypeDirectory = "Directory" - Directory bucket (S3 Express)type DataRedundancy stringData redundancy configuration for directory buckets.
Constants:
DataRedundancySingleAvailabilityZone = "SingleAvailabilityZone"DataRedundancySingleLocalZone = "SingleLocalZone"type LocationType stringLocation type for directory buckets.
Constants:
LocationTypeAvailabilityZone = "AvailabilityZone"LocationTypeLocalZone = "LocalZone"type SessionMode stringSession mode for S3 Express directory buckets.
Constants:
SessionModeReadOnly = "ReadOnly" - Read-only sessionSessionModeReadWrite = "ReadWrite" - Read-write sessiontype ObjectAttributes stringObject attributes to retrieve.
Constants:
ObjectAttributesEtag = "ETag" - Entity tagObjectAttributesChecksum = "Checksum" - Checksum valuesObjectAttributesObjectParts = "ObjectParts" - Object parts informationObjectAttributesStorageClass = "StorageClass" - Storage classObjectAttributesObjectSize = "ObjectSize" - Object sizetype OptionalObjectAttributes stringOptional object attributes.
Constants:
OptionalObjectAttributesRestoreStatus = "RestoreStatus" - Restore statustype MetadataDirective stringMetadata directive for copy operations.
Constants:
MetadataDirectiveCopy = "COPY" - Copy metadata from sourceMetadataDirectiveReplace = "REPLACE" - Replace with new metadatatype TaggingDirective stringTagging directive for copy operations.
Constants:
TaggingDirectiveCopy = "COPY" - Copy tags from sourceTaggingDirectiveReplace = "REPLACE" - Replace with new tagstype PartitionDateSource stringDate source for partitioned logging.
Constants:
PartitionDateSourceEventTime = "EventTime" - Use event timePartitionDateSourceDeliveryTime = "DeliveryTime" - Use delivery timetype InventoryFormat stringOutput format for inventory reports.
Constants:
InventoryFormatCsv = "CSV" - CSV formatInventoryFormatOrc = "ORC" - ORC formatInventoryFormatParquet = "Parquet" - Parquet formattype InventoryIncludedObjectVersions stringObject versions to include in inventory.
Constants:
InventoryIncludedObjectVersionsAll = "All" - All versionsInventoryIncludedObjectVersionsCurrent = "Current" - Current versions onlytype InventoryFrequency stringFrequency for inventory reports.
Constants:
InventoryFrequencyDaily = "Daily" - Daily reportsInventoryFrequencyWeekly = "Weekly" - Weekly reportstype InventoryOptionalField stringOptional fields to include in inventory reports.
Constants:
InventoryOptionalFieldSize = "Size"InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"InventoryOptionalFieldStorageClass = "StorageClass"InventoryOptionalFieldETag = "ETag"InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"InventoryOptionalFieldReplicationStatus = "ReplicationStatus"InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"InventoryOptionalFieldObjectLockMode = "ObjectLockMode"InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"InventoryOptionalFieldIntelligentTieringAccessTier = "IntelligentTieringAccessTier"InventoryOptionalFieldBucketKeyStatus = "BucketKeyStatus"InventoryOptionalFieldChecksumAlgorithm = "ChecksumAlgorithm"InventoryOptionalFieldObjectAccessControlList = "ObjectAccessControlList"InventoryOptionalFieldObjectOwner = "ObjectOwner"type InventoryConfigurationState stringState of inventory configuration.
Constants:
InventoryConfigurationStateEnabled = "ENABLED"InventoryConfigurationStateDisabled = "DISABLED"type StorageClassAnalysisSchemaVersion stringSchema version for storage class analysis.
Constants:
StorageClassAnalysisSchemaVersionV1 = "V_1"type S3TablesBucketType stringS3 Tables bucket type.
Constants:
S3TablesBucketTypeAws = "aws" - AWS-managed bucketS3TablesBucketTypeCustomer = "customer" - Customer-managed buckettype Object struct {
ChecksumAlgorithm []ChecksumAlgorithm
ETag *string
Key *string
LastModified *time.Time
Owner *Owner
RestoreStatus *RestoreStatus
Size *int64
StorageClass ObjectStorageClass
}Metadata for an S3 object.
Fields:
ChecksumAlgorithm - Checksum algorithms used on the objectETag - Entity tag (MD5 or other hash)Key - Object keyLastModified - Last modification dateOwner - Object ownerRestoreStatus - Restore status for archived objectsSize - Size in bytesStorageClass - Storage classtype Bucket struct {
BucketArn *string
BucketRegion *string
CreationDate *time.Time
Name *string
}Bucket metadata.
Fields:
BucketArn - Bucket ARN (directory buckets only)BucketRegion - AWS region where the bucket is locatedCreationDate - Bucket creation dateName - Bucket nametype Owner struct {
DisplayName *string
ID *string
}Bucket or object owner.
Fields:
DisplayName - Display name of the ownerID - Canonical user IDtype ObjectIdentifier struct {
Key *string
VersionId *string
}Object identifier for batch operations.
Fields:
Key - Object key (required)VersionId - Version ID (optional)type ObjectVersion struct {
ChecksumAlgorithm []ChecksumAlgorithm
ETag *string
IsLatest *bool
Key *string
LastModified *time.Time
Owner *Owner
RestoreStatus *RestoreStatus
Size *int64
StorageClass ObjectVersionStorageClass
VersionId *string
}Object version metadata.
Fields:
ChecksumAlgorithm - Checksum algorithmsETag - Entity tagIsLatest - Whether this is the latest versionKey - Object keyLastModified - Last modification dateOwner - Version ownerRestoreStatus - Restore statusSize - Size in bytesStorageClass - Storage classVersionId - Version IDtype DeleteMarkerEntry struct {
IsLatest *bool
Key *string
LastModified *time.Time
Owner *Owner
VersionId *string
}Delete marker metadata.
Fields:
IsLatest - Whether this is the latest versionKey - Object keyLastModified - When the delete marker was createdOwner - Delete marker ownerVersionId - Version ID of the delete markertype CommonPrefix struct {
Prefix *string
}Common prefix in list operations (represents a "subdirectory").
Fields:
Prefix - Common prefix stringtype BucketInfo struct {
DataRedundancy DataRedundancy
Type BucketType
}Information about directory bucket creation.
Fields:
DataRedundancy - Data redundancy configurationType - Bucket typetype Tag struct {
Key *string
Value *string
}Key-value tag.
Fields:
Key - Tag key (required)Value - Tag value (required)type Tagging struct {
TagSet []Tag
}Set of tags.
Fields:
TagSet - Array of tags (required)type MultipartUpload struct {
ChecksumAlgorithm ChecksumAlgorithm
Initiated *time.Time
Initiator *Initiator
Key *string
Owner *Owner
StorageClass StorageClass
UploadId *string
}Multipart upload metadata.
Fields:
ChecksumAlgorithm - Checksum algorithm usedInitiated - When the upload was initiatedInitiator - Upload initiatorKey - Object keyOwner - Upload ownerStorageClass - Storage classUploadId - Upload IDtype Part struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
ETag *string
LastModified *time.Time
PartNumber *int32
Size *int64
}Part metadata in a multipart upload.
Fields:
ChecksumCRC32 - CRC32 checksumChecksumCRC32C - CRC32C checksumChecksumCRC64NVME - CRC64NVME checksumChecksumSHA1 - SHA1 hashChecksumSHA256 - SHA256 hashETag - Entity tagLastModified - Last modification timePartNumber - Part numberSize - Size in bytestype CompletedPart struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
ETag *string
PartNumber *int32
}Information about a completed part.
Fields:
ChecksumCRC32 - CRC32 checksumChecksumCRC32C - CRC32C checksumChecksumCRC64NVME - CRC64NVME checksumChecksumSHA1 - SHA1 hashChecksumSHA256 - SHA256 hashETag - Entity tag (required for parts without checksum)PartNumber - Part number (required)type CompletedMultipartUpload struct {
Parts []CompletedPart
}Container for completed multipart upload.
Fields:
Parts - Array of completed partstype CopyPartResult struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
ETag *string
LastModified *time.Time
}Result of copying a part.
Fields:
ChecksumCRC32 - CRC32 checksumChecksumCRC32C - CRC32C checksumChecksumCRC64NVME - CRC64NVME checksumChecksumSHA1 - SHA1 hashChecksumSHA256 - SHA256 hashETag - Entity tagLastModified - Last modification timetype Initiator struct {
DisplayName *string
ID *string
}Multipart upload initiator.
Fields:
DisplayName - Display nameID - Canonical user IDtype Checksum struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
ChecksumType ChecksumType
}Object checksum values.
Fields:
ChecksumCRC32 - Base64-encoded CRC32 checksumChecksumCRC32C - Base64-encoded CRC32C checksumChecksumCRC64NVME - Base64-encoded CRC64NVME checksumChecksumSHA1 - Base64-encoded SHA1 hashChecksumSHA256 - Base64-encoded SHA256 hashChecksumType - Type of checksum calculatedtype Error struct {
Code *string
Key *string
Message *string
VersionId *string
}S3 error information.
Fields:
Code - Error codeKey - Object key that caused the errorMessage - Error messageVersionId - Version ID that caused the errortype DeletedObject struct {
DeleteMarker *bool
DeleteMarkerVersionId *string
Key *string
VersionId *string
}Successfully deleted object.
Fields:
DeleteMarker - Whether a delete marker was createdDeleteMarkerVersionId - Version ID of the delete markerKey - Object keyVersionId - Version ID of the deleted objecttype DeleteError struct {
Code *string
Key *string
Message *string
VersionId *string
}Error during delete operation.
Fields:
Code - Error codeKey - Object keyMessage - Error messageVersionId - Version IDtype Delete struct {
Objects []ObjectIdentifier
Quiet *bool
}Container for delete request.
Fields:
Objects - Objects to delete (required, max 1000)Quiet - Quiet mode (return only errors)type AccessControlPolicy struct {
Grants []Grant
Owner *Owner
}Complete ACL policy.
Fields:
Grants - List of grantsOwner - Bucket/object ownertype Grant struct {
Grantee *Grantee
Permission Permission
}ACL grant entry.
Fields:
Grantee - Grantee informationPermission - Permission grantedtype Grantee struct {
DisplayName *string
EmailAddress *string
ID *string
Type Type
URI *string
}ACL grantee (user, group, or service).
Fields:
DisplayName - Display nameEmailAddress - Email address (deprecated)ID - Canonical user IDType - Grantee type (required)URI - Group URI for predefined groupstype PublicAccessBlockConfiguration struct {
BlockPublicAcls *bool
BlockPublicPolicy *bool
IgnorePublicAcls *bool
RestrictPublicBuckets *bool
}Public access block settings.
Fields:
BlockPublicAcls - Block public ACLsBlockPublicPolicy - Block public bucket policiesIgnorePublicAcls - Ignore public ACLsRestrictPublicBuckets - Restrict public bucket policiestype OwnershipControls struct {
Rules []OwnershipControlsRule
}Ownership control configuration.
Fields:
Rules - Ownership control rules (required)type OwnershipControlsRule struct {
ObjectOwnership ObjectOwnership
}Single ownership control rule.
Fields:
ObjectOwnership - Object ownership setting (required)type PolicyStatus struct {
IsPublic *bool
}Policy status (public or private).
Fields:
IsPublic - Whether the policy is publictype AbacStatus struct {
Status BucketAbacStatus
}ABAC status configuration.
Fields:
Status - ABAC status (Enabled/Disabled)type BucketAbacConfiguration struct {
AbacStatus *AbacStatus
}Bucket ABAC configuration.
Fields:
AbacStatus - ABAC statustype ServerSideEncryptionConfiguration struct {
Rules []ServerSideEncryptionRule
}Bucket encryption configuration.
Fields:
Rules - Encryption rules (required)type ServerSideEncryptionRule struct {
ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault
BucketKeyEnabled *bool
}Server-side encryption rule.
Fields:
ApplyServerSideEncryptionByDefault - Default encryption settingsBucketKeyEnabled - Whether S3 Bucket Keys are enabledtype ServerSideEncryptionByDefault struct {
KMSMasterKeyID *string
SSEAlgorithm ServerSideEncryption
}Default encryption settings.
Fields:
KMSMasterKeyID - KMS key ID (required for aws:kms and aws:kms:dsse)SSEAlgorithm - Encryption algorithm (required)type Encryption struct {
EncryptionType ServerSideEncryption
KMSContext *string
KMSKeyId *string
}Object encryption settings.
Fields:
EncryptionType - Encryption type (required)KMSContext - KMS encryption contextKMSKeyId - KMS key IDtype BlockedEncryptionTypes struct {
EncryptionType []EncryptionType
}Encryption types to block for uploads.
Fields:
EncryptionType - List of blocked encryption typestype EncryptionConfiguration struct {
ReplicaKmsKeyID *string
}Replication encryption configuration.
Fields:
ReplicaKmsKeyID - KMS key ID for replica encryptiontype ReplicationConfiguration struct {
Role *string
Rules []ReplicationRule
}Bucket replication configuration.
Fields:
Role - IAM role ARN (required)Rules - Replication rules (required)type ReplicationRule struct {
DeleteMarkerReplication *DeleteMarkerReplication
Destination *Destination
ExistingObjectReplication *ExistingObjectReplication
Filter ReplicationRuleFilter
ID *string
Priority *int32
SourceSelectionCriteria *SourceSelectionCriteria
Status ReplicationRuleStatus
}Single replication rule.
Fields:
DeleteMarkerReplication - Delete marker replication settingsDestination - Replication destination (required)ExistingObjectReplication - Existing object replication settingsFilter - Filter for objects to replicateID - Rule ID (max 255 characters)Priority - Rule priority (required)SourceSelectionCriteria - Source selection criteriaStatus - Rule status (required)type Destination struct {
AccessControlTranslation *AccessControlTranslation
Account *string
Bucket *string
EncryptionConfiguration *EncryptionConfiguration
Metrics *Metrics
ReplicationTime *ReplicationTime
StorageClass StorageClass
}Replication destination.
Fields:
AccessControlTranslation - Access control translation for cross-account replicationAccount - Destination account IDBucket - Destination bucket ARN (required)EncryptionConfiguration - Encryption configurationMetrics - Replication metricsReplicationTime - Replication time control (RTC)StorageClass - Storage class for replicastype SourceSelectionCriteria struct {
ReplicaModifications *ReplicaModifications
SseKmsEncryptedObjects *SseKmsEncryptedObjects
}Criteria for selecting objects to replicate.
Fields:
ReplicaModifications - Replica modifications filterSseKmsEncryptedObjects - SSE-KMS encrypted objects filtertype SseKmsEncryptedObjects struct {
Status SseKmsEncryptedObjectsStatus
}SSE-KMS encrypted objects filter.
Fields:
Status - Filter status (required)type ReplicaModifications struct {
Status ReplicaModificationsStatus
}Replica modifications filter.
Fields:
Status - Filter status (required)type DeleteMarkerReplication struct {
Status DeleteMarkerReplicationStatus
}Delete marker replication settings.
Fields:
Status - Replication statustype ExistingObjectReplication struct {
Status ExistingObjectReplicationStatus
}Existing object replication settings.
Fields:
Status - Replication status (required)type ReplicationTime struct {
Status ReplicationTimeStatus
Time *ReplicationTimeValue
}Replication time control (RTC) configuration.
Fields:
Status - RTC status (required)Time - Time value (required)type ReplicationTimeValue struct {
Minutes *int32
}Replication time value in minutes.
Fields:
Minutes - Minutes (required, must be 15)type Metrics struct {
EventThreshold *ReplicationTimeValue
Status MetricsStatus
}Replication metrics configuration.
Fields:
EventThreshold - Event threshold timeStatus - Metrics status (required)type AccessControlTranslation struct {
Owner OwnerOverride
}Access control translation for cross-account replication.
Fields:
Owner - Owner override (required)type ReplicationRuleFilter interface {
// Contains filtered or unexported methods
}Filter for replication rules (union type).
Implementations:
ReplicationRuleFilterMemberAnd - AND condition with prefix and tagsReplicationRuleFilterMemberPrefix - Filter by prefixReplicationRuleFilterMemberTag - Filter by tagtype ReplicationRuleAndOperator struct {
Prefix *string
Tags []Tag
}AND operator for replication rule filters.
Fields:
Prefix - Object key prefixTags - Tags (minimum 1)type BucketLifecycleConfiguration struct {
Rules []LifecycleRule
}Bucket lifecycle configuration.
Fields:
Rules - Lifecycle rules (required)type LifecycleRule struct {
AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload
Expiration *LifecycleExpiration
Filter LifecycleRuleFilter
ID *string
NoncurrentVersionExpiration *NoncurrentVersionExpiration
NoncurrentVersionTransitions []NoncurrentVersionTransition
Status ExpirationStatus
Transitions []Transition
}Lifecycle rule.
Fields:
AbortIncompleteMultipartUpload - Abort incomplete multipart upload settingsExpiration - Expiration actionFilter - Filter for objects (required for some actions)ID - Rule ID (max 255 characters)NoncurrentVersionExpiration - Non-current version expirationNoncurrentVersionTransitions - Non-current version transitionsStatus - Rule status (required)Transitions - Object transitionstype LifecycleExpiration struct {
Date *time.Time
Days *int32
ExpiredObjectDeleteMarker *bool
}Lifecycle expiration action.
Fields:
Date - Expiration dateDays - Days after creation to expireExpiredObjectDeleteMarker - Remove expired object delete markerstype NoncurrentVersionExpiration struct {
NewerNoncurrentVersions *int32
NoncurrentDays *int32
}Non-current version expiration settings.
Fields:
NewerNoncurrentVersions - Number of newer versions to retainNoncurrentDays - Days after becoming non-current to expiretype NoncurrentVersionTransition struct {
NewerNoncurrentVersions *int32
NoncurrentDays *int32
StorageClass TransitionStorageClass
}Non-current version transition rule.
Fields:
NewerNoncurrentVersions - Number of newer versions to retainNoncurrentDays - Days after becoming non-current to transitionStorageClass - Target storage classtype Transition struct {
Date *time.Time
Days *int32
StorageClass TransitionStorageClass
}Object transition rule.
Fields:
Date - Transition dateDays - Days after creation to transitionStorageClass - Target storage classtype AbortIncompleteMultipartUpload struct {
DaysAfterInitiation *int32
}Settings for aborting incomplete multipart uploads.
Fields:
DaysAfterInitiation - Days after initiation to aborttype LifecycleRuleFilter interface {
// Contains filtered or unexported methods
}Filter for lifecycle rules (union type).
Implementations:
LifecycleRuleFilterMemberAnd - AND conditionLifecycleRuleFilterMemberObjectSizeGreaterThan - Filter by minimum sizeLifecycleRuleFilterMemberObjectSizeLessThan - Filter by maximum sizeLifecycleRuleFilterMemberPrefix - Filter by prefixLifecycleRuleFilterMemberTag - Filter by tagtype LifecycleRuleAndOperator struct {
ObjectSizeGreaterThan *int64
ObjectSizeLessThan *int64
Prefix *string
Tags []Tag
}AND operator for lifecycle rule filters.
Fields:
ObjectSizeGreaterThan - Minimum object size in bytesObjectSizeLessThan - Maximum object size in bytesPrefix - Object key prefixTags - Tags (minimum 1)type CORSConfiguration struct {
CORSRules []CORSRule
}CORS configuration for bucket.
Fields:
CORSRules - CORS rules (required, max 100)type CORSRule struct {
AllowedHeaders []string
AllowedMethods []string
AllowedOrigins []string
ExposeHeaders []string
ID *string
MaxAgeSeconds *int32
}CORS rule.
Fields:
AllowedHeaders - Headers allowed in preflight requestsAllowedMethods - HTTP methods allowed (required, e.g., GET, PUT, POST, DELETE, HEAD)AllowedOrigins - Origins allowed to make requests (required, e.g., http://example.com)ExposeHeaders - Headers exposed to the browserID - Rule ID (max 255 characters)MaxAgeSeconds - Time to cache preflight responsetype WebsiteConfiguration struct {
ErrorDocument *ErrorDocument
IndexDocument *IndexDocument
RedirectAllRequestsTo *RedirectAllRequestsTo
RoutingRules []RoutingRule
}Static website hosting configuration.
Fields:
ErrorDocument - Error document settingsIndexDocument - Index document settingsRedirectAllRequestsTo - Redirect all requestsRoutingRules - Routing rulestype IndexDocument struct {
Suffix *string
}Index document configuration.
Fields:
Suffix - Index document suffix (required, e.g., "index.html")type ErrorDocument struct {
Key *string
}Error document configuration.
Fields:
Key - Error document key (required, e.g., "error.html")type RedirectAllRequestsTo struct {
HostName *string
Protocol Protocol
}Redirect all requests to another host.
Fields:
HostName - Target hostname (required)Protocol - Target protocoltype RoutingRule struct {
Condition *Condition
Redirect *Redirect
}Routing rule for conditional redirects.
Fields:
Condition - Condition for applying the ruleRedirect - Redirect configuration (required)type Condition struct {
HttpErrorCodeReturnedEquals *string
KeyPrefixEquals *string
}Condition for routing rule.
Fields:
HttpErrorCodeReturnedEquals - HTTP error code (e.g., "404")KeyPrefixEquals - Object key prefixtype Redirect struct {
HostName *string
HttpRedirectCode *string
Protocol Protocol
ReplaceKeyPrefixWith *string
ReplaceKeyWith *string
}Redirect configuration.
Fields:
HostName - Target hostnameHttpRedirectCode - HTTP redirect code (e.g., "301", "302")Protocol - Target protocolReplaceKeyPrefixWith - Replacement prefixReplaceKeyWith - Replacement keytype LoggingEnabled struct {
TargetBucket *string
TargetGrants []TargetGrant
TargetObjectKeyFormat *TargetObjectKeyFormat
TargetPrefix *string
}Logging configuration.
Fields:
TargetBucket - Target bucket for logs (required)TargetGrants - Log delivery grantsTargetObjectKeyFormat - Target object key formatTargetPrefix - Prefix for log objectstype BucketLoggingStatus struct {
LoggingEnabled *LoggingEnabled
}Container for logging status.
Fields:
LoggingEnabled - Logging configurationtype TargetGrant struct {
Grantee *Grantee
Permission BucketLogsPermission
}Log delivery grant.
Fields:
Grantee - Grantee informationPermission - Permission grantedtype TargetObjectKeyFormat struct {
PartitionedPrefix *PartitionedPrefixConfiguration
SimplePrefix *SimplePrefix
}Target object key format for logs.
Fields:
PartitionedPrefix - Partitioned prefix configurationSimplePrefix - Simple prefix configurationtype PartitionedPrefixConfiguration struct {
PartitionDateSource PartitionDateSource
}Partitioned prefix configuration.
Fields:
PartitionDateSource - Date source for partitioningtype SimplePrefix struct {
}Simple prefix (no partitioning).
type NotificationConfiguration struct {
EventBridgeConfiguration *EventBridgeConfiguration
LambdaFunctionConfigurations []LambdaFunctionConfiguration
QueueConfigurations []QueueConfiguration
TopicConfigurations []TopicConfiguration
}Bucket event notification configuration.
Fields:
EventBridgeConfiguration - EventBridge configurationLambdaFunctionConfigurations - Lambda function notificationsQueueConfigurations - SQS queue notificationsTopicConfigurations - SNS topic notificationstype QueueConfiguration struct {
Events []Event
Filter *NotificationConfigurationFilter
Id *string
QueueArn *string
}SQS queue notification configuration.
Fields:
Events - S3 events (required)Filter - Filter rulesId - Configuration IDQueueArn - SQS queue ARN (required)type TopicConfiguration struct {
Events []Event
Filter *NotificationConfigurationFilter
Id *string
TopicArn *string
}SNS topic notification configuration.
Fields:
Events - S3 events (required)Filter - Filter rulesId - Configuration IDTopicArn - SNS topic ARN (required)type LambdaFunctionConfiguration struct {
Events []Event
Filter *NotificationConfigurationFilter
Id *string
LambdaFunctionArn *string
}Lambda function notification configuration.
Fields:
Events - S3 events (required)Filter - Filter rulesId - Configuration IDLambdaFunctionArn - Lambda function ARN (required)type EventBridgeConfiguration struct {
}EventBridge notification configuration.
type NotificationConfigurationFilter struct {
Key *S3KeyFilter
}Filter for notification events.
Fields:
Key - Key filter rulestype S3KeyFilter struct {
FilterRules []FilterRule
}S3 key filter.
Fields:
FilterRules - Filter rulestype FilterRule struct {
Name FilterRuleName
Value *string
}Filter rule.
Fields:
Name - Rule name (prefix or suffix)Value - Rule valuetype AnalyticsConfiguration struct {
Filter AnalyticsFilter
Id *string
StorageClassAnalysis *StorageClassAnalysis
}Analytics configuration.
Fields:
Filter - Filter for analysisId - Configuration ID (required)StorageClassAnalysis - Storage class analysis (required)type StorageClassAnalysis struct {
DataExport *StorageClassAnalysisDataExport
}Storage class analysis configuration.
Fields:
DataExport - Data export settingstype StorageClassAnalysisDataExport struct {
Destination *AnalyticsExportDestination
OutputSchemaVersion StorageClassAnalysisSchemaVersion
}Data export settings for storage class analysis.
Fields:
Destination - Export destination (required)OutputSchemaVersion - Output schema version (required)type AnalyticsExportDestination struct {
S3BucketDestination *AnalyticsS3BucketDestination
}Analytics export destination.
Fields:
S3BucketDestination - S3 bucket destination (required)type AnalyticsS3BucketDestination struct {
Bucket *string
BucketAccountId *string
Format AnalyticsS3ExportFileFormat
Prefix *string
}S3 bucket destination for analytics export.
Fields:
Bucket - Bucket ARN (required)BucketAccountId - Bucket account IDFormat - Output format (required)Prefix - Prefix for exported filestype AnalyticsAndOperator struct {
Prefix *string
Tags []Tag
}AND operator for analytics filters.
Fields:
Prefix - Object key prefixTags - Tags (minimum 1)type MetricsConfiguration struct {
Filter MetricsFilter
Id *string
}Metrics configuration for CloudWatch request metrics.
Fields:
Filter - Filter for metricsId - Configuration ID (required)type MetricsFilter interface {
// Contains filtered or unexported methods
}Filter for metrics (union type).
Implementations:
MetricsFilterMemberAccessPointArn - Filter by access point ARNMetricsFilterMemberAnd - AND conditionMetricsFilterMemberPrefix - Filter by prefixMetricsFilterMemberTag - Filter by tagtype MetricsAndOperator struct {
AccessPointArn *string
Prefix *string
Tags []Tag
}AND operator for metrics filters.
Fields:
AccessPointArn - Access point ARNPrefix - Object key prefixTags - Tags (minimum 1)type InventoryConfiguration struct {
Destination *InventoryDestination
Filter *InventoryFilter
Id *string
IncludedObjectVersions InventoryIncludedObjectVersions
IsEnabled *bool
OptionalFields []InventoryOptionalField
Schedule *InventorySchedule
}Inventory configuration.
Fields:
Destination - Inventory destination (required)Filter - Inventory filterId - Configuration ID (required)IncludedObjectVersions - Which object versions to include (required)IsEnabled - Whether inventory is enabled (required)OptionalFields - Optional fields to includeSchedule - Inventory schedule (required)type InventoryDestination struct {
S3BucketDestination *InventoryS3BucketDestination
}Inventory destination.
Fields:
S3BucketDestination - S3 bucket destination (required)type InventoryS3BucketDestination struct {
AccountId *string
Bucket *string
Encryption *InventoryEncryption
Format InventoryFormat
Prefix *string
}S3 bucket destination for inventory.
Fields:
AccountId - Bucket account IDBucket - Bucket ARN (required)Encryption - Encryption settingsFormat - Output format (required)Prefix - Prefix for inventory filestype InventoryEncryption struct {
SSEKMS *SSEKMS
SSES3 *SSES3
}Inventory encryption settings.
Fields:
SSEKMS - SSE-KMS encryptionSSES3 - SSE-S3 encryptiontype SSEKMS struct {
KeyId *string
}SSE-KMS encryption.
Fields:
KeyId - KMS key ID (required)type SSES3 struct {
}SSE-S3 encryption.
type InventoryFilter struct {
Prefix *string
}Inventory filter.
Fields:
Prefix - Object key prefix (required)type InventorySchedule struct {
Frequency InventoryFrequency
}Inventory schedule.
Fields:
Frequency - Inventory frequency (required)type IntelligentTieringConfiguration struct {
Filter *IntelligentTieringFilter
Id *string
Status IntelligentTieringStatus
Tierings []Tiering
}Intelligent-Tiering configuration.
Fields:
Filter - Filter for objectsId - Configuration ID (required)Status - Configuration status (required)Tierings - Tiering rules (required)type IntelligentTieringFilter struct {
And *IntelligentTieringAndOperator
Prefix *string
Tag *Tag
}Filter for Intelligent-Tiering.
Fields:
And - AND conditionPrefix - Object key prefixTag - Tagtype IntelligentTieringAndOperator struct {
Prefix *string
Tags []Tag
}AND operator for Intelligent-Tiering filters.
Fields:
Prefix - Object key prefixTags - Tags (minimum 1)type Tiering struct {
AccessTier IntelligentTieringAccessTier
Days *int32
}Tiering rule.
Fields:
AccessTier - Access tier (required)Days - Days after last access to move to tier (required)type ObjectLockConfiguration struct {
ObjectLockEnabled ObjectLockEnabled
Rule *ObjectLockRule
}Object Lock configuration.
Fields:
ObjectLockEnabled - Object Lock enabled statusRule - Object Lock ruletype ObjectLockRule struct {
DefaultRetention *DefaultRetention
}Object Lock rule.
Fields:
DefaultRetention - Default retention settingstype DefaultRetention struct {
Days *int32
Mode ObjectLockRetentionMode
Years *int32
}Default retention settings.
Fields:
Days - Retention period in daysMode - Retention modeYears - Retention period in yearstype ObjectLockRetention struct {
Mode ObjectLockRetentionMode
RetainUntilDate *time.Time
}Object Lock retention settings for an object.
Fields:
Mode - Retention modeRetainUntilDate - Retain until datetype ObjectLockLegalHold struct {
Status ObjectLockLegalHoldStatus
}Legal hold settings for an object.
Fields:
Status - Legal hold statustype VersioningConfiguration struct {
MFADelete MFADelete
Status BucketVersioningStatus
}Versioning configuration.
Fields:
MFADelete - MFA delete settingStatus - Versioning statustype RequestPaymentConfiguration struct {
Payer Payer
}Request payment configuration.
Fields:
Payer - Payer (required)type AccelerateConfiguration struct {
Status BucketAccelerateStatus
}Transfer acceleration configuration.
Fields:
Status - Acceleration statustype InputSerialization struct {
CSV *CSVInput
CompressionType CompressionType
JSON *JSONInput
Parquet *ParquetInput
}Input serialization format for S3 Select.
Fields:
CSV - CSV input settingsCompressionType - Compression typeJSON - JSON input settingsParquet - Parquet input settingstype OutputSerialization struct {
CSV *CSVOutput
JSON *JSONOutput
}Output serialization format for S3 Select.
Fields:
CSV - CSV output settingsJSON - JSON output settingstype CSVInput struct {
AllowQuotedRecordDelimiter *bool
Comments *string
FieldDelimiter *string
FileHeaderInfo FileHeaderInfo
QuoteCharacter *string
QuoteEscapeCharacter *string
RecordDelimiter *string
}CSV input format settings.
Fields:
AllowQuotedRecordDelimiter - Allow quoted record delimitersComments - Comment character (default: "#")FieldDelimiter - Field delimiterFileHeaderInfo - File header informationQuoteCharacter - Quote character (default: """)QuoteEscapeCharacter - Quote escape characterRecordDelimiter - Record delimitertype CSVOutput struct {
FieldDelimiter *string
QuoteCharacter *string
QuoteEscapeCharacter *string
QuoteFields QuoteFields
RecordDelimiter *string
}CSV output format settings.
Fields:
FieldDelimiter - Field delimiterQuoteCharacter - Quote characterQuoteEscapeCharacter - Quote escape characterQuoteFields - Quote fields settingRecordDelimiter - Record delimitertype JSONInput struct {
Type JSONType
}JSON input format settings.
Fields:
Type - JSON type (DOCUMENT or LINES)type JSONOutput struct {
RecordDelimiter *string
}JSON output format settings.
Fields:
RecordDelimiter - Record delimitertype ParquetInput struct {
}Parquet input format settings.
type ScanRange struct {
End *int64
Start *int64
}Byte range to scan.
Fields:
End - End byte (inclusive)Start - Start bytetype SelectObjectContentEventStream interface {
// Contains filtered or unexported methods
}Event stream for S3 Select operations (union type).
Implementations:
SelectObjectContentEventStreamMemberCont - Continuation eventSelectObjectContentEventStreamMemberEnd - End eventSelectObjectContentEventStreamMemberProgress - Progress eventSelectObjectContentEventStreamMemberRecords - Records eventSelectObjectContentEventStreamMemberStats - Statistics eventtype RecordsEvent struct {
Payload []byte
}Records payload event.
Fields:
Payload - Record datatype StatsEvent struct {
Details *Stats
}Statistics event.
Fields:
Details - Statistics detailstype Stats struct {
BytesProcessed *int64
BytesReturned *int64
BytesScanned *int64
}Query statistics.
Fields:
BytesProcessed - Bytes processedBytesReturned - Bytes returnedBytesScanned - Bytes scannedtype ProgressEvent struct {
Details *Progress
}Progress event.
Fields:
Details - Progress detailstype Progress struct {
BytesProcessed *int64
BytesReturned *int64
BytesScanned *int64
}Query progress.
Fields:
BytesProcessed - Bytes processed so farBytesReturned - Bytes returned so farBytesScanned - Bytes scanned so fartype ContinuationEvent struct {
}Continuation event (keep-alive).
type EndEvent struct {
}End event (query complete).
type RestoreRequest struct {
Days *int32
Description *string
GlacierJobParameters *GlacierJobParameters
OutputLocation *OutputLocation
SelectParameters *SelectParameters
Tier Tier
Type RestoreRequestType
}Restore request configuration.
Fields:
Days - Lifetime of restored copy (days)Description - DescriptionGlacierJobParameters - Glacier job parametersOutputLocation - Output location for SELECT restoreSelectParameters - SELECT parametersTier - Retrieval tierType - Restore typetype GlacierJobParameters struct {
Tier Tier
}Glacier job parameters.
Fields:
Tier - Retrieval tier (required)type SelectParameters struct {
Expression *string
ExpressionType ExpressionType
InputSerialization *InputSerialization
OutputSerialization *OutputSerialization
}SELECT parameters for restore.
Fields:
Expression - SQL expression (required)ExpressionType - Expression type (required)InputSerialization - Input format (required)OutputSerialization - Output format (required)type OutputLocation struct {
S3 *S3Location
}Output location for SELECT restore.
Fields:
S3 - S3 locationtype S3Location struct {
AccessControlList []Grant
BucketName *string
CannedACL ObjectCannedACL
Encryption *Encryption
Prefix *string
StorageClass StorageClass
Tagging *Tagging
UserMetadata []MetadataEntry
}S3 location for restore output.
Fields:
AccessControlList - ACL grantsBucketName - Bucket name (required)CannedACL - Canned ACLEncryption - Encryption settingsPrefix - Object key prefix (required)StorageClass - Storage classTagging - TagsUserMetadata - User metadatatype MetadataEntry struct {
Name *string
Value *string
}Metadata entry.
Fields:
Name - Metadata nameValue - Metadata valuetype RestoreStatus struct {
IsRestoreInProgress *bool
RestoreExpiryDate *time.Time
}Restore status for archived objects.
Fields:
IsRestoreInProgress - Whether restore is in progressRestoreExpiryDate - When the restored copy expirestype GetObjectAttributesParts struct {
IsTruncated *bool
MaxParts *int32
NextPartNumberMarker *int32
PartNumberMarker *int32
Parts []ObjectPart
TotalPartsCount *int32
}Parts information for GetObjectAttributes.
Fields:
IsTruncated - Whether the list is truncatedMaxParts - Maximum parts returnedNextPartNumberMarker - Next part number markerPartNumberMarker - Part number markerParts - List of partsTotalPartsCount - Total number of partstype ObjectPart struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
PartNumber *int32
Size *int64
}Information about an object part.
Fields:
ChecksumCRC32 - CRC32 checksumChecksumCRC32C - CRC32C checksumChecksumCRC64NVME - CRC64NVME checksumChecksumSHA1 - SHA1 hashChecksumSHA256 - SHA256 hashPartNumber - Part numberSize - Part sizetype SessionCredentials struct {
AccessKeyId *string
Expiration *time.Time
SecretAccessKey *string
SessionToken *string
}Session credentials for S3 Express directory buckets.
Fields:
AccessKeyId - Access key ID (required)Expiration - Credential expiration time (required)SecretAccessKey - Secret access key (required)SessionToken - Session token (required)type MetadataTableConfiguration struct {
S3TablesDestination *S3TablesDestination
}Metadata table configuration.
Fields:
S3TablesDestination - S3 Tables destination (required)type MetadataTableConfigurationResult struct {
S3TablesDestinationResult *S3TablesDestinationResult
}Metadata table configuration result.
Fields:
S3TablesDestinationResult - S3 Tables destination resulttype S3TablesDestination struct {
TableArn *string
TableBucketArn *string
TableName *string
}S3 Tables destination for metadata.
Fields:
TableArn - Table ARN (required)TableBucketArn - Table bucket ARN (required)TableName - Table name (required)type S3TablesDestinationResult struct {
TableArn *string
TableBucketArn *string
TableName *string
}S3 Tables destination result.
Fields:
TableArn - Table ARNTableBucketArn - Table bucket ARNTableName - Table nametype CopyObjectResult struct {
ChecksumCRC32 *string
ChecksumCRC32C *string
ChecksumCRC64NVME *string
ChecksumSHA1 *string
ChecksumSHA256 *string
ETag *string
LastModified *time.Time
}Result of copying an object.
Fields:
ChecksumCRC32 - CRC32 checksumChecksumCRC32C - CRC32C checksumChecksumCRC64NVME - CRC64NVME checksumChecksumSHA1 - SHA1 hashChecksumSHA256 - SHA256 hashETag - Entity tagLastModified - Last modification timetype TransitionDefaultMinimumObjectSizeConfiguration struct {
DefaultMinimumObjectSize TransitionDefaultMinimumObjectSize
}Configuration for default minimum object size for transitions.
Fields:
DefaultMinimumObjectSize - Default minimum object sizeAnalytics filter (union type).
Implementations:
AnalyticsFilterMemberAnd - AND condition with prefix and tagsAnalyticsFilterMemberPrefix - Filter by prefix onlyAnalyticsFilterMemberTag - Filter by tag onlyAll error types implement the error interface and provide methods for retrieving error details.
type BucketAlreadyExists struct {
Message *string
ErrorCodeOverride *string
}The requested bucket name is not available. The bucket namespace is shared by all users of the system.
Methods:
Error() string - Returns formatted error messageErrorCode() string - Returns error code ("BucketAlreadyExists")ErrorMessage() string - Returns error messageErrorFault() smithy.ErrorFault - Returns client faulttype BucketAlreadyOwnedByYou struct {
Message *string
ErrorCodeOverride *string
}The bucket you tried to create already exists, and you own it.
Methods:
Error() stringErrorCode() string - Returns "BucketAlreadyOwnedByYou"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype EncryptionTypeMismatch struct {
Message *string
ErrorCodeOverride *string
}The existing object was created with a different encryption type. Subsequent write requests must include the appropriate encryption parameters.
Methods:
Error() stringErrorCode() string - Returns "EncryptionTypeMismatch"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype IdempotencyParameterMismatch struct {
Message *string
ErrorCodeOverride *string
}Parameters on this idempotent request are inconsistent with parameters used in previous request(s).
Methods:
Error() stringErrorCode() string - Returns "IdempotencyParameterMismatch"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype InvalidObjectState struct {
Message *string
ErrorCodeOverride *string
StorageClass StorageClass
AccessTier IntelligentTieringAccessTier
}Object is archived and inaccessible until restored. Before you can retrieve an object stored in Glacier, you must first restore a copy.
Fields:
Message - Error messageErrorCodeOverride - Error code overrideStorageClass - Storage class of the objectAccessTier - Access tier (for Intelligent-Tiering)Methods:
Error() stringErrorCode() string - Returns "InvalidObjectState"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype InvalidRequest struct {
Message *string
ErrorCodeOverride *string
}Invalid request error. May occur for various reasons including write offset mismatches or checksum type mismatches.
Methods:
Error() stringErrorCode() string - Returns "InvalidRequest"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype InvalidWriteOffset struct {
Message *string
ErrorCodeOverride *string
}The write offset value specified does not match the current object size.
Methods:
Error() stringErrorCode() string - Returns "InvalidWriteOffset"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype NoSuchBucket struct {
Message *string
ErrorCodeOverride *string
}The specified bucket does not exist.
Methods:
Error() stringErrorCode() string - Returns "NoSuchBucket"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype NoSuchKey struct {
Message *string
ErrorCodeOverride *string
}The specified key does not exist.
Methods:
Error() stringErrorCode() string - Returns "NoSuchKey"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype NoSuchUpload struct {
Message *string
ErrorCodeOverride *string
}The specified multipart upload does not exist.
Methods:
Error() stringErrorCode() string - Returns "NoSuchUpload"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype NotFound struct {
Message *string
ErrorCodeOverride *string
}The specified content does not exist.
Methods:
Error() stringErrorCode() string - Returns "NotFound"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype ObjectAlreadyInActiveTierError struct {
Message *string
ErrorCodeOverride *string
}This action is not allowed against this storage tier. The object is already in the active tier.
Methods:
Error() stringErrorCode() string - Returns "ObjectAlreadyInActiveTierError"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype ObjectNotInActiveTierError struct {
Message *string
ErrorCodeOverride *string
}The source object of the COPY action is not in the active tier and is only stored in Amazon S3 Glacier.
Methods:
Error() stringErrorCode() string - Returns "ObjectNotInActiveTierError"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype TooManyParts struct {
Message *string
ErrorCodeOverride *string
}You have attempted to add more parts than the maximum of 10,000 that are allowed for this object.
Methods:
Error() stringErrorCode() string - Returns "TooManyParts"ErrorMessage() stringErrorFault() smithy.ErrorFault - Returns client faulttype ErrorDetails struct {
ErrorCode *string
ErrorMessage *string
}Error details returned when S3 Metadata is unable to create a metadata table during CreateBucketMetadataTableConfiguration or CreateBucketMetadataConfiguration operations.
Fields:
ErrorCode (*string) - The error code. Possible values include:
AccessDeniedCreatingResources - Insufficient permissions to create required resourcesAccessDeniedWritingToTable - Unable to write to metadata table due to missing permissionsDestinationTableNotFound - The destination table doesn't existServerInternalError - An internal error occurredTableAlreadyExists - The specified table already existsTableBucketNotFound - The table bucket doesn't existJournalTableAlreadyExists - A journal table already existsInventoryTableAlreadyExists - An inventory table already existsJournalTableNotAvailable - The journal table has a FAILED statusNoSuchBucket - The specified general purpose bucket doesn't existErrorMessage (*string) - Detailed error message describing the issue and recommended resolution
Usage Context:
This type is returned as part of metadata configuration responses when table creation fails. The error provides specific guidance on how to resolve the issue, typically requiring deletion and recreation of the metadata configuration.
type RecordExpiration struct {
Expiration ExpirationState // Required
Days *int32
}Journal table record expiration settings for a journal table in an S3 Metadata configuration.
Fields:
Expiration (ExpirationState, required) - Specifies whether journal table record expiration is enabled or disabled
ExpirationStateEnabled - Record expiration is enabledExpirationStateDisabled - Record expiration is disabledDays (*int32) - Number of days to retain journal table records. Required when expiration is enabled. Valid range: 7 to 2147483647 days (minimum 7 days retention required)
Usage Example:
// Enable journal table record expiration with 30-day retention
recordExpiration := &types.RecordExpiration{
Expiration: types.ExpirationStateEnabled,
Days: aws.Int32(30),
}
// Use in journal table configuration
journalConfig := &types.JournalTableConfigurationUpdates{
RecordExpiration: recordExpiration,
}Related Types:
JournalTableConfigurationUpdates - Contains record expiration settingsExpirationState - Enum for enabled/disabled statetype UnknownUnionMember struct {
Tag string
Value []byte
}Returned when a union member is received over the wire with an unknown tag, providing forward compatibility with new union variants.
Fields:
Tag (string) - The unknown union member tag identifierValue ([]byte) - Raw byte representation of the unknown union member valueUsage Context:
This type is automatically returned by union types when the SDK encounters a new union variant that wasn't known at the time the SDK version was released. This ensures forward compatibility - your code won't break when AWS adds new variants to existing union types.
Usage Example:
// When processing a union type that may have unknown variants
func processReplicationRuleFilter(filter types.ReplicationRuleFilter) error {
switch v := filter.(type) {
case *types.ReplicationRuleFilterMemberPrefix:
fmt.Printf("Prefix filter: %s\n", v.Value)
case *types.ReplicationRuleFilterMemberTag:
fmt.Printf("Tag filter: %s=%s\n", *v.Value.Key, *v.Value.Value)
case *types.ReplicationRuleFilterMemberAnd:
fmt.Println("And filter with multiple conditions")
case *types.UnknownUnionMember:
// Handle unknown/future union variants gracefully
fmt.Printf("Unknown filter type: %s\n", v.Tag)
fmt.Printf("Raw value: %x\n", v.Value)
// Log for investigation or handle with default behavior
default:
return fmt.Errorf("unexpected filter type")
}
return nil
}Best Practices:
UnknownUnionMember when switching on union typestype GetBucketMetadataConfigurationResult struct {
MetadataConfigurationResult *MetadataConfigurationResult // Required
}The S3 Metadata configuration for a general purpose bucket.
Fields:
MetadataConfigurationResult (*MetadataConfigurationResult, required) - The metadata configuration result containing table configurations and status informationRelated Types:
MetadataConfigurationResult - Contains detailed configuration information for S3 Metadata tablestype InventoryTableConfigurationUpdates struct {
ConfigurationState InventoryConfigurationState // Required
EncryptionConfiguration *MetadataTableEncryptionConfiguration
}Specified updates to the S3 Metadata inventory table configuration.
Fields:
ConfigurationState (InventoryConfigurationState, required) - Configuration state of the inventory table
InventoryConfigurationStateEnabled - Inventory table is enabledInventoryConfigurationStateDisabled - Inventory table is disabledEncryptionConfiguration (*MetadataTableEncryptionConfiguration) - Encryption configuration for the inventory table
Usage Context:
Used when updating S3 Metadata inventory table settings as part of bucket metadata configuration.
type JournalTableConfigurationUpdates struct {
RecordExpiration *RecordExpiration // Required
}Specified updates to the S3 Metadata journal table configuration.
Fields:
RecordExpiration (*RecordExpiration, required) - Journal table record expiration settings controlling how long journal records are retainedUsage Example:
// Update journal table to retain records for 90 days
journalUpdates := &types.JournalTableConfigurationUpdates{
RecordExpiration: &types.RecordExpiration{
Expiration: types.ExpirationStateEnabled,
Days: aws.Int32(90),
},
}Usage Context:
Used when updating S3 Metadata journal table settings to control record retention and lifecycle management.
The S3 types package provides a comprehensive set of 257 types for working with Amazon S3:
All types are fully documented with field descriptions, required/optional indicators, and usage notes. The types are used throughout the S3 client API for input parameters and output results.