{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.S3.Types
(
defaultService,
_BucketAlreadyOwnedByYou,
_ObjectAlreadyInActiveTierError,
_BucketAlreadyExists,
_ObjectNotInActiveTierError,
_NoSuchUpload,
_NoSuchBucket,
_NoSuchKey,
_InvalidObjectState,
module Amazonka.S3.Internal,
AnalyticsS3ExportFileFormat (..),
ArchiveStatus (..),
BucketAccelerateStatus (..),
BucketCannedACL (..),
BucketLogsPermission (..),
BucketVersioningStatus (..),
CompressionType (..),
DeleteMarkerReplicationStatus (..),
EncodingType (..),
Event (..),
ExistingObjectReplicationStatus (..),
ExpirationStatus (..),
ExpressionType (..),
FileHeaderInfo (..),
FilterRuleName (..),
IntelligentTieringAccessTier (..),
IntelligentTieringStatus (..),
InventoryFormat (..),
InventoryFrequency (..),
InventoryIncludedObjectVersions (..),
InventoryOptionalField (..),
JSONType (..),
MFADelete (..),
MFADeleteStatus (..),
MetadataDirective (..),
MetricsStatus (..),
ObjectCannedACL (..),
ObjectLockEnabled (..),
ObjectLockLegalHoldStatus (..),
ObjectLockMode (..),
ObjectLockRetentionMode (..),
ObjectOwnership (..),
ObjectStorageClass (..),
ObjectVersionStorageClass (..),
OwnerOverride (..),
Payer (..),
Permission (..),
Protocol (..),
QuoteFields (..),
ReplicaModificationsStatus (..),
ReplicationRuleStatus (..),
ReplicationStatus (..),
ReplicationTimeStatus (..),
RequestCharged (..),
RequestPayer (..),
RestoreRequestType (..),
ServerSideEncryption (..),
SseKmsEncryptedObjectsStatus (..),
StorageClass (..),
StorageClassAnalysisSchemaVersion (..),
TaggingDirective (..),
Tier (..),
TransitionStorageClass (..),
Type (..),
AbortIncompleteMultipartUpload (..),
newAbortIncompleteMultipartUpload,
abortIncompleteMultipartUpload_daysAfterInitiation,
AccelerateConfiguration (..),
newAccelerateConfiguration,
accelerateConfiguration_status,
AccessControlPolicy (..),
newAccessControlPolicy,
accessControlPolicy_grants,
accessControlPolicy_owner,
AccessControlTranslation (..),
newAccessControlTranslation,
accessControlTranslation_owner,
AnalyticsAndOperator (..),
newAnalyticsAndOperator,
analyticsAndOperator_prefix,
analyticsAndOperator_tags,
AnalyticsConfiguration (..),
newAnalyticsConfiguration,
analyticsConfiguration_filter,
analyticsConfiguration_id,
analyticsConfiguration_storageClassAnalysis,
AnalyticsExportDestination (..),
newAnalyticsExportDestination,
analyticsExportDestination_s3BucketDestination,
AnalyticsFilter (..),
newAnalyticsFilter,
analyticsFilter_tag,
analyticsFilter_prefix,
analyticsFilter_and,
AnalyticsS3BucketDestination (..),
newAnalyticsS3BucketDestination,
analyticsS3BucketDestination_bucketAccountId,
analyticsS3BucketDestination_prefix,
analyticsS3BucketDestination_format,
analyticsS3BucketDestination_bucket,
Bucket (..),
newBucket,
bucket_creationDate,
bucket_name,
BucketLifecycleConfiguration (..),
newBucketLifecycleConfiguration,
bucketLifecycleConfiguration_rules,
BucketLoggingStatus (..),
newBucketLoggingStatus,
bucketLoggingStatus_loggingEnabled,
CORSConfiguration (..),
newCORSConfiguration,
cORSConfiguration_cORSRules,
CORSRule (..),
newCORSRule,
cORSRule_maxAgeSeconds,
cORSRule_allowedHeaders,
cORSRule_exposeHeaders,
cORSRule_id,
cORSRule_allowedMethods,
cORSRule_allowedOrigins,
CSVInput (..),
newCSVInput,
cSVInput_quoteCharacter,
cSVInput_recordDelimiter,
cSVInput_allowQuotedRecordDelimiter,
cSVInput_fileHeaderInfo,
cSVInput_quoteEscapeCharacter,
cSVInput_comments,
cSVInput_fieldDelimiter,
CSVOutput (..),
newCSVOutput,
cSVOutput_quoteCharacter,
cSVOutput_quoteFields,
cSVOutput_recordDelimiter,
cSVOutput_quoteEscapeCharacter,
cSVOutput_fieldDelimiter,
CommonPrefix (..),
newCommonPrefix,
commonPrefix_prefix,
CompletedMultipartUpload (..),
newCompletedMultipartUpload,
completedMultipartUpload_parts,
CompletedPart (..),
newCompletedPart,
completedPart_partNumber,
completedPart_eTag,
Condition (..),
newCondition,
condition_keyPrefixEquals,
condition_httpErrorCodeReturnedEquals,
ContinuationEvent (..),
newContinuationEvent,
CopyObjectResult (..),
newCopyObjectResult,
copyObjectResult_eTag,
copyObjectResult_lastModified,
CopyPartResult (..),
newCopyPartResult,
copyPartResult_eTag,
copyPartResult_lastModified,
CreateBucketConfiguration (..),
newCreateBucketConfiguration,
createBucketConfiguration_locationConstraint,
DefaultRetention (..),
newDefaultRetention,
defaultRetention_days,
defaultRetention_mode,
defaultRetention_years,
Delete (..),
newDelete,
delete_quiet,
delete_objects,
DeleteMarkerEntry (..),
newDeleteMarkerEntry,
deleteMarkerEntry_versionId,
deleteMarkerEntry_isLatest,
deleteMarkerEntry_owner,
deleteMarkerEntry_key,
deleteMarkerEntry_lastModified,
DeleteMarkerReplication (..),
newDeleteMarkerReplication,
deleteMarkerReplication_status,
DeletedObject (..),
newDeletedObject,
deletedObject_versionId,
deletedObject_deleteMarker,
deletedObject_deleteMarkerVersionId,
deletedObject_key,
Destination (..),
newDestination,
destination_metrics,
destination_accessControlTranslation,
destination_account,
destination_storageClass,
destination_encryptionConfiguration,
destination_replicationTime,
destination_bucket,
Encryption (..),
newEncryption,
encryption_kmsKeyId,
encryption_kmsContext,
encryption_encryptionType,
EncryptionConfiguration (..),
newEncryptionConfiguration,
encryptionConfiguration_replicaKmsKeyID,
EndEvent (..),
newEndEvent,
ErrorDocument (..),
newErrorDocument,
errorDocument_key,
ExistingObjectReplication (..),
newExistingObjectReplication,
existingObjectReplication_status,
FilterRule (..),
newFilterRule,
filterRule_value,
filterRule_name,
GlacierJobParameters (..),
newGlacierJobParameters,
glacierJobParameters_tier,
Grant (..),
newGrant,
grant_permission,
grant_grantee,
Grantee (..),
newGrantee,
grantee_uri,
grantee_emailAddress,
grantee_displayName,
grantee_id,
grantee_type,
IndexDocument (..),
newIndexDocument,
indexDocument_suffix,
Initiator (..),
newInitiator,
initiator_displayName,
initiator_id,
InputSerialization (..),
newInputSerialization,
inputSerialization_json,
inputSerialization_csv,
inputSerialization_parquet,
inputSerialization_compressionType,
IntelligentTieringAndOperator (..),
newIntelligentTieringAndOperator,
intelligentTieringAndOperator_prefix,
intelligentTieringAndOperator_tags,
IntelligentTieringConfiguration (..),
newIntelligentTieringConfiguration,
intelligentTieringConfiguration_filter,
intelligentTieringConfiguration_id,
intelligentTieringConfiguration_status,
intelligentTieringConfiguration_tierings,
IntelligentTieringFilter (..),
newIntelligentTieringFilter,
intelligentTieringFilter_tag,
intelligentTieringFilter_prefix,
intelligentTieringFilter_and,
InventoryConfiguration (..),
newInventoryConfiguration,
inventoryConfiguration_optionalFields,
inventoryConfiguration_filter,
inventoryConfiguration_destination,
inventoryConfiguration_isEnabled,
inventoryConfiguration_id,
inventoryConfiguration_includedObjectVersions,
inventoryConfiguration_schedule,
InventoryDestination (..),
newInventoryDestination,
inventoryDestination_s3BucketDestination,
InventoryEncryption (..),
newInventoryEncryption,
inventoryEncryption_sses3,
inventoryEncryption_ssekms,
InventoryFilter (..),
newInventoryFilter,
inventoryFilter_prefix,
InventoryS3BucketDestination (..),
newInventoryS3BucketDestination,
inventoryS3BucketDestination_prefix,
inventoryS3BucketDestination_accountId,
inventoryS3BucketDestination_encryption,
inventoryS3BucketDestination_bucket,
inventoryS3BucketDestination_format,
InventorySchedule (..),
newInventorySchedule,
inventorySchedule_frequency,
JSONInput (..),
newJSONInput,
jSONInput_type,
JSONOutput (..),
newJSONOutput,
jSONOutput_recordDelimiter,
LambdaFunctionConfiguration (..),
newLambdaFunctionConfiguration,
lambdaFunctionConfiguration_id,
lambdaFunctionConfiguration_filter,
lambdaFunctionConfiguration_lambdaFunctionArn,
lambdaFunctionConfiguration_events,
LifecycleExpiration (..),
newLifecycleExpiration,
lifecycleExpiration_days,
lifecycleExpiration_date,
lifecycleExpiration_expiredObjectDeleteMarker,
LifecycleRule (..),
newLifecycleRule,
lifecycleRule_transitions,
lifecycleRule_noncurrentVersionExpiration,
lifecycleRule_prefix,
lifecycleRule_noncurrentVersionTransitions,
lifecycleRule_expiration,
lifecycleRule_id,
lifecycleRule_filter,
lifecycleRule_abortIncompleteMultipartUpload,
lifecycleRule_status,
LifecycleRuleAndOperator (..),
newLifecycleRuleAndOperator,
lifecycleRuleAndOperator_prefix,
lifecycleRuleAndOperator_tags,
LifecycleRuleFilter (..),
newLifecycleRuleFilter,
lifecycleRuleFilter_tag,
lifecycleRuleFilter_prefix,
lifecycleRuleFilter_and,
LoggingEnabled (..),
newLoggingEnabled,
loggingEnabled_targetGrants,
loggingEnabled_targetBucket,
loggingEnabled_targetPrefix,
MetadataEntry (..),
newMetadataEntry,
metadataEntry_value,
metadataEntry_name,
Metrics (..),
newMetrics,
metrics_eventThreshold,
metrics_status,
MetricsAndOperator (..),
newMetricsAndOperator,
metricsAndOperator_prefix,
metricsAndOperator_accessPointArn,
metricsAndOperator_tags,
MetricsConfiguration (..),
newMetricsConfiguration,
metricsConfiguration_filter,
metricsConfiguration_id,
MetricsFilter (..),
newMetricsFilter,
metricsFilter_tag,
metricsFilter_prefix,
metricsFilter_and,
metricsFilter_accessPointArn,
MultipartUpload (..),
newMultipartUpload,
multipartUpload_initiated,
multipartUpload_initiator,
multipartUpload_owner,
multipartUpload_key,
multipartUpload_storageClass,
multipartUpload_uploadId,
NoncurrentVersionExpiration (..),
newNoncurrentVersionExpiration,
noncurrentVersionExpiration_noncurrentDays,
NoncurrentVersionTransition (..),
newNoncurrentVersionTransition,
noncurrentVersionTransition_noncurrentDays,
noncurrentVersionTransition_storageClass,
NotificationConfiguration (..),
newNotificationConfiguration,
notificationConfiguration_queueConfigurations,
notificationConfiguration_topicConfigurations,
notificationConfiguration_lambdaFunctionConfigurations,
NotificationConfigurationFilter (..),
newNotificationConfigurationFilter,
notificationConfigurationFilter_key,
Object (..),
newObject,
object_owner,
object_eTag,
object_size,
object_key,
object_storageClass,
object_lastModified,
ObjectIdentifier (..),
newObjectIdentifier,
objectIdentifier_versionId,
objectIdentifier_key,
ObjectLockConfiguration (..),
newObjectLockConfiguration,
objectLockConfiguration_objectLockEnabled,
objectLockConfiguration_rule,
ObjectLockLegalHold (..),
newObjectLockLegalHold,
objectLockLegalHold_status,
ObjectLockRetention (..),
newObjectLockRetention,
objectLockRetention_mode,
objectLockRetention_retainUntilDate,
ObjectLockRule (..),
newObjectLockRule,
objectLockRule_defaultRetention,
ObjectVersion (..),
newObjectVersion,
objectVersion_eTag,
objectVersion_versionId,
objectVersion_size,
objectVersion_isLatest,
objectVersion_owner,
objectVersion_key,
objectVersion_storageClass,
objectVersion_lastModified,
OutputLocation (..),
newOutputLocation,
outputLocation_s3,
OutputSerialization (..),
newOutputSerialization,
outputSerialization_json,
outputSerialization_csv,
Owner (..),
newOwner,
owner_displayName,
owner_id,
OwnershipControls (..),
newOwnershipControls,
ownershipControls_rules,
OwnershipControlsRule (..),
newOwnershipControlsRule,
ownershipControlsRule_objectOwnership,
ParquetInput (..),
newParquetInput,
Part (..),
newPart,
part_eTag,
part_size,
part_partNumber,
part_lastModified,
PolicyStatus (..),
newPolicyStatus,
policyStatus_isPublic,
Progress (..),
newProgress,
progress_bytesReturned,
progress_bytesScanned,
progress_bytesProcessed,
ProgressEvent (..),
newProgressEvent,
progressEvent_details,
PublicAccessBlockConfiguration (..),
newPublicAccessBlockConfiguration,
publicAccessBlockConfiguration_ignorePublicAcls,
publicAccessBlockConfiguration_blockPublicAcls,
publicAccessBlockConfiguration_restrictPublicBuckets,
publicAccessBlockConfiguration_blockPublicPolicy,
QueueConfiguration (..),
newQueueConfiguration,
queueConfiguration_id,
queueConfiguration_filter,
queueConfiguration_queueArn,
queueConfiguration_events,
RecordsEvent (..),
newRecordsEvent,
recordsEvent_payload,
Redirect (..),
newRedirect,
redirect_hostName,
redirect_protocol,
redirect_httpRedirectCode,
redirect_replaceKeyWith,
redirect_replaceKeyPrefixWith,
RedirectAllRequestsTo (..),
newRedirectAllRequestsTo,
redirectAllRequestsTo_protocol,
redirectAllRequestsTo_hostName,
ReplicaModifications (..),
newReplicaModifications,
replicaModifications_status,
ReplicationConfiguration (..),
newReplicationConfiguration,
replicationConfiguration_role,
replicationConfiguration_rules,
ReplicationRule (..),
newReplicationRule,
replicationRule_deleteMarkerReplication,
replicationRule_priority,
replicationRule_prefix,
replicationRule_existingObjectReplication,
replicationRule_id,
replicationRule_filter,
replicationRule_sourceSelectionCriteria,
replicationRule_status,
replicationRule_destination,
ReplicationRuleAndOperator (..),
newReplicationRuleAndOperator,
replicationRuleAndOperator_prefix,
replicationRuleAndOperator_tags,
ReplicationRuleFilter (..),
newReplicationRuleFilter,
replicationRuleFilter_tag,
replicationRuleFilter_prefix,
replicationRuleFilter_and,
ReplicationTime (..),
newReplicationTime,
replicationTime_status,
replicationTime_time,
ReplicationTimeValue (..),
newReplicationTimeValue,
replicationTimeValue_minutes,
RequestPaymentConfiguration (..),
newRequestPaymentConfiguration,
requestPaymentConfiguration_payer,
RequestProgress (..),
newRequestProgress,
requestProgress_enabled,
RestoreRequest (..),
newRestoreRequest,
restoreRequest_days,
restoreRequest_selectParameters,
restoreRequest_outputLocation,
restoreRequest_tier,
restoreRequest_glacierJobParameters,
restoreRequest_type,
restoreRequest_description,
RoutingRule (..),
newRoutingRule,
routingRule_condition,
routingRule_redirect,
S3KeyFilter (..),
newS3KeyFilter,
s3KeyFilter_filterRules,
S3Location (..),
newS3Location,
s3Location_cannedACL,
s3Location_accessControlList,
s3Location_userMetadata,
s3Location_encryption,
s3Location_storageClass,
s3Location_tagging,
s3Location_bucketName,
s3Location_prefix,
S3ServiceError (..),
newS3ServiceError,
s3ServiceError_versionId,
s3ServiceError_key,
s3ServiceError_code,
s3ServiceError_message,
SSEKMS (..),
newSSEKMS,
ssekms_keyId,
SSES3 (..),
newSSES3,
ScanRange (..),
newScanRange,
scanRange_start,
scanRange_end,
SelectObjectContentEventStream (..),
newSelectObjectContentEventStream,
selectObjectContentEventStream_progress,
selectObjectContentEventStream_records,
selectObjectContentEventStream_cont,
selectObjectContentEventStream_stats,
selectObjectContentEventStream_end,
SelectParameters (..),
newSelectParameters,
selectParameters_inputSerialization,
selectParameters_expressionType,
selectParameters_expression,
selectParameters_outputSerialization,
ServerSideEncryptionByDefault (..),
newServerSideEncryptionByDefault,
serverSideEncryptionByDefault_kmsMasterKeyID,
serverSideEncryptionByDefault_sSEAlgorithm,
ServerSideEncryptionConfiguration (..),
newServerSideEncryptionConfiguration,
serverSideEncryptionConfiguration_rules,
ServerSideEncryptionRule (..),
newServerSideEncryptionRule,
serverSideEncryptionRule_applyServerSideEncryptionByDefault,
serverSideEncryptionRule_bucketKeyEnabled,
SourceSelectionCriteria (..),
newSourceSelectionCriteria,
sourceSelectionCriteria_replicaModifications,
sourceSelectionCriteria_sseKmsEncryptedObjects,
SseKmsEncryptedObjects (..),
newSseKmsEncryptedObjects,
sseKmsEncryptedObjects_status,
Stats (..),
newStats,
stats_bytesReturned,
stats_bytesScanned,
stats_bytesProcessed,
StatsEvent (..),
newStatsEvent,
statsEvent_details,
StorageClassAnalysis (..),
newStorageClassAnalysis,
storageClassAnalysis_dataExport,
StorageClassAnalysisDataExport (..),
newStorageClassAnalysisDataExport,
storageClassAnalysisDataExport_outputSchemaVersion,
storageClassAnalysisDataExport_destination,
Tag (..),
newTag,
tag_key,
tag_value,
Tagging (..),
newTagging,
tagging_tagSet,
TargetGrant (..),
newTargetGrant,
targetGrant_permission,
targetGrant_grantee,
Tiering (..),
newTiering,
tiering_days,
tiering_accessTier,
TopicConfiguration (..),
newTopicConfiguration,
topicConfiguration_id,
topicConfiguration_filter,
topicConfiguration_topicArn,
topicConfiguration_events,
Transition (..),
newTransition,
transition_days,
transition_date,
transition_storageClass,
VersioningConfiguration (..),
newVersioningConfiguration,
versioningConfiguration_status,
versioningConfiguration_mfaDelete,
WebsiteConfiguration (..),
newWebsiteConfiguration,
websiteConfiguration_redirectAllRequestsTo,
websiteConfiguration_errorDocument,
websiteConfiguration_indexDocument,
websiteConfiguration_routingRules,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.S3.Internal
import Amazonka.S3.Types.AbortIncompleteMultipartUpload
import Amazonka.S3.Types.AccelerateConfiguration
import Amazonka.S3.Types.AccessControlPolicy
import Amazonka.S3.Types.AccessControlTranslation
import Amazonka.S3.Types.AnalyticsAndOperator
import Amazonka.S3.Types.AnalyticsConfiguration
import Amazonka.S3.Types.AnalyticsExportDestination
import Amazonka.S3.Types.AnalyticsFilter
import Amazonka.S3.Types.AnalyticsS3BucketDestination
import Amazonka.S3.Types.AnalyticsS3ExportFileFormat
import Amazonka.S3.Types.ArchiveStatus
import Amazonka.S3.Types.Bucket
import Amazonka.S3.Types.BucketAccelerateStatus
import Amazonka.S3.Types.BucketCannedACL
import Amazonka.S3.Types.BucketLifecycleConfiguration
import Amazonka.S3.Types.BucketLoggingStatus
import Amazonka.S3.Types.BucketLogsPermission
import Amazonka.S3.Types.BucketVersioningStatus
import Amazonka.S3.Types.CORSConfiguration
import Amazonka.S3.Types.CORSRule
import Amazonka.S3.Types.CSVInput
import Amazonka.S3.Types.CSVOutput
import Amazonka.S3.Types.CommonPrefix
import Amazonka.S3.Types.CompletedMultipartUpload
import Amazonka.S3.Types.CompletedPart
import Amazonka.S3.Types.CompressionType
import Amazonka.S3.Types.Condition
import Amazonka.S3.Types.ContinuationEvent
import Amazonka.S3.Types.CopyObjectResult
import Amazonka.S3.Types.CopyPartResult
import Amazonka.S3.Types.CreateBucketConfiguration
import Amazonka.S3.Types.DefaultRetention
import Amazonka.S3.Types.Delete
import Amazonka.S3.Types.DeleteMarkerEntry
import Amazonka.S3.Types.DeleteMarkerReplication
import Amazonka.S3.Types.DeleteMarkerReplicationStatus
import Amazonka.S3.Types.DeletedObject
import Amazonka.S3.Types.Destination
import Amazonka.S3.Types.EncodingType
import Amazonka.S3.Types.Encryption
import Amazonka.S3.Types.EncryptionConfiguration
import Amazonka.S3.Types.EndEvent
import Amazonka.S3.Types.ErrorDocument
import Amazonka.S3.Types.Event
import Amazonka.S3.Types.ExistingObjectReplication
import Amazonka.S3.Types.ExistingObjectReplicationStatus
import Amazonka.S3.Types.ExpirationStatus
import Amazonka.S3.Types.ExpressionType
import Amazonka.S3.Types.FileHeaderInfo
import Amazonka.S3.Types.FilterRule
import Amazonka.S3.Types.FilterRuleName
import Amazonka.S3.Types.GlacierJobParameters
import Amazonka.S3.Types.Grant
import Amazonka.S3.Types.Grantee
import Amazonka.S3.Types.IndexDocument
import Amazonka.S3.Types.Initiator
import Amazonka.S3.Types.InputSerialization
import Amazonka.S3.Types.IntelligentTieringAccessTier
import Amazonka.S3.Types.IntelligentTieringAndOperator
import Amazonka.S3.Types.IntelligentTieringConfiguration
import Amazonka.S3.Types.IntelligentTieringFilter
import Amazonka.S3.Types.IntelligentTieringStatus
import Amazonka.S3.Types.InventoryConfiguration
import Amazonka.S3.Types.InventoryDestination
import Amazonka.S3.Types.InventoryEncryption
import Amazonka.S3.Types.InventoryFilter
import Amazonka.S3.Types.InventoryFormat
import Amazonka.S3.Types.InventoryFrequency
import Amazonka.S3.Types.InventoryIncludedObjectVersions
import Amazonka.S3.Types.InventoryOptionalField
import Amazonka.S3.Types.InventoryS3BucketDestination
import Amazonka.S3.Types.InventorySchedule
import Amazonka.S3.Types.JSONInput
import Amazonka.S3.Types.JSONOutput
import Amazonka.S3.Types.JSONType
import Amazonka.S3.Types.LambdaFunctionConfiguration
import Amazonka.S3.Types.LifecycleExpiration
import Amazonka.S3.Types.LifecycleRule
import Amazonka.S3.Types.LifecycleRuleAndOperator
import Amazonka.S3.Types.LifecycleRuleFilter
import Amazonka.S3.Types.LoggingEnabled
import Amazonka.S3.Types.MFADelete
import Amazonka.S3.Types.MFADeleteStatus
import Amazonka.S3.Types.MetadataDirective
import Amazonka.S3.Types.MetadataEntry
import Amazonka.S3.Types.Metrics
import Amazonka.S3.Types.MetricsAndOperator
import Amazonka.S3.Types.MetricsConfiguration
import Amazonka.S3.Types.MetricsFilter
import Amazonka.S3.Types.MetricsStatus
import Amazonka.S3.Types.MultipartUpload
import Amazonka.S3.Types.NoncurrentVersionExpiration
import Amazonka.S3.Types.NoncurrentVersionTransition
import Amazonka.S3.Types.NotificationConfiguration
import Amazonka.S3.Types.NotificationConfigurationFilter
import Amazonka.S3.Types.Object
import Amazonka.S3.Types.ObjectCannedACL
import Amazonka.S3.Types.ObjectIdentifier
import Amazonka.S3.Types.ObjectLockConfiguration
import Amazonka.S3.Types.ObjectLockEnabled
import Amazonka.S3.Types.ObjectLockLegalHold
import Amazonka.S3.Types.ObjectLockLegalHoldStatus
import Amazonka.S3.Types.ObjectLockMode
import Amazonka.S3.Types.ObjectLockRetention
import Amazonka.S3.Types.ObjectLockRetentionMode
import Amazonka.S3.Types.ObjectLockRule
import Amazonka.S3.Types.ObjectOwnership
import Amazonka.S3.Types.ObjectStorageClass
import Amazonka.S3.Types.ObjectVersion
import Amazonka.S3.Types.ObjectVersionStorageClass
import Amazonka.S3.Types.OutputLocation
import Amazonka.S3.Types.OutputSerialization
import Amazonka.S3.Types.Owner
import Amazonka.S3.Types.OwnerOverride
import Amazonka.S3.Types.OwnershipControls
import Amazonka.S3.Types.OwnershipControlsRule
import Amazonka.S3.Types.ParquetInput
import Amazonka.S3.Types.Part
import Amazonka.S3.Types.Payer
import Amazonka.S3.Types.Permission
import Amazonka.S3.Types.PolicyStatus
import Amazonka.S3.Types.Progress
import Amazonka.S3.Types.ProgressEvent
import Amazonka.S3.Types.Protocol
import Amazonka.S3.Types.PublicAccessBlockConfiguration
import Amazonka.S3.Types.QueueConfiguration
import Amazonka.S3.Types.QuoteFields
import Amazonka.S3.Types.RecordsEvent
import Amazonka.S3.Types.Redirect
import Amazonka.S3.Types.RedirectAllRequestsTo
import Amazonka.S3.Types.ReplicaModifications
import Amazonka.S3.Types.ReplicaModificationsStatus
import Amazonka.S3.Types.ReplicationConfiguration
import Amazonka.S3.Types.ReplicationRule
import Amazonka.S3.Types.ReplicationRuleAndOperator
import Amazonka.S3.Types.ReplicationRuleFilter
import Amazonka.S3.Types.ReplicationRuleStatus
import Amazonka.S3.Types.ReplicationStatus
import Amazonka.S3.Types.ReplicationTime
import Amazonka.S3.Types.ReplicationTimeStatus
import Amazonka.S3.Types.ReplicationTimeValue
import Amazonka.S3.Types.RequestCharged
import Amazonka.S3.Types.RequestPayer
import Amazonka.S3.Types.RequestPaymentConfiguration
import Amazonka.S3.Types.RequestProgress
import Amazonka.S3.Types.RestoreRequest
import Amazonka.S3.Types.RestoreRequestType
import Amazonka.S3.Types.RoutingRule
import Amazonka.S3.Types.S3KeyFilter
import Amazonka.S3.Types.S3Location
import Amazonka.S3.Types.S3ServiceError
import Amazonka.S3.Types.SSEKMS
import Amazonka.S3.Types.SSES3
import Amazonka.S3.Types.ScanRange
import Amazonka.S3.Types.SelectObjectContentEventStream
import Amazonka.S3.Types.SelectParameters
import Amazonka.S3.Types.ServerSideEncryption
import Amazonka.S3.Types.ServerSideEncryptionByDefault
import Amazonka.S3.Types.ServerSideEncryptionConfiguration
import Amazonka.S3.Types.ServerSideEncryptionRule
import Amazonka.S3.Types.SourceSelectionCriteria
import Amazonka.S3.Types.SseKmsEncryptedObjects
import Amazonka.S3.Types.SseKmsEncryptedObjectsStatus
import Amazonka.S3.Types.Stats
import Amazonka.S3.Types.StatsEvent
import Amazonka.S3.Types.StorageClass
import Amazonka.S3.Types.StorageClassAnalysis
import Amazonka.S3.Types.StorageClassAnalysisDataExport
import Amazonka.S3.Types.StorageClassAnalysisSchemaVersion
import Amazonka.S3.Types.Tag
import Amazonka.S3.Types.Tagging
import Amazonka.S3.Types.TaggingDirective
import Amazonka.S3.Types.TargetGrant
import Amazonka.S3.Types.Tier
import Amazonka.S3.Types.Tiering
import Amazonka.S3.Types.TopicConfiguration
import Amazonka.S3.Types.Transition
import Amazonka.S3.Types.TransitionStorageClass
import Amazonka.S3.Types.Type
import Amazonka.S3.Types.VersioningConfiguration
import Amazonka.S3.Types.WebsiteConfiguration
import qualified Amazonka.Sign.V4 as Sign
defaultService :: Core.Service
defaultService :: Service
defaultService =
Service :: Abbrev
-> Signer
-> ByteString
-> ByteString
-> ByteString
-> (Region -> Endpoint)
-> Maybe Seconds
-> (Status -> Bool)
-> (Status -> [Header] -> ByteStringLazy -> Error)
-> Retry
-> Service
Core.Service
{ $sel:_serviceAbbrev:Service :: Abbrev
Core._serviceAbbrev = Abbrev
"S3",
$sel:_serviceSigner:Service :: Signer
Core._serviceSigner = Signer
Sign.v4,
$sel:_serviceEndpointPrefix:Service :: ByteString
Core._serviceEndpointPrefix = ByteString
"s3",
$sel:_serviceSigningName:Service :: ByteString
Core._serviceSigningName = ByteString
"s3",
$sel:_serviceVersion:Service :: ByteString
Core._serviceVersion = ByteString
"2006-03-01",
$sel:_serviceEndpoint:Service :: Region -> Endpoint
Core._serviceEndpoint =
Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
$sel:_serviceTimeout:Service :: Maybe Seconds
Core._serviceTimeout = Seconds -> Maybe Seconds
forall a. a -> Maybe a
Prelude.Just Seconds
70,
$sel:_serviceCheck:Service :: Status -> Bool
Core._serviceCheck = Status -> Bool
Core.statusSuccess,
$sel:_serviceError:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core._serviceError = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseXMLError Abbrev
"S3",
$sel:_serviceRetry:Service :: Retry
Core._serviceRetry = Retry
retry
}
where
retry :: Retry
retry =
Exponential :: Double -> Int -> Int -> (ServiceError -> Maybe Text) -> Retry
Core.Exponential
{ $sel:_retryBase:Exponential :: Double
Core._retryBase = Double
5.0e-2,
$sel:_retryGrowth:Exponential :: Int
Core._retryGrowth = Int
2,
$sel:_retryAttempts:Exponential :: Int
Core._retryAttempts = Int
5,
$sel:_retryCheck:Exponential :: ServiceError -> Maybe Text
Core._retryCheck = ServiceError -> Maybe Text
forall a. IsString a => ServiceError -> Maybe a
check
}
check :: ServiceError -> Maybe a
check ServiceError
e
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
ErrorCode
"ProvisionedThroughputExceededException"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"BadDigest"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"contentmd5"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestTimeout"
Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
)
ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"timeouts"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
| Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
| Bool
Prelude.otherwise = Maybe a
forall a. Maybe a
Prelude.Nothing
_BucketAlreadyOwnedByYou :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_BucketAlreadyOwnedByYou :: Getting (First ServiceError) a ServiceError
_BucketAlreadyOwnedByYou =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"BucketAlreadyOwnedByYou"
_ObjectAlreadyInActiveTierError :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ObjectAlreadyInActiveTierError :: Getting (First ServiceError) a ServiceError
_ObjectAlreadyInActiveTierError =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"ObjectAlreadyInActiveTierError"
_BucketAlreadyExists :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_BucketAlreadyExists :: Getting (First ServiceError) a ServiceError
_BucketAlreadyExists =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"BucketAlreadyExists"
_ObjectNotInActiveTierError :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ObjectNotInActiveTierError :: Getting (First ServiceError) a ServiceError
_ObjectNotInActiveTierError =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"ObjectNotInActiveTierError"
_NoSuchUpload :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_NoSuchUpload :: Getting (First ServiceError) a ServiceError
_NoSuchUpload =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"NoSuchUpload"
_NoSuchBucket :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_NoSuchBucket :: Getting (First ServiceError) a ServiceError
_NoSuchBucket =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"NoSuchBucket"
_NoSuchKey :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_NoSuchKey :: Getting (First ServiceError) a ServiceError
_NoSuchKey =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError Service
defaultService ErrorCode
"NoSuchKey"
_InvalidObjectState :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_InvalidObjectState :: Getting (First ServiceError) a ServiceError
_InvalidObjectState =
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
Service
defaultService
ErrorCode
"InvalidObjectState"